This repo will receive minimal updates as I focus on rhythm cafe v3 here: https://github.com/auburnsummer/orchard2
This is a set of Python scripts that produce api.rhythm.cafe, the backend for rhythm.cafe.
It consists of the following parts:
- parse: parse the JSON dialect used in .rdlevel files
- vitals: parse an .rdzip file and extract relevant metadata
- scan: Scrape various sources of levels and populate an SQLite database with the metadata of those levels
- bot: A Discord bot and API used for level management
- package: Take the SQLite database from the scan step and produce a static Docker image serving that data via an API
A Github Actions task periodically runs the scan and deploys a new package. Thus, api.rhythm.cafe
is actually an entirely static deployment. The only way to change anything is to deploy a new
version of it.
This repo uses Python 3.8+, and Poetry to define dependencies. Each submodule shares a single dependency lockfile.
- Install poetry via these directions
- Run
poetry install
in the root directory of this repo. - Either use
poetry run
when running scripts, or dopoetry shell
to enter the virtual environment first.
Refer to individual README files in each submodule.