KEMBAR78
ruff · PyPI Skip to main content

An extremely fast Python linter and code formatter, written in Rust.

Project description

Ruff

Ruff image image image Actions status Discord

Docs | Playground

An extremely fast Python linter and code formatter, written in Rust.

Shows a bar chart with benchmark results.

Linting the CPython codebase from scratch.

  • ⚡️ 10-100x faster than existing linters (like Flake8) and formatters (like Black)
  • 🐍 Installable via pip
  • 🛠️ pyproject.toml support
  • 🤝 Python 3.14 compatibility
  • ⚖️ Drop-in parity with Flake8, isort, and Black
  • 📦 Built-in caching, to avoid re-analyzing unchanged files
  • 🔧 Fix support, for automatic error correction (e.g., automatically remove unused imports)
  • 📏 Over 800 built-in rules, with native re-implementations of popular Flake8 plugins, like flake8-bugbear
  • ⌨️ First-party editor integrations for VS Code and more
  • 🌎 Monorepo-friendly, with hierarchical and cascading configuration

Ruff aims to be orders of magnitude faster than alternative tools while integrating more functionality behind a single, common interface.

Ruff can be used to replace Flake8 (plus dozens of plugins), Black, isort, pydocstyle, pyupgrade, autoflake, and more, all while executing tens or hundreds of times faster than any individual tool.

Ruff is extremely actively developed and used in major open-source projects like:

...and many more.

Ruff is backed by Astral. Read the launch post, or the original project announcement.

Testimonials

Sebastián Ramírez, creator of FastAPI:

Ruff is so fast that sometimes I add an intentional bug in the code just to confirm it's actually running and checking the code.

Nick Schrock, founder of Elementl, co-creator of GraphQL:

Why is Ruff a gamechanger? Primarily because it is nearly 1000x faster. Literally. Not a typo. On our largest module (dagster itself, 250k LOC) pylint takes about 2.5 minutes, parallelized across 4 cores on my M1. Running ruff against our entire codebase takes .4 seconds.

Bryan Van de Ven, co-creator of Bokeh, original author of Conda:

Ruff is ~150-200x faster than flake8 on my machine, scanning the whole repo takes ~0.2s instead of ~20s. This is an enormous quality of life improvement for local dev. It's fast enough that I added it as an actual commit hook, which is terrific.

Timothy Crosley, creator of isort:

Just switched my first project to Ruff. Only one downside so far: it's so fast I couldn't believe it was working till I intentionally introduced some errors.

Tim Abbott, lead developer of Zulip (also here):

This is just ridiculously fast... ruff is amazing.

Table of Contents

For more, see the documentation.

  1. Getting Started
  2. Configuration
  3. Rules
  4. Contributing
  5. Support
  6. Acknowledgements
  7. Who's Using Ruff?
  8. License

Getting Started

For more, see the documentation.

Installation

Ruff is available as ruff on PyPI.

Invoke Ruff directly with uvx:

uvx ruff check   # Lint all files in the current directory.
uvx ruff format  # Format all files in the current directory.

Or install Ruff with uv (recommended), pip, or pipx:

# With uv.
uv tool install ruff@latest  # Install Ruff globally.
uv add --dev ruff            # Or add Ruff to your project.

# With pip.
pip install ruff

# With pipx.
pipx install ruff

Starting with version 0.5.0, Ruff can be installed with our standalone installers:

# On macOS and Linux.
curl -LsSf https://astral.sh/ruff/install.sh | sh

# On Windows.
powershell -c "irm https://astral.sh/ruff/install.ps1 | iex"

# For a specific version.
curl -LsSf https://astral.sh/ruff/0.14.2/install.sh | sh
powershell -c "irm https://astral.sh/ruff/0.14.2/install.ps1 | iex"

You can also install Ruff via Homebrew, Conda, and with a variety of other package managers.

Usage

To run Ruff as a linter, try any of the following:

ruff check                          # Lint all files in the current directory (and any subdirectories).
ruff check path/to/code/            # Lint all files in `/path/to/code` (and any subdirectories).
ruff check path/to/code/*.py        # Lint all `.py` files in `/path/to/code`.
ruff check path/to/code/to/file.py  # Lint `file.py`.
ruff check @arguments.txt           # Lint using an input file, treating its contents as newline-delimited command-line arguments.

Or, to run Ruff as a formatter:

ruff format                          # Format all files in the current directory (and any subdirectories).
ruff format path/to/code/            # Format all files in `/path/to/code` (and any subdirectories).
ruff format path/to/code/*.py        # Format all `.py` files in `/path/to/code`.
ruff format path/to/code/to/file.py  # Format `file.py`.
ruff format @arguments.txt           # Format using an input file, treating its contents as newline-delimited command-line arguments.

Ruff can also be used as a pre-commit hook via ruff-pre-commit:

- repo: https://github.com/astral-sh/ruff-pre-commit
  # Ruff version.
  rev: v0.14.2
  hooks:
    # Run the linter.
    - id: ruff-check
      args: [ --fix ]
    # Run the formatter.
    - id: ruff-format

Ruff can also be used as a VS Code extension or with various other editors.

Ruff can also be used as a GitHub Action via ruff-action:

name: Ruff
on: [ push, pull_request ]
jobs:
  ruff:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: astral-sh/ruff-action@v3

Configuration

Ruff can be configured through a pyproject.toml, ruff.toml, or .ruff.toml file (see: Configuration, or Settings for a complete list of all configuration options).

If left unspecified, Ruff's default configuration is equivalent to the following ruff.toml file:

# Exclude a variety of commonly ignored directories.
exclude = [
    ".bzr",
    ".direnv",
    ".eggs",
    ".git",
    ".git-rewrite",
    ".hg",
    ".ipynb_checkpoints",
    ".mypy_cache",
    ".nox",
    ".pants.d",
    ".pyenv",
    ".pytest_cache",
    ".pytype",
    ".ruff_cache",
    ".svn",
    ".tox",
    ".venv",
    ".vscode",
    "__pypackages__",
    "_build",
    "buck-out",
    "build",
    "dist",
    "node_modules",
    "site-packages",
    "venv",
]

# Same as Black.
line-length = 88
indent-width = 4

# Assume Python 3.9
target-version = "py39"

[lint]
# Enable Pyflakes (`F`) and a subset of the pycodestyle (`E`) codes by default.
select = ["E4", "E7", "E9", "F"]
ignore = []

# Allow fix for all enabled rules (when `--fix`) is provided.
fixable = ["ALL"]
unfixable = []

# Allow unused variables when underscore-prefixed.
dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$"

[format]
# Like Black, use double quotes for strings.
quote-style = "double"

# Like Black, indent with spaces, rather than tabs.
indent-style = "space"

# Like Black, respect magic trailing commas.
skip-magic-trailing-comma = false

# Like Black, automatically detect the appropriate line ending.
line-ending = "auto"

Note that, in a pyproject.toml, each section header should be prefixed with tool.ruff. For example, [lint] should be replaced with [tool.ruff.lint].

Some configuration options can be provided via dedicated command-line arguments, such as those related to rule enablement and disablement, file discovery, and logging level:

ruff check --select F401 --select F403 --quiet

The remaining configuration options can be provided through a catch-all --config argument:

ruff check --config "lint.per-file-ignores = {'some_file.py' = ['F841']}"

To opt in to the latest lint rules, formatter style changes, interface updates, and more, enable preview mode by setting preview = true in your configuration file or passing --preview on the command line. Preview mode enables a collection of unstable features that may change prior to stabilization.

See ruff help for more on Ruff's top-level commands, or ruff help check and ruff help format for more on the linting and formatting commands, respectively.

Rules

Ruff supports over 800 lint rules, many of which are inspired by popular tools like Flake8, isort, pyupgrade, and others. Regardless of the rule's origin, Ruff re-implements every rule in Rust as a first-party feature.

By default, Ruff enables Flake8's F rules, along with a subset of the E rules, omitting any stylistic rules that overlap with the use of a formatter, like ruff format or Black.

If you're just getting started with Ruff, the default rule set is a great place to start: it catches a wide variety of common errors (like unused imports) with zero configuration.

Beyond the defaults, Ruff re-implements some of the most popular Flake8 plugins and related code quality tools, including:

For a complete enumeration of the supported rules, see Rules.

Contributing

Contributions are welcome and highly appreciated. To get started, check out the contributing guidelines.

You can also join us on Discord.

Support

Having trouble? Check out the existing issues on GitHub, or feel free to open a new one.

You can also ask for help on Discord.

Acknowledgements

Ruff's linter draws on both the APIs and implementation details of many other tools in the Python ecosystem, especially Flake8, Pyflakes, pycodestyle, pydocstyle, pyupgrade, and isort.

In some cases, Ruff includes a "direct" Rust port of the corresponding tool. We're grateful to the maintainers of these tools for their work, and for all the value they've provided to the Python community.

Ruff's formatter is built on a fork of Rome's rome_formatter, and again draws on both API and implementation details from Rome, Prettier, and Black.

Ruff's import resolver is based on the import resolution algorithm from Pyright.

Ruff is also influenced by a number of tools outside the Python ecosystem, like Clippy and ESLint.

Ruff is the beneficiary of a large number of contributors.

Ruff is released under the MIT license.

Who's Using Ruff?

Ruff is used by a number of major open-source projects and companies, including:

Show Your Support

If you're using Ruff, consider adding the Ruff badge to your project's README.md:

[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)

...or README.rst:

.. image:: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json
    :target: https://github.com/astral-sh/ruff
    :alt: Ruff

...or, as HTML:

<a href="https://github.com/astral-sh/ruff"><img src="https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json" alt="Ruff" style="max-width:100%;"></a>

License

This repository is licensed under the MIT License

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

ruff-0.14.2.tar.gz (5.5 MB view details)

Uploaded Source

Built Distributions

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

ruff-0.14.2-py3-none-win_arm64.whl (12.6 MB view details)

Uploaded Python 3Windows ARM64

ruff-0.14.2-py3-none-win_amd64.whl (13.6 MB view details)

Uploaded Python 3Windows x86-64

ruff-0.14.2-py3-none-win32.whl (12.4 MB view details)

Uploaded Python 3Windows x86

ruff-0.14.2-py3-none-musllinux_1_2_x86_64.whl (13.4 MB view details)

Uploaded Python 3musllinux: musl 1.2+ x86-64

ruff-0.14.2-py3-none-musllinux_1_2_i686.whl (12.6 MB view details)

Uploaded Python 3musllinux: musl 1.2+ i686

ruff-0.14.2-py3-none-musllinux_1_2_armv7l.whl (12.3 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARMv7l

ruff-0.14.2-py3-none-musllinux_1_2_aarch64.whl (12.3 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARM64

ruff-0.14.2-py3-none-manylinux_2_31_riscv64.whl (13.5 MB view details)

Uploaded Python 3manylinux: glibc 2.31+ riscv64

ruff-0.14.2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (13.3 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

ruff-0.14.2-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl (13.6 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ s390x

ruff-0.14.2-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (14.1 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ppc64le

ruff-0.14.2-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl (14.5 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ppc64

ruff-0.14.2-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl (13.0 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ i686

ruff-0.14.2-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (12.3 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARMv7l

ruff-0.14.2-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (12.4 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

ruff-0.14.2-py3-none-macosx_11_0_arm64.whl (11.9 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

ruff-0.14.2-py3-none-macosx_10_12_x86_64.whl (12.9 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

ruff-0.14.2-py3-none-linux_armv6l.whl (12.5 MB view details)

Uploaded Python 3

File details

Details for the file ruff-0.14.2.tar.gz.

File metadata

  • Download URL: ruff-0.14.2.tar.gz
  • Upload date:
  • Size: 5.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.5

File hashes

Hashes for ruff-0.14.2.tar.gz
Algorithm Hash digest
SHA256 98da787668f239313d9c902ca7c523fe11b8ec3f39345553a51b25abc4629c96
MD5 7b511b26028863d63deb5f35e91fe2df
BLAKE2b-256 ee348218a19b2055b80601e8fd201ec723c74c7fe1ca06d525a43ed07b6d8e85

See more details on using hashes here.

File details

Details for the file ruff-0.14.2-py3-none-win_arm64.whl.

File metadata

  • Download URL: ruff-0.14.2-py3-none-win_arm64.whl
  • Upload date:
  • Size: 12.6 MB
  • Tags: Python 3, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.5

File hashes

Hashes for ruff-0.14.2-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 ea9d635e83ba21569fbacda7e78afbfeb94911c9434aff06192d9bc23fd5495a
MD5 dc5a969288f00c3c4bce97be550229ff
BLAKE2b-256 2e5daa883766f8ef9ffbe6aa24f7192fb71632f31a30e77eb39aa2b0dc4290ac

See more details on using hashes here.

File details

Details for the file ruff-0.14.2-py3-none-win_amd64.whl.

File metadata

  • Download URL: ruff-0.14.2-py3-none-win_amd64.whl
  • Upload date:
  • Size: 13.6 MB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.5

File hashes

Hashes for ruff-0.14.2-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 0df3424aa5c3c08b34ed8ce099df1021e3adaca6e90229273496b839e5a7e1af
MD5 446eee283be741fa96405d6215552a6b
BLAKE2b-256 71303758bcf9e0b6a4193a6f51abf84254aba00887dfa8c20aba18aa366c5f57

See more details on using hashes here.

File details

Details for the file ruff-0.14.2-py3-none-win32.whl.

File metadata

  • Download URL: ruff-0.14.2-py3-none-win32.whl
  • Upload date:
  • Size: 12.4 MB
  • Tags: Python 3, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.5

File hashes

Hashes for ruff-0.14.2-py3-none-win32.whl
Algorithm Hash digest
SHA256 41775927d287685e08f48d8eb3f765625ab0b7042cc9377e20e64f4eb0056ee9
MD5 590c604ac3a545b977a090c84fa071bd
BLAKE2b-256 8d353654a973ebe5b32e1fd4a08ed2d46755af7267da7ac710d97420d7b8657d

See more details on using hashes here.

File details

Details for the file ruff-0.14.2-py3-none-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for ruff-0.14.2-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 5ca36b4cb4db3067a3b24444463ceea5565ea78b95fe9a07ca7cb7fd16948770
MD5 8bf25e0c74f51758453912386a160d49
BLAKE2b-256 a47f638f54b43f3d4e48c6a68062794e5b367ddac778051806b9e235dfb7aa81

See more details on using hashes here.

File details

Details for the file ruff-0.14.2-py3-none-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for ruff-0.14.2-py3-none-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 b8264016f6f209fac16262882dbebf3f8be1629777cf0f37e7aff071b3e9b92e
MD5 5b66f4795668ad614095ffe16d9fb51d
BLAKE2b-256 a5abece7baa3c0f29b7683be868c024f0838770c16607bea6852e46b202f1ff6

See more details on using hashes here.

File details

Details for the file ruff-0.14.2-py3-none-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for ruff-0.14.2-py3-none-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 e21be42d72e224736f0c992cdb9959a2fa53c7e943b97ef5d081e13170e3ffc5
MD5 33c4c7f8d6153c6059f70dc42e16d8da
BLAKE2b-256 5cfa0029bfc9ce16ae78164e6923ef392e5f173b793b26cc39aa1d8b366cf9dc

See more details on using hashes here.

File details

Details for the file ruff-0.14.2-py3-none-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for ruff-0.14.2-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 e681c5bc777de5af898decdcb6ba3321d0d466f4cb43c3e7cc2c3b4e7b843a05
MD5 dd8021467fc87ef2710e326523011c8b
BLAKE2b-256 59a11f25f8301e13751c30895092485fada29076e5e14264bdacc37202e85d24

See more details on using hashes here.

File details

Details for the file ruff-0.14.2-py3-none-manylinux_2_31_riscv64.whl.

File metadata

File hashes

Hashes for ruff-0.14.2-py3-none-manylinux_2_31_riscv64.whl
Algorithm Hash digest
SHA256 2877f02119cdebf52a632d743a2e302dea422bfae152ebe2f193d3285a3a65df
MD5 7c7a7734dc4f0793f8ce12bea5112ff4
BLAKE2b-256 a93910b05acf8c45786ef501d454e00937e1b97964f846bf28883d1f9619928a

See more details on using hashes here.

File details

Details for the file ruff-0.14.2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ruff-0.14.2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bc1967e40286f63ee23c615e8e7e98098dedc7301568bd88991f6e544d8ae096
MD5 c9f402c285fc4cd95372489c4bfaeb43
BLAKE2b-256 faeac7810322086db68989fb20a8d5221dd3b79e49e396b01badca07b433ab45

See more details on using hashes here.

File details

Details for the file ruff-0.14.2-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for ruff-0.14.2-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 61ae91a32c853172f832c2f40bd05fd69f491db7289fb85a9b941ebdd549781a
MD5 c582d4a2fcf2cbff03314a06ee3536a8
BLAKE2b-256 6cead8e3e6b209162000a7be1faa41b0a0c16a133010311edc3329753cc6596a

See more details on using hashes here.

File details

Details for the file ruff-0.14.2-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for ruff-0.14.2-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 a307fc45ebd887b3f26b36d9326bb70bf69b01561950cdcc6c0bdf7bb8e0f7cc
MD5 951811d117f6d8650c6c58f7c59913a7
BLAKE2b-256 7f7fd365de998069720a3abfc250ddd876fc4b81a403a766c74ff9bde15b5378

See more details on using hashes here.

File details

Details for the file ruff-0.14.2-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl.

File metadata

File hashes

Hashes for ruff-0.14.2-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl
Algorithm Hash digest
SHA256 1c505b389e19c57a317cf4b42db824e2fca96ffb3d86766c1c9f8b96d32048a7
MD5 b6026233792a1b3e8487a6ac3d58d252
BLAKE2b-256 274c0860a79ce6fd4c709ac01173f76f929d53f59748d0dcdd662519835dae43

See more details on using hashes here.

File details

Details for the file ruff-0.14.2-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for ruff-0.14.2-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 3bf8d2f9aa1602599217d82e8e0af7fd33e5878c4d98f37906b7c93f46f9a839
MD5 2257e0a32f6323977f8adf9d0d37b3d7
BLAKE2b-256 2d5cae7244ca4fbdf2bee9d6405dcd5bc6ae51ee1df66eb7a9884b77b8af856d

See more details on using hashes here.

File details

Details for the file ruff-0.14.2-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for ruff-0.14.2-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 7047f0c5a713a401e43a88d36843d9c83a19c584e63d664474675620aaa634a8
MD5 addb0d3f480bfd17aa2d514a873166e2
BLAKE2b-256 450147701b26254267ef40369aea3acb62a7b23e921c27372d127e0f3af48092

See more details on using hashes here.

File details

Details for the file ruff-0.14.2-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for ruff-0.14.2-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 3d0bbeffb8d9f4fccf7b5198d566d0bad99a9cb622f1fc3467af96cb8773c9e3
MD5 2dce45817d01c5b8d988cd1e23d65d19
BLAKE2b-256 158bc44cf7fe6e59ab24a9d939493a11030b503bdc2a16622cede8b7b1df0114

See more details on using hashes here.

File details

Details for the file ruff-0.14.2-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for ruff-0.14.2-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5c8753dfa44ebb2cde10ce5b4d2ef55a41fb9d9b16732a2c5df64620dbda44a3
MD5 fb68238b326ef2a756a4b243a85929f8
BLAKE2b-256 99fa047646491479074029665022e9f3dc6f0515797f40a4b6014ea8474c539d

See more details on using hashes here.

File details

Details for the file ruff-0.14.2-py3-none-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for ruff-0.14.2-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 8d54b561729cee92f8d89c316ad7a3f9705533f5903b042399b6ae0ddfc62e11
MD5 1d750f916bb00ed5bd8f8dd55c3c69f8
BLAKE2b-256 5a8c5f9acff43ddcf3f85130d0146d0477e28ccecc495f9f684f8f7119b74c0d

See more details on using hashes here.

File details

Details for the file ruff-0.14.2-py3-none-linux_armv6l.whl.

File metadata

File hashes

Hashes for ruff-0.14.2-py3-none-linux_armv6l.whl
Algorithm Hash digest
SHA256 7cbe4e593505bdec5884c2d0a4d791a90301bc23e49a6b1eb642dd85ef9c64f1
MD5 63b0822b049c72bf9dba3c2c54033363
BLAKE2b-256 16dd23eb2db5ad9acae7c845700493b72d3ae214dce0b226f27df89216110f2b

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