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:

# 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.5.4/install.sh | sh
powershell -c "irm https://astral.sh/ruff/0.5.4/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.5.4
  hooks:
    # Run the linter.
    - id: ruff
      args: [ --fix ]
    # Run the formatter.
    - id: ruff-format

Ruff can also be used as a VS Code extension or alongside any other editor through the Ruff LSP.

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: chartboost/ruff-action@v1

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.8
target-version = "py38"

[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.5.4.tar.gz (2.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.5.4-py3-none-win_arm64.whl (8.0 MB view details)

Uploaded Python 3Windows ARM64

ruff-0.5.4-py3-none-win_amd64.whl (8.6 MB view details)

Uploaded Python 3Windows x86-64

ruff-0.5.4-py3-none-win32.whl (7.8 MB view details)

Uploaded Python 3Windows x86

ruff-0.5.4-py3-none-musllinux_1_2_x86_64.whl (10.1 MB view details)

Uploaded Python 3musllinux: musl 1.2+ x86-64

ruff-0.5.4-py3-none-musllinux_1_2_i686.whl (9.7 MB view details)

Uploaded Python 3musllinux: musl 1.2+ i686

ruff-0.5.4-py3-none-musllinux_1_2_armv7l.whl (9.4 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARMv7l

ruff-0.5.4-py3-none-musllinux_1_2_aarch64.whl (9.9 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARM64

ruff-0.5.4-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.1 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

ruff-0.5.4-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl (11.4 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ s390x

ruff-0.5.4-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (10.4 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ppc64le

ruff-0.5.4-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl (10.8 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ppc64

ruff-0.5.4-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl (10.1 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ i686

ruff-0.5.4-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (9.3 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARMv7l

ruff-0.5.4-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (9.9 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

ruff-0.5.4-py3-none-macosx_11_0_arm64.whl (8.2 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

ruff-0.5.4-py3-none-macosx_10_12_x86_64.whl (8.6 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

ruff-0.5.4-py3-none-linux_armv6l.whl (9.5 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ruff-0.5.4.tar.gz
  • Upload date:
  • Size: 2.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for ruff-0.5.4.tar.gz
Algorithm Hash digest
SHA256 2795726d5f71c4f4e70653273d1c23a8182f07dd8e48c12de5d867bfb7557eed
MD5 94f0a2dddb5f07823653977546dfd3ff
BLAKE2b-256 8e1a5955fa22ab088c1f4d8458b4cbc158c6db72143361e8d46e179c48576aab

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.5.4-py3-none-win_arm64.whl
  • Upload date:
  • Size: 8.0 MB
  • Tags: Python 3, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for ruff-0.5.4-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 bd53da65f1085fb5b307c38fd3c0829e76acf7b2a912d8d79cadcdb4875c1eb7
MD5 b32208db189db0332a952b063d1e272a
BLAKE2b-256 3cef3e732c0152280775f728ab99691c718ee9a4ae79bf5af1dd9258f7fe7fef

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.5.4-py3-none-win_amd64.whl
  • Upload date:
  • Size: 8.6 MB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for ruff-0.5.4-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 58b54459221fd3f661a7329f177f091eb35cf7a603f01d9eb3eb11cc348d38c4
MD5 aad7781dbb800ae14e5343de22ed30c1
BLAKE2b-256 8235d6c3c83fb8817328db73c15b1836ccb0c3ce56b72d0d01d98b3a452bec58

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.5.4-py3-none-win32.whl
  • Upload date:
  • Size: 7.8 MB
  • Tags: Python 3, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for ruff-0.5.4-py3-none-win32.whl
Algorithm Hash digest
SHA256 e1e7393e9c56128e870b233c82ceb42164966f25b30f68acbb24ed69ce9c3a4e
MD5 5ead31dbf0d43fe848aef92fc29567b2
BLAKE2b-256 e67616f8f1c8d0cba6c96ab6f292146fc0acb6dd633a989f524d3b3ef1ee8364

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.5.4-py3-none-musllinux_1_2_x86_64.whl
  • Upload date:
  • Size: 10.1 MB
  • Tags: Python 3, musllinux: musl 1.2+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for ruff-0.5.4-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 768fa9208df2bec4b2ce61dbc7c2ddd6b1be9fb48f1f8d3b78b3332c7d71c1ff
MD5 63c455576d6191907b6bf732266f901d
BLAKE2b-256 4a565062119a5c9e06d98cd6406bfc1eab7616a7c67494a4d05b6052d99dd147

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.5.4-py3-none-musllinux_1_2_i686.whl
  • Upload date:
  • Size: 9.7 MB
  • Tags: Python 3, musllinux: musl 1.2+ i686
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for ruff-0.5.4-py3-none-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 a6e1f62a92c645e2919b65c02e79d1f61e78a58eddaebca6c23659e7c7cb4ac7
MD5 0aae1d0007926d216254f080efcdbb95
BLAKE2b-256 0df5da3a0e2fd0bcbdb3d2ff579ef9cb3ca2af71b9bee97fa917c9a9e0500b67

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.5.4-py3-none-musllinux_1_2_armv7l.whl
  • Upload date:
  • Size: 9.4 MB
  • Tags: Python 3, musllinux: musl 1.2+ ARMv7l
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for ruff-0.5.4-py3-none-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 9492320eed573a13a0bc09a2957f17aa733fff9ce5bf00e66e6d4a88ec33813f
MD5 b5bbf577f2103bc01fd77890964c48a1
BLAKE2b-256 783a6c67c5d670aae2a51a11713aff819d729ed92cb0b1d962b8df27e4657650

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruff-0.5.4-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 029454e2824eafa25b9df46882f7f7844d36fd8ce51c1b7f6d97e2615a57bbcc
MD5 3cda06e8d674ba865a69cadb78a2eee3
BLAKE2b-256 ca78683b6c6976fcc33e4a03a0e234e0b9f9b8682f807a661225c829b248de82

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruff-0.5.4-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 93789f14ca2244fb91ed481456f6d0bb8af1f75a330e133b67d08f06ad85b516
MD5 0240035a896d5b63c5e0d951cbe07456
BLAKE2b-256 a10264f24893eea23c447460e6509e9dd0ae18d7a797f67fee1bafed964ebbae

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruff-0.5.4-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 3520a00c0563d7a7a7c324ad7e2cde2355733dafa9592c671fb2e9e3cd8194c1
MD5 a2ac0074167762a6a608a490ad3eb8ca
BLAKE2b-256 0147a62df6ccd6e5d019271df203ea6564f2022c49f85c0bf6ada708cd7b4a5e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruff-0.5.4-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 628f6b8f97b8bad2490240aa84f3e68f390e13fabc9af5c0d3b96b485921cd60
MD5 20d329ffae7602431d534b7c7b111954
BLAKE2b-256 97cae3810f701ae472e5fe3180d56fe6fcc92ea94c7490097a0f731f5602f26f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruff-0.5.4-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl
Algorithm Hash digest
SHA256 09c14ed6a72af9ccc8d2e313d7acf7037f0faff43cde4b507e66f14e812e37f7
MD5 6e98873c39150e0b43f07447f115b0da
BLAKE2b-256 b50ea44cb6edb629788de892fc7bb8ac8b47059df94d7ec9c4e52e04bab5be95

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruff-0.5.4-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 0cf497a47751be8c883059c4613ba2f50dd06ec672692de2811f039432875278
MD5 158af49731ce5e56f4f4b9ac97f0a770
BLAKE2b-256 b6bf51e0c5f12a9bf3c7596cf7f45e1b102f8b49f1da39943e03739890bbf6a4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruff-0.5.4-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 f9b85eaa1f653abd0a70603b8b7008d9e00c9fa1bbd0bf40dad3f0c0bdd06793
MD5 dd283e4449387986e6c21adca9fe6c35
BLAKE2b-256 1fff6546020836408351e7558dedacc6e5ca7f652f76a9d05ac4882c787d45b1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruff-0.5.4-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 4c55efbecc3152d614cfe6c2247a3054cfe358cefbf794f8c79c8575456efe19
MD5 045f7246a1962c5388a99d3a9be92fb5
BLAKE2b-256 19883d0f5244905088cc2fd136fae8ce81f46d145e2449051313c462032d144d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.5.4-py3-none-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 8.2 MB
  • Tags: Python 3, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for ruff-0.5.4-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e98ad088edfe2f3b85a925ee96da652028f093d6b9b56b76fc242d8abb8e2059
MD5 d1393c834abb97de215a82f757f83eab
BLAKE2b-256 2875843aa3d10a39ab60fbd63f65c825f647907a9732ac27e24d3f94dd2db618

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruff-0.5.4-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 da62e87637c8838b325e65beee485f71eb36202ce8e3cdbc24b9fcb8b99a37be
MD5 69ed9a806fd7dba468ebdc8dcfca3f8b
BLAKE2b-256 1123ffe51028ba274223191d3f96b059108cf7690eb93985a7fdb077c3d1191b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.5.4-py3-none-linux_armv6l.whl
  • Upload date:
  • Size: 9.5 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for ruff-0.5.4-py3-none-linux_armv6l.whl
Algorithm Hash digest
SHA256 82acef724fc639699b4d3177ed5cc14c2a5aacd92edd578a9e846d5b5ec18ddf
MD5 2f89a2faf6effb7c2a48aa718669262d
BLAKE2b-256 5b342235ecce6794345f42ad334d1b14384c70b202f77509e5678b68a640fe78

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