Generate a migration path to ruff from anywhere.
Project description
that's
Answering what's necessary to migrate to ruff right now.
Motivation
Starting with ruff is simple. But enabling "ALL" rules in an
existing application? That’s a challenge.
This project helps identify the minimal set of rules to disable temporarily, ensuring the CI remains green while allowing maintainers to iteratively fix their codebase at their own pace.
Installation
pip install ruffly-all
or
cargo install ruffly-all
Usage
Find a project you'd like to use ruff in, we'll be using pylint as
an example[^1].
- Run it
cd pylint/
ruffly-all
- Get a minimal ignore list for currently failing linters on
stdout.
[tool.ruff]
lint.select = [ "ALL" ]
lint.ignore = [
"D203", # incompatible to D211
"D212", # incompatible to D213
"ERA", # https://docs.astral.sh/ruff/rules/#eradicate-era
"YTT", # https://docs.astral.sh/ruff/rules/#flake8-2020-ytt
"ANN", # https://docs.astral.sh/ruff/rules/#flake8-annotations-ann
"S", # https://docs.astral.sh/ruff/rules/#flake8-bandit-s
"BLE", # https://docs.astral.sh/ruff/rules/#flake8-blind-except-ble
"FBT", # https://docs.astral.sh/ruff/rules/#flake8-boolean-trap-fbt
"B", # https://docs.astral.sh/ruff/rules/#flake8-bugbear-b
"A", # https://docs.astral.sh/ruff/rules/#flake8-builtins-a
"COM", # https://docs.astral.sh/ruff/rules/#flake8-commas-com
"C4", # https://docs.astral.sh/ruff/rules/#flake8-comprehensions-c4
"DTZ", # https://docs.astral.sh/ruff/rules/#flake8-datetimez-dtz
"T10", # https://docs.astral.sh/ruff/rules/#flake8-debugger-t10
"EM", # https://docs.astral.sh/ruff/rules/#flake8-errmsg-em
"EXE", # https://docs.astral.sh/ruff/rules/#flake8-executable-exe
"FIX", # https://docs.astral.sh/ruff/rules/#flake8-fixme-fix
"ISC", # https://docs.astral.sh/ruff/rules/#flake8-implicit-str-concat-isc
"ICN", # https://docs.astral.sh/ruff/rules/#flake8-import-conventions-icn
"LOG", # https://docs.astral.sh/ruff/rules/#flake8-logging-log
"G", # https://docs.astral.sh/ruff/rules/#flake8-logging-format-g
"INP", # https://docs.astral.sh/ruff/rules/#flake8-no-pep420-inp
"PIE", # https://docs.astral.sh/ruff/rules/#flake8-pie-pie
"T20", # https://docs.astral.sh/ruff/rules/#flake8-print-t20
"PYI", # https://docs.astral.sh/ruff/rules/#flake8-pyi-pyi
"PT", # https://docs.astral.sh/ruff/rules/#flake8-pytest-style-pt
"Q", # https://docs.astral.sh/ruff/rules/#flake8-quotes-q
"RSE", # https://docs.astral.sh/ruff/rules/#flake8-raise-rse
"RET", # https://docs.astral.sh/ruff/rules/#flake8-return-ret
"SLF", # https://docs.astral.sh/ruff/rules/#flake8-self-slf
"SIM", # https://docs.astral.sh/ruff/rules/#flake8-simplify-sim
"TID", # https://docs.astral.sh/ruff/rules/#flake8-tidy-imports-tid
"TD", # https://docs.astral.sh/ruff/rules/#flake8-todos-td
"TC", # https://docs.astral.sh/ruff/rules/#flake8-type-checking-tc
"ARG", # https://docs.astral.sh/ruff/rules/#flake8-unused-arguments-arg
"PTH", # https://docs.astral.sh/ruff/rules/#flake8-use-pathlib-pth
"FLY", # https://docs.astral.sh/ruff/rules/#flynt-fly
"C90", # https://docs.astral.sh/ruff/rules/#mccabe-c90
"NPY", # https://docs.astral.sh/ruff/rules/#numpy-specific-rules-npy
"N", # https://docs.astral.sh/ruff/rules/#pep8-naming-n
"PERF", # https://docs.astral.sh/ruff/rules/#perflint-perf
"E", # https://docs.astral.sh/ruff/rules/#error-e
"W", # https://docs.astral.sh/ruff/rules/#warning-w
"D", # https://docs.astral.sh/ruff/rules/#pydocstyle-d
"F", # https://docs.astral.sh/ruff/rules/#pyflakes-f
"PGH", # https://docs.astral.sh/ruff/rules/#pygrep-hooks-pgh
"PLC", # https://docs.astral.sh/ruff/rules/#convention-plc
"PLE", # https://docs.astral.sh/ruff/rules/#error-ple
"PLR", # https://docs.astral.sh/ruff/rules/#refactor-plr
"PLW", # https://docs.astral.sh/ruff/rules/#warning-plw
"UP", # https://docs.astral.sh/ruff/rules/#pyupgrade-up
"FURB", # https://docs.astral.sh/ruff/rules/#refurb-furb
"RUF", # https://docs.astral.sh/ruff/rules/#ruff-specific-rules-ruf
"TRY", # https://docs.astral.sh/ruff/rules/#tryceratops-try
]
- Get a summary on
stderr
This project has 11734 problems, which can be postponed by the above ruleset.
That's ruffly-all to migrate to ruff right now.
- Decide whether to fix the failures immediately or to add the above ignores for the moment.
The latter prevents the project to worsen and can be resolved in small steps once there is time.
[^1]: While this does look like the pylint project had a lot going on,
keep in mind extensive parts of the repo are faulty python snippets
necessary as test resources for pylints unittests.
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
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ruffly_all-0.6.0.tar.gz.
File metadata
- Download URL: ruffly_all-0.6.0.tar.gz
- Upload date:
- Size: 49.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.12.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fd21a3d7339b3e6c215de675764023c407a575651d0d4bfefcf8c92c779c3fab
|
|
| MD5 |
93fb05168e7306cb0bca890d384d71b7
|
|
| BLAKE2b-256 |
d6e79317e5f816f45875125a669ba75a761e9d1dc13da267299af3438f9faae9
|
File details
Details for the file ruffly_all-0.6.0-py3-none-win_amd64.whl.
File metadata
- Download URL: ruffly_all-0.6.0-py3-none-win_amd64.whl
- Upload date:
- Size: 205.3 kB
- Tags: Python 3, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.12.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a87aa1227684d451eb974a24061c220922a70b7c515d710f24d44c8fff9f528d
|
|
| MD5 |
566e0ef2632bfde68457212be282584b
|
|
| BLAKE2b-256 |
0fe7ec20dd1f3899b8964ff90c144bb41fafb8491e5c7048e1c5d2f05f351604
|
File details
Details for the file ruffly_all-0.6.0-py3-none-win32.whl.
File metadata
- Download URL: ruffly_all-0.6.0-py3-none-win32.whl
- Upload date:
- Size: 194.8 kB
- Tags: Python 3, Windows x86
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.12.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5c36d6c16e8cf5f0dcc6df09ba1188c123220bbc0c542176c1114501f5b42a74
|
|
| MD5 |
bb84aee77826db124324ada5e3340ce5
|
|
| BLAKE2b-256 |
5b3e0e30c102c68fa3a298f018b9525d8ee81ca6dab6c57c8a180cd7ddbdebf6
|
File details
Details for the file ruffly_all-0.6.0-py3-none-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: ruffly_all-0.6.0-py3-none-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 384.8 kB
- Tags: Python 3, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.12.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
68be531d35bf18c3081be0e0fc1b902238407b983718023104c9dcf57e81e833
|
|
| MD5 |
23195f1fd1e0a9c8a7294ed00e465247
|
|
| BLAKE2b-256 |
c8e9cdb972c67ae0d6077379b846731f13f17377991f7c2d9a582ee163db97a7
|
File details
Details for the file ruffly_all-0.6.0-py3-none-musllinux_1_2_i686.whl.
File metadata
- Download URL: ruffly_all-0.6.0-py3-none-musllinux_1_2_i686.whl
- Upload date:
- Size: 395.3 kB
- Tags: Python 3, musllinux: musl 1.2+ i686
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.12.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8a27445f7dda1d734c7a621b2e6be0f4f29975b891d74c54cdf3e8490492331a
|
|
| MD5 |
e1f984d620f0cc09d0ebe665a79848cc
|
|
| BLAKE2b-256 |
502e5de3086853d079f9bc01f88d7dbbc8a3d4ecd12b024a71e18526e9a5bf94
|
File details
Details for the file ruffly_all-0.6.0-py3-none-musllinux_1_2_armv7l.whl.
File metadata
- Download URL: ruffly_all-0.6.0-py3-none-musllinux_1_2_armv7l.whl
- Upload date:
- Size: 364.2 kB
- Tags: Python 3, musllinux: musl 1.2+ ARMv7l
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.12.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1576e2ace2ccad404be2eb3e7ea1cdc514ef5dbe4b878d91137e428df22e88c2
|
|
| MD5 |
6001bfdf0d01cf48addbbe00cbc9d8b0
|
|
| BLAKE2b-256 |
731aa31f0947e3fc5c28a0d066ee0cad17920760716278c17c549bf5c8bb6cc3
|
File details
Details for the file ruffly_all-0.6.0-py3-none-musllinux_1_2_aarch64.whl.
File metadata
- Download URL: ruffly_all-0.6.0-py3-none-musllinux_1_2_aarch64.whl
- Upload date:
- Size: 372.6 kB
- Tags: Python 3, musllinux: musl 1.2+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.12.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7ab5946eb20d9a623b457ed858cd1d3fe5f9a2bdf715f9f2b2304a467be61069
|
|
| MD5 |
f3143c9f0bc0321f70a50f8c31ee58b5
|
|
| BLAKE2b-256 |
a54f06b58eb70c2027c25ac5369267a9db1df9980cdcab122228de232f0f022d
|
File details
Details for the file ruffly_all-0.6.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: ruffly_all-0.6.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 327.6 kB
- Tags: Python 3, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.12.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6e924e665e58fe95b328d627c721c5895757a48653e8ff74bd434f89b2a2d2e6
|
|
| MD5 |
783aa8deb50c2749e8f7d63f9fffa060
|
|
| BLAKE2b-256 |
5f9d99d2b22accb64497b9d78a84f1898c4cd91f205cc73882fd67fb7948cc63
|
File details
Details for the file ruffly_all-0.6.0-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl.
File metadata
- Download URL: ruffly_all-0.6.0-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl
- Upload date:
- Size: 360.1 kB
- Tags: Python 3, manylinux: glibc 2.17+ s390x
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.12.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
974fa005c3f21620f9052c8d92834ee23e7550c6610ae673d8aa73a30a208c9c
|
|
| MD5 |
aac51a71cfac21ad497e0830b69b89ee
|
|
| BLAKE2b-256 |
8a102ffc25912b5c04a9aff8e20eda727be90a9f86e69367d62f70234b2b23e0
|
File details
Details for the file ruffly_all-0.6.0-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.
File metadata
- Download URL: ruffly_all-0.6.0-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
- Upload date:
- Size: 421.6 kB
- Tags: Python 3, manylinux: glibc 2.17+ ppc64le
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.12.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
113aa48612d0857a3851f48a377fad29f634ee8a46805eda2a9e8a0c916c3d77
|
|
| MD5 |
e9c07dd50fb9d490059e534c003f67b3
|
|
| BLAKE2b-256 |
033070a7416abbdf9c1717c10e6a35cf80b0739da9d6bde50a4dbb358075d0a7
|
File details
Details for the file ruffly_all-0.6.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl.
File metadata
- Download URL: ruffly_all-0.6.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
- Upload date:
- Size: 341.7 kB
- Tags: Python 3, manylinux: glibc 2.17+ i686
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.12.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ccba6b24a06d013b2c3eb95fbd933527326700e3d62d549ae2de7329f7255a78
|
|
| MD5 |
d631feec18b39bf8eed3f9e4449ef19b
|
|
| BLAKE2b-256 |
045d40109340df54b1b9d8763c5b6b464aa39728984932508a10ffeeecd8c222
|
File details
Details for the file ruffly_all-0.6.0-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.
File metadata
- Download URL: ruffly_all-0.6.0-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
- Upload date:
- Size: 326.7 kB
- Tags: Python 3, manylinux: glibc 2.17+ ARMv7l
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.12.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
18071c9dd7849cda8976a31452163ac3fc493eb5308bd55ce68f7d4dbdde5e90
|
|
| MD5 |
6f89428e3b5ce1fbaa58a9c073b07c38
|
|
| BLAKE2b-256 |
db88c4c9b036cee8a8c91a3dc34b6ecee0713b9acc0346d1817ca7231af9926b
|
File details
Details for the file ruffly_all-0.6.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: ruffly_all-0.6.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 315.5 kB
- Tags: Python 3, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.12.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b14abfe6522542224f5ba93cf62786c248482a32c2f73a5ac2c57f58171a2c98
|
|
| MD5 |
3ed86b11e0e3f42d42de1e44f1225739
|
|
| BLAKE2b-256 |
afd17b451e84862f1a6124fce6a9dd5db2ce1f34069949d3fa8dd71033cb18c2
|
File details
Details for the file ruffly_all-0.6.0-py3-none-macosx_11_0_arm64.whl.
File metadata
- Download URL: ruffly_all-0.6.0-py3-none-macosx_11_0_arm64.whl
- Upload date:
- Size: 293.7 kB
- Tags: Python 3, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: maturin/1.12.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9c4e26931498d976d82beb5db35e003aaede5b02904d8f4262b2dd02ec97e9c7
|
|
| MD5 |
5c12595df1306cb24c5535255dc4fd9e
|
|
| BLAKE2b-256 |
7204a3f5fc7d7aff5ff8ae57de4ae4174a598cf71009559e69be955022e8f6d2
|