Support STAC spec version 1.1.0
At some point in the near future version 1.1.0 of the STAC spec will be released. PRs are still being merged in, but the current list of high-profile changes is at: https://github.com/radiantearth/stac-spec/blob/v1.1.0-release/CHANGELOG.md
These are the changes that I think will need to be made in pystac (in the order they appear in the stac-spec changelog):
- [x] https://github.com/stac-utils/pystac/pull/1427
- [ ] make bands core instead of being within the eo and raster extensions (WIP PR #1238)
- [x] #1376
- [x] #1377
- [x] #1378
- [x] #1379
- [x] #1380
- [ ] #1347
- [x] #1381
- [ ] Ensure that APIs have trailing slashes and files do not (not sure this one requires any action)
- [x] #1382
- [ ]
item.geometrycannot be aGeometryCollection(not sure this one requires any action) - [x] #1383
Note: I ended up making a milestone for this and making all the items into individual tickets.
@jsignell I'm starting work on v1.1.0 support, and I think I'd like to get rid of the milestone and only use this ticket to track v1.1.0 issues. My reasoning is that some of these issues can be solved without breaking pystac (e.g. #1379) and others are breaking (e.g. changing the docstring for #1377 will inherently "move" pystac to v1.1.0). We'll also eventually need to update DEFAULT_STAC_VERSION which will be breaking as well.
Tl;dr: I'm proposing closing the STAC spec version 1.0.0 milestone in favor of this tracking issue, and instead opening a v1.11 milestone to go along with the existing v2.0 milestone.
I'm proposing closing the STAC spec version 1.0.0 milestone in favor of this tracking issue, and instead opening a v1.11 milestone to go along with the existing v2.0 milestone.
That plan sounds good to me! I felt a little wierd making a milestone that wasn't necessarily tied to a release.
Ok, I've got things sorted into three milestones (I added one):
Hi! I am working on a stactools package and am considering using pystac>=1.12 but I want to be able to write items/collections that are compliant with STAC v1.0.0. I found the set_stac_version function but that doesn't seem to do much besides set the stac_version property in the items/collections that I create. Is it incumbent upon me to add the newly absorbed extensions (e.g. item-assets, raster) manually if I want to create items/collections that are compliant with v1.0.0?
Is it incumbent upon me to add the newly absorbed extensions (e.g. item-assets, raster) manually if I want to create items/collections that are compliant with v1.0.0?
All the same functionality that was available pre-v1.12 is still there, meaning you can still write eo:bands, raster:bands, etc using the extension interface. There's nothing "non-compliant" about writing item_assets or bands directly on a v1.0.0 item (STAC allows for arbitrary additional fields), it's more a question of whether tooling will understand it.