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

💡 Move STAC backend to stac-fastapi-pgstac #371

Open
dchandan opened this issue Aug 18, 2023 · 4 comments
Open

💡 Move STAC backend to stac-fastapi-pgstac #371

dchandan opened this issue Aug 18, 2023 · 4 comments
Assignees
Labels
enhancement New feature or request

Comments

@dchandan
Copy link
Collaborator

Description

The recently merged STAC implementation (#297) uses a (i) lightweight implementation of the STAC API stac-app that is based on stac-fastapi and (ii) a PgSTAC backed. It is not clear what advantage this setup provides since there is a dedicated, community-supported stac-fastapi implementation using the PgSTAC backend called stac-fastapi-pgstac that could be used within Birdhouse.

Is there a need to continue using CRIM's stac-app? This could have been a legacy decision, which is why I am opening this issue to solicit input on whether we should change the implementation to use stac-fastapi-pgstac.

Concerned Organizations

Francis and I had useful discussion on moving away from the CRIM implementation a little while back. @fmigneault what are your current thoughts on this?

@dchandan dchandan added the enhancement New feature or request label Aug 18, 2023
@tlvu tlvu assigned fmigneault and unassigned tlvu Aug 18, 2023
@fmigneault
Copy link
Collaborator

The last update I found regarding stac-app is detailed here: #297 (comment)
I would prefer using the official image if all required extensions are implemented in it to take advantage of the community bugfixes.
From the information I got, the stac-app was only used "temporarily" to patch missing elements from the official STAC FastAPI.

I can see a big difference between https://github.com/crim-ca/stac-app/blob/main/filters.py and https://github.com/stac-utils/stac-fastapi-pgstac/blob/main/stac_fastapi/pgstac/extensions/filter.py, so I'm not sure how many items (if any) would still need to be added.

There are also a few differences in the Dockerfile definitions between https://github.com/crim-ca/stac-app/blob/main/Dockerfile and https://github.com/stac-utils/stac-fastapi-pgstac/blob/main/Dockerfile. We would need to see if the code changes since then work with the latest official image.

@dchandan
Copy link
Collaborator Author

@fmigneault I recall you were mentioning about proposing the stac-fastapi community about using a pluggable architecture that would allow end users to add new features, such as that in https://github.com/crim-ca/stac-app/blob/main/filters.py without needing to create a separate app. Are you still leaning towards that?

@fmigneault
Copy link
Collaborator

It depends on how reactive and willing is the stac-fastapi community to integrate proposed changes / new extensions.
If the process is fast, then I wouldn't add this extra complexity. If integrating new extensions slows us down because of their processes, then the capability to inject custom extensions would be more suitable.

@fmigneault
Copy link
Collaborator

Relates to #373 (comment)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants