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

How to better expose FastAPI internals for downstream modifications? #583

Open
gadomski opened this issue Jun 26, 2023 · 1 comment
Open
Labels
question Further information is requested
Milestone

Comments

@gadomski
Copy link
Member

As discussed in the stac-utils working group meeting on 26 June, 2023, it can be hard to customize the actual FastAPI data structure underneath our application. @lossyrob mentioned that he hasn't seen anyone do this really well -- each project allows folks to customize routes in their own way, and no one seems to make it really easy. Are there examples of FastAPI-based applications that demonstrate a good (or at least better) structure for allowing FastAPI customizations for an install? If so, we should link them into this issue, and then use them as a basis for a (v3?) refactor.

cc @constantinius @sharkinsspatial

@gadomski gadomski added the question Further information is requested label Jun 26, 2023
@gadomski gadomski added this to the 3.0.0 milestone Jun 26, 2023
@vincentsarago
Copy link
Member

what kinda of customization are we talking about?

As an example, in tipg we are using something we call Endpoint Factory (which in reality is more a Router factory where we register endpoints). The Factory have couple attributes user can change (prefix, collection dependency, templates, ...).

In TiTiler we do the same thing but with much more attributed (to control almost all endpoint dependencies) and it became a mess... but it's enable a lot of customization 🤷

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

2 participants