A highly opinionated flake8 plugin for Trio-related problems.
Project description
flake8-trio
A highly opinionated flake8 plugin for Trio-related problems.
This can include anything from outright bugs, to pointless/dead code, to likely performance issues, to minor points of idiom that might signal a misunderstanding.
It may well be too noisy for anyone with different opinions, that's OK.
Pairs well with flake8-async and flake8-bugbear.
Installation
pip install flake8-trio
List of warnings
- TRIO100: a
with trio.fail_after(...):
orwith trio.move_on_after(...):
context does not contain anyawait
statements. This makes it pointless, as the timeout can only be triggered by a checkpoint. - TRIO101
yield
inside a nursery or cancel scope is only safe when implementing a context manager - otherwise, it breaks exception handling. - TRIO102 it's unsafe to await inside
finally:
unless you use a shielded cancel scope with a timeout" - TRIO105 Calling a trio async function without immediately
await
ing it.
Changelog
22.7.4
- Added TRIO105 check for not immediately
await
ing async trio functions. - Added TRIO106 check that trio is imported in a form that the plugin can easily parse.
22.7.3
- Added TRIO102 check for unsafe checkpoints inside
finally:
blocks
22.7.2
- Avoid
TRIO100
false-alarms on cancel scopes containingasync for
orasync with
.
22.7.1
- Initial release with TRIO100 and TRIO101
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
flake8-trio-22.7.4.tar.gz
(11.3 kB
view details)
Built Distribution
File details
Details for the file flake8-trio-22.7.4.tar.gz
.
File metadata
- Download URL: flake8-trio-22.7.4.tar.gz
- Upload date:
- Size: 11.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | eabb451562d64906786cef7c6b38d6ae2c23ef76bab508f0dfcbf49bd3108aef |
|
MD5 | 54d2fbfbfb5a123f81f32f27092d3f34 |
|
BLAKE2b-256 | 01ee45febdc1d162d32e18001e459f33a0fa0eff10f5d796ad911c7ed43cd453 |
Provenance
File details
Details for the file flake8_trio-22.7.4-py3-none-any.whl
.
File metadata
- Download URL: flake8_trio-22.7.4-py3-none-any.whl
- Upload date:
- Size: 6.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2dc3853cd51bb4c9a8442682d8bb76f9ec827db00aa768a31f98e564d53b4783 |
|
MD5 | 44237f3e43e0e88e7c912ade026cec88 |
|
BLAKE2b-256 | 42127b498617475bb939f837c0215bb624027aec5fdd2b3d05f3df80acf3cb19 |