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

Remove backend packages #450

Closed
wants to merge 21 commits into from
Closed

Remove backend packages #450

wants to merge 21 commits into from

Conversation

duckontheweb
Copy link
Contributor

@duckontheweb duckontheweb commented Aug 7, 2022

Related Issue(s):

Description:

  • Removes backend-specific code, configuration, and documentation
    Going forward, the SQLAlchemy and PgSTAC backends will be distributed as separate packages and managed in their own repos (stac-fastapi-sqlalchemy and stac-fastapi-pgstac, respectively). The main Dockerfile and docker-compose.yml have been removed since there is no longer a deployable backend associated with this repo.
  • Distributes stac-fastapi.api, stac-fastapi.types, and stac-fastapi.extensions as modules under a single stac-fastapi package.
    Import statements for the individual modules will not change, but downstream applications will need to update their dependency from something like...
    stac-fastapi.api==2.4.1
    stac-fastapi.types==2.4.1
    stac-fastapi.extensions==2.4.1
    
    ...to something like...
    stac-fastapi==2.5.0
    

PR Checklist:

  • Code is formatted and linted (run pre-commit run --all-files)
  • Tests pass (run make test)
  • Documentation has been updated to reflect changes, if applicable, and docs build successfully (run make docs)
  • Changes are added to the CHANGELOG.
  • Remove or add CI to implement validation checks

@duckontheweb duckontheweb changed the title Remove/backend packages Remove backend packages Aug 7, 2022
@duckontheweb duckontheweb marked this pull request as ready for review August 7, 2022 17:05
Copy link
Collaborator

@geospatial-jeff geospatial-jeff left a comment

Choose a reason for hiding this comment

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

A few more comments, typing them out here because there isn't a great place to comment in the diff.

  • The test data at tests/data/joplin probably isn't used anywhere, but maybe its nice to keep around?
  • Can remove the alembic exclude from the find_namespace_packages call in setup.py.

I'm starting on the sqlalchemy backend today, if I find anything else I'll add here.

Makefile Outdated Show resolved Hide resolved
docker-compose.docs.yml Outdated Show resolved Hide resolved
scripts/publish Outdated Show resolved Hide resolved
@duckontheweb
Copy link
Contributor Author

  • The test data at tests/data/joplin probably isn't used anywhere, but maybe its nice to keep around?

Yeah, it might make sense to keep it around for now. I'm thinking that as we expand the test suite we may want a simple backend mocker that just reads files from a directory. Having these files available would probably make that easier to put together in the future.

@duckontheweb
Copy link
Contributor Author

  • Can remove the alembic exclude from the find_namespace_packages call in setup.py.

Fixed in 2d72c58

@gadomski
Copy link
Member

NB there have been some changes to backend-specific code that were dropped by 22d6a01, so we will need to go back and backport any of those to the backend-specific repos (if they haven't been backported already).

@gadomski gadomski marked this pull request as draft January 18, 2023 17:23
@gadomski gadomski linked an issue Jan 18, 2023 that may be closed by this pull request
@gadomski
Copy link
Member

Since this appears to have stalled out, I've made an RFC with a plan to finish the backend breakout. Tl;dr: I'm proposing we punt on the separation of responsibilities (e.g. #453) -- while it's a good idea, it's becoming a blocker that's holding the stac-fastapi ecosystem in an undefined state. While we might end up with pain down the road to synchronize the backend repos with the main ones, it's my hope that we can use API breakages v3.0 to solve the separation of concerns in the medium-term.

@geospatial-jeff
Copy link
Collaborator

geospatial-jeff commented Jan 31, 2023

@gadomski That makes sense to me, we can always come back to these changes in the future in a later major version. I think the more important thing is getting the backends split out, regardless of the separation of concerns.

EDIT: Found it #517

@gadomski gadomski mentioned this pull request Apr 3, 2023
5 tasks
@gadomski gadomski closed this in #555 May 9, 2023
@gadomski gadomski deleted the remove/backend-packages branch June 7, 2023 18:09
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.

Split backends into independent repos
3 participants