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.5.0.tar.gz (48.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.5.0-py3-none-win_amd64.whl (201.1 kB view details)

Uploaded Python 3Windows x86-64

ruffly_all-0.5.0-py3-none-win32.whl (191.0 kB view details)

Uploaded Python 3Windows x86

ruffly_all-0.5.0-py3-none-musllinux_1_2_x86_64.whl (380.6 kB view details)

Uploaded Python 3musllinux: musl 1.2+ x86-64

ruffly_all-0.5.0-py3-none-musllinux_1_2_i686.whl (391.4 kB view details)

Uploaded Python 3musllinux: musl 1.2+ i686

ruffly_all-0.5.0-py3-none-musllinux_1_2_armv7l.whl (360.5 kB view details)

Uploaded Python 3musllinux: musl 1.2+ ARMv7l

ruffly_all-0.5.0-py3-none-musllinux_1_2_aarch64.whl (368.2 kB view details)

Uploaded Python 3musllinux: musl 1.2+ ARM64

ruffly_all-0.5.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (323.3 kB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

ruffly_all-0.5.0-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl (355.5 kB view details)

Uploaded Python 3manylinux: glibc 2.17+ s390x

ruffly_all-0.5.0-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (417.9 kB view details)

Uploaded Python 3manylinux: glibc 2.17+ ppc64le

ruffly_all-0.5.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl (338.0 kB view details)

Uploaded Python 3manylinux: glibc 2.17+ i686

ruffly_all-0.5.0-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (322.6 kB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARMv7l

ruffly_all-0.5.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (311.3 kB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

ruffly_all-0.5.0-py3-none-macosx_11_0_arm64.whl (289.3 kB view details)

Uploaded Python 3macOS 11.0+ ARM64

File details

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

File metadata

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

File hashes

Hashes for ruffly_all-0.5.0.tar.gz
Algorithm Hash digest
SHA256 d089f46978d0239829970ae256f4bf3c39077e205206d7578ce999e47a5deeb9
MD5 cb1e292ac4548b72b35f77eb46f20d72
BLAKE2b-256 bebb8e2c6df26706a7bbbb48151e0be757252adbab9f334e30676ee4b7e55da9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruffly_all-0.5.0-py3-none-win_amd64.whl
  • Upload date:
  • Size: 201.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.5.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 bd35da231db05fc74642249d8ba017ef24b0bc787dfc85a1b709e19954810ce7
MD5 9477b4d98dc245292e2ffd2018d3b38c
BLAKE2b-256 b32bb8ea81aba812022cf63a8d4bf23a083d0aaf69042e002b289c9bac8a75b8

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for ruffly_all-0.5.0-py3-none-win32.whl
Algorithm Hash digest
SHA256 1fa36f445e8bd70cf3fdb9421884ca4bb4eb615fe0e08d7995155fde550b99b9
MD5 ba62f0437b599acd4949865166e16313
BLAKE2b-256 c5274606b2961a80270705e225ad4c9df377548e0179d685a5ee2e0c02507d7c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruffly_all-0.5.0-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c2ecfd1993dc62a3a7a705511310b34d774a15d29f489106c038162a4bb4a97b
MD5 6c31026dd631fe28108abf6b5b15694c
BLAKE2b-256 28f0f9d7d0eafcd5533eaca5e4370d925539fbb9a9cb910f7a748d1970afa0cd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruffly_all-0.5.0-py3-none-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 709df5869b8df246b5922ad63fb6407c8539e95a269e8ef64fa7af20efb18a80
MD5 f057dfe3f80ea6b1896814e6e4da9d2a
BLAKE2b-256 3664af4d6e91352dd4755c4b0e0a54080cb33aeab479d79bcf32621ad3125567

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruffly_all-0.5.0-py3-none-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 6fe5ca203cc3ff3ba29ed56456ab346419a927c1245fa36a7f1da4a330a44c47
MD5 8ec6d7d9c61af17df8b845f9dd87db52
BLAKE2b-256 c3914de67f3a56a68ccaf62df6df771cdaf429ed454e786421624b173a6b3899

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruffly_all-0.5.0-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 9f7a794e18ca6e934b39c0a928cd2bb8046e0eee7efd1eb9b73c4f359abf99e5
MD5 dd1d3e00172525f178d0483a51a0b1de
BLAKE2b-256 3980cb520527be8282c437e6b7ddd33292107b116e36b09b01466b3143d0571b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruffly_all-0.5.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b6cb559772fb7f688cc0e63d5c4c0472f72c2aff6b39edaace6ca278b7d6daeb
MD5 65904ed4aee4d61354f4a6d08821762a
BLAKE2b-256 7880044a1ecc4a2a7208913d1a937f73e610b844dfb838f9d7b86becc264db53

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruffly_all-0.5.0-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 0f844d96f47fc6504d609f3521d99bf1d511147512ab98523d757109b352f566
MD5 a3ffb80b55133e4af0d1fef1eff4ca26
BLAKE2b-256 952f52a9fd6663c8effa163cb34e822280d321eeb68e5fecc4ba8b7f777fcc40

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruffly_all-0.5.0-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 186d608f63b81a55d9ddcd1384221791c26f0de3e1bebad4f12da2c4a6be21df
MD5 eb5ad534ed1c58bacbbe6c4c40fd724f
BLAKE2b-256 aa07c8e1842246d201de0f98272c64efb54e70f9e09e97560f405aef444dc07a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruffly_all-0.5.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 e71dc8534b1c73d8d9965316b02e43447005a270fae377bbb7c97d903d4b9d97
MD5 f38f053b672c89635fda51b5dc37f7db
BLAKE2b-256 cf6f89e0f5533e7acd7e220489415e0a745a64698c2be404781cc85cb4f7beae

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruffly_all-0.5.0-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 d95d62ff605087372e11fda33bba39f3570b56a474e62369f01369b873e03d61
MD5 be986c91c77f7ff275d46e641b561558
BLAKE2b-256 5412df76f4e51605805c045da67f110cc8b45ca4c5e1bc7176a4566b6f190625

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruffly_all-0.5.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 49f0d05f6aecc2aac97f107a2e7bcece7e52152283fb001ab02f00b9b9d73c38
MD5 f2749c24e3364125405b55cd54090cba
BLAKE2b-256 73e17210fe177ff0e8d0d987b09f09a354d1f0d917e350339806d6274d046ca4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruffly_all-0.5.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a600b84cb5d3547430c384c1515296f0bda22998ee78179ffeb4b1f3aacd897b
MD5 0b0636a634825efba8d6126286be806d
BLAKE2b-256 f8ad34de4cef522fcb335e242682b50adb753cd502c2ba3282b6a43882f11458

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