fastapi-versioning
fastapi-versioning copied to clipboard
What is the status of this project? Is it still active?
Hello,
First of all, thank you for the project. I would like to ask if the project is still active. I can see some PRs opened since last year and I was planning to open a PR but in case there is no activity I probably going to create a new project instead of a fork, of course giving appropriate credit. Thank you in advance for the response
Probably is abandoned/orphan, I tried to contact the developer @DeanWay multiple times for the last months, he doesn't even reply even-though there is no effort involved on leaving the pypi keys to someone else or some permissions in the repo.
It would be nice if someone claims the project but that could take months, so maybe for now I wouldn't suggest to use this project at all, better use another solution to your project.
@PabloRuizCuevas @crashCoder
I created my own package based on fastapi_versioning
.
It fixes most of the bugs noted on here and adds some additional features.
https://github.com/alexschimpf/fastapi-versionizer
https://pypi.org/project/fastapi-versionizer/
Some notable differences:
- Package includes
py.typed
so mypy will actually be able to type check it -
kwargs
are passed to all versioned sub-applications - You can provide a function to generate custom OpenAPI schemas for each sub-application
- You can provide a function to generate custom Swagger/Redoc HTML for each sub-application
- You can provide a custom "latest" prefix
- Currently, "/" as a latest prefix is not supported though
- Websocket routes are now handled
- The versioning is applied directly to your FastAPI app, instead of generating a new FastAPI app object
- The
versionize
function returns a list of all the versions in your app - The
version
decorator is now calledapi_version
-
dependency_overrides
is preserved - A main docs page is not generated. But this can be easily accomplished like so: https://github.com/alexschimpf/fastapi-versionizer/blob/main/examples/advanced.py#L125
- You can generate a Swagger page to expose an automatically generated "/versions" endpoint or you can generate your own custom HTML page