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.5 check   # Lint all files in the current directory.
uvx ruff@0.16.5 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.5/install.sh | sh
powershell -c "irm https://astral.sh/ruff/0.16.5/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.5
  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.5.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.5-py3-none-win_arm64.whl (10.4 MB view details)

Uploaded Python 3Windows ARM64

ruff-0.16.5-py3-none-win_amd64.whl (10.5 MB view details)

Uploaded Python 3Windows x86-64

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

Uploaded Python 3Windows x86

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

Uploaded Python 3musllinux: musl 1.2+ x86-64

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

Uploaded Python 3musllinux: musl 1.2+ i686

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

Uploaded Python 3musllinux: musl 1.2+ ARMv7l

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

Uploaded Python 3musllinux: musl 1.2+ ARM64

ruff-0.16.5-py3-none-manylinux_2_31_riscv64.whl (10.5 MB view details)

Uploaded Python 3manylinux: glibc 2.31+ riscv64

ruff-0.16.5-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.5-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl (10.8 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ s390x

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

Uploaded Python 3manylinux: glibc 2.17+ ppc64le

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

Uploaded Python 3manylinux: glibc 2.17+ i686

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

Uploaded Python 3manylinux: glibc 2.17+ ARMv7l

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

Uploaded Python 3manylinux: glibc 2.17+ ARM64

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

Uploaded Python 3macOS 11.0+ ARM64

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

Uploaded Python 3macOS 10.12+ x86-64

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: ruff-0.16.5.tar.gz
  • Upload date:
  • Size: 4.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.6 {"installer":{"name":"uv","version":"0.12.6","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.5.tar.gz
Algorithm Hash digest
SHA256 1b88500f9ffbcab3dedb0082c9f9492e91ec3d618aac1236a3e0189938f7040b
MD5 79d99c75f097388bfeffdeac67e10218
BLAKE2b-256 f385c8e12473c93018f92d19dd988a294202e1c27426c47ec4de53ffb847b8d8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.16.5-py3-none-win_arm64.whl
  • Upload date:
  • Size: 10.4 MB
  • Tags: Python 3, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.6 {"installer":{"name":"uv","version":"0.12.6","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.5-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 a64abe90968719b851bb7cedffaa8753fbdbdadab483089682db623f3edc587e
MD5 b7e30d4de25331e64f6797c6783f6a68
BLAKE2b-256 73e37df5a396e445b9ba49ce9a9437439a4d80042c61c0ade199abf8d16de1ac

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.16.5-py3-none-win_amd64.whl
  • Upload date:
  • Size: 10.5 MB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.6 {"installer":{"name":"uv","version":"0.12.6","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.5-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 ddc6385fb2137f616357ca03d6c74f4be987f80fed4008566b754f6032b8546f
MD5 21ef682ec7c348ad7b779a29136f161d
BLAKE2b-256 5b42ee8e68a207b9127fcde6c3d7e197def432f346cb1af159e1fa14ca0d1cdc

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.16.5-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.6 {"installer":{"name":"uv","version":"0.12.6","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.5-py3-none-win32.whl
Algorithm Hash digest
SHA256 288b0a5f080492fe5635db849f9e2e84aa3cce7b7f0e955997d416c507c76a26
MD5 3005d1048a250ffe664e5321a55c3e27
BLAKE2b-256 ed20656d67f5b25ca9bda4e02b1de25867b2954e1d19e03648060f167ad0f4cc

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.16.5-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.6 {"installer":{"name":"uv","version":"0.12.6","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.5-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 fb8e3a3c4c6a784150a7ced53b015f4b253fc2bf97a610886419ead64b4756ef
MD5 3c140e112037ba87bf628a062307be41
BLAKE2b-256 a8a060356d86687b4b666d593df213f4dc3041750d024cb7bf2cfa81cfd65c2e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.16.5-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.6 {"installer":{"name":"uv","version":"0.12.6","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.5-py3-none-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 d185c8398ded1bfd91c0c2cb258346307571eccc473a8490af8c3977399c384a
MD5 dfd0dde2e25e86da4949efd02cf9032b
BLAKE2b-256 394a31ed35ce31729955fc583ee0d176d6e784c1290cb0b0a75cb2134c1ab72a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.16.5-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.6 {"installer":{"name":"uv","version":"0.12.6","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.5-py3-none-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 95cc70cdc7aa80c338de356279d2adbeb2de0f520b9ecd8aba75b94e95e02f91
MD5 20760c8de7045f9c29bf9e2eb74991d6
BLAKE2b-256 cc4e4cdc9ed3c3e109d2f71e62572a37457298d7bc7501ec3138babb7ed32bbd

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.16.5-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.6 {"installer":{"name":"uv","version":"0.12.6","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.5-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 f0768e9df4300713fff30733c87575f68b6f1d8de41184e505b7fdd9c0c95eaf
MD5 3b45612622fd7c077d0b183b9ca2221c
BLAKE2b-256 30e1a64cef78b40192497bb98a27a8aa8f2c98ee9ee15bc97f7712d94ef32937

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.16.5-py3-none-manylinux_2_31_riscv64.whl
  • Upload date:
  • Size: 10.5 MB
  • Tags: Python 3, manylinux: glibc 2.31+ riscv64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.6 {"installer":{"name":"uv","version":"0.12.6","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.5-py3-none-manylinux_2_31_riscv64.whl
Algorithm Hash digest
SHA256 0eeab41fbea2c42f98dfb9822cdccda9d24ba38d49f6dc945b5c236d48f0ef29
MD5 9eec25eb70b4a19c7da11b16be8ca393
BLAKE2b-256 a74dc33a333e341c0a2b96c715b52d89a606f5a34cd4ac493cd9b8d0187186b8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.16.5-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.6 {"installer":{"name":"uv","version":"0.12.6","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.5-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ef0f69e191a13a3c9816f63163c88790cb12cd157bbbb384e9c44745702ab105
MD5 87616b7c6907bb4f1963465916b8444f
BLAKE2b-256 ee34ee245ca55f64443233034b3d02b03236b19242004281247c079390b7facd

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.16.5-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl
  • Upload date:
  • Size: 10.8 MB
  • Tags: Python 3, manylinux: glibc 2.17+ s390x
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.6 {"installer":{"name":"uv","version":"0.12.6","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.5-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 b5eb3a8c3d0ade9cea42b591fd530368e8798380e30e0a308b85a5cf718f09ea
MD5 807b960b9762ec88c89be8298ae1f7be
BLAKE2b-256 634d1d481aaea2046c6a7ed7c291f9004c669cce3c087b6b376ed5b08271e3fe

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.16.5-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.6 {"installer":{"name":"uv","version":"0.12.6","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.5-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 b9a4f0432966834019c74d1b7e5c51224305d7713f3d7faf3e7451f1a3be3cde
MD5 f0d1d2ab718ece5e412c957524b500fd
BLAKE2b-256 d75af0cf109bada9bba0e96c90c21c9f9251803f57225c32d293327a03c710d6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.16.5-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.6 {"installer":{"name":"uv","version":"0.12.6","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.5-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 258f29035a2dd021e7861e631b227a5b3f14e50c1184c9a6a122c5f4576154d7
MD5 92dbaf32aaf1cd5c5100c3fcaceabbaf
BLAKE2b-256 aaff011cce29accf9257d5974145b733fc653a37985ed6825413a3987cefbfe0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.16.5-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.6 {"installer":{"name":"uv","version":"0.12.6","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.5-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 2298f2780ed1be0c5cb1361e32ab7b1467f3cce7dabe101d2210a314f2fe42e9
MD5 7e9310b1ca64c47aebf27c3d5e2026f6
BLAKE2b-256 9ef25d2bcdaca6b5b93d1b4dfc166cd2aebf7680143a1b38a28759df13a94d31

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.16.5-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.6 {"installer":{"name":"uv","version":"0.12.6","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.5-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 7b719b0a1f4d59710d283ab2965f621684a108a9e41da622e3b23f0326cd0025
MD5 b9e849dbf01a75a8767f82097f1d18c4
BLAKE2b-256 4345a684caacdedaca180f52bacccc40bf0789d2c5a7c75f25324853e9eaedb5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.16.5-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.6 {"installer":{"name":"uv","version":"0.12.6","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.5-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c5ae9a7b9a8875131f40f8fe967cc86abf899779efd663cb7ce3d572d01da7eb
MD5 56e55017ecb033978c9014da5427b941
BLAKE2b-256 46fdc8720ca7a090abf0c2fef4abe8a5ef6e5127ed15196d8886ff75a2b370e2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.16.5-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.6 {"installer":{"name":"uv","version":"0.12.6","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.5-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 eda58a5802de40e7ed5b32b64e0b32539338cc6fcd2c78f61e3ad6a0d79f51c3
MD5 eaf38a69025b2e1ed323058163f48dfb
BLAKE2b-256 4b466cf67cf6411885a1d6f7f6d801682f155536a85176d10b605e2ceffed8bd

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.16.5-py3-none-linux_armv6l.whl
  • Upload date:
  • Size: 10.0 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.6 {"installer":{"name":"uv","version":"0.12.6","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.5-py3-none-linux_armv6l.whl
Algorithm Hash digest
SHA256 12e5f673e774c35fbb62f288809c7653b73445f8ecec6b6063fd6ea3521aa14b
MD5 9d44a390085802b71ff8ea1055c5575c
BLAKE2b-256 c6b677c90a970fe2dae17a723acbd011043ea97c98d7deacccefdc4ba74ec512

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.16.5 This release

18 files

0.16.4

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

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page