matrix-org / matrix-org/matrix-python-sdk
Support async use-cases
Nobody has claimed this yet.
- 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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
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