tortoise / tortoise/tortoise-orm

Consider removing `uvloop` from the `accel` extra deps

Open
#1,008 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
5.6k
Forks
516
Avg merge
2d 21h
Merged PRs (30d)
9

Description

Currently, uvloop (=^0.16.0 for 0.18.0, =^0.14.0 for 0.16.19+) is in the accel extra dependencies. But tortoise-orm cannot "install" it by itself, uvloop must be "installed" by users' codes. Means that uvloop is always an immediate dependence for their codes and should be listed in requirements.txt (or so on). In such a situation, uvloop in the accel extra dependences is so embarrassed.

What's more, uvloop is a drop-in replacement of the built-in asyncio event loop. There should not be any breaking changes for its upcoming versions unless the asyncio event loop has ones. Thus, its version does not matter as long as it is compatible with users' Python version and of no security vulnerabilities found. Tortoise-orm does not bump uvloop frequently, which means that if someone needs a newer version of uvloop (the left-most non-zero digit bumped), they cannot mix it with tortoise-orm[accel], but only to manually mix the newer version of uvloop and other accel dependencies farcically.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the accel extra dependency declaration and compare it with the requirements.txt dependency arrangement mentioned in the issue. Done means uvloop is no longer included in the accel extra while the remaining accel dependencies continue to work.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend
Issue type
Refactor
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.