Conversation
No AI slop here!
* Add bands as a top-level constuct * Add repr for bands
* New implementation of CommonMetadata * Add common metadata protocols to Item and Asset
Getting `test_asset.py` passing and `test_item_assets` passing with the old `ItemAssetDefinition`. Adds a new `test_item_assets.py` for the new `ItemAsset`. I think we should deprecate `ItemAssetDefiniton` it is unlikely people are really using it since it only came in a year or so ago to replace the old `item_assets` extension.
* refactor(test_posix_path): uses self-href instead of self-link * make hrefs to be posix-style on load on load of stac item, initial call to set_self_href has start_href=None, so make asset hrefs posix style instead of trying to update location * refactor: self._href must be absolute
This PR make all the regular datetime fields convert to `dt.datetime` on initialization and when setting. This is not the case for `collection.extent.temporal.interval` yet because it looked like there was some intentional logic there. Also because of rounding you can't guarantee that roundtripping from str -> dt.datetime -> str will give exactly the same string. --------- Co-authored-by: Ian Cooke <ircwaves@users.noreply.github.com>
* test: verifies self links exist * feat: restore convenience methods for Link clone get_absolute_href (reconsider this) target.setter (deprecated w/ warning) collection, self, child, item, derived_from, and canonical * test: v2 compatibility update of v1/test_link * test: make link check windows compatible * test: re-enable test that relative self hrefs are promoted to absolute * feat: restore Link.resolve_stac_object * cleanup: revert unnecessary changes * doc: comment around link target/href handling subtlety * restore methods with deprecation to minimize friction * restore additional convenience methods * feedback: consume and warn if extra_fields in Link init kwargs * remove unnecessary typing change
Member
|
I just ran: After #1710 this improves to: |
* Fix static fields file * Make Item Properties a `MutableMapping` * Simplify `Summaries` * Fix RangeSummary coersion
Closed
5 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
PySTAC v2.0 is a ground-up re-write of PySTAC. Our high-level design goals are a form of Postel's law:
To do so, we have some specific implementation strategies.
Item,Catalog,Collection, etc. We shouldn't change the external APIs unless there's a good reason to.Item,Catalog, etc are the "what" of pystac. Things likeStacIOare the "how". We should create replacement structures for any of these "how" interfaces that we want to dramatically change, rather than try to "fix" the existing ones. Backwards compatibility will be much more difficult for these "how" interfaces, so we shouldn't even try. If possible we should re-write the existing "how" structure (e.g.StacIO) to use the new API, but this should be a lower-priority objective.pystac.read_file.We've got v2 docs here: https://stac-utils.github.io/pystac/
v1 test compatibility
To break the API as little as possible, we're keeping the v1 test suite in
tests/v1. As we build v2, we'll update this table to show how close we are to passing all1 v1 tests:Footnotes
Some tests, such as those that check for exceptions that we've relaxed, we mark as
xfail↩