Skip to main content

An extremely fast Python linter and code formatter, written in Rust.

Project description

Ruff

Ruff image image image Actions status Discord

Docs | Playground

An extremely fast Python linter and code formatter, written in Rust.

Shows a bar chart with benchmark results.

Linting the CPython codebase from scratch.

  • ⚡️ 10-100x faster than existing linters (like Flake8) and formatters (like Black)
  • 🐍 Installable via pip
  • 🛠️ pyproject.toml support
  • 🤝 Python 3.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 check   # Lint all files in the current directory.
uvx ruff 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.15.20/install.sh | sh
powershell -c "irm https://astral.sh/ruff/0.15.20/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.15.20
  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).

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]
# Enable Pyflakes (`F`) and a subset of the pycodestyle (`E`) codes by default.
select = ["E4", "E7", "E9", "F"]
ignore = []

# Allow fix for all enabled rules (when `--fix`) is provided.
fixable = ["ALL"]
unfixable = []

# Allow unused variables when underscore-prefixed.
dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$"

[format]
# Like Black, use double quotes for strings.
quote-style = "double"

# Like Black, indent with spaces, rather than tabs.
indent-style = "space"

# Like Black, respect magic trailing commas.
skip-magic-trailing-comma = false

# Like Black, automatically detect the appropriate line ending.
line-ending = "auto"

Note that, in a pyproject.toml, each section header should be prefixed with tool.ruff. For example, [lint] should be replaced with [tool.ruff.lint].

Some configuration options can be provided via dedicated command-line arguments, such as those related to rule enablement and disablement, file discovery, and logging level:

ruff check --select F401 --select F403 --quiet

The remaining configuration options can be provided through a catch-all --config argument:

ruff check --config "lint.per-file-ignores = {'some_file.py' = ['F841']}"

To opt in to the latest lint rules, formatter style changes, interface updates, and more, enable preview mode by setting preview = true in your configuration file or passing --preview on the command line. Preview mode enables a collection of unstable features that may change prior to stabilization.

See ruff help for more on Ruff's top-level commands, or ruff help check and ruff help format for more on the linting and formatting commands, respectively.

Rules

Ruff supports over 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 Flake8's F rules, along with a subset of the E rules, omitting any stylistic rules that overlap with the use of a formatter, like ruff format or Black.

If you're just getting started with Ruff, the default rule set is a great place to start: it catches a wide variety of common errors (like unused imports) with zero configuration.

In preview, Ruff enables an expanded set of default rules that includes rules from the B, UP, and RUF categories, as well as many more. If you give the new defaults a try, feel free to leave feedback in the GitHub discussion, where you can also find the new rule set listed in full.

Beyond the defaults, Ruff re-implements some of the most popular Flake8 plugins and related code quality tools, including:

For a complete enumeration of the supported rules, see Rules.

Contributing

Contributions are welcome and highly appreciated. To get started, check out the contributing guidelines.

You can also join us on Discord.

Support

Having trouble? Check out the existing issues on GitHub, or feel free to open a new one.

You can also ask for help on Discord.

Acknowledgements

Ruff's linter draws on both the APIs and implementation details of many other tools in the Python ecosystem, especially Flake8, Pyflakes, pycodestyle, pydocstyle, pyupgrade, and isort.

In some cases, Ruff includes a "direct" Rust port of the corresponding tool. We're grateful to the maintainers of these tools for their work, and for all the value they've provided to the Python community.

Ruff's formatter is built on a fork of Rome's rome_formatter, and again draws on both API and implementation details from Rome, Prettier, and Black.

Ruff's import resolver is based on the import resolution algorithm from Pyright.

Ruff is also influenced by a number of tools outside the Python ecosystem, like Clippy and ESLint.

Ruff is the beneficiary of a large number of contributors.

Ruff is released under the MIT license.

Who's Using Ruff?

Ruff is used by a number of major open-source projects and companies, including:

Show Your Support

If you're using Ruff, consider adding the Ruff badge to your project's README.md:

[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)

...or README.rst:

.. image:: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json
    :target: https://github.com/astral-sh/ruff
    :alt: Ruff

...or, as HTML:

<a href="https://github.com/astral-sh/ruff"><img src="https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json" alt="Ruff" style="max-width:100%;"></a>

License

This repository is licensed under the MIT License

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ruff-0.15.20.tar.gz (4.8 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.15.20-py3-none-win_arm64.whl (11.3 MB view details)

Uploaded Python 3Windows ARM64

ruff-0.15.20-py3-none-win_amd64.whl (12.0 MB view details)

Uploaded Python 3Windows x86-64

ruff-0.15.20-py3-none-win32.whl (10.9 MB view details)

Uploaded Python 3Windows x86

ruff-0.15.20-py3-none-musllinux_1_2_x86_64.whl (11.6 MB view details)

Uploaded Python 3musllinux: musl 1.2+ x86-64

ruff-0.15.20-py3-none-musllinux_1_2_i686.whl (11.2 MB view details)

Uploaded Python 3musllinux: musl 1.2+ i686

ruff-0.15.20-py3-none-musllinux_1_2_armv7l.whl (10.6 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARMv7l

ruff-0.15.20-py3-none-musllinux_1_2_aarch64.whl (10.9 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARM64

ruff-0.15.20-py3-none-manylinux_2_31_riscv64.whl (11.5 MB view details)

Uploaded Python 3manylinux: glibc 2.31+ riscv64

ruff-0.15.20-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.5 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

ruff-0.15.20-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl (11.5 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ s390x

ruff-0.15.20-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (12.3 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ppc64le

ruff-0.15.20-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl (11.5 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ i686

ruff-0.15.20-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (10.6 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARMv7l

ruff-0.15.20-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (11.0 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

ruff-0.15.20-py3-none-macosx_11_0_arm64.whl (10.6 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

ruff-0.15.20-py3-none-macosx_10_12_x86_64.whl (11.2 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

ruff-0.15.20-py3-none-linux_armv6l.whl (10.8 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ruff-0.15.20.tar.gz
  • Upload date:
  • Size: 4.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.24 {"installer":{"name":"uv","version":"0.11.24","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.15.20.tar.gz
Algorithm Hash digest
SHA256 1416eb04349192646b54de98f146c4f59afe37d0decfc02c3cbbf396f3a28566
MD5 a45e09ae2ad15eea709a9053c61c8447
BLAKE2b-256 43dc35b341fc554ba02f217fc10da57d1a75168cfbcf75b0ef2202176d4c4f2d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.15.20-py3-none-win_arm64.whl
  • Upload date:
  • Size: 11.3 MB
  • Tags: Python 3, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.24 {"installer":{"name":"uv","version":"0.11.24","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.15.20-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 2f5b2a6d614e8700388806a14996c40fab2c47b819ef57d790a34878858ed9ca
MD5 934a0df621eb3f6cec39b296eef00ff7
BLAKE2b-256 d72b9555445e1201d92b3195f45cdb153a0b68f24e0a4273f6e3d5ab46e212bb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.15.20-py3-none-win_amd64.whl
  • Upload date:
  • Size: 12.0 MB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.24 {"installer":{"name":"uv","version":"0.11.24","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.15.20-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 a525c81c70fb0380344dd1d8745d8cc1c890b7fc94a58d5a07bd8eb9557b8415
MD5 c5dbed6a3e702294de3182e8fcd8e271
BLAKE2b-256 faf0fe47c501f9dea92a26d788ff98bb5d92ed4cb4c88792c5c88af6b697dc8e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.15.20-py3-none-win32.whl
  • Upload date:
  • Size: 10.9 MB
  • Tags: Python 3, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.24 {"installer":{"name":"uv","version":"0.11.24","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.15.20-py3-none-win32.whl
Algorithm Hash digest
SHA256 ed65ef510e43a137207e0f01cfcf998aeddb1aeeda5c9d35023e910284d7cf21
MD5 cb93fa12a48de8926a2350b525bcf980
BLAKE2b-256 109b5f14927848d2fd4aa891fd88d883788c5a7baba561c7874732364045708c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.15.20-py3-none-musllinux_1_2_x86_64.whl
  • Upload date:
  • Size: 11.6 MB
  • Tags: Python 3, musllinux: musl 1.2+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.24 {"installer":{"name":"uv","version":"0.11.24","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.15.20-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 01cc00dd58f0df339d0e902219dd53990ea99996a0344e5d9cc8d45d5307e460
MD5 e528b1fd1eb60653fa0bfe8f955cbbaa
BLAKE2b-256 5aa40caa331d954ae2723d729d351c989cb4ca8b6077d5c6c2cb6de75e98c041

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.15.20-py3-none-musllinux_1_2_i686.whl
  • Upload date:
  • Size: 11.2 MB
  • Tags: Python 3, musllinux: musl 1.2+ i686
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.24 {"installer":{"name":"uv","version":"0.11.24","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.15.20-py3-none-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 5b9c0c367ad8e5d0d5b5b8537864c469a0a0e55417aadfbeca41fa61333be9f4
MD5 9dd9aec329357b192b6d9b066736c86f
BLAKE2b-256 b0c0a65aa4ec2f5e87a1df32dc3ec1fede434fe3dfd5cbcf3b503cafc676ab54

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.15.20-py3-none-musllinux_1_2_armv7l.whl
  • Upload date:
  • Size: 10.6 MB
  • Tags: Python 3, musllinux: musl 1.2+ ARMv7l
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.24 {"installer":{"name":"uv","version":"0.11.24","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.15.20-py3-none-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 f701305e66b38ea6c91882490eb73459796808e4c6362a1b765255e0cdcd4053
MD5 dc7a3aeea8bb609967084b37d5094db4
BLAKE2b-256 714bfe267640783cd02bf6c5cc290b1df1051be2ec294c678b5c15fe19e52343

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.15.20-py3-none-musllinux_1_2_aarch64.whl
  • Upload date:
  • Size: 10.9 MB
  • Tags: Python 3, musllinux: musl 1.2+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.24 {"installer":{"name":"uv","version":"0.11.24","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.15.20-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 a1ed17b65293e0c2f22fc387bc13198a5de94bf4429589b0ff6946b0feaf21a3
MD5 174149868326df06842c3ab97fdbaece
BLAKE2b-256 4bf451b1a14bc69e8c224b15dab9cce8e99b425e0455d462caa2b3c9be2b6a8e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.15.20-py3-none-manylinux_2_31_riscv64.whl
  • Upload date:
  • Size: 11.5 MB
  • Tags: Python 3, manylinux: glibc 2.31+ riscv64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.24 {"installer":{"name":"uv","version":"0.11.24","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.15.20-py3-none-manylinux_2_31_riscv64.whl
Algorithm Hash digest
SHA256 2d2374caa2f2c2f9e2b7da0a50802cfb8b79f55a9b5e49379f564544fbf56487
MD5 550cc721dd38fdf8bb1e140e53d413f3
BLAKE2b-256 190ff032696cb01c9b54c0263fa393474d7758f1cdc021a01b04e3cbc2500999

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.15.20-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 11.5 MB
  • Tags: Python 3, manylinux: glibc 2.17+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.24 {"installer":{"name":"uv","version":"0.11.24","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.15.20-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 309809086c2acb67624950a3c8133e80f32d0d3e27106c0cd60ff26657c9f24b
MD5 99476da6c5093a29ee39ec38a5c47a1a
BLAKE2b-256 86b1a976a136d40ade83ce743578399865f57001003a409acadc0ecbb3051082

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.15.20-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl
  • Upload date:
  • Size: 11.5 MB
  • Tags: Python 3, manylinux: glibc 2.17+ s390x
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.24 {"installer":{"name":"uv","version":"0.11.24","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.15.20-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 e89f198a1ea6ef0d727c1cf16088bc91a6cb0ab947dedc966715691647186eae
MD5 73c0406d6687caa41543b29e055b87e8
BLAKE2b-256 a674165545b60256a9704c21ac0ec4a0d07933b320812f9584836c9f4aca4292

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.15.20-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
  • Upload date:
  • Size: 12.3 MB
  • Tags: Python 3, manylinux: glibc 2.17+ ppc64le
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.24 {"installer":{"name":"uv","version":"0.11.24","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.15.20-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 b6df3b1e4610432f0386dba04d853b5f08cbbc903410c6fcc02f620f05aff53c
MD5 6a37e86082a99cccb26f02504063eaff
BLAKE2b-256 27a0f37077884873221c6b33b4ab49eb18f9f88e54a16a25a5bca59bef46dd66

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.15.20-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
  • Upload date:
  • Size: 11.5 MB
  • Tags: Python 3, manylinux: glibc 2.17+ i686
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.24 {"installer":{"name":"uv","version":"0.11.24","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.15.20-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 e1a36ad0eb77fba9aabfb69ede54de6f376d04ac18ebea022847046d340a8267
MD5 0d7f74a8ed50b88511c769da5669b305
BLAKE2b-256 137a43460be3f24495a3aa46d4b16873e2c4941b3b5f0b00cf88c03b7b94b339

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.15.20-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
  • Upload date:
  • Size: 10.6 MB
  • Tags: Python 3, manylinux: glibc 2.17+ ARMv7l
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.24 {"installer":{"name":"uv","version":"0.11.24","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.15.20-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 bd7ec42b3bb3da066488db093308a69c4ac5ee6d2af333a86ba6e2eb2e7dd44b
MD5 fe668a9b9ed525546d9409e5ab911823
BLAKE2b-256 76e692e7bf40388bc5800073b96564f56264f7e48bfd1a498f5ced6ae6d5a769

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.15.20-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
  • Upload date:
  • Size: 11.0 MB
  • Tags: Python 3, manylinux: glibc 2.17+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.24 {"installer":{"name":"uv","version":"0.11.24","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.15.20-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 3413bb3c3d2ca6a8208f1f4809cd2dca3c6de6d0b491c0e70847672bde6e6efd
MD5 db44df17716b9fa156a8dbf15963f61b
BLAKE2b-256 33134e043fe30aa94d4ff5213a9881fc296d12960f5971b234a5263fdc225312

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.15.20-py3-none-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 10.6 MB
  • Tags: Python 3, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.24 {"installer":{"name":"uv","version":"0.11.24","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.15.20-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c5b16cdd67ca108185cd36dce98c576350c03b1660a751de725fb049193a0632
MD5 8117874c62f86fe548b505d69a946346
BLAKE2b-256 4747d3ac899991202095dfcf3d5176be4272642be3cf981a2f1a30f72a2afb95

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.15.20-py3-none-macosx_10_12_x86_64.whl
  • Upload date:
  • Size: 11.2 MB
  • Tags: Python 3, macOS 10.12+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.24 {"installer":{"name":"uv","version":"0.11.24","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.15.20-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 9ebd1fd9b9c95fc0bd7b2761aebec1f030013d2e193a2901b224af68fe47251b
MD5 b0459539aed864ee8d035e03dbd3ce16
BLAKE2b-256 c6d3ac1798ba64f670698867fcfc591d50e7e421bef137db564858f619a30fcf

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.15.20-py3-none-linux_armv6l.whl
  • Upload date:
  • Size: 10.8 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.24 {"installer":{"name":"uv","version":"0.11.24","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.15.20-py3-none-linux_armv6l.whl
Algorithm Hash digest
SHA256 00e188c53e499c3c1637f73c91dcf2fb56d576cab76ce1be50a27c4e80e37078
MD5 609c272cd10a6957e7ef3fdbcfc799a2
BLAKE2b-256 94d92d5014f0253ba541d2061d9fa7193f48e941c8b21bb88a7ff9bbe0bd0596

See more details on using hashes here.

Supported by

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