Compatibility list¶
Flake8-AAA is compatible with the following software. Future versions will maintain this compatibility as closely as possible.
Python¶
Works with Python 3.
Flake8-AAA is fully compatible and tested against the latest versions of Python 3. Currently that’s 3.7, 3.8, 3.9 and 3.10.
See also…
See full list of previously supported Python versions for links to the last supported packages and documentation.
Flake8¶
Works with Flake8 version 3 and later.
We use the newer plugin system implemented in Flake8 v3. This dependency is not
specified in setup.py
because users may only want to use the command line
interface.
Check that Flake8-AAA was installed correctly by asking flake8
for its
version signature:
flake8 --version
The aaa: 0.12.2
part of that output tells you Flake8 found this plugin.
Yapf¶
Yapf is used to format Flake8-AAA code and tests. It is the primary formatter focused on for compatibility.
Black¶
Flake8-AAA is compatible with tests formatted with Black.
The coding style used by Black can be viewed as a strict subset of PEP8.
The AAA pattern is PEP8 compatible so it makes sense that Flake8-AAA should work with PEP8 compatible formatters.
This compatibility is pinned by the test examples in the examples/good/black directory. These tests are formatted with the latest version of Black in default mode. They are then checked to pass Flake8-AAA’s linting.
Note
Black version 23.1.0
changed how it managed blank lines by default.
This change causes Flake8-AAA to raise AAA03
errors on tests that
contain context managers and are formatted with Black. See issue #200.
Pytest¶
Pytest is fully supported.
To pin this compatibility we use the latest version of Pytest in the Flake8-AAA test suite and lint that test suite with Flake8-AAA (aka. dog fooding).
Unittest¶
Python unittest style is supported.
To pin this compatibility we include unittest-style tests in the examples/good directory.