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.13 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 800 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. 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:

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:

# 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.5.3/install.sh | sh
powershell -c "irm https://astral.sh/ruff/0.5.3/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.5.3
  hooks:
    # Run the linter.
    - id: ruff
      args: [ --fix ]
    # Run the formatter.
    - id: ruff-format

Ruff can also be used as a VS Code extension or alongside any other editor through the Ruff LSP.

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: chartboost/ruff-action@v1

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.8
target-version = "py38"

[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 800 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.

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.5.3.tar.gz (2.4 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.5.3-py3-none-win_arm64.whl (8.0 MB view details)

Uploaded Python 3Windows ARM64

ruff-0.5.3-py3-none-win_amd64.whl (8.6 MB view details)

Uploaded Python 3Windows x86-64

ruff-0.5.3-py3-none-win32.whl (7.8 MB view details)

Uploaded Python 3Windows x86

ruff-0.5.3-py3-none-musllinux_1_2_x86_64.whl (10.2 MB view details)

Uploaded Python 3musllinux: musl 1.2+ x86-64

ruff-0.5.3-py3-none-musllinux_1_2_i686.whl (9.7 MB view details)

Uploaded Python 3musllinux: musl 1.2+ i686

ruff-0.5.3-py3-none-musllinux_1_2_armv7l.whl (9.4 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARMv7l

ruff-0.5.3-py3-none-musllinux_1_2_aarch64.whl (9.9 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARM64

ruff-0.5.3-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.1 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

ruff-0.5.3-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl (11.3 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ s390x

ruff-0.5.3-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (10.4 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ppc64le

ruff-0.5.3-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl (10.8 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ppc64

ruff-0.5.3-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl (10.1 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ i686

ruff-0.5.3-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (9.3 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARMv7l

ruff-0.5.3-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (9.9 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

ruff-0.5.3-py3-none-macosx_11_0_arm64.whl (8.2 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

ruff-0.5.3-py3-none-macosx_10_12_x86_64.whl (8.6 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

ruff-0.5.3-py3-none-linux_armv6l.whl (9.5 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ruff-0.5.3.tar.gz
  • Upload date:
  • Size: 2.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for ruff-0.5.3.tar.gz
Algorithm Hash digest
SHA256 2a3eb4f1841771fa5b67a56be9c2d16fd3cc88e378bd86aaeaec2f7e6bcdd0a2
MD5 53bdf052f1afe0860efed50c7fb25bae
BLAKE2b-256 cd2daf3ed295223c7fbb5e9b465e1243dff0f901964dc3c7ee6093c76e2dee5f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.5.3-py3-none-win_arm64.whl
  • Upload date:
  • Size: 8.0 MB
  • Tags: Python 3, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for ruff-0.5.3-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 05fbd2cb404775d6cd7f2ff49504e2d20e13ef95fa203bd1ab22413af70d420b
MD5 1829eece0c3dd1b90b3de805f1b24322
BLAKE2b-256 61051394b0310b212dc964409b9bae7c3169cee386941abe060c9d498f3b543e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.5.3-py3-none-win_amd64.whl
  • Upload date:
  • Size: 8.6 MB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for ruff-0.5.3-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 cbaec2ddf4f78e5e9ecf5456ea0f496991358a1d883862ed0b9e947e2b6aea93
MD5 fab9f770bbb698a2d6ce3c40ebf76e8b
BLAKE2b-256 8d2ccc73a4d4ea906f84c154fbbe7e20d869d3c84d38f1632c62278252261ce9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.5.3-py3-none-win32.whl
  • Upload date:
  • Size: 7.8 MB
  • Tags: Python 3, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for ruff-0.5.3-py3-none-win32.whl
Algorithm Hash digest
SHA256 eafc45dd8bdc37a00b28e68cc038daf3ca8c233d73fea276dcd09defb1352841
MD5 130c26ec6c400759895e9c9d02b0e191
BLAKE2b-256 e4aa4b5697459921fad3343d549716a65fbda716b65bfe1780814429e10464c2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.5.3-py3-none-musllinux_1_2_x86_64.whl
  • Upload date:
  • Size: 10.2 MB
  • Tags: Python 3, musllinux: musl 1.2+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for ruff-0.5.3-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 642cbff6cbfa38d2566d8db086508d6f472edb136cbfcc4ea65997745368c29e
MD5 286f1fafaa583c8ff8abce0f1b415db7
BLAKE2b-256 005de4f11faa6a337187121b93c929649ce3d14b97e45a775977e3de0d16b7e8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.5.3-py3-none-musllinux_1_2_i686.whl
  • Upload date:
  • Size: 9.7 MB
  • Tags: Python 3, musllinux: musl 1.2+ i686
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for ruff-0.5.3-py3-none-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 77d49484429ed7c7e6e2e75a753f153b7b58f875bdb4158ad85af166a1ec1822
MD5 1076478cf351b6985b66ab49ad48ee11
BLAKE2b-256 0b546924e4002d954cf774a38a4c3017645240cda48032476092cd114fa4e2f2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.5.3-py3-none-musllinux_1_2_armv7l.whl
  • Upload date:
  • Size: 9.4 MB
  • Tags: Python 3, musllinux: musl 1.2+ ARMv7l
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for ruff-0.5.3-py3-none-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 08058d077e21b856d32ebf483443390e29dc44d927608dc8f092ff6776519da9
MD5 d77707acda0a9cf54ba070743cd7a59f
BLAKE2b-256 7d41f4ef0b0d044e848b0d3f6a28b5d1997aabae791d9705edf10ea2ea954dc5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruff-0.5.3-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 7704582a026fa02cca83efd76671a98ee6eb412c4230209efe5e2a006c06db62
MD5 10d6e91df15ed98cf1a5b088e6f5ae70
BLAKE2b-256 7f7be2f1339636bf1a9b7436076f11aec718ac63e37f8855f512cf83fe424a85

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruff-0.5.3-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 03bfe9ab5bdc0b08470c3b261643ad54ea86edc32b64d1e080892d7953add3ad
MD5 7faf71ba5210ea7c3a915b7cd4994448
BLAKE2b-256 5fd8537923e6cb27c835b7991f0f0caeb85191aed744a0d808bc71ad598f9df2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruff-0.5.3-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 96066c4328a49fce2dd40e80f7117987369feec30ab771516cf95f1cc2db923c
MD5 089bf2973c10921e9702ed9196153880
BLAKE2b-256 186065a2abbce572d72875c4aa4d24c91e8344d9ecaac032bc9b29195512aee9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruff-0.5.3-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 a8cfc7a26422c78e94f1ec78ec02501bbad2df5834907e75afe474cc6b83a8c1
MD5 74015ade28fbb95e13a4877ebe899968
BLAKE2b-256 2f81f4ae8845cf21062d3a17d5f7eebfc94cc8c306a26c563c7914bc2007d145

See more details on using hashes here.

File details

Details for the file ruff-0.5.3-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl.

File metadata

File hashes

Hashes for ruff-0.5.3-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl
Algorithm Hash digest
SHA256 76bb5a87fd397520b91a83eae8a2f7985236d42dd9459f09eef58e7f5c1d8316
MD5 ee75dbda1af279e9e7901035aa0c4e63
BLAKE2b-256 eac5f98035c2ab8526dc06d55c67f0007b7f350386153ea62ac42ed174d00ebe

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruff-0.5.3-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 e791d34d3557a3819b3704bc1f087293c821083fa206812842fa363f6018a192
MD5 948a0f6e1d8d4d12ea389fa05c4cfd5e
BLAKE2b-256 ea92f91e65e83afd857834729171c225f9ac812c4641f373dfc0088882610f91

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruff-0.5.3-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 bc697ec874fdd7c7ba0a85ec76ab38f8595224868d67f097c5ffc21136e72fcd
MD5 26d9cd48b61819592cf07a44d2f9a206
BLAKE2b-256 1c26b89d18891c573bd14247219623d7261ec3b198cf58cb7964a360276e69b6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruff-0.5.3-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 cf4bc751240b2fab5d19254571bcacb315c7b0b00bf3c912d52226a82bbec073
MD5 12e023e79c1713e2371651a1b6712262
BLAKE2b-256 27d74588022a64f5833efa9938df0f956048eead3d8f859d234ddcd793b2235b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.5.3-py3-none-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 8.2 MB
  • Tags: Python 3, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for ruff-0.5.3-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d2fc2cdb85ccac1e816cc9d5d8cedefd93661bd957756d902543af32a6b04a71
MD5 1733bf874d16083f293b56e7e4ec7c03
BLAKE2b-256 8e05fd7616a2219def8eb7a04fa7cd1e7852280f72920ed75addc32b9748cdda

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruff-0.5.3-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 b8d72c5684bbd4ed304a9a955ee2e67f57b35f6193222ade910cca8a805490e3
MD5 cefe5db2a171770ba86ebba15fce663b
BLAKE2b-256 2839954391357d068d94727a3cb4addb8a1ddbb40cc7415ce38b6f9c2e497a8a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.5.3-py3-none-linux_armv6l.whl
  • Upload date:
  • Size: 9.5 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for ruff-0.5.3-py3-none-linux_armv6l.whl
Algorithm Hash digest
SHA256 b12424d9db7347fa63c5ed9af010003338c63c629fb9c9c6adb2aa4f5699729b
MD5 0c6a085a146d305b277bdace9482b8ae
BLAKE2b-256 dc457cb465afd324b50c1033c5e19c80aeaf23233b3f8ef82d28a2c3825c3992

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