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

[WIP] Improve STACObject inheritance #443

Closed

Conversation

duckontheweb
Copy link
Contributor

Related Issue(s): #

Description:

Based on #410 and conversation with @matthewhanson, this is a start on some work to:

  1. Allow developers to create their own sub-classes of Item, Collection, and Catalog and have the classmethods return the expected sub-classes (see this Catalog test for an example use-case).

  2. Decouple migration from serialization (or at least make it more explicit and transparent)

  3. Simplify some of the interplay between the stac_io, STACObject, and the serialization module.

I haven't made as much headway on the 3rd point, but I'm interested in feedback on the approach so far.

This also updates the deprecation notice for STAC_IO. If this PR ends up needing more time I can break that off into a separate PR so we can get it into the next pre-release.

cc: @matthewhanson @lossyrob

PR Checklist:

  • Code is formatted (run scripts/format)
  • Tests pass (run scripts/test)
  • 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.

@duckontheweb
Copy link
Contributor Author

Factored out the STAC_IO deprecation warnings to a separate PR so we could integrate those separately.

I will rework this PR to separate out fixing the inheritance from decoupling migration/serialization so it's easier to comment on those separately.

@duckontheweb duckontheweb mentioned this pull request Jun 17, 2021
4 tasks
@duckontheweb
Copy link
Contributor Author

@matthewhanson @lossyrob I removed the logic that decoupled migration from serialization in #451 (which supersedes this PR) so we can focus on just the inheritance piece.

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.

1 participant