A set of rules on top of the capabilities provided by PEP515.
correct_int = 10_000
correct_float = 10_000.1_234
correct_binary = 0b_1101_1001
correct_octal = 0o_134_155
correct_hex = 0x_CAFE_F00Dpip install flake8-digit-separatorflake8 ./ --select FDSPEP515 allows separators, but does not impose any restrictions on their position in a number (except that a number should not start/end with a separator and there should not be two separators in a row). To introduce more rigor and beauty into the code, we have written a few simple rules that we suggest following.
| Rule | Number | Description | Correct | Wrong |
|---|---|---|---|---|
| FDS100 | integer | Group by 3s from right | 10_000 | 10_0 |
| FDS200 | float | Group by 3s from right | 10_000.1_234 | 1_0_0.123_4 |
| FDS300 | binary | Group by 4s from right after prefix 0b_ |
0b_1101_1001 | 0b110_11 |
| FDS400 | octal | Group by 3s from right after prefix 0o_ |
0o_12_134_155 | 0o1_23_45 |
| FDS500 | hex | Group by 4s from right after prefix 0x_ |
0x_CAFE_F00D | 0xCAFEF0_0D |
Exclude specific integer numbers from digit separator validation. This is useful for well-known numbers like ports or other constants where the standard formatting might not be appropriate. For example, when we write port = 8080 or storage = 1024, there is no point in distorting it through 8_080 or through 1_024.
Use the option:
flake8 ./ --select FDS --fds-exclude=8080,1024,6379Or configure in setup.cfg:
[flake8]
fds-exclude = 8080,1024,6379FDS is released under the MIT License. See the bundled LICENSE file for details.
The logo was created using Font Meme.