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.1/install.sh | sh
powershell -c "irm https://astral.sh/ruff/0.5.1/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.1
  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

This version

0.5.1

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

Uploaded Python 3Windows ARM64

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

Uploaded Python 3Windows x86-64

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

Uploaded Python 3Windows x86

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

Uploaded Python 3musllinux: musl 1.2+ x86-64

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

Uploaded Python 3musllinux: musl 1.2+ i686

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

Uploaded Python 3musllinux: musl 1.2+ ARMv7l

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

Uploaded Python 3musllinux: musl 1.2+ ARM64

ruff-0.5.1-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.1-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl (11.4 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ s390x

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

Uploaded Python 3manylinux: glibc 2.17+ ppc64le

ruff-0.5.1-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl (10.9 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ppc64

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

Uploaded Python 3manylinux: glibc 2.17+ i686

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

Uploaded Python 3manylinux: glibc 2.17+ ARMv7l

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

Uploaded Python 3manylinux: glibc 2.17+ ARM64

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

Uploaded Python 3macOS 11.0+ ARM64

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

Uploaded Python 3macOS 10.12+ x86-64

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: ruff-0.5.1.tar.gz
  • Upload date:
  • Size: 2.6 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.1.tar.gz
Algorithm Hash digest
SHA256 3164488aebd89b1745b47fd00604fb4358d774465f20d1fcd907f9c0fc1b0655
MD5 cec7bd3d7e5f904b4354c0f62b35fe59
BLAKE2b-256 aadc8d95ce5e15f0f25dc1fb6e9a11d6f33379e092d528a3b0535de246e07182

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.5.1-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.1-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 2875b7596a740cbbd492f32d24be73e545a4ce0a3daf51e4f4e609962bfd3cd2
MD5 eb14fffc6ae5c18f6bad2d244c3d65a4
BLAKE2b-256 f6b1fd215876543ac2a3ddd477487f574ca2d91973d0ecd87664095e6b249017

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.5.1-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.1-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 b1789bf2cd3d1b5a7d38397cac1398ddf3ad7f73f4de01b1e913e2abc7dfc51d
MD5 1aa9ce38d33e7da25b864a98232724cc
BLAKE2b-256 a89fe236acf3b95b383a5241da0f758fc8688d1796837b6bec8ee528130c3dba

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.5.1-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.1-py3-none-win32.whl
Algorithm Hash digest
SHA256 5c441d9c24ec09e1cb190a04535c5379b36b73c4bc20aa180c54812c27d1cca4
MD5 cf74ecb6b01f7456712246162ce7bd7c
BLAKE2b-256 9c39da2a5cc52fd239e291c0ff473137d6733778e481b8e4469fd1c4c891c7f7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.5.1-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.1-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 bac6288e82f6296f82ed5285f597713acb2a6ae26618ffc6b429c597b392535c
MD5 2563deac33c7d631fae23f615a13fc60
BLAKE2b-256 6da3fb5a4ee18cee7b44e9309a9b8d7b8d76a12ee7f3ef53f6c0dcc71c080f2d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.5.1-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.1-py3-none-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 d7ceb9b2fe700ee09a0c6b192c5ef03c56eb82a0514218d8ff700f6ade004108
MD5 ff8e55fc28d46a27ba7fbf3683e84f05
BLAKE2b-256 7d7cb4ab2d5d90bab6e16ea79c261aeb437cb804b436d376c70f37f37086907c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.5.1-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.1-py3-none-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 dfaf11c8a116394da3b65cd4b36de30d8552fa45b8119b9ef5ca6638ab964fa3
MD5 25974007b148a640e0f58982c65395da
BLAKE2b-256 5fea6d96bd900cfe2a2401de733c4bd9ee3e5811cb27584ade3bbcdee638afc8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruff-0.5.1-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 c4c2112e9883a40967827d5c24803525145e7dab315497fae149764979ac7929
MD5 b7c7612217e3b89209fa0f102b0a9030
BLAKE2b-256 3938c480773c22012535ca121c9488323943406c1780f22f9bb5ca51e830c2b1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruff-0.5.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e216fc75a80ea1fbd96af94a6233d90190d5b65cc3d5dfacf2bd48c3e067d3e1
MD5 9948e94f4e20444ed95059ddebc1a5f2
BLAKE2b-256 8ad58271d42dd239b7c2d163615b3b01b1acfb187f5114bfca6d5a85e1d6a1eb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruff-0.5.1-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 be9fd62c1e99539da05fcdc1e90d20f74aec1b7a1613463ed77870057cd6bd96
MD5 ded5f434cce28da1dadc6e2cd04af187
BLAKE2b-256 b7438546df86010041ab9f7e80f1a85cd4b8042a55338d7a30561ef835cba9e2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruff-0.5.1-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 bdd9f723e16003623423affabcc0a807a66552ee6a29f90eddad87a40c750b78
MD5 b5ec1769bc53c8b5734ca01ec00a2a4b
BLAKE2b-256 b2f911ca13d8040830140d4385af241d435e1b1b1387a987df707c969c5bbfb9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruff-0.5.1-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl
Algorithm Hash digest
SHA256 3a9a9a1b582e37669b0138b7c1d9d60b9edac880b80eb2baba6d0e566bdeca4d
MD5 702f2a2ddea3068eee98714601578cb8
BLAKE2b-256 753b1ada2a113e1899e215e7542a42e59e5143d7ce4e9b04b7f9f03217414139

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruff-0.5.1-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 f0368d765eec8247b8550251c49ebb20554cc4e812f383ff9f5bf0d5d94190b0
MD5 00f6d7ec07c0091f91f8bfa8facc9258
BLAKE2b-256 ac7f5824713ffcb5ce055dc7e509cb2d5d5ef405af73cd1615d27e475114dc89

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruff-0.5.1-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 5e478d2f09cf06add143cf8c4540ef77b6599191e0c50ed976582f06e588c994
MD5 647a0630c22365f122cdbe76fa69767f
BLAKE2b-256 bbb163211390db6afa0e24bdd5b1d5053693074759ce940c0669576834fc6026

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruff-0.5.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 38beace10b8d5f9b6bdc91619310af6d63dd2019f3fb2d17a2da26360d7962fa
MD5 bfba8ee9953016fcddcb0e19013f21db
BLAKE2b-256 3457db0df86298aa6082c396b44d4ad12a16ee891f61513849e5bdaeab0a4c7a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.5.1-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.1-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d235968460e8758d1e1297e1de59a38d94102f60cafb4d5382033c324404ee9d
MD5 78fb157c7e0774501616635b7ddfa115
BLAKE2b-256 a964b0356632574dea983e2d718f064d95f8a45f8f381d094c917685f1d6fc26

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruff-0.5.1-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 204fb0a472f00f2e6280a7c8c7c066e11e20e23a37557d63045bf27a616ba61c
MD5 d929f7c1a8a10be24f03ff2c6922b862
BLAKE2b-256 409880295e661ba1219c584a2d6103277bce16c6ff7cd0d9e3597bb16c115113

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.5.1-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.1-py3-none-linux_armv6l.whl
Algorithm Hash digest
SHA256 6ecf968fcf94d942d42b700af18ede94b07521bd188aaf2cd7bc898dd8cb63b6
MD5 e1255d4b31532a438d34b674fd5fdfa9
BLAKE2b-256 5836c4684f20bc0f6e4725177fbed8557a1d4c8dd118584112313ee03876f4dd

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