Anthony Sottile
489be4d30a
upgrade pyflakes to 3.0.0
2022-11-23 13:56:50 -05:00
Anthony Sottile
aa002ee4ed
require python 3.8.1+
2022-11-18 11:33:52 -05:00
Anthony Sottile
88457a0894
remove optparse support
2022-11-15 19:01:40 -05:00
lt94
314b9f5161
Raise exception if append-config does not exist
2022-11-07 19:06:48 -05:00
Menno Liefstingh
1346ddefd3
Adds warning when invalid error codes are parsed for ignore or extend-ignore from config file
2022-11-07 18:51:06 -05:00
Anthony Sottile
7a094fa826
ensure results are sorted for file traversal
2022-10-30 15:11:56 -04:00
Anthony Sottile
0d667a7329
enable multiprocessing on other platforms
2022-10-26 22:23:02 -07:00
Anthony Sottile
fba6df88f9
remove --diff option
2022-10-26 20:39:12 -07:00
Albert Tugushev
48b2919130
Display list of available formatters with help for --format
2022-10-15 15:39:05 -04:00
Anthony Sottile
e94fb10940
require python>=3.7
2022-08-05 19:51:08 -04:00
Anthony Sottile
25e8ff18b3
ignore config files that partially parse as flake8 configs
2022-08-01 19:11:53 -04:00
Anthony Sottile
8b51ee4ea5
skip skipping home if home does not exist
2022-08-01 05:51:38 -07:00
Anthony Sottile
fce93b952a
prevent duplicate plugin discovery on misconfigured pythons
...
for example, `venv`-virtualenvs on fedora have both `lib` and `lib64` on
`sys.path` despite them being the same. this causes
`importlib.metadata.distributions` to double-discover.
```console
$ docker run --rm -t fedora:latest bash -c 'dnf install -qq -y python3 >& /dev/null && python3 -m venv venv && venv/bin/pip -qq install cfgv && venv/bin/python - <<< "from importlib.metadata import distributions; print(len([d for d in distributions() if d.name == '"'"'cfgv'"'"']))"'
2
```
2022-07-31 18:03:25 -04:00
Anthony Sottile
c7c6218e58
Release 5.0.0
2022-07-30 17:00:41 -04:00
Anthony Sottile
14a91d995c
ignore config files in the home directory
2022-07-13 15:40:40 -04:00
Anthony Sottile
367c810f0e
don't consider default codes as explicitly selected unless listed
2022-06-24 17:55:41 -04:00
Anthony Sottile
f3443f4a78
forbid invalid plugin prefixes in plugin loading
2022-04-06 16:29:25 -04:00
Anthony Sottile
c5225db626
simplify decision engine
...
- not specified codes (cmdline / config) are now known as being implicit via
None sentinel
- removed redundant logic for (explicit, explicit) selection
2022-03-22 18:22:20 -07:00
Anthony Sottile
62ce3e4918
Merge pull request #1552 from PyCQA/ignore-order
...
make --ignore order consistent
2022-02-06 11:39:46 -05:00
Anthony Sottile
f7ef1a6c8b
make --ignore order consistent
2022-02-06 08:36:36 -08:00
Anthony Sottile
58ade57ca2
re-show pycodestyle in help after plugin gen
2022-02-06 08:14:26 -08:00
Anthony Sottile
4e56fc0f6a
pregenerate the pycodestyle plugin to avoid call overhead
2022-01-25 13:52:54 -05:00
Anthony Sottile
d2333c4471
include the file path in the plugin execution error
2022-01-23 20:41:32 -05:00
Anthony Sottile
f0f71fc179
remove unused parameter from make_formatter
2022-01-23 19:33:21 -05:00
Anthony Sottile
f9eb0fd6ea
change keyword_arguments_for so it does not modify and return
2022-01-23 19:06:06 -05:00
Anthony Sottile
929cf5dfd3
remove log_token and EXTRA_VERBOSE
...
- flake8 spent 5% of execution in `log_token`
- `EXTRA_VERBOSE` was only used by `log_token`
- `python -m tokenize` provides better debug token output
2022-01-23 18:08:58 -05:00
Anthony Sottile
23a60dd902
use the actual line contents when processing physical lines
2022-01-22 15:27:53 -05:00
Anthony Sottile
d03b9c97cc
add a --require-plugins option
2022-01-22 14:08:32 -05:00
Anthony Sottile
9d23faad6d
always use UTF-8 encoding when reading configuration
2022-01-20 14:03:18 -05:00
Anthony Sottile
c194d6cc30
combine local_plugin_paths and parse_plugin_options
2022-01-18 20:57:09 -05:00
Anthony Sottile
1b58293ad3
refactor plugin loading options to prepare for --require-plugins
2022-01-10 20:06:26 -05:00
Anthony Sottile
ec57d5e67c
use tokenize.TokenInfo instead of _Token alias
2022-01-05 15:37:25 -05:00
Anthony Sottile
fa4c31fb97
break type checking cycles
2022-01-05 13:40:16 -05:00
Anthony Sottile
3c885219b5
use typesafe NamedTuple
2022-01-05 13:02:38 -05:00
Anthony Sottile
78b2db4072
type the rest of the legacy api
2022-01-05 12:35:38 -05:00
Anthony Sottile
4cb1dc8c44
perform path normalization on '.'
2022-01-05 11:44:31 -05:00
Anthony Sottile
b62edd334a
fix extended_default_select from plugin loading
2022-01-01 19:26:43 -05:00
Anthony Sottile
a8333e2bf2
move managing of off_by_default / enable_extensions to plugin loading
2022-01-01 18:33:07 -05:00
Anthony Sottile
50d69150c1
rework plugin loading
2021-12-31 15:09:54 -08:00
Ruairidh MacLeod
d948169292
add check for a missing specified config file
2021-12-24 23:40:31 +00:00
Ruairidh MacLeod
d478d92299
add failing test for missing config file
2021-12-24 23:40:31 +00:00
Anthony Sottile
a7be5e798b
fix AttributeError when catatstrophic failure is triggered
2021-12-24 16:38:17 -05:00
Anthony Sottile
f98d52a398
have OptionManager take plugin versions directly
2021-12-08 15:49:17 -05:00
Anthony Sottile
1e4743d490
use plugin_name= instead of dicts in exceptions
2021-12-07 15:36:20 -08:00
Anthony Sottile
52fb518104
eliminate --bug-report double-parse quirk with store_true
2021-12-07 13:49:57 -08:00
Anthony Sottile
fa8ac82ee2
add integration test for off_by_default plugin
2021-12-07 12:25:24 -08:00
Anthony Sottile
77a054688b
refactor run_checks to not take an Optional list of filenames
2021-11-25 15:45:01 -05:00
Anthony Sottile
65c893728e
refactor and simplify configuration loading
2021-11-22 19:45:17 -05:00
Anthony Sottile
411ff24392
move from allowlist to blocklist for mypy
2021-11-14 21:48:17 -08:00
Anthony Sottile
3b7dbd6697
replace py2-kwonly shim with true kwonly args
2021-11-14 20:59:28 -08:00