-
Notifications
You must be signed in to change notification settings - Fork 122
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
Apply StacIO instance from root in Catalog.set_root #590
Apply StacIO instance from root in Catalog.set_root #590
Conversation
The intent with using the underscore was to indicate that the |
That's a good point. If someone were constructing a @gadomski @matthewhanson Are either of you setting |
pystac-client does, e.g. here: https://github.com/stac-utils/pystac-client/blob/main/pystac_client/client.py#L67. stactools does not. |
Thanks @gadomski. Based on the fact that the Unless there are other objections or arguments for a public |
032ef1b
to
6e5ee27
Compare
Reverted |
Codecov Report
@@ Coverage Diff @@
## main #590 +/- ##
=======================================
Coverage 94.69% 94.69%
=======================================
Files 75 75
Lines 10777 10790 +13
Branches 1053 1054 +1
=======================================
+ Hits 10205 10218 +13
Misses 396 396
Partials 176 176
Continue to review full report at Codecov.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
+1 after the CHANGELOG is updated to remove the public stac_io property mention
CHANGELOG.md
Outdated
@@ -4,13 +4,19 @@ | |||
|
|||
### Added | |||
|
|||
- "Public" `Catalog.stac_io` property to match "private" `Catalog._stac_io` attribute |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This entry should be removed
@matthewhanson I'll plan on merging this today unless I hear from you that there are issues. |
This reverts commit 5ddfa83.
* build(deps): bump ipython from 7.25.0 to 7.26.0 (#592) Bumps [ipython](https://github.com/ipython/ipython) from 7.25.0 to 7.26.0. - [Release notes](https://github.com/ipython/ipython/releases) - [Commits](ipython/ipython@7.25.0...7.26.0) --- updated-dependencies: - dependency-name: ipython dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump nbsphinx from 0.8.6 to 0.8.7 Bumps [nbsphinx](https://github.com/spatialaudio/nbsphinx) from 0.8.6 to 0.8.7. - [Release notes](https://github.com/spatialaudio/nbsphinx/releases) - [Changelog](https://github.com/spatialaudio/nbsphinx/blob/master/NEWS.rst) - [Commits](spatialaudio/nbsphinx@0.8.6...0.8.7) --- updated-dependencies: - dependency-name: nbsphinx dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> * Avoid implicit re-exports (#591) * Remove implicit re-exports * Enable mypy strict mode * Update CHANGELOG for #591 * build(deps): bump orjson from 3.6.0 to 3.6.1 (#596) Bumps [orjson](https://github.com/ijl/orjson) from 3.6.0 to 3.6.1. - [Release notes](https://github.com/ijl/orjson/releases) - [Changelog](https://github.com/ijl/orjson/blob/master/CHANGELOG.md) - [Commits](ijl/orjson@3.6.0...3.6.1) --- updated-dependencies: - dependency-name: orjson dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump pre-commit from 2.13.0 to 2.14.0 (#600) Bumps [pre-commit](https://github.com/pre-commit/pre-commit) from 2.13.0 to 2.14.0. - [Release notes](https://github.com/pre-commit/pre-commit/releases) - [Changelog](https://github.com/pre-commit/pre-commit/blob/master/CHANGELOG.md) - [Commits](pre-commit/pre-commit@v2.13.0...v2.14.0) --- updated-dependencies: - dependency-name: pre-commit dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump types-orjson from 0.1.1 to 3.6.0 (#599) Bumps [types-orjson](https://github.com/python/typeshed) from 0.1.1 to 3.6.0. - [Release notes](https://github.com/python/typeshed/releases) - [Commits](https://github.com/python/typeshed/commits) --- updated-dependencies: - dependency-name: types-orjson dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump types-python-dateutil from 0.1.4 to 0.1.6 (#598) Bumps [types-python-dateutil](https://github.com/python/typeshed) from 0.1.4 to 0.1.6. - [Release notes](https://github.com/python/typeshed/releases) - [Commits](https://github.com/python/typeshed/commits) --- updated-dependencies: - dependency-name: types-python-dateutil dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * exclude tests from package distribution (#604) * exclude tests from package distribution * update changelog * Get link title from target, when possible (#607) * Get link title from target, when possible * Update CHANGELOG for #607 * Add tests for serialization and title in init * Better control on subfolders in `generate_subcatalogs` (#595) * LayoutTemplate.get_template_values -> .substitute * test that template elements can be merged in a subdir * fix test to use "/" as separator in template * fix docs on the use of "/" as template path separator * add changes to CHANGELOG.md * build(deps): bump orjson from 3.6.1 to 3.6.3 (#610) Bumps [orjson](https://github.com/ijl/orjson) from 3.6.1 to 3.6.3. - [Release notes](https://github.com/ijl/orjson/releases) - [Changelog](https://github.com/ijl/orjson/blob/master/CHANGELOG.md) - [Commits](ijl/orjson@3.6.1...3.6.3) --- updated-dependencies: - dependency-name: orjson dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Apply StacIO instance from root in Catalog.set_root (#590) * Use root StacIO in Catalog.set_root * Add "public" Catalog.stac_io property * Update CHANGELOG for #590 * Revert "Add "public" Catalog.stac_io property" This reverts commit 9c229d0. * Fix some docstrings in catalog.py * Fix remaining Catalog.stac_io reference * Remove outdated CHANGELOG entry * Update PR template for main branch rename (#613) * build(deps): bump black from 21.7b0 to 21.8b0 (#614) Bumps [black](https://github.com/psf/black) from 21.7b0 to 21.8b0. - [Release notes](https://github.com/psf/black/releases) - [Changelog](https://github.com/psf/black/blob/main/CHANGES.md) - [Commits](https://github.com/psf/black/commits) --- updated-dependencies: - dependency-name: black dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump codecov/codecov-action from 2.0.2 to 2.0.3 (#612) Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 2.0.2 to 2.0.3. - [Release notes](https://github.com/codecov/codecov-action/releases) - [Changelog](https://github.com/codecov/codecov-action/blob/master/CHANGELOG.md) - [Commits](codecov/codecov-action@v2.0.2...v2.0.3) --- updated-dependencies: - dependency-name: codecov/codecov-action dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump ipython from 7.26.0 to 7.27.0 (#615) * build(deps): bump ipython from 7.26.0 to 7.27.0 Bumps [ipython](https://github.com/ipython/ipython) from 7.26.0 to 7.27.0. - [Release notes](https://github.com/ipython/ipython/releases) - [Commits](ipython/ipython@7.26.0...7.27.0) --- updated-dependencies: - dependency-name: ipython dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * Update Python 3.10 CI version * Use stable toolchain for orjson build Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Jon Duckworth <duckontheweb@gmail.com> * build(deps): bump pre-commit from 2.14.0 to 2.14.1 (#616) Bumps [pre-commit](https://github.com/pre-commit/pre-commit) from 2.14.0 to 2.14.1. - [Release notes](https://github.com/pre-commit/pre-commit/releases) - [Changelog](https://github.com/pre-commit/pre-commit/blob/master/CHANGELOG.md) - [Commits](pre-commit/pre-commit@v2.14.0...v2.14.1) --- updated-dependencies: - dependency-name: pre-commit dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump types-python-dateutil from 0.1.6 to 2.8.0 (#620) Bumps [types-python-dateutil](https://github.com/python/typeshed) from 0.1.6 to 2.8.0. - [Release notes](https://github.com/python/typeshed/releases) - [Commits](https://github.com/python/typeshed/commits) --- updated-dependencies: - dependency-name: types-python-dateutil dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump pre-commit from 2.14.1 to 2.15.0 (#621) Bumps [pre-commit](https://github.com/pre-commit/pre-commit) from 2.14.1 to 2.15.0. - [Release notes](https://github.com/pre-commit/pre-commit/releases) - [Changelog](https://github.com/pre-commit/pre-commit/blob/master/CHANGELOG.md) - [Commits](pre-commit/pre-commit@v2.14.1...v2.15.0) --- updated-dependencies: - dependency-name: pre-commit dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Use Sequence for annotations for label classes (#627) * Use Sequence for annotations for label classes Per https://mypy.readthedocs.io/en/stable/common_issues.html#variance, `List` is invariant, so the LabelClasses.classes type annotation is unncessarily strict. This commit relaxes the type annotation to use `Sequence`, including a simple unit test. * Update CHANGELOG for #627 * build(deps): bump codecov/codecov-action from 2.0.3 to 2.1.0 (#623) Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 2.0.3 to 2.1.0. - [Release notes](https://github.com/codecov/codecov-action/releases) - [Changelog](https://github.com/codecov/codecov-action/blob/master/CHANGELOG.md) - [Commits](codecov/codecov-action@v2.0.3...v2.1.0) --- updated-dependencies: - dependency-name: codecov/codecov-action dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump doc8 from 0.9.0 to 0.9.1 (#628) Bumps [doc8](https://github.com/pycqa/doc8) from 0.9.0 to 0.9.1. - [Release notes](https://github.com/pycqa/doc8/releases) - [Commits](PyCQA/doc8@0.9.0...0.9.1) --- updated-dependencies: - dependency-name: doc8 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump sphinx from 4.1.2 to 4.2.0 (#624) Bumps [sphinx](https://github.com/sphinx-doc/sphinx) from 4.1.2 to 4.2.0. - [Release notes](https://github.com/sphinx-doc/sphinx/releases) - [Changelog](https://github.com/sphinx-doc/sphinx/blob/4.x/CHANGES) - [Commits](sphinx-doc/sphinx@v4.1.2...v4.2.0) --- updated-dependencies: - dependency-name: sphinx dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump black from 21.8b0 to 21.9b0 (#625) Bumps [black](https://github.com/psf/black) from 21.8b0 to 21.9b0. - [Release notes](https://github.com/psf/black/releases) - [Changelog](https://github.com/psf/black/blob/main/CHANGES.md) - [Commits](https://github.com/psf/black/commits) --- updated-dependencies: - dependency-name: black dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump ipython from 7.27.0 to 7.28.0 (#629) Bumps [ipython](https://github.com/ipython/ipython) from 7.27.0 to 7.28.0. - [Release notes](https://github.com/ipython/ipython/releases) - [Commits](ipython/ipython@7.27.0...7.28.0) --- updated-dependencies: - dependency-name: ipython dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump jsonschema from 3.2.0 to 4.0.1 (#630) Bumps [jsonschema](https://github.com/Julian/jsonschema) from 3.2.0 to 4.0.1. - [Release notes](https://github.com/Julian/jsonschema/releases) - [Changelog](https://github.com/Julian/jsonschema/blob/main/CHANGELOG.rst) - [Commits](python-jsonschema/jsonschema@v3.2.0...v4.0.1) --- updated-dependencies: - dependency-name: jsonschema dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump coverage from 5.5 to 6.0 (#632) Bumps [coverage](https://github.com/nedbat/coveragepy) from 5.5 to 6.0. - [Release notes](https://github.com/nedbat/coveragepy/releases) - [Changelog](https://github.com/nedbat/coveragepy/blob/master/CHANGES.rst) - [Commits](nedbat/coveragepy@coverage-5.5...6.0) --- updated-dependencies: - dependency-name: coverage dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump orjson from 3.6.3 to 3.6.4 (#631) Bumps [orjson](https://github.com/ijl/orjson) from 3.6.3 to 3.6.4. - [Release notes](https://github.com/ijl/orjson/releases) - [Changelog](https://github.com/ijl/orjson/blob/master/CHANGELOG.md) - [Commits](ijl/orjson@3.6.3...3.6.4) --- updated-dependencies: - dependency-name: orjson dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump coverage from 6.0 to 6.0.1 (#636) Bumps [coverage](https://github.com/nedbat/coveragepy) from 6.0 to 6.0.1. - [Release notes](https://github.com/nedbat/coveragepy/releases) - [Changelog](https://github.com/nedbat/coveragepy/blob/master/CHANGES.rst) - [Commits](nedbat/coveragepy@6.0...6.0.1) --- updated-dependencies: - dependency-name: coverage dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump flake8 from 3.9.2 to 4.0.1 (#637) Bumps [flake8](https://github.com/pycqa/flake8) from 3.9.2 to 4.0.1. - [Release notes](https://github.com/pycqa/flake8/releases) - [Commits](PyCQA/flake8@3.9.2...4.0.1) --- updated-dependencies: - dependency-name: flake8 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump types-orjson from 3.6.0 to 3.6.1 (#640) Bumps [types-orjson](https://github.com/python/typeshed) from 3.6.0 to 3.6.1. - [Release notes](https://github.com/python/typeshed/releases) - [Commits](https://github.com/python/typeshed/commits) --- updated-dependencies: - dependency-name: types-orjson dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump jsonschema from 4.0.1 to 4.1.1 (#643) Bumps [jsonschema](https://github.com/Julian/jsonschema) from 4.0.1 to 4.1.1. - [Release notes](https://github.com/Julian/jsonschema/releases) - [Changelog](https://github.com/Julian/jsonschema/blob/main/CHANGELOG.rst) - [Commits](python-jsonschema/jsonschema@v4.0.1...v4.1.1) --- updated-dependencies: - dependency-name: jsonschema dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump types-python-dateutil from 2.8.0 to 2.8.2 (#642) Bumps [types-python-dateutil](https://github.com/python/typeshed) from 2.8.0 to 2.8.2. - [Release notes](https://github.com/python/typeshed/releases) - [Commits](https://github.com/python/typeshed/commits) --- updated-dependencies: - dependency-name: types-python-dateutil dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump coverage from 6.0.1 to 6.0.2 (#639) Bumps [coverage](https://github.com/nedbat/coveragepy) from 6.0.1 to 6.0.2. - [Release notes](https://github.com/nedbat/coveragepy/releases) - [Changelog](https://github.com/nedbat/coveragepy/blob/master/CHANGES.rst) - [Commits](nedbat/coveragepy@6.0.1...6.0.2) --- updated-dependencies: - dependency-name: coverage dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump jsonschema from 4.1.1 to 4.1.2 (#644) Bumps [jsonschema](https://github.com/Julian/jsonschema) from 4.1.1 to 4.1.2. - [Release notes](https://github.com/Julian/jsonschema/releases) - [Changelog](https://github.com/Julian/jsonschema/blob/main/CHANGELOG.rst) - [Commits](python-jsonschema/jsonschema@v4.1.1...v4.1.2) --- updated-dependencies: - dependency-name: jsonschema dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Revert "Apply StacIO instance from root in Catalog.set_root (#590)" (#633) This reverts commit 5ddfa83. * Extension/datacube - added variable property (#645) * Extension/datacube - added variable property * Extension/datacube - complied with pre-commit hooks * Extension/datacube - applied suggest changes from pr #645 * Extension/datacube - applied suggest changes from pr #645 Co-authored-by: Thomas Li Fredriksen <thomas.fredriksen@oceandata.earth> * build(deps): bump coverage from 6.0.2 to 6.1.1 (#650) Bumps [coverage](https://github.com/nedbat/coveragepy) from 6.0.2 to 6.1.1. - [Release notes](https://github.com/nedbat/coveragepy/releases) - [Changelog](https://github.com/nedbat/coveragepy/blob/master/CHANGES.rst) - [Commits](nedbat/coveragepy@6.0.2...6.1.1) --- updated-dependencies: - dependency-name: coverage dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump black from 21.9b0 to 21.10b0 (#649) Bumps [black](https://github.com/psf/black) from 21.9b0 to 21.10b0. - [Release notes](https://github.com/psf/black/releases) - [Changelog](https://github.com/psf/black/blob/main/CHANGES.md) - [Commits](https://github.com/psf/black/commits) --- updated-dependencies: - dependency-name: black dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Extension/Table - Added extension (#646) * Extension/table - created extension * Extension/table - Added extension hook. Added unittests * Extension/table - Removed deepcopy usage * Extension/table - Implemented changes proposed in PR #646 * Extension/table - Updated docs for PR #646 * Extension/table - Updated changelog for PR #646 Co-authored-by: Thomas Li Fredriksen <thomas.fredriksen@oceandata.earth> * build(deps): bump ipython from 7.28.0 to 7.29.0 (#648) Bumps [ipython](https://github.com/ipython/ipython) from 7.28.0 to 7.29.0. - [Release notes](https://github.com/ipython/ipython/releases) - [Commits](ipython/ipython@7.28.0...7.29.0) --- updated-dependencies: - dependency-name: ipython dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump jsonschema from 4.1.2 to 4.2.0 (#651) Bumps [jsonschema](https://github.com/Julian/jsonschema) from 4.1.2 to 4.2.0. - [Release notes](https://github.com/Julian/jsonschema/releases) - [Changelog](https://github.com/Julian/jsonschema/blob/main/CHANGELOG.rst) - [Commits](python-jsonschema/jsonschema@v4.1.2...v4.2.0) --- updated-dependencies: - dependency-name: jsonschema dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump jsonschema from 4.2.0 to 4.2.1 (#655) Bumps [jsonschema](https://github.com/Julian/jsonschema) from 4.2.0 to 4.2.1. - [Release notes](https://github.com/Julian/jsonschema/releases) - [Changelog](https://github.com/Julian/jsonschema/blob/main/CHANGELOG.rst) - [Commits](python-jsonschema/jsonschema@v4.2.0...v4.2.1) --- updated-dependencies: - dependency-name: jsonschema dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Use stable Python 3.10 in CI (#656) * Use stable python 3.10 in CI * Add CHANGELOG entry for 656 * Update README.md Co-authored-by: Pete Gadomski <pete.gadomski@gmail.com> * Update .github/workflows/continuous-integration.yml Co-authored-by: Pete Gadomski <pete.gadomski@gmail.com> Co-authored-by: Pete Gadomski <pete.gadomski@gmail.com> * Packaging: Add Trove Classifier for Python 3.10 (#659) * gitignore .python-version file (#647) * Gitignore .python-version file * Add CHANGELOG entry for #647 * Fix string enum serialization (#654) * Add failing test for RelType serialization * Fix serialization of string Enum classes * Add CHANGELOG entry for 654 * Use assertEqual instead of assert + == * Use StringEnum in remaining classes inheriting from str, Enum * Add an extra SELF_CONTAINED catalog test (#658) * Add an extra SELF_CONTAINED catalog test * Improve unit test * Run pre-commit * Make linter happy * Update test to avoid checking 'self' link 'self' link is always absolute; PySTAC avoids writing the link if the Catalog is self contained or relative published (besides the root catalog in the latter case). * Inline test issue-specific catalog; check raw json * Set root on resolved links when setting on Catalog When setting the root on a Catalog, also set the root on any child or item objects that are resolved. This handles the case where child items and catalogs were created, added to a catalog, and then that catalog added to another catalog, invalidating the originally set root links of the leaf items and catalogs. * Close file properly in test * Message which catalog failed for better debugging * Don't recursively clear the root of children/items When clearing the root link of a Catalog, avoid clearing the root link of the children/items. This is to avoid the root link clearing in the "clone" method to avoid touching the un-cloned linked STAC Objects. * Use STACObject.set_root in full_copy This avoids logic in the child class implementations that are incompatible with the full_copy logic, such as the Catalog's call of set_root on of child and item links. This crawling logic is handled by full_copy itself. * Update CHANGELOG Co-authored-by: Rob Emanuele <rdemanuele@gmail.com> * build(deps): bump coverage from 6.1.1 to 6.1.2 (#660) Bumps [coverage](https://github.com/nedbat/coveragepy) from 6.1.1 to 6.1.2. - [Release notes](https://github.com/nedbat/coveragepy/releases) - [Changelog](https://github.com/nedbat/coveragepy/blob/master/CHANGES.rst) - [Commits](nedbat/coveragepy@6.1.1...6.1.2) --- updated-dependencies: - dependency-name: coverage dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump sphinx from 4.2.0 to 4.3.0 (#661) Bumps [sphinx](https://github.com/sphinx-doc/sphinx) from 4.2.0 to 4.3.0. - [Release notes](https://github.com/sphinx-doc/sphinx/releases) - [Changelog](https://github.com/sphinx-doc/sphinx/blob/4.x/CHANGES) - [Commits](sphinx-doc/sphinx@v4.2.0...v4.3.0) --- updated-dependencies: - dependency-name: sphinx dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump doc8 from 0.9.1 to 0.10.1 (#662) Bumps [doc8](https://github.com/pycqa/doc8) from 0.9.1 to 0.10.1. - [Release notes](https://github.com/pycqa/doc8/releases) - [Commits](PyCQA/doc8@0.9.1...0.10.1) --- updated-dependencies: - dependency-name: doc8 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Allow PySTAC to skip transforming hrefs to relative or absolute based on CatalogType (#663) * Use clone_item to determine preserve_dict Currently the clone_item parameter only affects the case where the items are pystac.Items. The analogous use for a list of Dicts representing the Items is by using preserve_dict if the Items should be "cloned". This allows users to use clone_item=False to speed up reading ItemCollections in the case that they are passing in a list of Dicts. * Take a Callable instead of a Type for set_default This shouldn't break any client code as a Type[StacIO] is itself a Callable[[], StacIO]. This allows flexibility in how we generate the StacIO object, which is useful in cases like mocking the StacIO object. * Add MockDefaultStacIO This allows the default StacIO to be set inside a context manager for tests that want to utilize a mock as the default StacIO. * Test ItemCollection.to_dict won't read item roots This test, which fails without a subsequent fix, tests that there should only be a single read operation when convering an ItemCollection to a dict. This test fails due to the root link being read for each item in the logic that determines if heirarchial links should be absolute or relative. * Allow link href transformation logic to be skipped This adds a new option to determine if a link's href should be transformed based on the link's owner's root catalog type. The current implementation always checks the link's owner for a root catalog, and if it exists and if that root catalog is of type RELATIVE_PUBLISHED or SELF_CONTAINED, and that link is a hierarchical link, then the link's href is transformed to be relative to the link's owner's root catalog. The default option is to maintain this behavior for the default to_dict method, along with the Catalog, Collection and Item to_dict methods; but this flag now allows users to skip this link href transformation, saving reads. The ItemCollection.to_dict method was modified to skip link transformation by default. If Items exist in an ItemCollection, the likely desired behavior is not to modify the link hrefs based on the root catalog type, and the result of transforming hrefs in situations where the ItemCollection does not itself have a root catalog results in a root link resolution for each Item, which can be very slow. * Update CHANGELOG * Bump to v1.2.0 (#653) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Rob Emanuele <rdemanuele@gmail.com> Co-authored-by: Vincent Sarago <vincent.sarago@gmail.com> Co-authored-by: Francesco Nattino <49899980+fnattino@users.noreply.github.com> Co-authored-by: Pete Gadomski <pete.gadomski@gmail.com> Co-authored-by: Thomas Li Fredriksen <thomafred@users.noreply.github.com> Co-authored-by: Thomas Li Fredriksen <thomas.fredriksen@oceandata.earth> Co-authored-by: Tyler Battle <tyler@battle.ca> Co-authored-by: Grigory <gr.pomadchin@gmail.com>
Related Issue(s):
root
passed intofrom_dict
#589Description:
Adds "public"
Catalog.stac_io
property that reads/writes toCatalog._stac_io
for backwards compatibility.Since we are reading and writing to this attribute from outside the owning class in a number of cases it seems appropriate to make it a public property.
Adds the
StacIO
instance fromroot.stac_io
to the callingCatalog
inCatalog.set_root
.PR Checklist:
pre-commit run --all-files
)scripts/test
)