matrix-org / matrix-org/matrix-python-sdk
Support async use-cases
- Dominant language
- Python
- Stars
- 266
- Forks
- 118
- PR merge metrics
- No merged PRs in 30d
Description
Since we're supporting both python2 and python3, our async options are very limited. I think we have to either use gevent, use threading, or maybe we can use something from the twisted stack?
Personally, I'd really like to just drop support for python2 (it is the way the ecosystem is moving anyway), and use either the 3.4 syntax of `@asyncio.coroutine` and `yield from` or 3.5+ of `async def` and `await`. It would give us much more semantic code. Maybe the right answer *is* just a community-maintained async fork for python 3.4+.
Issue created to separate out discussion from #126.
Contributor guide
Research direction
Start by reading this discussion alongside issue #126 to understand the separated context and the proposed gevent, threading, Twisted, and Python 3 asyncio options. The issue does not identify files, tests, or a settled implementation target; a concrete decision and scoped acceptance criteria are needed before work can begin.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- api, backend-api-design
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100