Skip to main content

flake8-warnings

Python linter that warns you about using deprecated modules, classes, and functions. It provides a CLI as well as flake8 and pylint plugins.

Usage

Installation:

python3 -m pip install flake8-warnings

Now, you can use it in one of the following ways:

  1. Directly from CLI: python3 -m flake8_warnings ./my_project/
  2. As a flake8 plugin. Just run flake8 ./my_project/, it will automatically detect the plugin.
  3. As a pylint plugin. For pylint, plugins must be explicitly specified: pylint --load-plugins=flake8_warnings ./my_project/.

How it works

It analyzes all imported modules, classes and functions and detects the following:

  1. warnings.warn function calls.
  2. Deprecation decorators like deprecated or deprecation.
  3. Deprecation messages in docstrings.
  4. Stdlib modules deprecated by PEP 594.

Error codes

The tool provides a different error code for each warning category:

  • 01: Warning
  • 02: UserWarning
  • 03: DeprecationWarning
  • 04: SyntaxWarning
  • 05: RuntimeWarning
  • 06: FutureWarning
  • 07: PendingDeprecationWarning
  • 08: ImportWarning
  • 09: UnicodeWarning
  • 10: BytesWarning
  • 11: ResourceWarning

This is how they are used in different linters:

  • In flake8, the code prefix is WS0, so DeprecationWarning will be reported as WS003.
  • In pylint, the prefix is W99, so DeprecationWarning will be reported as W9903. The "message-symbol" is the warning category. So, if you want to ignore an error about DeprecationWarning, add # pylint: disable=DeprecationWarning to this line.
  • If you use CLI, the warning category will be shown you directly, without any obscure codes.

In all cases, the error message is the detected warning message.

License

  1. flake8-wranings is licensed under MIT License. On practice, I don't care how you're going to use it. i did the project because it is fun, not because I want to be famous or whatever.
  2. astroid is a direct runtime dependency of flake8-warning and it is licensed under LGPL-2.1 License. It allows commercial and private usage, distribution and whatever, don't confuse it with GPL. However, if your legal department is still nervous, just don't make flake8-warnings a production dependency (why would you?), use it only on dev and test environments.

Metadata

Release files for flake8-warnings 0.4.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for flake8-warnings 0.4.1
File Size Uploaded
flake8_warnings-0.4.1.tar.gz 11.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for flake8-warnings 0.4.1
File Interpreter ABI Platform
flake8_warnings-0.4.1-py3-none-any.whl Python 3 none any Details

Total release size: 22.9 kB

Release files / flake8_warnings-0.4.1.tar.gz

Download URL flake8_warnings-0.4.1.tar.gz
Size 11.9 kB
Tags Source
SHA-256 checksum
How to use checksums
443048d7126c16a58d0546b23c5552391fc6e76f1591c60aa6a34fa4335a6878
BLAKE2b-256 checksum
How to use checksums
f3d35ed2b34c106b6c0ce32028721518292b5ff421f214e1c4224741a452817a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via python-requests/2.31.0

Release files / flake8_warnings-0.4.1-py3-none-any.whl

Download URL flake8_warnings-0.4.1-py3-none-any.whl
Size 11.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
fe663e4bf3ff0ab7cb8865a60430bfc4e73518c4872ea03d9c2d2edf3a811d52
BLAKE2b-256 checksum
How to use checksums
331fd2981d5b519ffce005d554dac3f55dd0777029ff3f7478d08f493668023b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via python-requests/2.31.0

Release history Release notifications | RSS feed

This release

0.4.1 This release

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page