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.15 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.17.0 check   # Lint all files in the current directory.
uvx ruff@0.17.0 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.17.0/install.sh | sh
powershell -c "irm https://astral.sh/ruff/0.17.0/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.17.0
  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.11
target-version = "py311"

[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 = "^(_+|(_+[\\p{XID_Continue}]*[\\p{XID_Continue}--_]+?))$"

[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

Metadata

Release files for ruff 0.17.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ruff 0.17.0
File Size Uploaded
ruff-0.17.0.tar.gz 5.3 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for ruff 0.17.0
File
ruff-0.17.0-py3-none-win_arm64.whl Python 3 none Windows ARM64 Details
ruff-0.17.0-py3-none-win_amd64.whl Python 3 none Windows x86-64 Details
ruff-0.17.0-py3-none-win32.whl Python 3 none Windows x86-32 Details
ruff-0.17.0-py3-none-musllinux_1_2_x86_64.whl Python 3 none Linux musl 1.2+ x86-64 Details
ruff-0.17.0-py3-none-musllinux_1_2_i686.whl Python 3 none Linux musl 1.2+ x86-32 Details
ruff-0.17.0-py3-none-musllinux_1_2_armv7l.whl Python 3 none Linux musl 1.2+ ARMv7l Details
ruff-0.17.0-py3-none-musllinux_1_2_aarch64.whl Python 3 none Linux musl 1.2+ ARM64 Details
ruff-0.17.0-py3-none-manylinux_2_31_riscv64.whl Python 3 none Linux glibc 2.31+ RISC-V 64 Details
ruff-0.17.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl Python 3 none Linux glibc 2.17+ x86-64 Details
ruff-0.17.0-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl Python 3 none Linux glibc 2.17+ IBM System/390x Details
ruff-0.17.0-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl Python 3 none Linux glibc 2.17+ PowerPC 64-le Details
ruff-0.17.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl Python 3 none Linux glibc 2.17+ x86-32 Details
ruff-0.17.0-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl Python 3 none Linux glibc 2.17+ ARMv7l Details
ruff-0.17.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl Python 3 none Linux glibc 2.17+ ARM64 Details
ruff-0.17.0-py3-none-macosx_11_0_arm64.whl Python 3 none macOS 11.0+ ARM64 Details
ruff-0.17.0-py3-none-macosx_10_12_x86_64.whl Python 3 none macOS 10.12+ x86-64 Details
ruff-0.17.0-py3-none-linux_armv6l.whl Python 3 none linux armv6l Details

Total release size: 179.8 MB

Release files / ruff-0.17.0.tar.gz

Download URL ruff-0.17.0.tar.gz
Size 5.3 MB
Tags Source
SHA-256 checksum
How to use checksums
5cd03240d8208a557c2a9655a5cb07ebe36aa6bb35065f97d48c1f6adef5a322
BLAKE2b-256 checksum
How to use checksums
e9a770debb024dfacda67b8e560cc7511f52b34b9348a8cc8c1ec23036dcd51d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.23 {"installer":{"name":"uv","version":"0.12.23","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}

Release files / ruff-0.17.0-py3-none-win_arm64.whl

Download URL ruff-0.17.0-py3-none-win_arm64.whl
Size 9.9 MB
Tags Python 3 Windows ARM64
SHA-256 checksum
How to use checksums
c154c73ff43f9854395e24cac507af13078962e53d2b511605058d22af1fdb88
BLAKE2b-256 checksum
How to use checksums
fd71eb4f0ccc844aece56963e8578df9c95d4c00f580547d52329d4035d3af18
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.23 {"installer":{"name":"uv","version":"0.12.23","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}

Release files / ruff-0.17.0-py3-none-win_amd64.whl

Download URL ruff-0.17.0-py3-none-win_amd64.whl
Size 10.1 MB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
8ab76bcda86dfd28e13776cb5de3c7bcdcf1ae3d37ed761113d1a5a415dc134c
BLAKE2b-256 checksum
How to use checksums
cc771ee73df41dcc8d1cdb686ee4bc46ea29704ea175feb6b95c78420f631ab8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.23 {"installer":{"name":"uv","version":"0.12.23","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}

Release files / ruff-0.17.0-py3-none-win32.whl

Download URL ruff-0.17.0-py3-none-win32.whl
Size 9.9 MB
Tags Python 3 Windows x86-32
SHA-256 checksum
How to use checksums
5e50aa5b84decd9fe5b0bb0e6f71c3b592f1767ed09faa4b7207d933961e35cd
BLAKE2b-256 checksum
How to use checksums
aebf024e01e1f6aec87768696725e648ed5b438941341eea8f8100beb681961f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.23 {"installer":{"name":"uv","version":"0.12.23","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}

Release files / ruff-0.17.0-py3-none-musllinux_1_2_x86_64.whl

Download URL ruff-0.17.0-py3-none-musllinux_1_2_x86_64.whl
Size 10.8 MB
Tags Linux musl 1.2+ x86-64 Python 3
SHA-256 checksum
How to use checksums
864b6c1acb6b0bccf94b5a3938a1531fd09aaca5e5659a2e7bf0f3cf2a685540
BLAKE2b-256 checksum
How to use checksums
2afa955399fd13044cd827862044117d784a59e3196f6cce7424908ac9a7f914
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.23 {"installer":{"name":"uv","version":"0.12.23","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}

Release files / ruff-0.17.0-py3-none-musllinux_1_2_i686.whl

Download URL ruff-0.17.0-py3-none-musllinux_1_2_i686.whl
Size 10.4 MB
Tags Linux musl 1.2+ x86-32 Python 3
SHA-256 checksum
How to use checksums
c3f268baf004aea944f040623327119527ea231af15f7fb7890e82cea0679589
BLAKE2b-256 checksum
How to use checksums
695027b6eed27b83fcdd5bfa0d52b83231e29094754374698da404d094487ae3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.23 {"installer":{"name":"uv","version":"0.12.23","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}

Release files / ruff-0.17.0-py3-none-musllinux_1_2_armv7l.whl

Download URL ruff-0.17.0-py3-none-musllinux_1_2_armv7l.whl
Size 10.0 MB
Tags Linux musl 1.2+ ARMv7l Python 3
SHA-256 checksum
How to use checksums
d66de796b726c4801e05fa99a2a8d7a780e107be222486c304ab61765561e866
BLAKE2b-256 checksum
How to use checksums
e0b884286966db79434e8c26b585b0a0f6897cb3ab1c51a4aa4df10c28488b62
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.23 {"installer":{"name":"uv","version":"0.12.23","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}

Release files / ruff-0.17.0-py3-none-musllinux_1_2_aarch64.whl

Download URL ruff-0.17.0-py3-none-musllinux_1_2_aarch64.whl
Size 10.1 MB
Tags Linux musl 1.2+ ARM64 Python 3
SHA-256 checksum
How to use checksums
3d8cc360e666d1914e47b0777c6906d70cf18891a55532bd0a16844195d70859
BLAKE2b-256 checksum
How to use checksums
908c539b4d8c082f57e18db8ae2be85a460d77861c79dcd5798e32b536a6a06f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.23 {"installer":{"name":"uv","version":"0.12.23","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}

Release files / ruff-0.17.0-py3-none-manylinux_2_31_riscv64.whl

Download URL ruff-0.17.0-py3-none-manylinux_2_31_riscv64.whl
Size 10.6 MB
Tags Linux glibc 2.31+ RISC-V 64 Python 3
SHA-256 checksum
How to use checksums
db4f74c533403ab70fe4007873f6ae0c9f94a8b03158cf48d78788e47cdbe399
BLAKE2b-256 checksum
How to use checksums
c7721a3951665485a921f6375f91e754a1854d5a645d41acc3642668064ff64d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.23 {"installer":{"name":"uv","version":"0.12.23","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}

Release files / ruff-0.17.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL ruff-0.17.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 10.4 MB
Tags Linux glibc 2.17+ x86-64 Python 3
SHA-256 checksum
How to use checksums
bc73e7c133e82d55b5f15897b2a442d72c0cb4a0c886c46801ce3c247150b60c
BLAKE2b-256 checksum
How to use checksums
2c3c4a01195d93420cad1175bedad13a515dc8a56f95a6e39789b92e582682f5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.23 {"installer":{"name":"uv","version":"0.12.23","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}

Release files / ruff-0.17.0-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl

Download URL ruff-0.17.0-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl
Size 10.9 MB
Tags Linux glibc 2.17+ IBM System/390x Python 3
SHA-256 checksum
How to use checksums
7bb08489e234876fa2da67ae3ea938e9a2156da80293e0e4365abd6973d98329
BLAKE2b-256 checksum
How to use checksums
9c0ac525efd9777be4b6b012e6969a3012648468e7e6c4b3e5b46af69f46e8eb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.23 {"installer":{"name":"uv","version":"0.12.23","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}

Release files / ruff-0.17.0-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl

Download URL ruff-0.17.0-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Size 11.4 MB
Tags Linux glibc 2.17+ PowerPC 64-le Python 3
SHA-256 checksum
How to use checksums
a330178bdffc4205dbf3bda11d93e059e388fd6546f8cdd304501a9160363c0d
BLAKE2b-256 checksum
How to use checksums
a58d97443f0dca4a03a0bc7629fd396fd494a1cb6666121e38c5075acb217d8f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.23 {"installer":{"name":"uv","version":"0.12.23","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}

Release files / ruff-0.17.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl

Download URL ruff-0.17.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
Size 10.6 MB
Tags Linux glibc 2.17+ x86-32 Python 3
SHA-256 checksum
How to use checksums
c0b8a60c06a218c337e1161638d34757f83449243e2db161483ddf948e53ad14
BLAKE2b-256 checksum
How to use checksums
87c57310f9fc63ce11ff6394edbd5e85433dfb0e14c9fbf6ccc97f1538491bc7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.23 {"installer":{"name":"uv","version":"0.12.23","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}

Release files / ruff-0.17.0-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl

Download URL ruff-0.17.0-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Size 10.0 MB
Tags Linux glibc 2.17+ ARMv7l Python 3
SHA-256 checksum
How to use checksums
3d8e4a002a94cd9d0dc48b51dc69d807a172b5b9bf2b668e656424dc5b55ead1
BLAKE2b-256 checksum
How to use checksums
cd9291f7b5ed39490f89d6cbf56e1f543c383667a725efa8e2c2dee0f01f5591
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.23 {"installer":{"name":"uv","version":"0.12.23","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}

Release files / ruff-0.17.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL ruff-0.17.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 10.0 MB
Tags Linux glibc 2.17+ ARM64 Python 3
SHA-256 checksum
How to use checksums
13ee90156522998c3037059d8f66885c8adeeaf7643bdce2caceee196ecd23e0
BLAKE2b-256 checksum
How to use checksums
ec91627700b233d367736cb274f1bd0b47d1f2b12f68878192812bd875adadc3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.23 {"installer":{"name":"uv","version":"0.12.23","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}

Release files / ruff-0.17.0-py3-none-macosx_11_0_arm64.whl

Download URL ruff-0.17.0-py3-none-macosx_11_0_arm64.whl
Size 9.3 MB
Tags Python 3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
cbf7149e0927dc3295d5d64679a4765576eef71b00782b2ae969ef82274d6bb9
BLAKE2b-256 checksum
How to use checksums
a720643f3c8f75594f937b2bf74801241c56a2e2b8e139d24dff8b66b28cdd7f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.23 {"installer":{"name":"uv","version":"0.12.23","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}

Release files / ruff-0.17.0-py3-none-macosx_10_12_x86_64.whl

Download URL ruff-0.17.0-py3-none-macosx_10_12_x86_64.whl
Size 10.2 MB
Tags Python 3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
5f0ca4a40f81403689c04f12966e22f44e329ae362072d8f1587b7bda87f603b
BLAKE2b-256 checksum
How to use checksums
9fd92f81fb5a9d580afbb11b1c8ff915233a11f2a1b27405d7991f183c5e1976
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.23 {"installer":{"name":"uv","version":"0.12.23","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}

Release files / ruff-0.17.0-py3-none-linux_armv6l.whl

Download URL ruff-0.17.0-py3-none-linux_armv6l.whl
Size 10.1 MB
Tags Python 3 linux armv6l
SHA-256 checksum
How to use checksums
0e271826af9a20d18c6cfae8c51e82959167c24859686ddd3eb9a7f0842ce81e
BLAKE2b-256 checksum
How to use checksums
bcf8ee5ab9da6089eae2a33e6008b01deb1eda19992c1c8e10661e98cee1640f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.23 {"installer":{"name":"uv","version":"0.12.23","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}

Release history Release notifications | RSS feed

This release

0.17.0 This release

18 release files

0.9.9

18 release files

0.9.8

18 release files

0.9.7

18 release files

0.9.6

18 release files

0.9.4

18 release files

0.9.3

18 release files

0.9.2

18 release files

0.9.1

18 release files

0.8.4

18 release files

0.8.3

18 release files

0.8.1

18 release files

0.8.0

18 release files

0.7.4

18 release files

0.7.1

18 release files

0.7.0

18 release files

0.6.8

18 release files

0.6.7

18 release files

0.6.6

18 release files

0.6.5

18 release files

0.6.3

18 release files

0.6.2

18 release files

0.6.1

18 release files

0.6.0

18 release files

0.5.5

18 release files

0.5.4

18 release files

0.5.3

18 release files

0.5.2

18 release files

0.5.0

18 release files

0.4.9

17 release files

0.4.7

17 release files

0.4.6

17 release files

0.4.5

17 release files

0.4.2

17 release files

0.4.1

17 release files

0.4.0

17 release files

0.3.7

17 release files

0.3.6

17 release files

0.3.4

17 release files

0.3.3

17 release files

0.3.0

17 release files

0.2.2

17 release files

0.1.9

17 release files

0.1.8

17 release files

0.1.6

17 release files

0.1.3

17 release files

0.1.2

17 release files

0.1.1

17 release files

0.1.0

17 release files

0.0.16

9 release files

0.0.15

3 release files

0.0.14

3 release files

0.0.13

3 release 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