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

Switch to FastAPI and move documentation #21

Open
4 of 12 tasks
anjackson opened this issue Jun 18, 2021 · 5 comments
Open
4 of 12 tasks

Switch to FastAPI and move documentation #21

anjackson opened this issue Jun 18, 2021 · 5 comments
Assignees

Comments

@anjackson
Copy link
Contributor

anjackson commented Jun 18, 2021

FastAPI is a modern and widely-used framework for Python APIs with autogenerated OpenAPI documentation. This components could easily be switched to that, and used to generate the basic API docs. The detailed documentation, including examples etc., should be moved to ukwa-documentation where it can be edited and localised without messing with the live service.

@anjackson
Copy link
Contributor Author

anjackson commented Apr 5, 2022

n.b. it means we can avoid the odd dependency on a fork of Flask-RESTx: https://github.com/anjackson/flask-restx in order to support HTTP 451 (#11 and https://github.com/anjackson/flask-restx/tree/patch-1 still awaiting python-restx/flask-restx#263)

@anjackson anjackson self-assigned this Apr 5, 2022
@anjackson
Copy link
Contributor Author

The fastapi branch has a work-in-progress implementation.

@anjackson
Copy link
Contributor Author

Note this helpful advice on running FastAPI on Uvicorn behind NGINX https://www.uvicorn.org/deployment/

@anjackson
Copy link
Contributor Author

The FAST API branch is now largely functional, and passes all but two tests from the (updated in coordination) API test suite.

The gaps are the crawl stats file, and that the Mementos WARC API just gives the closest match rather than redirecting to the closest match. See To Dos above.

@anjackson
Copy link
Contributor Author

Okay, now live with the FastAPI version of the original services, but not everything outlined above has been done yet.

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

No branches or pull requests

1 participant