Skip to content

Conversation

@gadomski
Copy link
Member

@gadomski gadomski commented May 14, 2025

Related Issue(s):

Description:

Relax collection extent serialization, as there's a surprising number of Collections out there in the real world without extents. Includes a sidecar relaxing of the type on the extent constructors.

PR Checklist:

  • Pre-commit hooks pass (run pre-commit run --all-files)
  • Tests pass (run pytest)
  • This PR maintains or improves overall codebase code coverage.
  • Changes are added to the CHANGELOG. See the docs for information about adding to the changelog.

@gadomski gadomski requested a review from jsignell May 14, 2025 12:15
@gadomski gadomski self-assigned this May 14, 2025
Copy link
Member

@jsignell jsignell left a comment

Choose a reason for hiding this comment

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

This looks good! Just one suggestion.

Also this is a larger topic, but I was mildly persuaded at the STAC birds of a feather at CNG that if we are less permissive then it might make users complain to providers and encourage the production of higher quality STAC catalogs.

@gadomski
Copy link
Member Author

I was mildly persuaded at the STAC birds of a feather at CNG that if we are less permissive then it might make users complain to providers and encourage the production of higher quality STAC catalogs.

I get it, but so often the people creating broken STAC are wayyy separated from the feedback system. To me, warning feels like a nice compromise -- if pystac breaks on bad STAC, I think folks are just as likely to just not use pystac-client, make HTTP calls directly to dictionaries, and muddle on.

@gadomski gadomski enabled auto-merge May 14, 2025 13:54
@jsignell
Copy link
Member

pystac breaks on bad STAC, I think folks are just as likely to just not use pystac-client, make HTTP calls directly to dictionaries, and muddle on.

Yeah that makes a ton of sense to me as well. I agree that is the more likely the path that people will see and once we lose them they are probably hard to get back.

@gadomski gadomski added this pull request to the merge queue May 14, 2025
Merged via the queue into main with commit 97956b8 May 14, 2025
17 checks passed
@gadomski gadomski deleted the issues/1558-collection-from-dict branch May 14, 2025 14:02
@codecov
Copy link

codecov bot commented May 14, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 92.43%. Comparing base (fa00c5d) to head (0d03ae6).
⚠️ Report is 6 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1559      +/-   ##
==========================================
+ Coverage   92.42%   92.43%   +0.01%     
==========================================
  Files          55       55              
  Lines        8368     8371       +3     
  Branches      963      964       +1     
==========================================
+ Hits         7734     7738       +4     
  Misses        449      449              
+ Partials      185      184       -1     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

kmodali pushed a commit to kmodali/pystac that referenced this pull request Oct 16, 2025
* feat: permissive extent deserialization

* chore: update changelog

* Update tests/test_collection.py

Co-authored-by: Julia Signell <[email protected]>

* fix: tests

---------

Co-authored-by: Julia Signell <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Relax Collection.from_dict

3 participants