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.6.2/install.sh | sh
powershell -c "irm https://astral.sh/ruff/0.6.2/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.6.2
  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 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: 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.6.2.tar.gz (2.5 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.6.2-py3-none-win_arm64.whl (8.2 MB view details)

Uploaded Python 3Windows ARM64

ruff-0.6.2-py3-none-win_amd64.whl (8.8 MB view details)

Uploaded Python 3Windows x86-64

ruff-0.6.2-py3-none-win32.whl (8.0 MB view details)

Uploaded Python 3Windows x86

ruff-0.6.2-py3-none-musllinux_1_2_x86_64.whl (10.3 MB view details)

Uploaded Python 3musllinux: musl 1.2+ x86-64

ruff-0.6.2-py3-none-musllinux_1_2_i686.whl (9.9 MB view details)

Uploaded Python 3musllinux: musl 1.2+ i686

ruff-0.6.2-py3-none-musllinux_1_2_armv7l.whl (9.6 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARMv7l

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

Uploaded Python 3musllinux: musl 1.2+ ARM64

ruff-0.6.2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.3 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

ruff-0.6.2-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl (11.6 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ s390x

ruff-0.6.2-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (10.6 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ppc64le

ruff-0.6.2-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl (11.0 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ppc64

ruff-0.6.2-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl (10.3 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ i686

ruff-0.6.2-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (9.5 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARMv7l

ruff-0.6.2-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (10.1 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

ruff-0.6.2-py3-none-macosx_11_0_arm64.whl (9.2 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

ruff-0.6.2-py3-none-macosx_10_12_x86_64.whl (9.5 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

ruff-0.6.2-py3-none-linux_armv6l.whl (9.7 MB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for ruff-0.6.2.tar.gz
Algorithm Hash digest
SHA256 239ee6beb9e91feb8e0ec384204a763f36cb53fb895a1a364618c6abb076b3be
MD5 4f062873eb604c751e97ddcf8c66f9f7
BLAKE2b-256 23f4279d044f66b79261fd37df76bf72b64471afab5d3b7906a01499c4451910

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for ruff-0.6.2-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 f28fcd2cd0e02bdf739297516d5643a945cc7caf09bd9bcb4d932540a5ea4fa9
MD5 a9a644aa4f6de391acb0d2287be51bff
BLAKE2b-256 5691577cdd64cce5e74d3f8b5ecb93f29566def569c741eb008aed4f331ef821

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for ruff-0.6.2-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 d9f3469c7dd43cd22eb1c3fc16926fb8258d50cb1b216658a07be95dd117b0f2
MD5 29f18d06de59410cc48f764a4c4624e8
BLAKE2b-256 b080fff12ffe11853d9f4ea3e5221e6dd2e93640a161c05c9579833e09ad40a7

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for ruff-0.6.2-py3-none-win32.whl
Algorithm Hash digest
SHA256 279d5f7d86696df5f9549b56b9b6a7f6c72961b619022b5b7999b15db392a4da
MD5 09d473d412fce88cd9bb30a691524c98
BLAKE2b-256 79a90f2f21fe15ba537c46598f96aa9ae4a3d4b9ec64926664617ca6a8c772f4

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for ruff-0.6.2-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 7438a7288f9d67ed3c8ce4d059e67f7ed65e9fe3aa2ab6f5b4b3610e57e3cb56
MD5 870df803dee170263ba84740da2065a3
BLAKE2b-256 5c5bd6a72a6a6bbf097c09de468326ef5fa1c9e7aa5e6e45979bc0d984b0dbe7

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for ruff-0.6.2-py3-none-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 d0d62ca91219f906caf9b187dea50d17353f15ec9bb15aae4a606cd697b49b4c
MD5 bc27793b4193af4ae74661ec39490e1c
BLAKE2b-256 54033dc6dc9419f276f05805bf888c279e3e0b631284abd548d9e87cebb93aec

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for ruff-0.6.2-py3-none-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 5b939f9c86d51635fe486585389f54582f0d65b8238e08c327c1534844b3bb9a
MD5 d108ba2fdb127f5f18263e0d96d1083a
BLAKE2b-256 06740bd4e0a7ed5f6908df87892f9bf60a2356c0fd74102d8097298bd9b4f346

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruff-0.6.2-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 1175d39faadd9a50718f478d23bfc1d4da5743f1ab56af81a2b6caf0a2394f23
MD5 5bc5c3e6b3e9ddae31acd408736bc9ad
BLAKE2b-256 c489e45c9359b9cdd4245512ea2b9f2bb128a997feaa5f726fc9e8c7a66afadf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruff-0.6.2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7db6880c53c56addb8638fe444818183385ec85eeada1d48fc5abe045301b2f1
MD5 486c668dc3068903b7a865414098d3c0
BLAKE2b-256 604cc0f1cd35ce4a93c54a6bb1ee6934a3a205fa02198dd076678193853ceea1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruff-0.6.2-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 a8f310d63af08f583363dfb844ba8f9417b558199c58a5999215082036d795a1
MD5 92efbae5d3e92a67eb850c63e7aaa1c8
BLAKE2b-256 e4732ee4cd19f44992fedac1cc6db9e3d825966072f6dcbd4032f21cbd063170

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruff-0.6.2-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 d371f7fc9cec83497fe7cf5eaf5b76e22a8efce463de5f775a1826197feb9df8
MD5 939a8080b3d313c972437f178795b1fa
BLAKE2b-256 8ba96ecd66af8929e0f2a1ed308a4137f3521789f28f0eb97d32c2ca3aa7000c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruff-0.6.2-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl
Algorithm Hash digest
SHA256 2aed7e243be68487aa8982e91c6e260982d00da3f38955873aecd5a9204b1d66
MD5 fd66da75f347c5949baad66e36cc46a2
BLAKE2b-256 db96d2699cfb1bb5a01c68122af43454c76c31331e1c8a9bd97d653d7c82524b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruff-0.6.2-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 d72b8b3abf8a2d51b7b9944a41307d2f442558ccb3859bbd87e6ae9be1694a5d
MD5 5421d3403440b5902425a6fe1cce1e90
BLAKE2b-256 cdcc4c8d0e225b559a3fae6092ec310d7150d3b02b4669e9223f783ef64d82c0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruff-0.6.2-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 316d418fe258c036ba05fbf7dfc1f7d3d4096db63431546163b472285668132b
MD5 c436e295fa3fbe295ece626e8d929879
BLAKE2b-256 08d086f3cb0f6934c99f759c232984a5204d67a26745cad2d9edff6248adf7d2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruff-0.6.2-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 094600ee88cda325988d3f54e3588c46de5c18dae09d683ace278b11f9d4d534
MD5 5a028b536e3454298f2dfe99d1963b1d
BLAKE2b-256 051c765192bab32b79efbb498b06f0b9dcb3629112b53b8777ae1d19b8209e09

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for ruff-0.6.2-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3dbeac76ed13456f8158b8f4fe087bf87882e645c8e8b606dd17b0b66c2c1158
MD5 e53752f69f9aad68fc40fb0ac79c3ca0
BLAKE2b-256 2fcf77fbd8d4617b9b9c503f9bffb8552c4e3ea1a58dc36975e7a9104ffb0f85

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruff-0.6.2-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 17002fe241e76544448a8e1e6118abecbe8cd10cf68fde635dad480dba594570
MD5 158fbc9af2187f19488611ab450f3a62
BLAKE2b-256 aec38aac62ac4638c14a740ee76a755a925f2d0d04580ab790a9887accb729f6

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for ruff-0.6.2-py3-none-linux_armv6l.whl
Algorithm Hash digest
SHA256 5c8cbc6252deb3ea840ad6a20b0f8583caab0c5ef4f9cca21adc5a92b8f79f3c
MD5 e452087be326d3c95c38b3be1e3a52e3
BLAKE2b-256 724b47dd7a69287afb4069fa42c198e899463605460a58120196711bfcf0446b

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