Skip to main content

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 900 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, the creators of uv and ty.

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@0.16.4 check   # Lint all files in the current directory.
uvx ruff@0.16.4 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.16.4/install.sh | sh
powershell -c "irm https://astral.sh/ruff/0.16.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.16.4
  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).

For the complete list of enabled rules, see Default Rules.

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.10
target-version = "py310"

[lint]
# select = [...]  # See the Default Rules page for the full listing.
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 900 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 rules from the F, E, B, UP, and RUF categories, as well as many more, 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. See Default Rules for the complete list.

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

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.16.4.tar.gz (4.9 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.16.4-py3-none-win_arm64.whl (10.5 MB view details)

Uploaded Python 3Windows ARM64

ruff-0.16.4-py3-none-win_amd64.whl (10.6 MB view details)

Uploaded Python 3Windows x86-64

ruff-0.16.4-py3-none-win32.whl (10.0 MB view details)

Uploaded Python 3Windows x86

ruff-0.16.4-py3-none-musllinux_1_2_x86_64.whl (10.7 MB view details)

Uploaded Python 3musllinux: musl 1.2+ x86-64

ruff-0.16.4-py3-none-musllinux_1_2_i686.whl (10.3 MB view details)

Uploaded Python 3musllinux: musl 1.2+ i686

ruff-0.16.4-py3-none-musllinux_1_2_armv7l.whl (9.8 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARMv7l

ruff-0.16.4-py3-none-musllinux_1_2_aarch64.whl (10.1 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARM64

ruff-0.16.4-py3-none-manylinux_2_31_riscv64.whl (10.6 MB view details)

Uploaded Python 3manylinux: glibc 2.31+ riscv64

ruff-0.16.4-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.3 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

ruff-0.16.4-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl (10.7 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ s390x

ruff-0.16.4-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (11.3 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ppc64le

ruff-0.16.4-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl (10.5 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ i686

ruff-0.16.4-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (9.8 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARMv7l

ruff-0.16.4-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (10.0 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

ruff-0.16.4-py3-none-macosx_11_0_arm64.whl (9.8 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

ruff-0.16.4-py3-none-macosx_10_12_x86_64.whl (10.2 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

ruff-0.16.4-py3-none-linux_armv6l.whl (10.0 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ruff-0.16.4.tar.gz
  • Upload date:
  • Size: 4.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for ruff-0.16.4.tar.gz
Algorithm Hash digest
SHA256 13171aa9d9af2240ee3504e639de73122c67e74036de5ba2e1d01422cd17e3dc
MD5 75a21b7d5c14e5d6a65f57f8ebd03392
BLAKE2b-256 008fd8074b1f25e003164087a8bfe79a0f1a3945135764dbb6aaab04103dcaf9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.16.4-py3-none-win_arm64.whl
  • Upload date:
  • Size: 10.5 MB
  • Tags: Python 3, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for ruff-0.16.4-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 a3a61621c9b6f6a89573e938a080e648f1695baa3f58570a3a707bc51ff65a21
MD5 323c566bcfb0c84a20a7a9cca6d964ad
BLAKE2b-256 0efeda8b9e1347696bb22120b77280ec5ce25d500ca5cb39d5ad6e5c18de19c1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.16.4-py3-none-win_amd64.whl
  • Upload date:
  • Size: 10.6 MB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for ruff-0.16.4-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 05d9d27a18c4bcbefada602480ec9e01e0bc949d432e0ced5df77edac195919c
MD5 6ef8b11c2ff82fc614af99151897c911
BLAKE2b-256 a303e724450f621698117f9aa6dd241c94d0274ae96781378dc86745ae29f0e7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.16.4-py3-none-win32.whl
  • Upload date:
  • Size: 10.0 MB
  • Tags: Python 3, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for ruff-0.16.4-py3-none-win32.whl
Algorithm Hash digest
SHA256 312769988007aaeb8e189b443ccdd03c0e6374489e053467be6d96518ebff76e
MD5 3d436a927296a2a11aba767d50a42860
BLAKE2b-256 aa280c6dd865859c6d17bc8ccc34cb72b0e02d6c7eb25e8a1e22b5bea681e2c0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.16.4-py3-none-musllinux_1_2_x86_64.whl
  • Upload date:
  • Size: 10.7 MB
  • Tags: Python 3, musllinux: musl 1.2+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for ruff-0.16.4-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 fbd85d2875fdd67e833213a651f613bbf25303abf6aa822a5121f4531195678d
MD5 b9da5d8b008986e4b3867f1fe18245ba
BLAKE2b-256 b2a0fbdeb59e48c6261f523e56c8f12e9c08fbe693786595cc7e3959207a9232

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.16.4-py3-none-musllinux_1_2_i686.whl
  • Upload date:
  • Size: 10.3 MB
  • Tags: Python 3, musllinux: musl 1.2+ i686
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for ruff-0.16.4-py3-none-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 8528bf9a4b291a60bf02ea453511e8ce6215bd2b982ee80405b66b008b6c30a0
MD5 97542b7d2b9543087acc04baa2fd2694
BLAKE2b-256 f5320db2a863b796ca62d83e92a07a3ccf00921b14db02059347576a2fda3d4b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.16.4-py3-none-musllinux_1_2_armv7l.whl
  • Upload date:
  • Size: 9.8 MB
  • Tags: Python 3, musllinux: musl 1.2+ ARMv7l
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for ruff-0.16.4-py3-none-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 b66b02cb9b04f537643cadf5768e5f98dc461890d530cb67113d71c8c76e605d
MD5 f4c7b541bf9ab35f54fdbe3cd0fef2c2
BLAKE2b-256 0f10d0bffcdd6729b87afc82ba0ef377173356a7dc8e972f5179968cf2fdf98c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.16.4-py3-none-musllinux_1_2_aarch64.whl
  • Upload date:
  • Size: 10.1 MB
  • Tags: Python 3, musllinux: musl 1.2+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for ruff-0.16.4-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 bdfcf0b28662eb890372d50f92c283bb94e67e7635ed93c7fd533970acff7b2b
MD5 0c591858d3c7101671aa7588ce8ac8b5
BLAKE2b-256 29e5827b34041c35f58774a9681a4213994c164fc987800f4dddabcf451da0bf

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.16.4-py3-none-manylinux_2_31_riscv64.whl
  • Upload date:
  • Size: 10.6 MB
  • Tags: Python 3, manylinux: glibc 2.31+ riscv64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for ruff-0.16.4-py3-none-manylinux_2_31_riscv64.whl
Algorithm Hash digest
SHA256 6baaf984aa7976edf93d3b627fe2d1d22ee94bbca05fa6f90fc76d73924e3454
MD5 24d6637032fc996879831b83414e4abf
BLAKE2b-256 e88bb345b4fb110f2fbe2bd31eabd271e5e8b3b7e4ee6c0e02f2dc6be78db000

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.16.4-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 10.3 MB
  • Tags: Python 3, manylinux: glibc 2.17+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for ruff-0.16.4-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f2d812e482f5a7e02eee26cd73d2a37ebbdf47d795ea63ba1b89110ae93e9fb3
MD5 e7b0063f24d7bb8009bf380070ebd0ae
BLAKE2b-256 5eb656bc0b8cf45b54b28b3a5e6381c8945d51b5b18adf659454c32295209a31

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.16.4-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl
  • Upload date:
  • Size: 10.7 MB
  • Tags: Python 3, manylinux: glibc 2.17+ s390x
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for ruff-0.16.4-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 e9fce1499134b2c8c68e5166f95705a5812062bb93aacc5f9873bb1a27084bc7
MD5 9abcad8ff6ac0476c6052d8db1fecdeb
BLAKE2b-256 d016481c29b380c20a0054a8261066665e1b3488e23636c49d0a43e75975b9bb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.16.4-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
  • Upload date:
  • Size: 11.3 MB
  • Tags: Python 3, manylinux: glibc 2.17+ ppc64le
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for ruff-0.16.4-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 3817b87dbcabc92f13b05019257c5b89b5b4d51b5fb20f56fb5235ceb723cd07
MD5 8feb45486fa75b7e335829074ba7aed0
BLAKE2b-256 523d86e8ad3542169e56cac3859a343afdb9df2ad54d35a59ce1e67baee83421

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.16.4-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
  • Upload date:
  • Size: 10.5 MB
  • Tags: Python 3, manylinux: glibc 2.17+ i686
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for ruff-0.16.4-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 7dc651db49283c69f8e72c834eec4fe5573e4c646856aebece0ce385dceb2a80
MD5 3558403f90664d8268b79fb681269263
BLAKE2b-256 fa800f30e32e7f6ee26edc39075502db9d368d788a44a79b55f763eb4ab03796

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.16.4-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
  • Upload date:
  • Size: 9.8 MB
  • Tags: Python 3, manylinux: glibc 2.17+ ARMv7l
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for ruff-0.16.4-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 b3dce8d9b0c57c265b91885a66a567d8ea1372e8eb4e250fa8e5e3f579e99cff
MD5 8506442511fcffa3e0c3992cbbdfa48a
BLAKE2b-256 464972b10ec912f5ab5854992eaf7aa7cd36729b6937d9dc4e0fb41b3bf428ec

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.16.4-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
  • Upload date:
  • Size: 10.0 MB
  • Tags: Python 3, manylinux: glibc 2.17+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for ruff-0.16.4-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 32a5057c7ff3f6e6480a48fccfb3a412a690f48a3d03ac5cf08177d6c2da3ade
MD5 a3ee47f6471a24dad2278e7bc8315123
BLAKE2b-256 2412c6e22d686372c15bcb7af99831f1a1be96df696491babf4f24e4f942c527

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.16.4-py3-none-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 9.8 MB
  • Tags: Python 3, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for ruff-0.16.4-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 963f83df8e69e575b64d67dd447ebbc917db41a14bf38d4593a4183e7aaa8255
MD5 3460eff56023450aad831f9f23707aad
BLAKE2b-256 1c704a6dc4bb34da4dee35e30f09bbd1bfbdd26f33b62fb9b8df31f08a199cd2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.16.4-py3-none-macosx_10_12_x86_64.whl
  • Upload date:
  • Size: 10.2 MB
  • Tags: Python 3, macOS 10.12+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for ruff-0.16.4-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 0c95538517af68004306b0fb3214ff2f2af67a65092aee77cd9eb86db6656604
MD5 6837567ba62ccc678cf3a5d25e694d8a
BLAKE2b-256 a9e6f553199b5e8927a05cb5c422d921fd0656b29ab976e91c44802107c6b0da

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.16.4-py3-none-linux_armv6l.whl
  • Upload date:
  • Size: 10.0 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for ruff-0.16.4-py3-none-linux_armv6l.whl
Algorithm Hash digest
SHA256 df4075f71ddac40b9934af60c3ec8a53047dd5a5fdc43224e6e4e8e9a27cb6f7
MD5 20e48150b736c0b13114cda3b1c22e21
BLAKE2b-256 ff80779895ef584e089d22f2c6df0d0e99a65ec2df0805f1fffd439415b8c1f0

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.16.4 This release

18 files

0.16.3

18 files

0.16.2

18 files

0.16.1

18 files

0.16.0

18 files

0.15.22

18 files

0.15.21

18 files

0.15.20

18 files

0.15.19

18 files

0.15.18

18 files

0.15.17

18 files

0.15.16

18 files

0.15.15

18 files

0.15.14

18 files

0.15.13

18 files

0.15.12

18 files

0.15.11

18 files

0.15.10

18 files

0.15.9

18 files

0.15.8

18 files

0.15.7

18 files

0.15.6

18 files

0.15.5

18 files

0.15.4

18 files

0.15.3

18 files

0.15.2

18 files

0.15.1

18 files

0.15.0

18 files

0.14.14

19 files

0.14.13

19 files

0.14.12

19 files

0.14.11

19 files

0.14.10

19 files

0.14.9

19 files

0.14.8

19 files

0.14.7

19 files

0.14.6

19 files

0.14.5

19 files

0.14.4

19 files

0.14.3

19 files

0.14.2

19 files

0.14.1

19 files

0.14.0

19 files

0.13.3

19 files

0.13.2

19 files

0.13.1

19 files

0.13.0

19 files

0.12.12

19 files

0.12.11

19 files

0.12.10

19 files

0.12.9

19 files

0.12.8

18 files

0.12.7

18 files

0.12.6

17 files

0.12.5

18 files

0.12.4

18 files

0.12.3

18 files

0.12.2

18 files

0.12.1

18 files

0.12.0

18 files

0.11.13

18 files

0.11.12

18 files

0.11.11

18 files

0.11.10

18 files

0.11.9

18 files

0.11.8

18 files

0.11.7

18 files

0.11.6

18 files

0.11.5

18 files

0.11.4

18 files

0.11.3

18 files

0.11.2

18 files

0.11.1

18 files

0.11.0

18 files

0.10.0

18 files

0.9.10

18 files

0.9.9

18 files

0.9.8

18 files

0.9.7

18 files

0.9.6

18 files

0.9.5

18 files

0.9.4

18 files

0.9.3

18 files

0.9.2

18 files

0.9.1

18 files

0.9.0

18 files

0.8.6

18 files

0.8.5

18 files

0.8.4

18 files

0.8.3

18 files

0.8.2

18 files

0.8.1

18 files

0.8.0

18 files

0.7.4

18 files

0.7.3

18 files

0.7.2

18 files

0.7.1

18 files

0.7.0

18 files

0.6.9

18 files

0.6.8

18 files

0.6.7

18 files

0.6.6

18 files

0.6.5

18 files

0.6.4

18 files

0.6.3

18 files

0.6.2

18 files

0.6.1

18 files

0.6.0

18 files

0.5.7

18 files

0.5.6

18 files

0.5.5

18 files

0.5.4

18 files

0.5.3

18 files

0.5.2

18 files

0.5.1

18 files

0.5.0

18 files

0.4.10

17 files

0.4.9

17 files

0.4.8

17 files

0.4.7

17 files

0.4.6

17 files

0.4.5

17 files

0.4.4

17 files

0.4.3

17 files

0.4.2

17 files

0.4.1

17 files

0.4.0

17 files

0.3.7

17 files

0.3.6

17 files

0.3.5

17 files

0.3.4

17 files

0.3.3

17 files

0.3.2

17 files

0.3.1

17 files

0.3.0

17 files

0.2.2

17 files

0.2.1

17 files

0.2.0

17 files

0.1.15

17 files

0.1.14

17 files

0.1.13

17 files

0.1.12

17 files

0.1.11

17 files

0.1.10

17 files

0.1.9

17 files

0.1.8

17 files

0.1.7

17 files

0.1.6

17 files

0.1.5

17 files

0.1.4

17 files

0.1.3

17 files

0.1.2

17 files

0.1.1

17 files

0.1.0

17 files

0.0.292

17 files

0.0.291

17 files

0.0.290

17 files

0.0.289

17 files

0.0.288

17 files

0.0.287

17 files

0.0.286

17 files

0.0.285

17 files

0.0.284

17 files

0.0.283

17 files

0.0.282

17 files

0.0.281

17 files

0.0.280

17 files

0.0.279

17 files

0.0.278

17 files

0.0.277

17 files

0.0.276

17 files

0.0.275

17 files

0.0.274

17 files

0.0.273

17 files

0.0.272

17 files

0.0.271

17 files

0.0.270

17 files

0.0.269

17 files

0.0.267

17 files

0.0.266

17 files

0.0.265

17 files

0.0.264

17 files

0.0.263

17 files

0.0.262

17 files

0.0.261

17 files

0.0.260

17 files

0.0.259

17 files

0.0.257

17 files

0.0.256

17 files

0.0.255

17 files

0.0.254

17 files

0.0.253

17 files

0.0.252

17 files

0.0.251

17 files

0.0.250

17 files

0.0.249

17 files

0.0.248

17 files

0.0.247

17 files

0.0.246

16 files

0.0.245

16 files

0.0.244

16 files

0.0.243

16 files

0.0.242

16 files

0.0.241

16 files

0.0.240

16 files

0.0.239

16 files

0.0.238

16 files

0.0.237

16 files

0.0.236

16 files

0.0.235

16 files

0.0.234

16 files

0.0.233

16 files

0.0.231

16 files

0.0.230

16 files

0.0.229

16 files

0.0.228

16 files

0.0.227

16 files

0.0.226

16 files

0.0.225

16 files

0.0.224

16 files

0.0.223

16 files

0.0.222

16 files

0.0.221

16 files

0.0.220

16 files

0.0.219

16 files

0.0.218

16 files

0.0.217

16 files

0.0.216

16 files

0.0.215

16 files

0.0.214

16 files

0.0.213

16 files

0.0.212

16 files

0.0.211

16 files

0.0.210

16 files

0.0.209

16 files

0.0.208

16 files

0.0.207

16 files

0.0.206

16 files

0.0.205

16 files

0.0.204

16 files

0.0.203

16 files

0.0.202

16 files

0.0.201

16 files

0.0.200

16 files

0.0.199

16 files

0.0.198

16 files

0.0.196

16 files

0.0.195

16 files

0.0.194

16 files

0.0.193

16 files

0.0.192

16 files

0.0.191

16 files

0.0.190

16 files

0.0.189

16 files

0.0.188

16 files

0.0.187

16 files

0.0.186

16 files

0.0.185

16 files

0.0.184

16 files

0.0.183

16 files

0.0.182

16 files

0.0.181

16 files

0.0.180

16 files

0.0.178

16 files

0.0.177

16 files

0.0.176

16 files

0.0.175

16 files

0.0.174

16 files

0.0.173

16 files

0.0.172

16 files

0.0.171

16 files

0.0.170

16 files

0.0.169

16 files

0.0.168

16 files

0.0.167

16 files

0.0.166

16 files

0.0.165

16 files

0.0.164

16 files

0.0.163

16 files

0.0.162

16 files

0.0.161

16 files

0.0.160

16 files

0.0.159

16 files

0.0.158

16 files

0.0.157

16 files

0.0.156

16 files

0.0.155

16 files

0.0.154

16 files

0.0.153

16 files

0.0.152

16 files

0.0.151

16 files

0.0.150

16 files

0.0.149

16 files

0.0.148

16 files

0.0.146

16 files

0.0.145

16 files

0.0.144

16 files

0.0.143

16 files

0.0.142

16 files

0.0.141

16 files

0.0.140

16 files

0.0.139

16 files

0.0.138

16 files

0.0.137

16 files

0.0.135

16 files

0.0.134

16 files

0.0.133

16 files

0.0.132

16 files

0.0.131

16 files

0.0.130

16 files

0.0.129

16 files

0.0.128

16 files

0.0.127

16 files

0.0.126

16 files

0.0.125

16 files

0.0.124

16 files

0.0.123

16 files

0.0.122

16 files

0.0.121

16 files

0.0.120

16 files

0.0.119

16 files

0.0.118

16 files

0.0.117

16 files

0.0.116

16 files

0.0.114

16 files

0.0.113

16 files

0.0.112

16 files

0.0.111

16 files

0.0.110

16 files

0.0.109

16 files

0.0.108

16 files

0.0.107

16 files

0.0.106

16 files

0.0.105

16 files

0.0.104

16 files

0.0.103

16 files

0.0.102

16 files

0.0.100

16 files

0.0.99

16 files

0.0.98

16 files

0.0.97

16 files

0.0.96

16 files

0.0.95

16 files

0.0.94

16 files

0.0.93

16 files

0.0.92

16 files

0.0.91

16 files

0.0.90

16 files

0.0.89

16 files

0.0.88

16 files

0.0.86

16 files

0.0.85

16 files

0.0.84

16 files

0.0.83

16 files

0.0.82

16 files

0.0.81

16 files

0.0.80

16 files

0.0.79

16 files

0.0.78

16 files

0.0.77

16 files

0.0.76

16 files

0.0.75

16 files

0.0.74

16 files

0.0.73

16 files

0.0.72

16 files

0.0.71

16 files

0.0.70

16 files

0.0.69

16 files

0.0.68

16 files

0.0.67

16 files

0.0.66

16 files

0.0.65

16 files

0.0.64

16 files

0.0.63

16 files

0.0.62

16 files

0.0.61

16 files

0.0.60

16 files

0.0.59

16 files

0.0.58

16 files

0.0.57

16 files

0.0.55

16 files

0.0.54

16 files

0.0.53

16 files

0.0.52

16 files

0.0.51

16 files

0.0.50

16 files

0.0.49

16 files

0.0.48

16 files

0.0.47

16 files

0.0.46

16 files

0.0.45

16 files

0.0.44

16 files

0.0.43

16 files

0.0.42

16 files

0.0.40

16 files

0.0.39

16 files

0.0.37

16 files

0.0.36

16 files

0.0.35

16 files

0.0.34

16 files

0.0.33

16 files

0.0.32

16 files

0.0.31

16 files

0.0.30

16 files

0.0.29

16 files

0.0.28

16 files

0.0.25

16 files

0.0.24

16 files

0.0.23

16 files

0.0.22

16 files

0.0.21

16 files

0.0.20

16 files

0.0.19

11 files

0.0.18

40 files

0.0.17

48 files

0.0.16

9 files

0.0.15

3 files

0.0.14

3 files

0.0.13

3 files

Supported by

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