The backend server for the Rogue Scholar science blog archive. The Rogue Scholar API is a Python Quart application that provides a RESTful API for the Rogue Scholar service.
Requires Python 3.12. Uses uv for dependency management. Depends on credentials for the Rogue Scholar Postgres database (hosted by Supabase) and Rogue Scholar search index (hosted by Typesense):
# required environment variables
SUPABASE_URL
SUPABASE_ANON_KEY
TYPESENSE_HOST
TYPESENSE_API_KEY
The API uses uv for dependency management. To install uv, see the uv documentation. Then install the dependencies and run the server:
uv sync
uv run start
The API will then be available at http://localhost:5000
.
We use pytest for testing:
poetry run pytest
Follow along via Github Issues. Please open an issue if you encounter a bug or have a feature request.
- Fork the project
- Write tests for your new feature or a test that reproduces a bug
- Implement your feature or make a bug fix
- Do not mess with Rakefile, version or history
- Commit, push and make a pull request. Bonus points for topical branches.
Documentation (work in progress) for using Rogue Scholar is available at the Rogue Scholar Documentation website.
The Rogue Scholar API documentation is served by default at /openapi.json according to the OpenAPI standard, or at /docs for a SwaggerUI interface, or at /redocs for a redoc interface.
Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.
License: MIT