# The backend's whole dependency list, and it is meant to stay this short. # # No DRF: the API is nine endpoints over JSON, and a document whose values are # transit is one Django ORM JSONField and a `json.loads` — a serializer layer # would be a second description of a shape that already has one in # arthur.domain.leaf. No Pillow either; the one thing the backend needs from a PNG # is its dimensions, which is a 24-byte header read in clips/blobs.py. # # Channels for the one websocket — presence and broadcast deltas — and daphne to # serve it; `daphne` in INSTALLED_APPS makes `runserver` the same server. Django>=5.0,<6.0 channels>=4.2,<5.0 daphne>=4.1,<5.0 whitenoise>=6.9,<7.0