Version 4 (modified by 9 years ago) ( diff ) | ,
---|
This is a list of tasks that the Channels project needs doing that comes under the remit of Django's MOSS grant; anything on this page is eligible for funding via the grant with pre-approval from the Django MOSS committee; you'll get in touch with the committee, discuss the work and your history with open-source contribution (we strongly prefer that you have a proven track record on at least a few things) and the amount you'd like to be paid.
If you're interested in working on one of these tasks, get in touch with Andrew Godwin <andrew@…> as a first point of contact; he can help talk you through what's involved, and help judge/refine your proposal before it goes to the committee.
Tasks not on the list can also be proposed; Andrew can help talk about them and if they would be sensible to do. Any work on Django, Daphne, asgiref or asgi_redis is eligible.
Tasks
High prority:
- Full test suite for Daphne HTTP/WS encoding to ASGI
- Tests for runserver and runworker
- Tests for file and streaming response handling inside Django
Medium priority:
- Additional tutorials (written or video)
- Scheduled task/delay interface server (https://github.com/andrewgodwin/channels/issues/115)
- Automated load testing setup and runner based on AWS/Azure/etc (https://github.com/andrewgodwin/channels/issues/28)
- In-page debugging help for websocket consumers (ideas and implementation needed)
Low priority:
- HTTP/2 support for Daphne (based on upcoming Twisted HTTP/2 support) (https://github.com/andrewgodwin/channels/issues/14)
- Messaging (IRC/Slack/etc.) interface server and ASGI spec extension
- Email interface server and ASGI spec extension
- Port Daphne to run on asyncio or write a second ASGI HTTP/WS interface server on it
Completed Tasks
These have already been done and paid for:
- Write specification for channel layer backends (ASGI)
- Write reference memory-only backend
- Write test ORM-driven backend
- Write production-ready Redis backend
- Write conformance test suite for specification
- Write ASGI-compatible HTTP + WebSocket mixed-mode server
- Write WebSocket benchmark suite
- ASGIRequest subclass and decoding from ASGI
- Response encoding to ASGI
- ASGI-compatible Handler and path into view layer
- Streaming and file response support
- HTTP authentication support
- Sessions based on reply channel not cookies
- Channel session authentication support
- Runserver integration with Daphne (inc. autoreload)
- Routing system for channels similar to URLs
- runworker command for running workers in production
- Optional in-order enforcement for WebSocket consumers
- Tutorial documentation
- Deployment/Scaling documentation
- Reference/Concepts documentation
- Example projects (channels-examples)
- Generic WebSocket and base consumers