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:

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. Show Your Support
  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.8 check   # Lint all files in the current directory.
uvx ruff@0.16.8 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.8/install.sh | sh
powershell -c "irm https://astral.sh/ruff/0.16.8/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.8
  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.

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.8.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.8-py3-none-win_arm64.whl (10.4 MB view details)

Uploaded Python 3Windows ARM64

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

Uploaded Python 3Windows x86-64

ruff-0.16.8-py3-none-win32.whl (10.1 MB view details)

Uploaded Python 3Windows x86

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

Uploaded Python 3musllinux: musl 1.2+ x86-64

ruff-0.16.8-py3-none-musllinux_1_2_i686.whl (10.2 MB view details)

Uploaded Python 3musllinux: musl 1.2+ i686

ruff-0.16.8-py3-none-musllinux_1_2_armv7l.whl (9.9 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARMv7l

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

Uploaded Python 3musllinux: musl 1.2+ ARM64

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

Uploaded Python 3manylinux: glibc 2.31+ riscv64

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

Uploaded Python 3manylinux: glibc 2.17+ s390x

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

Uploaded Python 3manylinux: glibc 2.17+ ppc64le

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

Uploaded Python 3manylinux: glibc 2.17+ i686

ruff-0.16.8-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (9.9 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARMv7l

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

Uploaded Python 3manylinux: glibc 2.17+ ARM64

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

Uploaded Python 3macOS 11.0+ ARM64

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

Uploaded Python 3macOS 10.12+ x86-64

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: ruff-0.16.8.tar.gz
  • Upload date:
  • Size: 4.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.11 {"installer":{"name":"uv","version":"0.12.11","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.8.tar.gz
Algorithm Hash digest
SHA256 9247bf92b5f04d825c8639a4fe423ec2e4222acd9222e58412b0dab7e442798b
MD5 af2b96aa3d781e26b65047a9bfbb2a83
BLAKE2b-256 ba78449cb84790bd5cc3823b2652ee405a4558856e5c4195aee3a16bf7b3eb5d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.16.8-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.11 {"installer":{"name":"uv","version":"0.12.11","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.8-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 d075e820af612102ce217f07cc93e69f9490b10ec13ea85fa87bd03d996cef8a
MD5 681dc5604eeab589e12522d01dac8bc1
BLAKE2b-256 fea050787329e4f20bf9dc9f6230015d46ec69c51a97ace5bc202dae4755365d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.16.8-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.11 {"installer":{"name":"uv","version":"0.12.11","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.8-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 a6b85621fd3c81e31fc5f5add09c9c078b430db3595ca632efafdec9e64ebfaa
MD5 91886c53058a118a082a97faaf985c69
BLAKE2b-256 1e5da509c07d714b6da88f2c518b4637cf6f1d46b074be8f0f1e5fb9ff5126fe

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.16.8-py3-none-win32.whl
  • Upload date:
  • Size: 10.1 MB
  • Tags: Python 3, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.11 {"installer":{"name":"uv","version":"0.12.11","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.8-py3-none-win32.whl
Algorithm Hash digest
SHA256 55793ba85c69921e89be061426d91a78652d6e50317c962240922747a4eb713f
MD5 6189d06a51065c953d27b5bd2664ae94
BLAKE2b-256 3d027f10ef4700bc223c30a3fdd10631a29830c45524b810a3c7ed947af64591

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.16.8-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.11 {"installer":{"name":"uv","version":"0.12.11","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.8-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 efa3e7a16d1baaa79957888dfdf8be9ef2e44db81cb032af06d76632ab59e773
MD5 71c08058cb735793b7c14a08db91bee8
BLAKE2b-256 2bc48aa6ea0bdcedbd1bf87397e2fc4ed8406448ea5842f8660bc6e5f163039d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.16.8-py3-none-musllinux_1_2_i686.whl
  • Upload date:
  • Size: 10.2 MB
  • Tags: Python 3, musllinux: musl 1.2+ i686
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.11 {"installer":{"name":"uv","version":"0.12.11","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.8-py3-none-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 59e8f5681349474110b24d62e93cfda6593f5fa3473446ca3705200cac1a08b9
MD5 83111d634a2f9ce3043423bf057fc045
BLAKE2b-256 f8d4913e3195d95e0378786c6656945c865f534a3560e29139da4882aff630d1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.16.8-py3-none-musllinux_1_2_armv7l.whl
  • Upload date:
  • Size: 9.9 MB
  • Tags: Python 3, musllinux: musl 1.2+ ARMv7l
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.11 {"installer":{"name":"uv","version":"0.12.11","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.8-py3-none-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 359a1e5b495448ee1e91018064382ebc86f90e8aac2fed222c7d0e4e8df85fd2
MD5 41d6e0909c594c3ef02d0a33f6fdff26
BLAKE2b-256 2ed4f42edddb39668af1a559ceafa3823aedd65633a48dc9768e775485faa2c1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.16.8-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.11 {"installer":{"name":"uv","version":"0.12.11","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.8-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 6ca111ba0849539165e9e59d2b442542f3c1e8060ebbdea82494f1ffbccb1e1f
MD5 867e7db852eca19914baf41b2e428c4e
BLAKE2b-256 f39d76a2e26c79a23be6e6e3664c57bec9e9fc8de155cfb9e4b67ea91b64f9d7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.16.8-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.11 {"installer":{"name":"uv","version":"0.12.11","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.8-py3-none-manylinux_2_31_riscv64.whl
Algorithm Hash digest
SHA256 a2bf6bc3e9ebdd4449abc6f06cf64b98051a2c61cf94d2fe9596518c881f1a1e
MD5 0ed605bb914608ae62b34bba99ccdc86
BLAKE2b-256 f52ccefd07bfe914b84943ea769ade8d607bd22750b965d3228eefd7cebd15d0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.16.8-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.11 {"installer":{"name":"uv","version":"0.12.11","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.8-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 15e7d226246961db9235098333caa13063906d3851136b84c2900b82f5daa1df
MD5 14f6b6d744dbec6517cc42868fc4d810
BLAKE2b-256 1a41d83af9879a7b6e8bf5fe16b1da0b134049d2f5d3afac12defb0897cb84bd

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.16.8-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.11 {"installer":{"name":"uv","version":"0.12.11","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.8-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 644bb578569e0ffc575741232bd385dacdd6fbe123f1a729e7a225f54aa3957f
MD5 4d66886525fa599512324db4e0e50500
BLAKE2b-256 c23dbbd2a9a600a4e73dc3e7548a249c8d1671273464b55822c6fae50f602dff

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.16.8-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.11 {"installer":{"name":"uv","version":"0.12.11","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.8-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 34508983c70665578dab88f5223d8e6228307e1135398ca8bfc8b7e9501e282b
MD5 32d1432e99ed0c07a5b7fd00b537f138
BLAKE2b-256 c3e4fc91a642b78ccbab6b9477720f3644ae7a10a9bcce69a934679cd64f62bc

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.16.8-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.11 {"installer":{"name":"uv","version":"0.12.11","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.8-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 3fdc5563cdc50555e6fba39322850860e9267c1b3d12c26a74729d8604c3c812
MD5 fb9803b6b10f79eb292f3e0cad5fcfc8
BLAKE2b-256 22cc40873a8f36ad084cc540d55fcca7077264d5b13b24659e9180c176fb2b08

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.16.8-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
  • Upload date:
  • Size: 9.9 MB
  • Tags: Python 3, manylinux: glibc 2.17+ ARMv7l
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.11 {"installer":{"name":"uv","version":"0.12.11","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.8-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 3a79b795469fef7fc6e908b218eed2eb17332afd85031db6480dc864560e69b2
MD5 07540ceeffbd096fde72bfd7531b4fe8
BLAKE2b-256 f3ed37b6cb3d3ba8c73e68ae3eb1d502383beb5aa05a582bb7bb3a922f929f54

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.16.8-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.11 {"installer":{"name":"uv","version":"0.12.11","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.8-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 8efeae3bbe414a5efefda11a792dfb51ef90ac48d50c4830de2f644caf3e8659
MD5 eee2b4bb0fe609b9ffd89ba37ee27f11
BLAKE2b-256 23f2311a08776d75d81c7676e20b6b020ae63cbe881fcdc7a8dd64e6e18bdd93

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.16.8-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.11 {"installer":{"name":"uv","version":"0.12.11","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.8-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7ea781c7f2afba8c6a505ea0fb3f994020249e0c450635f5381286fea6b46170
MD5 c39d4cad5559d055799144d8919e0fcf
BLAKE2b-256 fe1fe6a712e3b47cad4a40600134105ed193cb773f618a42eb7ba323cb812cc0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.16.8-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.11 {"installer":{"name":"uv","version":"0.12.11","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.8-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 42ed6b878ed61e3acca92f2730a17acff39286944ea82398544696366a6f925e
MD5 37302e3130287321f26a5d9863027e1e
BLAKE2b-256 549807f90ecbc74dd5fb5764f11f2bc774d6a7cffef92d2ff5f5b4e9e23c754e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.16.8-py3-none-linux_armv6l.whl
  • Upload date:
  • Size: 10.0 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.11 {"installer":{"name":"uv","version":"0.12.11","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.8-py3-none-linux_armv6l.whl
Algorithm Hash digest
SHA256 6ffbd6d87383c1edf5f6fa890f10200950240d7c1a16052a19a09d3a2307dd38
MD5 cd3801f8813eda97879d9dddf15a57cd
BLAKE2b-256 ac256071aabc530e9be7e2c195e8fe3f7aea2735405b6cf447212832d7811831

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.16.8 This release

18 files

0.16.7

18 files

0.16.6

18 files

0.16.5

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