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"
Changelog
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.3.tar.gz
(9.5 kB
view hashes)
Built Distribution
Close
Hashes for flake8_trio-22.7.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 768c10f125c6f4fbd3461032a911bd12ab6dfeb8311c42b593e7c2264f6f81a8 |
|
MD5 | 5f7b39d6444abbc6fee2921944b029e8 |
|
BLAKE2b-256 | a7fa6677a331f16cd1f56924b3cd7858f680063d8135cae31e842bb996013e03 |