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.13 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:

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.13.2/install.sh | sh
powershell -c "irm https://astral.sh/ruff/0.13.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.13.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.13.2.tar.gz (5.4 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.13.2-py3-none-win_arm64.whl (12.5 MB view details)

Uploaded Python 3Windows ARM64

ruff-0.13.2-py3-none-win_amd64.whl (13.3 MB view details)

Uploaded Python 3Windows x86-64

ruff-0.13.2-py3-none-win32.whl (12.2 MB view details)

Uploaded Python 3Windows x86

ruff-0.13.2-py3-none-musllinux_1_2_x86_64.whl (13.5 MB view details)

Uploaded Python 3musllinux: musl 1.2+ x86-64

ruff-0.13.2-py3-none-musllinux_1_2_i686.whl (13.1 MB view details)

Uploaded Python 3musllinux: musl 1.2+ i686

ruff-0.13.2-py3-none-musllinux_1_2_armv7l.whl (12.1 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARMv7l

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

Uploaded Python 3musllinux: musl 1.2+ ARM64

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

Uploaded Python 3manylinux: glibc 2.31+ riscv64

ruff-0.13.2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (13.4 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

ruff-0.13.2-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl (13.4 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ s390x

ruff-0.13.2-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (14.3 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ppc64le

ruff-0.13.2-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl (14.9 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ppc64

ruff-0.13.2-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl (13.9 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ i686

ruff-0.13.2-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (12.2 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARMv7l

ruff-0.13.2-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (12.5 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

ruff-0.13.2-py3-none-macosx_11_0_arm64.whl (12.2 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

ruff-0.13.2-py3-none-macosx_10_12_x86_64.whl (13.0 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

ruff-0.13.2-py3-none-linux_armv6l.whl (12.3 MB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for ruff-0.13.2.tar.gz
Algorithm Hash digest
SHA256 cb12fffd32fb16d32cef4ed16d8c7cdc27ed7c944eaa98d99d01ab7ab0b710ff
MD5 986e519a868791cdc814862e7d54475f
BLAKE2b-256 02df8d7d8c515d33adfc540e2edf6c6021ea1c5a58a678d8cfce9fae59aabcab

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for ruff-0.13.2-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 da711b14c530412c827219312b7d7fbb4877fb31150083add7e8c5336549cea7
MD5 a44e2a0edc81d779bc736ca9ebda5270
BLAKE2b-256 c31228fa2f597a605884deb0f65c1b1ae05111051b2a7030f5d8a4ff7f4599ba

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for ruff-0.13.2-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 17d95fb32218357c89355f6f6f9a804133e404fc1f65694372e02a557edf8585
MD5 b7f0e1eca9aa59ca6e34a21cca879925
BLAKE2b-256 eebdd9f33a73de84fafd0146c6fba4f497c4565fe8fa8b46874b8e438869abc2

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for ruff-0.13.2-py3-none-win32.whl
Algorithm Hash digest
SHA256 7c2a0b7c1e87795fec3404a485096bcd790216c7c146a922d121d8b9c8f1aaac
MD5 58928307aaf9cd39f0d6e8a70a3f9f00
BLAKE2b-256 f700e7f1501e81e8ec290e79527827af1d88f541d8d26151751b46108978dade

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruff-0.13.2-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 3196bc13ab2110c176b9a4ae5ff7ab676faaa1964b330a1383ba20e1e19645f2
MD5 f41eb20bc09310baac286059b8242050
BLAKE2b-256 899926c9d1c7d8150f45e346dc045cc49f23e961efceb4a70c47dea0960dea9a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruff-0.13.2-py3-none-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 50e2d52acb8de3804fc5f6e2fa3ae9bdc6812410a9e46837e673ad1f90a18736
MD5 03520a8ac09d01d7faf692509bf77a4d
BLAKE2b-256 2d09b92a5ccee289f11ab128df57d5911224197d8d55ef3bd2043534ff72ca54

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruff-0.13.2-py3-none-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 5b939a1b2a960e9742e9a347e5bbc9b3c3d2c716f86c6ae273d9cbd64f193f22
MD5 88da44e51e50fbf98ad5b0adcd6b23ad
BLAKE2b-256 4c271e5b3f1c23ca5dd4106d9d580e5c13d9acb70288bff614b3d7b638378cc9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruff-0.13.2-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 1dbc875cf3720c64b3990fef8939334e74cb0ca65b8dbc61d1f439201a38101b
MD5 e6a0e04663b4ab8f5b258502ffb412bf
BLAKE2b-256 51701fb7a7c8a6fc8bd15636288a46e209e81913b87988f26e1913d0851e54f4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruff-0.13.2-py3-none-manylinux_2_31_riscv64.whl
Algorithm Hash digest
SHA256 afa721017aa55a555b2ff7944816587f1cb813c2c0a882d158f59b832da1660d
MD5 ec71bb0944c8c28d94b1559af67671a4
BLAKE2b-256 7fdfbf382f3fbead082a575edb860897287f42b1b3c694bafa16bc9904c11ed3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruff-0.13.2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5bcb10276b69b3cfea3a102ca119ffe5c6ba3901e20e60cf9efb53fa417633c3
MD5 31a1986b6b79d8889ae872a086bc093f
BLAKE2b-256 648be87cfca2be6f8b9f41f0bb12dc48c6455e2d66df46fe61bb441a226f1089

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruff-0.13.2-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 1887c230c2c9d65ed1b4e4cfe4d255577ea28b718ae226c348ae68df958191aa
MD5 0e7a3d033c68f0316024e4c6cd1e740a
BLAKE2b-256 4777ad1d9156db8f99cd01ee7e29d74b34050e8075a8438e589121fcd25c4b08

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruff-0.13.2-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 aed130b2fde049cea2019f55deb939103123cdd191105f97a0599a3e753d61b0
MD5 20962cb3279c373bce218bfb3c6b925c
BLAKE2b-256 c4a0ad56faf6daa507b83079a1ad7a11694b87d61e6bf01c66bd82b466f21821

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruff-0.13.2-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl
Algorithm Hash digest
SHA256 c6ed79584a8f6cbe2e5d7dbacf7cc1ee29cbdb5df1172e77fbdadc8bb85a1f89
MD5 6229df74bca3a9e26f94f5e56ec27c58
BLAKE2b-256 6b82b721c8e3ec5df6d83ba0e45dcf00892c4f98b325256c42c38ef136496cbf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruff-0.13.2-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 4f8f9e3cd6714358238cd6626b9d43026ed19c0c018376ac1ef3c3a04ffb42d8
MD5 02ff69697f8d0cb901cd2a230aded9de
BLAKE2b-256 6ae30fac422bbbfb2ea838023e0d9fcf1f30183d83ab2482800e2cb892d02dfe

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruff-0.13.2-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 6ae3f469b5465ba6d9721383ae9d49310c19b452a161b57507764d7ef15f4b07
MD5 87000a011171ca4d43ea8a9e03ccbd24
BLAKE2b-256 43fe72b525948a6956f07dad4a6f122336b6a05f2e3fd27471cea612349fedb9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruff-0.13.2-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 cceac74e7bbc53ed7d15d1042ffe7b6577bf294611ad90393bf9b2a0f0ec7cb6
MD5 e317679e57d2aa478f605440befb4bda
BLAKE2b-256 9eeb0093ae04a70f81f8be7fd7ed6456e926b65d238fc122311293d033fdf91e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruff-0.13.2-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c75e9d2a2fafd1fdd895d0e7e24b44355984affdde1c412a6f6d3f6e16b22d46
MD5 caf7d5e73b2cbb681140a129acef3ec7
BLAKE2b-256 c615125a7f76eb295cb34d19c6778e3a82ace33730ad4e6f28d3427e134a02e0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruff-0.13.2-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 ff7e4dda12e683e9709ac89e2dd436abf31a4d8a8fc3d89656231ed808e231d2
MD5 e94e088b27049c2858c46d165c440bed
BLAKE2b-256 9b77c7042582401bb9ac8eff25360e9335e901d7a1c0749a2b28ba4ecb239991

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruff-0.13.2-py3-none-linux_armv6l.whl
Algorithm Hash digest
SHA256 3796345842b55f033a78285e4f1641078f902020d8450cade03aad01bffd81c3
MD5 449b443ac2a814209b9916cf46b8454e
BLAKE2b-256 6e845716a7fa4758e41bf70e603e13637c42cfb9dbf7ceb07180211b9bbf75ef

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