The Celery project, which is often used Python library to run “background tasks” for synchronous web frameworks, describes itself as:
read more →
Celery is a simple, flexible, and reliable distributed system to process vast amounts of messages , while providing operations with the tools required to maintain such a system.
It’s a …
In a previous post about read receipts & notifications in Matrix I briefly mentioned that push rules generate notifications, but with little detail. After completing a rather large project to improve notifications in Matrix I want to fill in some of those blanks. 
These notes are true as of …
We have been slowly adding Python type hints  to Synapse and have made great progress (see some of our motivation). Through this process we have learned a lot about Python and type hints. One bit that was unexpected is that many of the abstract base classes representing groups of …read more →
The Matrix protocol is modified via Matrix Spec Changes (frequently abbreviated to “MSCs”). These are short documents describing any technical changes and why they are worth making (see an example). I’ve written a bunch and wanted to document my research process. 
I treat my research as a …
I recently wrapped up a project on improving notifications in threads for Matrix. This is adapted from my research notes to understand the status quo before adapting the Matrix protocol for threads (in MSC3771 and MSC3773). Hopefully others find the information useful!
These notes are true as of the …
Almost a year ago we had a push at Element to convert the remaining instances of Twisted’s inlineCallbacks to use native async/await syntax from Python . Eventually this work got covered by issue #7988 (which is the original basis for this blogpost).
Note that Twisted itself gained some …read more →
As explored previously, the RPC result backend works by having a results queue per client, unfortunately celery-batches was attempting to store the results …read more →
This project lets you easily add two-factor authentication to a Django project using django-allauth.
As a bit …read more →
django-querysetsequence 0.14 has been released with support for Django 3.2 (and Python 3.9). django-querysetsequence is a Django package for treating multiple QuerySet instances as a single QuerySet, this can be useful for treating similar models as a single model. The QuerySetSequence class supports much of the API …read more →
celery-batches is a small library that allows you process multiple calls to a Celery …read more →