Skip to main content

kryten-webqueue

Netflix/Tubi-style catalog browser and pay-to-play queue management for CyTube.

Architecture

Browser → nginx (queue.dropsugar.co) → kryten-webqueue (:2010) → kryten-api-gate (:24444) → NATS services
  • HTTP-only — webqueue never touches NATS directly
  • SQLite for all local state (catalog, OTPs, queue shadow, playlists, schedules)
  • WebSocket for real-time queue updates
  • Polling api-gate every 3 seconds for playlist state

Quick Start

# Install
python -m venv .venv
.venv/bin/pip install -e .

# Configure
cp config.example.json /etc/kryten-webqueue/config.json
# Edit config.json with your secrets

# Run
WQ_CONFIG=/etc/kryten-webqueue/config.json python -m kryten_webqueue

Configuration

See config.example.json for all options. Required secrets:

Key Description
secret_key Random string for JWT signing (≥32 chars)
api_gate_token Bearer token for kryten-api-gate
mediacms_token API token for MediaCMS catalog sync

Deployment

# Install service
sudo cp deploy/kryten-webqueue.service /etc/systemd/system/
sudo systemctl daemon-reload
sudo systemctl enable --now kryten-webqueue

# nginx
sudo cp deploy/nginx-queue.conf /etc/nginx/sites-available/queue.dropsugar.co
sudo ln -s /etc/nginx/sites-available/queue.dropsugar.co /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginx

API Endpoints

Auth

  • POST /auth/otp/request — Request OTP (delivered via PM)
  • POST /auth/otp/verify — Verify OTP, get session cookie
  • POST /auth/logout — Clear session
  • GET /auth/me — Current user info

Catalog

  • GET /catalog/browse — Paginated browse (with category filter)
  • GET /catalog/search?q=... — Full-text search
  • GET /catalog/item/{token} — Item detail
  • GET /catalog/categories — List categories

Queue

  • GET /queue/state — Current queue state
  • POST /queue/add — Add item (FIFO pay-queue)
  • POST /queue/playnext — Add as play-next (premium)
  • GET /queue/preview?friendly_token=...&tier=... — Cost preview
  • GET /queue/history — User's queue history

User

  • GET /user/balance — Economy balance
  • GET /user/transactions — Transaction history
  • GET /user/profile — Profile info

Admin (rank ≥ 3)

  • GET/POST/PUT/DELETE /admin/playlists/... — Saved playlists CRUD
  • GET/POST/PUT/DELETE /admin/schedules/... — Schedule CRUD
  • POST /admin/schedules/{id}/fire — Manual fire
  • POST /admin/queue/clear — Clear queue (refunds pay items)
  • DELETE /admin/queue/{uid} — Remove item
  • POST /admin/queue/sync-now — Trigger catalog sync

WebSocket

  • ws://host/ws — Real-time queue updates (auth via session cookie)

Dependencies

  • Python ≥ 3.12
  • kryten-api-gate ≥ 0.3.6
  • kryten-py ≥ 0.16.1 (upstream, not a direct dependency)
  • kryten-economy ≥ 0.8.11 (upstream, not a direct dependency)

License

Proprietary — DropSugar / Q&A

Release files for kryten-webqueue 0.36.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for kryten-webqueue 0.36.6
File Size Uploaded
kryten_webqueue-0.36.6.tar.gz 460.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for kryten-webqueue 0.36.6
File Interpreter ABI Platform
kryten_webqueue-0.36.6-py3-none-any.whl Python 3 none any Details

Total release size: 796.9 kB

Release files / kryten_webqueue-0.36.6.tar.gz

Download URL kryten_webqueue-0.36.6.tar.gz
Size 460.7 kB
Tags Source
SHA-256 checksum
How to use checksums
68ec827074469dc9bad831d8457adeae51838976460455f6dc431ae43c13f255
BLAKE2b-256 checksum
How to use checksums
4c5e345b577d854291914c1eda1808f3a369c79b4aae0488e5eb2965f79431e2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / kryten_webqueue-0.36.6-py3-none-any.whl

Download URL kryten_webqueue-0.36.6-py3-none-any.whl
Size 336.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
cf4d5e0df998620ca4d87559e299e77a502129d7fe0ff9ab703f332f5226c218
BLAKE2b-256 checksum
How to use checksums
68b0c97a9f3fe2371a69df7ce458989c2c79e43738ca0ae327d499d0ca782869
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Release history Release notifications | RSS feed

0.50.0

2 release files

0.49.4

2 release files

0.49.3

2 release files

0.49.0

2 release files

0.48.1

2 release files

0.48.0

2 release files

0.47.0

2 release files

0.46.1

2 release files

0.46.0

2 release files

0.45.1

2 release files

0.45.0

2 release files

0.44.7

2 release files

0.44.6

2 release files

0.44.5

2 release files

0.44.4

2 release files

0.44.3

2 release files

0.44.2

2 release files

0.44.1

2 release files

0.44.0

2 release files

0.43.0

2 release files

0.42.0

2 release files

0.41.0

2 release files

0.40.4

2 release files

0.40.3

2 release files

0.40.2

2 release files

0.40.1

2 release files

0.40.0

2 release files

0.39.0

2 release files

0.38.9

2 release files

0.38.8

2 release files

0.38.7

2 release files

0.38.6

2 release files

0.38.5

2 release files

0.38.4

2 release files

0.38.3

2 release files

0.38.2

2 release files

0.38.1

2 release files

0.38.0

2 release files

0.37.0

2 release files

0.36.7

2 release files

This release

0.36.6 This release

2 release files

0.36.5

2 release files

0.36.4

2 release files

0.36.3

2 release files

0.36.2

2 release files

0.36.1

2 release files

0.36.0

2 release files

0.35.9

2 release files

0.35.8

2 release files

0.35.7

2 release files

0.35.6

2 release files

0.35.5

2 release files

0.35.4

2 release files

0.35.3

2 release files

0.35.2

2 release files

0.35.1

2 release files

0.35.0

2 release files

0.34.9

2 release files

0.34.7

2 release files

0.34.4

2 release files

0.34.3

2 release files

0.34.2

2 release files

0.34.1

2 release files

0.34.0

2 release files

0.33.9

2 release files

0.33.8

2 release files

0.33.7

2 release files

0.33.2

2 release files

0.33.1

2 release files

0.32.3

2 release files

0.32.2

2 release files

0.32.1

2 release files

0.32.0

2 release files

0.27.1

2 release files

0.27.0

2 release files

0.26.0

2 release files

0.25.0

2 release files

0.24.0

2 release files

0.23.1

2 release files

0.23.0

2 release files

0.22.0

2 release files

0.21.0

2 release files

0.20.1

2 release files

0.20.0

2 release files

0.19.0

2 release files

0.18.0

2 release files

0.17.0

2 release files

0.16.0

2 release files

0.15.2

2 release files

0.15.1

2 release files

0.15.0

2 release files

0.14.2

2 release files

0.14.1

2 release files

0.14.0

2 release files

0.10.0

2 release files

0.9.13

2 release files

0.9.12

2 release files

0.9.11

2 release files

0.9.10

2 release files

0.9.9

2 release files

0.9.8

2 release files

0.9.7

2 release files

0.9.6

2 release files

0.9.5

2 release files

0.9.4

2 release files

0.9.3

2 release files

0.9.2

2 release files

0.9.1

2 release files

0.9.0

2 release files

0.8.2

2 release files

0.8.1

2 release files

0.8.0

2 release files

0.7.5

2 release files

0.7.4

2 release files

0.7.3

2 release files

0.7.2

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.6

2 release files

0.6.5

2 release files

0.6.4

2 release files

0.6.3

2 release files

0.6.2

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.5.2

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.6

2 release files

0.4.5

2 release files

0.4.4

2 release files

0.4.3

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.9

2 release files

0.2.8

2 release files

0.2.7

2 release files

0.2.6

2 release files

0.2.5

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.6

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page