Python: Add ruff rules for asyncio and performance #1894
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
https://docs.astral.sh/ruff
Extra review please on the
time.sleep() --> asyncio.sleep()inbindings/python/tests/bindings/test_tokenizer.pybecause these are tests, not production code.%
cd bindings/python%
ruff check --extend-select=ASYNC,C4,PERF --output-format=concise%
ruff rule ASYNC251blocking-sleep-in-async-function (ASYNC251)
Derived from the flake8-async linter.
What it does
Checks that async functions do not call
time.sleep.Why is this bad?
Blocking an async function via a
time.sleepcall will block the entireevent loop, preventing it from executing other tasks while waiting for the
time.sleep, negating the benefits of asynchronous programming.Instead of
time.sleep, useasyncio.sleep.Example
Use instead: