Small Django service for the metadata session flow: upload audio (or URL), read metadata, then download the file with tags written using a short-lived session token. No user accounts; sessions use Django cache and on-disk temp files.
| Step | Method | Path |
|---|---|---|
| Read metadata (no storage) | POST |
/v1/full/ |
| Create session | POST |
/v1/session/ |
| Download with tags | POST |
/v1/session-download/ |
| Health | GET |
/health/ |
| OpenAPI schema | GET |
/schema/ |
| Swagger UI | GET |
/docs/ |
See docs/api/audio_metadata.md, docs/api/audio_metadata_session.md, and docs/frontend/one_time_metadata_update.md.
python3 -m venv .venv
source .venv/bin/activate
pip install ".[dev]"
export DJANGO_SECRET_KEY=dev-secret
pytestFor local run (defaults: SQLite, locmem cache, session dir under ./metadata-sessions/):
export DJANGO_SECRET_KEY=dev-secret
python manage.py migrate --run-syncdb
python manage.py runserverOptional: ACOUSTID_API_KEY, Audio Fingerprinter (AFP_BASE_URL, AFP_PORT, AFP_POST_ENDPOINT) for include_musicbrainz_analysis / fingerprinting on session upload.
- audiometa-python — metadata read/write library
- HearTheMusicTree API — main library API (audio metadata endpoints live in this service)
See CONTRIBUTING.md.
See LICENSE.