Skip to main content

Generate a migration path to ruff from anywhere.

Project description

that's ruffly-all.

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].

cd pylint/
ruffly-all
[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
]

[^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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ruffly_all-0.4.2.tar.gz (6.7 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

ruffly_all-0.4.2-py3-none-win_amd64.whl (194.1 kB view details)

Uploaded Python 3Windows x86-64

ruffly_all-0.4.2-py3-none-win32.whl (183.4 kB view details)

Uploaded Python 3Windows x86

ruffly_all-0.4.2-py3-none-musllinux_1_2_x86_64.whl (373.2 kB view details)

Uploaded Python 3musllinux: musl 1.2+ x86-64

ruffly_all-0.4.2-py3-none-musllinux_1_2_i686.whl (382.7 kB view details)

Uploaded Python 3musllinux: musl 1.2+ i686

ruffly_all-0.4.2-py3-none-musllinux_1_2_armv7l.whl (353.7 kB view details)

Uploaded Python 3musllinux: musl 1.2+ ARMv7l

ruffly_all-0.4.2-py3-none-musllinux_1_2_aarch64.whl (360.5 kB view details)

Uploaded Python 3musllinux: musl 1.2+ ARM64

ruffly_all-0.4.2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (315.6 kB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

ruffly_all-0.4.2-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl (347.7 kB view details)

Uploaded Python 3manylinux: glibc 2.17+ s390x

ruffly_all-0.4.2-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (416.0 kB view details)

Uploaded Python 3manylinux: glibc 2.17+ ppc64le

ruffly_all-0.4.2-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl (330.9 kB view details)

Uploaded Python 3manylinux: glibc 2.17+ i686

ruffly_all-0.4.2-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (315.5 kB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARMv7l

ruffly_all-0.4.2-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (304.4 kB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

ruffly_all-0.4.2-py3-none-macosx_11_0_arm64.whl (281.5 kB view details)

Uploaded Python 3macOS 11.0+ ARM64

File details

Details for the file ruffly_all-0.4.2.tar.gz.

File metadata

  • Download URL: ruffly_all-0.4.2.tar.gz
  • Upload date:
  • Size: 6.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: maturin/1.11.5

File hashes

Hashes for ruffly_all-0.4.2.tar.gz
Algorithm Hash digest
SHA256 b8983087fc63f4a1386bfa78cfedb83dd8051b7e3f9191c0c6d6209adc3e1437
MD5 2badd07e3d13c55ab08715e87e937afa
BLAKE2b-256 9905beabcbb85005b99ecd0d9060e0a2bbd9fed2eedbc55de81fe448dd50f86e

See more details on using hashes here.

File details

Details for the file ruffly_all-0.4.2-py3-none-win_amd64.whl.

File metadata

  • Download URL: ruffly_all-0.4.2-py3-none-win_amd64.whl
  • Upload date:
  • Size: 194.1 kB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: maturin/1.11.5

File hashes

Hashes for ruffly_all-0.4.2-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 9d0840a79a9aedca27eaf0e1b04acabe628ecf547c0187b661bccf7f9aa8ddc8
MD5 6df2e6fdc1ef25908cd72303fdd344a9
BLAKE2b-256 d067a8d13e7475664c74e04c7c76d14d5a83c99fca010f6323d590a86b406014

See more details on using hashes here.

File details

Details for the file ruffly_all-0.4.2-py3-none-win32.whl.

File metadata

  • Download URL: ruffly_all-0.4.2-py3-none-win32.whl
  • Upload date:
  • Size: 183.4 kB
  • Tags: Python 3, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: maturin/1.11.5

File hashes

Hashes for ruffly_all-0.4.2-py3-none-win32.whl
Algorithm Hash digest
SHA256 80f53617c5468ae4da8c92754b2a422a4c0960d5318d76ccabf4488aa4d6c617
MD5 44b7387671e92738ba7b8038a54202e0
BLAKE2b-256 48b79155dfa8318af1cf4f126a14b8520820d77105d558538b630794399b3851

See more details on using hashes here.

File details

Details for the file ruffly_all-0.4.2-py3-none-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for ruffly_all-0.4.2-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 fc8c21e124200be6d7899307c8fe6aeb93e11b68affaf8e48834a5b3c566b35c
MD5 74d8c45e8cd22acbcad0888efd9902af
BLAKE2b-256 8190d4cddaad12c3a5aa8bbe215aaf59b444e1f8e466917f1e34da6dac445b6c

See more details on using hashes here.

File details

Details for the file ruffly_all-0.4.2-py3-none-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for ruffly_all-0.4.2-py3-none-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 d75338bf9313e941b6803d4f401fde96003e20f054466b9b93aef108c1452236
MD5 44755ecc6c164666bfa69dbb2f8817ca
BLAKE2b-256 1a62f0f9c62e0f01bb655578c5316bab0c3fabde372f3632a8da54c5ec75a320

See more details on using hashes here.

File details

Details for the file ruffly_all-0.4.2-py3-none-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for ruffly_all-0.4.2-py3-none-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 7a8f3127ba6a1a73c2c3c1f9015cefccce7bcc391aaed11997a24aef149440c3
MD5 3dbf720caebdb9b938f8bd324854581a
BLAKE2b-256 3df3c7bd95b923072a0e3eec1eda5683130ce915c88e653c433d69cf535f281b

See more details on using hashes here.

File details

Details for the file ruffly_all-0.4.2-py3-none-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for ruffly_all-0.4.2-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 96a99e48c68655bd7017494f65eb99de1574c7fa4ea49f86bf5b0e7c67c4ccf1
MD5 c34f43476f4cde78720f7a220ae62ff9
BLAKE2b-256 8bda58b3020a1577be36a5fc42ee1fe22bf982b3c90dee11f411b7af38dc9c4b

See more details on using hashes here.

File details

Details for the file ruffly_all-0.4.2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ruffly_all-0.4.2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 790f3a5bce0aeb56014093940b96697a019aa9ded3255cf88964d0257abf945f
MD5 11383dad760d6f7083f47276e29092a4
BLAKE2b-256 56cefeeb8bc1dc5dde573fedc91a49fe34d515bef13d03a8e690cb52df452acb

See more details on using hashes here.

File details

Details for the file ruffly_all-0.4.2-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for ruffly_all-0.4.2-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 68d1f2956848a22972ecc750bf433a5586e3cd73044816cf55db9406658b1eea
MD5 2c43e83675b9e5ecbabf060bcd07593a
BLAKE2b-256 6bde8cf38923ff25c6fd3ce47a2ab11b12ac4ead698a3f49aa0d28218a38285f

See more details on using hashes here.

File details

Details for the file ruffly_all-0.4.2-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for ruffly_all-0.4.2-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 4c3629bb72674658509d2531cae95cfe6d390d1261e0ba064692b2f916bb2b25
MD5 94f7920c38fbb18932377e1ef31f0351
BLAKE2b-256 3db32348a98f2b5e467c43c4e2d352d392e3549f3a326356c797b8d1da74a9bc

See more details on using hashes here.

File details

Details for the file ruffly_all-0.4.2-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for ruffly_all-0.4.2-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 8a2b37a7185bafb5c1a11976c0d46fee81069b10bcc5d03a3ce3a4f162a772e2
MD5 113b4e017f4cbf66431c374c30059f4d
BLAKE2b-256 af01e07d78abcc58fddd5052015f2809318fa6f8bcf010a5adf0090dd31306a7

See more details on using hashes here.

File details

Details for the file ruffly_all-0.4.2-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for ruffly_all-0.4.2-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 100d21ff900c2363771a56a5a98d6eb6f91781a07b912148da8619792096db9c
MD5 8a1bc274d807f0f3679614fd9977fd18
BLAKE2b-256 d59581c40d3b9a27e5bc9f45bf959639d6a4d9f43bdfceb243c810ea22b2d8c6

See more details on using hashes here.

File details

Details for the file ruffly_all-0.4.2-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for ruffly_all-0.4.2-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 1390367f3bbc568dcb7fe69d0a8b89178905bc684e3c68ee0c6092e9c8ea53c1
MD5 cb9410612aeb7366596eaea866437881
BLAKE2b-256 98fe59905d2617e1dfed5ba326b1ec4d98bf4fe9940451283740795d09454618

See more details on using hashes here.

File details

Details for the file ruffly_all-0.4.2-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ruffly_all-0.4.2-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bdda47a138fbfcf4860bcca240386be0a5c10bd321de60db6956e08a780e09a8
MD5 535aa24323d6fa278c9115779adac843
BLAKE2b-256 05f5e2d96563293c97520a34886e0e219a4a77fcf887127764a41cc05ac08456

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page