c88826ac4d9cfe772b8057a81c0a8b12a1b30ac0
- create_app now accepts show_day/show_hour params instead of hardcoding Wednesday 22:00 - main.py passes config values through to create_app - Removed soundcloud_url from AddTrackRequest (not implemented); track_id is now required Made-with: Cursor
NtR SoundCloud Fetcher
Fetches SoundCloud likes from NicktheRat's profile, builds weekly playlists aligned to the Wednesday 22:00 ET show schedule, and serves them via a JSON API.
Quick Start
pip install -e ".[dev]"
export NTR_ADMIN_TOKEN="your-secret-here"
ntr-fetcher
The API starts at http://127.0.0.1:8000.
API
| Endpoint | Description |
|---|---|
GET /playlist |
Current week's playlist |
GET /playlist/{n} |
Track at position n |
GET /shows |
List all shows |
GET /shows/{id} |
Specific show's playlist |
GET /health |
Service health check |
POST /admin/refresh |
Trigger SoundCloud fetch (token required) |
Configuration
Environment variables (prefix NTR_):
| Variable | Default | Description |
|---|---|---|
NTR_PORT |
8000 |
API port |
NTR_HOST |
127.0.0.1 |
Bind address |
NTR_DB_PATH |
./ntr_fetcher.db |
SQLite path |
NTR_POLL_INTERVAL_SECONDS |
3600 |
Poll frequency |
NTR_ADMIN_TOKEN |
(required) | Admin bearer token |
NTR_SOUNDCLOUD_USER |
nicktherat |
SoundCloud user |
Development
pip install -e ".[dev]"
pytest
Languages
Python
90.1%
HTML
9.9%