Version 6 (modified by Andrew Godwin, 8 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 [claimed]

Medium priority:

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
  • Socket.io and/or WAMP interface servers

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
  • Tests for file and streaming response handling inside Django
Note: See TracWiki for help on using the wiki.
Back to Top