Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Datatree import #8656

Closed
wants to merge 294 commits into from
Closed
Show file tree
Hide file tree
Changes from 250 commits
Commits
Show all changes
294 commits
Select commit Hold shift + click to select a range
a5a5428
Merge branch 'main' of https://github.com/TomNicholas/datatree
TomNicholas Aug 24, 2021
478f193
just do it the manual way for now
TomNicholas Aug 24, 2021
b38e97e
Merge https://github.com/xarray-contrib/datatree/pull/14 from TomNich…
TomNicholas Aug 24, 2021
6df675e
remove list of dataset properties to add
TomNicholas Aug 24, 2021
0cdcdab
Update status of project in readme
TomNicholas Aug 24, 2021
448ead4
add_api_in_class_definition
TomNicholas Aug 24, 2021
7c73ea9
Merge https://github.com/xarray-contrib/datatree/pull/19 from TomNich…
TomNicholas Aug 24, 2021
51e89d3
add basic ci setup
Aug 25, 2021
f160cc2
add long description from readme
Aug 25, 2021
4cd5e2d
switch to conda
Aug 25, 2021
fca03b1
refactored to add methods at class definition time
TomNicholas Aug 25, 2021
5bcb5c0
add pytest-cov
Aug 25, 2021
d5035d8
now also inherits from a mapped version of DataWithCoords
TomNicholas Aug 25, 2021
e784f91
now also inherits from a mapped version of DataWithCoords
TomNicholas Aug 25, 2021
0c3ceab
dont try and import ops that we cant define on a dataset
TomNicholas Aug 25, 2021
4eed833
lists of methods to define shouldn't be stored as attributes
TomNicholas Aug 25, 2021
d765c99
test reduce ops
TomNicholas Aug 25, 2021
5f0fe4e
Merge https://github.com/xarray-contrib/datatree/pull/10 from TomNich…
TomNicholas Aug 25, 2021
d3bb49e
add developers note on class structure of DataTree
TomNicholas Aug 25, 2021
c531432
Merge https://github.com/xarray-contrib/datatree/pull/20 from jhamman/ci
TomNicholas Aug 25, 2021
bbdd7fc
Linting https://github.com/xarray-contrib/datatree/pull/21
TomNicholas Aug 25, 2021
c1785e0
updated developer's note
TomNicholas Aug 25, 2021
81af7d1
[WIP] add DataTree.to_netcdf https://github.com/xarray-contrib/datatr…
Aug 25, 2021
75511c7
subtree_nodes -> subtree
TomNicholas Aug 25, 2021
afc29f5
hotfix + test for bug in DataTree.__init__
TomNicholas Aug 27, 2021
2aea280
don't need to special case root when saving to netcdf
TomNicholas Aug 27, 2021
fe66ea7
Check isomorphism https://github.com/xarray-contrib/datatree/pull/31
TomNicholas Aug 27, 2021
60d38b7
Add zarr read/write https://github.com/xarray-contrib/datatree/pull/30
Aug 30, 2021
494d16e
Map over multiple subtrees https://github.com/xarray-contrib/datatree…
TomNicholas Sep 2, 2021
5cc4bb1
skips tests if it doesn't have the correct dependency https://github.…
TomNicholas Sep 2, 2021
0be5907
[WIP] Add typed ops https://github.com/xarray-contrib/datatree/pull/24
TomNicholas Sep 2, 2021
f71c69b
Unexpose dataset properties https://github.com/xarray-contrib/datatre…
TomNicholas Sep 2, 2021
bef183a
Name collisions https://github.com/xarray-contrib/datatree/pull/40
TomNicholas Sep 7, 2021
2de7650
fix minor bug when creating a DataNode with children from scratch
TomNicholas Sep 15, 2021
79fef60
fix bug the last commit introduced...
TomNicholas Sep 15, 2021
a9ed61d
Bump actions/checkout from 2.3.4 to 2.4.0 https://github.com/xarray-c…
dependabot[bot] Nov 8, 2021
4ad5485
swapped original init for a .from_dict method
TomNicholas Nov 8, 2021
997a218
updated tests
TomNicholas Nov 8, 2021
fc4d0f9
corrected options for creating datatree objects
TomNicholas Nov 8, 2021
02d2d29
revert accidental push to main
TomNicholas Nov 8, 2021
360118e
Replace DataTree init method with from_dict https://github.com/xarray…
TomNicholas Nov 9, 2021
c99dea4
Bump actions/setup-python from 2.2.2 to 2.3.1 https://github.com/xarr…
dependabot[bot] Dec 10, 2021
21a3b3f
add initial draft of docs https://github.com/xarray-contrib/datatree/…
Dec 13, 2021
251fbc6
Forbid .ds=None https://github.com/xarray-contrib/datatree/pull/49
TomNicholas Dec 15, 2021
ca6830f
Add assert_equal functions https://github.com/xarray-contrib/datatree…
TomNicholas Dec 17, 2021
9727d3e
fix bug where consolidated metadata is created after writing each gro…
Dec 17, 2021
c5b23b7
Use new assert_equal functions in tests https://github.com/xarray-con…
TomNicholas Dec 17, 2021
18309f0
add testing functions to API
TomNicholas Dec 17, 2021
49cb5dc
newline at end of file
TomNicholas Dec 17, 2021
f591be2
Create pull_request_template.md
TomNicholas Dec 17, 2021
549d199
think I've fixed the bug
TomNicholas Dec 17, 2021
9afcd21
used feature from python 3.9
TomNicholas Dec 17, 2021
9f02a88
test but doesn't yet work properly
TomNicholas Dec 17, 2021
1d6d96b
Revert accidental push to main
TomNicholas Dec 17, 2021
0352ad4
Revert "used feature from python 3.9"
TomNicholas Dec 17, 2021
bc9afde
Revert "think I've fixed the bug"
TomNicholas Dec 17, 2021
e7ee7b7
Fix bug with opening files using h5netcdf https://github.com/xarray-c…
TomNicholas Jan 13, 2022
ac39f0d
Fix mapping parentage bug https://github.com/xarray-contrib/datatree/…
TomNicholas Jan 28, 2022
122735e
Add parent info to repr https://github.com/xarray-contrib/datatree/pu…
TomNicholas Jan 28, 2022
ae5b893
Bump actions/setup-python from 2.3.1 to 2.3.2 https://github.com/xarr…
dependabot[bot] Feb 14, 2022
1888e91
Bump actions/setup-python from 2.3.2 to 3 https://github.com/xarray-c…
dependabot[bot] Mar 1, 2022
e6dc4d8
Bump actions/checkout from 2.4.0 to 3 https://github.com/xarray-contr…
dependabot[bot] Mar 3, 2022
86baba6
Quick Overview docs page https://github.com/xarray-contrib/datatree/p…
TomNicholas Mar 3, 2022
5f16828
Enable ReadTheDocs https://github.com/xarray-contrib/datatree/pull/65
TomNicholas Mar 3, 2022
1f81fd6
make xarray version requirements consistent
TomNicholas Mar 3, 2022
9af72aa
Conda env for docs https://github.com/xarray-contrib/datatree/pull/66
TomNicholas Mar 3, 2022
55d425c
add scipy to docs env so that works
TomNicholas Mar 3, 2022
dc1514b
Merge branch 'main' of https://github.com/xarray-contrib/datatree
TomNicholas Mar 3, 2022
13fe531
Update setup.py
TomNicholas Mar 21, 2022
bd1d6dd
Add first version number
TomNicholas Mar 21, 2022
928fd95
Add version number for anytree to requirements
TomNicholas Mar 21, 2022
dd75acc
remove _version.py
TomNicholas Mar 30, 2022
a82542c
try to fix package version
TomNicholas Mar 30, 2022
0a3c8d0
fix license calssifier
TomNicholas Mar 30, 2022
96b6b65
bump version to 0.0.2
TomNicholas Mar 30, 2022
0892f5d
change pypi project name to xarray-datatree
TomNicholas Mar 30, 2022
1d5e12e
bump version to 0.0.3
TomNicholas Mar 30, 2022
0624408
Allow for older python and empty dataset with attributes https://gith…
lsetiawan Mar 31, 2022
370cd24
bump version to 0.0.4
TomNicholas Mar 31, 2022
5b087d0
Update installation instructions https://github.com/xarray-contrib/da…
andersy005 Apr 1, 2022
7cb892b
Remove lint workflow in favor of pre-commit.ci https://github.com/xar…
andersy005 Apr 1, 2022
4658642
Tree-like repr https://github.com/xarray-contrib/datatree/pull/73
TomNicholas Apr 1, 2022
e985dab
[pre-commit.ci] pre-commit autoupdate https://github.com/xarray-contr…
pre-commit-ci[bot] Apr 4, 2022
76d8666
Child dict refactor (also removes anytree dependency) https://github.…
TomNicholas Apr 27, 2022
ca40321
Enable mypy https://github.com/xarray-contrib/datatree/pull/23
TomNicholas Apr 29, 2022
c7bad48
[pre-commit.ci] pre-commit autoupdate https://github.com/xarray-contr…
pre-commit-ci[bot] May 2, 2022
7218164
Str repr indentation https://github.com/xarray-contrib/datatree/pull/86
TomNicholas May 4, 2022
dbd8f60
html repr https://github.com/xarray-contrib/datatree/pull/78
TomNicholas May 4, 2022
fb831ac
delitem method https://github.com/xarray-contrib/datatree/pull/88
TomNicholas May 4, 2022
2479bc7
to/from_dict https://github.com/xarray-contrib/datatree/pull/82
TomNicholas May 5, 2022
636957d
update whatsnew for 0.0.5 release
TomNicholas May 5, 2022
c1402a3
add __delitem__ to API docs
TomNicholas May 5, 2022
0a88621
Do not call __exit__ on Zarr store when opening https://github.com/xa…
thewtex May 18, 2022
8011829
Fix netcdf encoding https://github.com/xarray-contrib/datatree/pull/95
May 26, 2022
7231e13
Add reminder to update whatsnew to PR template
TomNicholas May 26, 2022
a1764a1
Remove anytree dependency from CI runs https://github.com/xarray-cont…
TomNicholas May 26, 2022
08988ca
Fix loop bug https://github.com/xarray-contrib/datatree/pull/105
TomNicholas Jun 2, 2022
205320d
add other bugfixes to whatsnew
TomNicholas Jun 2, 2022
3259821
Name checking https://github.com/xarray-contrib/datatree/pull/106
TomNicholas Jun 3, 2022
6b4de29
update whatsnew for 0.0.6 release
TomNicholas Jun 3, 2022
7c99ed7
[pre-commit.ci] pre-commit autoupdate https://github.com/xarray-contr…
pre-commit-ci[bot] Jun 8, 2022
3b4e181
Bump actions/setup-python from 3 to 4 https://github.com/xarray-contr…
dependabot[bot] Jun 9, 2022
9637a2e
Enable tree-style HTML representation https://github.com/xarray-contr…
benjaminwoods Jun 15, 2022
90c53d9
Make create_test_datatree a pytest.fixture https://github.com/xarray-…
benjaminwoods Jun 15, 2022
a1851c8
Integrate variables into DataTree https://github.com/xarray-contrib/d…
TomNicholas Jun 16, 2022
aefc0e0
Replace .ds with immutable DatasetView https://github.com/xarray-cont…
TomNicholas Jun 16, 2022
f8f4efc
define __slots__
TomNicholas Jun 16, 2022
bc47b2d
remove slot for weakref
TomNicholas Jun 16, 2022
380db26
Fix version https://github.com/xarray-contrib/datatree/pull/113
malmans2 Jun 17, 2022
e4df20a
test assigning int
TomNicholas Jun 17, 2022
d498a0c
allow assigning coercible values
TomNicholas Jun 17, 2022
18be084
Allow assigning Coercible values + NamedNode internal class https://g…
TomNicholas Jun 17, 2022
95d9a8c
Merge branch 'main' of https://github.com/xarray-contrib/datatree
TomNicholas Jun 17, 2022
9ba6008
Data structures docs https://github.com/xarray-contrib/datatree/pull/103
TomNicholas Jun 26, 2022
2f305ec
[pre-commit.ci] pre-commit autoupdate https://github.com/xarray-contr…
pre-commit-ci[bot] Jul 11, 2022
53a63bc
Merge branch 'main' of https://github.com/xarray-contrib/datatree
TomNicholas Jul 11, 2022
d2dd270
update whatsnew with template for 0.0.8
TomNicholas Jul 12, 2022
e94f4fc
Update pypipublish.yaml https://github.com/xarray-contrib/datatree/pu…
malmans2 Jul 13, 2022
7d59c36
update pypi publish workflow https://github.com/xarray-contrib/datatr…
andersy005 Jul 14, 2022
40a6ca6
Fix bug in pypi publish GH workflow https://github.com/xarray-contrib…
andersy005 Jul 14, 2022
007ee5c
use `PYPI_USERNAME` GH action secret https://github.com/xarray-contri…
andersy005 Jul 14, 2022
a267907
Update docs theme https://github.com/xarray-contrib/datatree/pull/123
jbusecke Jul 14, 2022
834c22b
Bump actions/upload-artifact from 2 to 3 https://github.com/xarray-co…
dependabot[bot] Jul 15, 2022
064b88a
Bump actions/setup-python from 2 to 4 https://github.com/xarray-contr…
dependabot[bot] Jul 15, 2022
ace5455
Bump actions/download-artifact from 2 to 3 https://github.com/xarray-…
dependabot[bot] Jul 15, 2022
6900b59
Add badges to README.md https://github.com/xarray-contrib/datatree/pu…
andersy005 Jul 15, 2022
6123fb0
Bump pypa/gh-action-pypi-publish from 1.5.0 to 1.5.1 https://github.c…
dependabot[bot] Jul 26, 2022
c5a6037
[pre-commit.ci] pre-commit autoupdate https://github.com/xarray-contr…
pre-commit-ci[bot] Aug 1, 2022
70f3c37
add codecov Github workflow https://github.com/xarray-contrib/datatre…
andersy005 Aug 3, 2022
202e401
Update LICENSE https://github.com/xarray-contrib/datatree/pull/136
andersy005 Aug 3, 2022
44c28d3
remove anytree license file https://github.com/xarray-contrib/datatre…
andersy005 Aug 3, 2022
7fdbf5b
Update minimum required version for xarray https://github.com/xarray-…
andersy005 Aug 3, 2022
42dbefd
Bump codecov/codecov-action from 2.1.0 to 3.1.0 https://github.com/xa…
dependabot[bot] Aug 3, 2022
be79a04
Use mamba & micromamba to speed up CI workflows https://github.com/xa…
andersy005 Aug 3, 2022
fd55a11
Add accessors https://github.com/xarray-contrib/datatree/pull/144
TomNicholas Aug 23, 2022
4520332
[pre-commit.ci] pre-commit autoupdate https://github.com/xarray-contr…
pre-commit-ci[bot] Sep 6, 2022
26c14b4
Bump actions/checkout from 2 to 3 https://github.com/xarray-contrib/d…
dependabot[bot] Sep 8, 2022
7367474
Bump codecov/codecov-action from 3.1.0 to 3.1.1 https://github.com/xa…
dependabot[bot] Sep 20, 2022
dbe47a7
[pre-commit.ci] pre-commit autoupdate https://github.com/xarray-contr…
pre-commit-ci[bot] Oct 3, 2022
aa9eefd
add `DataTree.pipe` to allow chaining `DataTree` consuming functions …
keewis Nov 7, 2022
c57214c
[pre-commit.ci] pre-commit autoupdate https://github.com/xarray-contr…
pre-commit-ci[bot] Nov 7, 2022
340e8a8
Added docs page on io https://github.com/xarray-contrib/datatree/pull…
TomNicholas Nov 8, 2022
ac11883
Bump pypa/gh-action-pypi-publish from 1.5.1 to 1.5.2 https://github.c…
dependabot[bot] Dec 1, 2022
1476a9a
Bump pypa/gh-action-pypi-publish from 1.5.2 to 1.6.1 https://github.c…
dependabot[bot] Dec 5, 2022
672c4f2
Fix reading from fsspec s3 https://github.com/xarray-contrib/datatree…
wroberts4 Dec 6, 2022
885ccaf
Bump pypa/gh-action-pypi-publish from 1.6.1 to 1.6.4 https://github.c…
dependabot[bot] Dec 7, 2022
34e6de8
remove implicit optionals for PEP 484
TomNicholas Dec 7, 2022
03dc30f
Merge branch 'main' of https://github.com/xarray-contrib/datatree
TomNicholas Dec 7, 2022
20eb9d9
remove comments from pre-commit ci config
TomNicholas Dec 7, 2022
91bc86d
Revert "remove comments from pre-commit ci config"
TomNicholas Dec 7, 2022
4de5306
un-inlined comments in flake8 config
TomNicholas Dec 7, 2022
6a7dae3
[pre-commit.ci] pre-commit autoupdate https://github.com/xarray-contr…
pre-commit-ci[bot] Dec 7, 2022
245bb8c
actually allow `DataTree` objects as values in `from_dict` https://gi…
keewis Dec 7, 2022
6dabe6d
whatsnew after v0.0.10 relrease
TomNicholas Dec 7, 2022
77b7c5c
Update README.md https://github.com/xarray-contrib/datatree/pull/167
bzah Dec 12, 2022
6441658
relative_to method bugfix https://github.com/xarray-contrib/datatree/…
TomNicholas Dec 28, 2022
5247692
Improved exception types https://github.com/xarray-contrib/datatree/p…
TomNicholas Dec 28, 2022
54d940f
Use xarray docs theme instead of pangeo https://github.com/xarray-con…
TomNicholas Dec 31, 2022
8442193
Descendants property https://github.com/xarray-contrib/datatree/pull/170
TomNicholas Dec 31, 2022
e43d7ab
Explicit copy https://github.com/xarray-contrib/datatree/pull/171
TomNicholas Dec 31, 2022
191de90
Name permanence via shallow copy https://github.com/xarray-contrib/da…
TomNicholas Dec 31, 2022
a1f4923
Terminology https://github.com/xarray-contrib/datatree/pull/174
TomNicholas Dec 31, 2022
2baea0a
removed duplicated whatsnew entries from v0.10 in v0.11
TomNicholas Dec 31, 2022
77d8c29
Added drop_nodes method https://github.com/xarray-contrib/datatree/pu…
TomNicholas Dec 31, 2022
8521640
removed unusued update method on TreeNode
TomNicholas Dec 31, 2022
6e5be2a
Merge branch 'main' of https://github.com/xarray-contrib/datatree int…
TomNicholas Dec 31, 2022
34c0a01
add and correct internal links between docs pages
TomNicholas Jan 1, 2023
6e419c4
[pre-commit.ci] pre-commit autoupdate https://github.com/xarray-contr…
pre-commit-ci[bot] Jan 3, 2023
ea91203
Add leaves property https://github.com/xarray-contrib/datatree/pull/177
TomNicholas Jan 3, 2023
09025d1
Fix name permanence behaviour in update method https://github.com/xar…
TomNicholas Jan 4, 2023
968a84e
Add assign method https://github.com/xarray-contrib/datatree/pull/181
TomNicholas Jan 4, 2023
c97f016
Hierarchical data docs page https://github.com/xarray-contrib/datatre…
TomNicholas Jan 4, 2023
8d6255a
add py.typed file
TomNicholas Jan 4, 2023
5d4242d
Add content to Index page https://github.com/xarray-contrib/datatree/…
TomNicholas Jan 5, 2023
5eec9cc
fix syntax of lots of API references
TomNicholas Jan 5, 2023
80ce2ee
Merge branch 'main' of https://github.com/xarray-contrib/datatree int…
TomNicholas Jan 5, 2023
c3d1a27
make it clear that set_close is missing right now
TomNicholas Jan 5, 2023
2b53788
link to numpy.ndarray class
TomNicholas Jan 5, 2023
18ccffe
fix :pull: in whatsnew
TomNicholas Jan 5, 2023
81a24ef
shorten error messages
TomNicholas Jan 5, 2023
31f74ab
implement filter
TomNicholas Jan 6, 2023
f7546ab
test filter
TomNicholas Jan 6, 2023
99a212e
Add filter method https://github.com/xarray-contrib/datatree/pull/185
TomNicholas Jan 6, 2023
fd0938e
Merge branch 'main' of https://github.com/xarray-contrib/datatree int…
TomNicholas Jan 6, 2023
5522d90
Try to fix code links in docs https://github.com/xarray-contrib/datat…
TomNicholas Jan 6, 2023
06a336c
Merge branch 'main' of https://github.com/xarray-contrib/datatree int…
TomNicholas Jan 6, 2023
2b5c7d9
Update readme https://github.com/xarray-contrib/datatree/pull/187
TomNicholas Jan 6, 2023
98a77d6
Merge branch 'main' of https://github.com/xarray-contrib/datatree int…
TomNicholas Jan 9, 2023
9986c5a
blank whatsnew for v0.0.12
TomNicholas Jan 9, 2023
d954320
Add link to AMS 2023 slides to readme
TomNicholas Jan 10, 2023
c3d5e7b
.to_dataset in map over subtree https://github.com/xarray-contrib/dat…
TomNicholas Jan 10, 2023
1899ad5
update the badge route https://github.com/xarray-contrib/datatree/pul…
keewis Jan 19, 2023
d257806
Add level, depth & width properties https://github.com/xarray-contrib…
TomNicholas Jan 20, 2023
f0720ad
Attribute-like access and ipython autocomplete https://github.com/xar…
TomNicholas Jan 25, 2023
0b9bde5
Deprecate python 3.8 https://github.com/xarray-contrib/datatree/pull/214
TomNicholas Jan 27, 2023
f36203e
add py.typed to package_data
TomNicholas Feb 1, 2023
d783099
move to a `pyproject.toml`-based build configuration https://github.c…
keewis Feb 10, 2023
ac65afc
copy subtrees without creating nodes for ancestors https://github.com…
keewis Feb 10, 2023
a783137
update using dictionary unpacking https://github.com/xarray-contrib/d…
keewis Feb 10, 2023
adfc354
[pre-commit.ci] pre-commit autoupdate https://github.com/xarray-contr…
pre-commit-ci[bot] Feb 13, 2023
b0f39cb
[pre-commit.ci] pre-commit autoupdate https://github.com/xarray-contr…
pre-commit-ci[bot] Mar 7, 2023
a655d42
blank whatsnew for next release
TomNicholas Mar 7, 2023
f6b47b7
Bump pypa/gh-action-pypi-publish from 1.6.4 to 1.8.0 https://github.c…
dependabot[bot] Mar 16, 2023
aed947f
Bump pypa/gh-action-pypi-publish from 1.8.0 to 1.8.5 https://github.c…
dependabot[bot] Apr 4, 2023
9cd3ac2
Bump pypa/gh-action-pypi-publish from 1.8.5 to 1.8.7 https://github.c…
dependabot[bot] Jul 31, 2023
f632523
Bump pypa/gh-action-pypi-publish from 1.8.7 to 1.8.10 https://github.…
dependabot[bot] Oct 4, 2023
6635691
Bump codecov/codecov-action from 3.1.1 to 3.1.4 https://github.com/xa…
dependabot[bot] Oct 4, 2023
2f2f0b9
Bump actions/checkout from 3 to 4 https://github.com/xarray-contrib/d…
dependabot[bot] Oct 16, 2023
d416fa1
[pre-commit.ci] pre-commit autoupdate https://github.com/xarray-contr…
pre-commit-ci[bot] Oct 16, 2023
1ab3ba0
Add installation instructions https://github.com/xarray-contrib/datat…
jbusecke Oct 16, 2023
dc4a283
FIX: Fix bug with nodepath python 3.12 issues https://github.com/xarr…
mgrover1 Oct 17, 2023
a7881fa
Fix minor typo https://github.com/xarray-contrib/datatree/pull/246
brews Oct 23, 2023
60555c9
Map over only data nodes, ignoring attrs https://github.com/xarray-co…
TomNicholas Oct 24, 2023
15672a2
Add path to error message in map_over_subtree https://github.com/xarr…
TomNicholas Oct 24, 2023
8a64309
Docs on manipulating trees https://github.com/xarray-contrib/datatree…
TomNicholas Oct 24, 2023
0477856
Bugfix/fix tests on i386 https://github.com/xarray-contrib/datatree/p…
avalentino Oct 24, 2023
09023b0
Alternative fix for #188 https://github.com/xarray-contrib/datatree/p…
TomNicholas Oct 24, 2023
002e7cb
DatasetView in map_over_subtree https://github.com/xarray-contrib/dat…
TomNicholas Oct 24, 2023
944cd0f
Method to match node paths via glob https://github.com/xarray-contrib…
TomNicholas Oct 24, 2023
02ec20b
Do not use the deprecated distutils https://github.com/xarray-contrib…
avalentino Oct 24, 2023
333bfa8
is_hollow method https://github.com/xarray-contrib/datatree/pull/272
TomNicholas Oct 25, 2023
52590cb
blank whatsnew for next release
TomNicholas Oct 27, 2023
256ce55
fix broken example of map_over_subtree
TomNicholas Oct 27, 2023
cc4de87
add DataTree.map_over_subtree method to API docs
TomNicholas Oct 27, 2023
20aa09a
[pre-commit.ci] pre-commit autoupdate https://github.com/xarray-contr…
pre-commit-ci[bot] Nov 6, 2023
12ca491
Change default write mode of `to_zarr()` to `'w-'` https://github.com…
slevang Nov 10, 2023
494ace1
remove non-existent chunks method from API docs page
TomNicholas Nov 27, 2023
6b778c4
Keep attrs in `map_over_subtree` https://github.com/xarray-contrib/da…
slevang Nov 27, 2023
ced8367
Bump actions/setup-python from 4 to 5 https://github.com/xarray-contr…
dependabot[bot] Dec 7, 2023
1ca8452
Fix for xarray v2023.12.0 https://github.com/xarray-contrib/datatree/…
TomNicholas Dec 10, 2023
7cfb6b2
Bump actions/upload-artifact from 3 to 4 https://github.com/xarray-co…
dependabot[bot] Jan 3, 2024
b40cad3
Bump actions/download-artifact from 3 to 4 https://github.com/xarray-…
dependabot[bot] Jan 3, 2024
11995b0
[pre-commit.ci] pre-commit autoupdate https://github.com/xarray-contr…
pre-commit-ci[bot] Jan 3, 2024
804b3f7
Bump pypa/gh-action-pypi-publish from 1.8.10 to 1.8.11 https://github…
dependabot[bot] Jan 3, 2024
a01cc36
Use napoleon instead of numpydoc (xarray doc alignment), and fixes ht…
etienneschalk Jan 9, 2024
a156da9
Update data-structures.rst https://github.com/xarray-contrib/datatree…
flamingbear Jan 17, 2024
d030502
DataTree.lineage should be renamed to .parents https://github.com/xar…
etienneschalk Jan 19, 2024
65a7d24
Add Pathlike methods to api docs https://github.com/xarray-contrib/da…
TomNicholas Jan 19, 2024
fca7fe4
Moves Tree Contents so that simpsons data tree in example is defined.…
flamingbear Jan 19, 2024
25020f0
add migration notice to readme
TomNicholas Jan 23, 2024
0315175
Merge remote-tracking branch 'prepared-datatree/main' into datatree-i…
flamingbear Jan 24, 2024
92a9c5d
DAS-2060: Exclude CI from datatree_ directory.
flamingbear Jan 25, 2024
e137a35
DAS-2060: Exclude xarray/datatree_ from ruff only
flamingbear Jan 29, 2024
25e8eab
DAS-2060: Exclude xarray/datatree_ from ruff only
flamingbear Jan 29, 2024
087400b
Merge branch 'main' into datatree-import
flamingbear Jan 29, 2024
8eb2aa3
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Jan 29, 2024
5eeef57
DAS-2060: Sets up pre-commit.ci exclusion for datatree_
flamingbear Jan 29, 2024
d9948e5
Merge branch 'pydata:main' into datatree-import
flamingbear Jan 29, 2024
3599a14
Merge branch 'main' into datatree-import
andersy005 Jan 29, 2024
3de55c6
use the manifest to exclude the `datatree_` directory
keewis Jan 31, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .github/workflows/ci-additional.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,8 @@ jobs:
#
# If dependencies emit warnings we can't do anything about, add ignores to
# `xarray/tests/__init__.py`.
python -m pytest --doctest-modules xarray --ignore xarray/tests -Werror
# [MHS, 01/25/2024] Skip datatree_ documentation remove after #8572
python -m pytest --doctest-modules xarray --ignore xarray/tests --ignore xarray/datatree_ -Werror

mypy:
name: Mypy
Expand Down
1 change: 1 addition & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# https://pre-commit.com/
ci:
autoupdate_schedule: monthly
exclude: 'xarray/datatree_.*'
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What fails here?

Ideally we want to promote exclusions into the tools themselves — like we have for mypy — rather than in the pre-commit-config. Since editors will run many of these by default, and will only pick up on exclusions from the tools' configs...

Though if someone wants to own fixing the issues soon after merging, no need to slow down the initial merge...

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ruff is the one that fails. However, pre-commit passes all (changed) files explicitly, so I'm not sure how easy it would be to exclude directly in ruff (we could add an additional exclude to ruff's config, though).

Copy link
Member Author

@flamingbear flamingbear Jan 29, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was unable to generate an exclude for ruff's config only that actually seemed to be respected.

In this exclude block https://github.com/flamingbear/xarray/blob/datatree-import/pyproject.toml#L233
I tried variations on "xarray/datatree_.*", "xarray/datatree_", and "datatree_"

I'm open to suggestions.

edited: It may have been a conflict with project.toml. I'm looking again.

repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.5.0
Expand Down
5 changes: 4 additions & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,10 @@ exclude_lines = ["pragma: no cover", "if TYPE_CHECKING"]

[tool.mypy]
enable_error_code = "redundant-self"
exclude = 'xarray/util/generate_.*\.py'
exclude = [
'xarray/util/generate_.*\.py',
'xarray/datatree_/.*\.py',
]
files = "xarray"
show_error_codes = true
show_error_context = true
Expand Down
15 changes: 15 additions & 0 deletions xarray/datatree_/.flake8
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
[flake8]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this file can be removed

ignore =
# whitespace before ':' - doesn't work well with black
E203
# module level import not at top of file
E402
# line too long - let black worry about that
E501
# do not assign a lambda expression, use a def
E731
# line break before binary operator
W503
exclude=
.eggs
doc
4 changes: 4 additions & 0 deletions xarray/datatree_/.git_archival.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
node: $Format:%H$
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this file can be removed

node-date: $Format:%cI$
describe-name: $Format:%(describe:tags=true)$
ref-names: $Format:%D$
11 changes: 11 additions & 0 deletions xarray/datatree_/.github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
version: 2
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this file can be removed

updates:
- package-ecosystem: pip
directory: "/"
schedule:
interval: daily
- package-ecosystem: "github-actions"
directory: "/"
schedule:
# Check for updates to GitHub Actions every weekday
interval: "daily"
7 changes: 7 additions & 0 deletions xarray/datatree_/.github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<!-- Feel free to remove check-list items aren't relevant to your change -->
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this file can be removed


- [ ] Closes #xxxx
- [ ] Tests added
- [ ] Passes `pre-commit run --all-files`
- [ ] New functions/methods are listed in `api.rst`
- [ ] Changes are summarized in `docs/source/whats-new.rst`
97 changes: 97 additions & 0 deletions xarray/datatree_/.github/workflows/main.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
name: CI
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this file can be removed.


on:
push:
branches:
- main
pull_request:
branches:
- main
schedule:
- cron: "0 0 * * *"

jobs:

test:
name: ${{ matrix.python-version }}-build
runs-on: ubuntu-latest
defaults:
run:
shell: bash -l {0}
strategy:
matrix:
python-version: ["3.9", "3.10", "3.11", "3.12"]
steps:
- uses: actions/checkout@v4

- name: Create conda environment
uses: mamba-org/provision-with-micromamba@main
with:
cache-downloads: true
micromamba-version: 'latest'
environment-file: ci/environment.yml
extra-specs: |
python=${{ matrix.python-version }}

- name: Conda info
run: conda info

- name: Install datatree
run: |
python -m pip install -e . --no-deps --force-reinstall

- name: Conda list
run: conda list

- name: Running Tests
run: |
python -m pytest --cov=./ --cov-report=xml --verbose

- name: Upload code coverage to Codecov
uses: codecov/[email protected]
with:
file: ./coverage.xml
flags: unittests
env_vars: OS,PYTHON
name: codecov-umbrella
fail_ci_if_error: false


test-upstream:
name: ${{ matrix.python-version }}-dev-build
runs-on: ubuntu-latest
defaults:
run:
shell: bash -l {0}
strategy:
matrix:
python-version: ["3.9", "3.10", "3.11", "3.12"]
steps:
- uses: actions/checkout@v4

- name: Create conda environment
uses: mamba-org/provision-with-micromamba@main
with:
cache-downloads: true
micromamba-version: 'latest'
environment-file: ci/environment.yml
extra-specs: |
python=${{ matrix.python-version }}

- name: Conda info
run: conda info

- name: Install dev reqs
run: |
python -m pip install --no-deps --upgrade \
git+https://github.com/pydata/xarray \
git+https://github.com/Unidata/netcdf4-python

python -m pip install -e . --no-deps --force-reinstall

- name: Conda list
run: conda list

- name: Running Tests
run: |
python -m pytest --verbose
84 changes: 84 additions & 0 deletions xarray/datatree_/.github/workflows/pypipublish.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
name: Build distribution
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this file can be removed

on:
release:
types:
- published
push:
branches:
- main
pull_request:
branches:
- main

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
build-artifacts:
runs-on: ubuntu-latest
if: github.repository == 'xarray-contrib/datatree'
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: actions/setup-python@v5
name: Install Python
with:
python-version: 3.9

- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install build

- name: Build tarball and wheels
run: |
git clean -xdf
git restore -SW .
python -m build --sdist --wheel .


- uses: actions/upload-artifact@v4
with:
name: releases
path: dist

test-built-dist:
needs: build-artifacts
runs-on: ubuntu-latest
steps:
- uses: actions/setup-python@v5
name: Install Python
with:
python-version: '3.10'
- uses: actions/download-artifact@v4
with:
name: releases
path: dist
- name: List contents of built dist
run: |
ls -ltrh
ls -ltrh dist

- name: Verify the built dist/wheel is valid
run: |
python -m pip install --upgrade pip
python -m pip install dist/xarray_datatree*.whl
python -c "import datatree; print(datatree.__version__)"

upload-to-pypi:
needs: test-built-dist
if: github.event_name == 'release'
runs-on: ubuntu-latest
steps:
- uses: actions/download-artifact@v4
with:
name: releases
path: dist
- name: Publish package to PyPI
uses: pypa/[email protected]
with:
user: ${{ secrets.PYPI_USERNAME }}
password: ${{ secrets.PYPI_PASSWORD }}
verbose: true
136 changes: 136 additions & 0 deletions xarray/datatree_/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,136 @@
# Byte-compiled / optimized / DLL files
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this file can be removed

__pycache__/
*.py[cod]
*$py.class

# C extensions
*.so

# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
pip-wheel-metadata/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST

# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec

# Installer logs
pip-log.txt
pip-delete-this-directory.txt

# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
*.py,cover
.hypothesis/
.pytest_cache/

# Translations
*.mo
*.pot

# Django stuff:
*.log
local_settings.py
db.sqlite3
db.sqlite3-journal

# Flask stuff:
instance/
.webassets-cache

# Scrapy stuff:
.scrapy

# Sphinx documentation
docs/_build/
docs/source/generated

# PyBuilder
target/

# Jupyter Notebook
.ipynb_checkpoints

# IPython
profile_default/
ipython_config.py

# pyenv
.python-version

# pipenv
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
# However, in case of collaboration, if having platform-specific dependencies or dependencies
# having no cross-platform support, pipenv may install dependencies that don't work, or not
# install all needed dependencies.
#Pipfile.lock

# PEP 582; used by e.g. github.com/David-OConnor/pyflow
__pypackages__/

# Celery stuff
celerybeat-schedule
celerybeat.pid

# SageMath parsed files
*.sage.py

# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/

# Spyder project settings
.spyderproject
.spyproject

# Rope project settings
.ropeproject

# mkdocs documentation
/site

# mypy
.mypy_cache/
.dmypy.json
dmypy.json

# Pyre type checker
.pyre/

# version
_version.py

# Ignore vscode specific settings
.vscode/
Loading
Loading