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.7.0/install.sh | sh
powershell -c "irm https://astral.sh/ruff/0.7.0/install.ps1 | iex"

You can also install Ruff via Homebrew, Conda, and with a variety of other package managers.

Usage

To run Ruff as a linter, try any of the following:

ruff check                          # Lint all files in the current directory (and any subdirectories).
ruff check path/to/code/            # Lint all files in `/path/to/code` (and any subdirectories).
ruff check path/to/code/*.py        # Lint all `.py` files in `/path/to/code`.
ruff check path/to/code/to/file.py  # Lint `file.py`.
ruff check @arguments.txt           # Lint using an input file, treating its contents as newline-delimited command-line arguments.

Or, to run Ruff as a formatter:

ruff format                          # Format all files in the current directory (and any subdirectories).
ruff format path/to/code/            # Format all files in `/path/to/code` (and any subdirectories).
ruff format path/to/code/*.py        # Format all `.py` files in `/path/to/code`.
ruff format path/to/code/to/file.py  # Format `file.py`.
ruff format @arguments.txt           # Format using an input file, treating its contents as newline-delimited command-line arguments.

Ruff can also be used as a pre-commit hook via ruff-pre-commit:

- repo: https://github.com/astral-sh/ruff-pre-commit
  # Ruff version.
  rev: v0.7.0
  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: astral-sh/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.7.0.tar.gz (3.1 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.7.0-py3-none-win_arm64.whl (8.7 MB view details)

Uploaded Python 3Windows ARM64

ruff-0.7.0-py3-none-win_amd64.whl (9.4 MB view details)

Uploaded Python 3Windows x86-64

ruff-0.7.0-py3-none-win32.whl (8.6 MB view details)

Uploaded Python 3Windows x86

ruff-0.7.0-py3-none-musllinux_1_2_x86_64.whl (11.0 MB view details)

Uploaded Python 3musllinux: musl 1.2+ x86-64

ruff-0.7.0-py3-none-musllinux_1_2_i686.whl (10.6 MB view details)

Uploaded Python 3musllinux: musl 1.2+ i686

ruff-0.7.0-py3-none-musllinux_1_2_armv7l.whl (10.3 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARMv7l

ruff-0.7.0-py3-none-musllinux_1_2_aarch64.whl (10.7 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARM64

ruff-0.7.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.9 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ x86-64

ruff-0.7.0-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl (12.5 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ s390x

ruff-0.7.0-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (11.3 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ppc64le

ruff-0.7.0-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl (11.8 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ppc64

ruff-0.7.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl (11.0 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ i686

ruff-0.7.0-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (10.2 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARMv7l

ruff-0.7.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (10.8 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

ruff-0.7.0-py3-none-macosx_11_0_arm64.whl (9.7 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

ruff-0.7.0-py3-none-macosx_10_12_x86_64.whl (10.0 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

ruff-0.7.0-py3-none-linux_armv6l.whl (10.4 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ruff-0.7.0.tar.gz
  • Upload date:
  • Size: 3.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for ruff-0.7.0.tar.gz
Algorithm Hash digest
SHA256 47a86360cf62d9cd53ebfb0b5eb0e882193fc191c6d717e8bef4462bc3b9ea2b
MD5 1d778c1cc29125196a315013c9bfdb09
BLAKE2b-256 2cc7f3367d1da5d568192968c5c9e7f3d51fb317b9ac04828493b23d8fce8ce6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.7.0-py3-none-win_arm64.whl
  • Upload date:
  • Size: 8.7 MB
  • Tags: Python 3, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for ruff-0.7.0-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 10842f69c245e78d6adec7e1db0a7d9ddc2fff0621d730e61657b64fa36f207e
MD5 61521834d0a599641178137a7453bfc7
BLAKE2b-256 898bee1509f60148cecba644aa718f6633216784302458340311898aaf0b1bed

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for ruff-0.7.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 ff4aabfbaaba880e85d394603b9e75d32b0693152e16fa659a3064a85df7fce2
MD5 f57f6135e8ee2be59238ba7f77d4dff6
BLAKE2b-256 399fc5ee2b40d377354dabcc23cff47eb299de4b4d06d345068f8f8cc1eadac8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.7.0-py3-none-win32.whl
  • Upload date:
  • Size: 8.6 MB
  • Tags: Python 3, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for ruff-0.7.0-py3-none-win32.whl
Algorithm Hash digest
SHA256 f6c968509f767776f524a8430426539587d5ec5c662f6addb6aa25bc2e8195ec
MD5 6c3d4d4da7df3aa617c7ec0929544d54
BLAKE2b-256 d47f3b85a56879e705d5f46ec14daf8a439fca05c3081720fe3dc3209100922d

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for ruff-0.7.0-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 4b406c2dce5be9bad59f2de26139a86017a517e6bcd2688da515481c05a2cb11
MD5 727644d0481ff6c231647889f947c90b
BLAKE2b-256 f28512607ae3201423a179b8cfadc7cb1e57d02cd0135e45bd0445acb4cef327

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for ruff-0.7.0-py3-none-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 dc452ba6f2bb9cf8726a84aa877061a2462afe9ae0ea1d411c53d226661c601d
MD5 155483414cabc7a900ee9b344d7e779d
BLAKE2b-256 ff5098aec292bc9537f640b8d031c55f3414bf15b6ed13b3e943fed75ac927b9

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for ruff-0.7.0-py3-none-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 1eb54986f770f49edb14f71d33312d79e00e629a57387382200b1ef12d6a4ef9
MD5 24f7811ed94b307800e8662658da4b04
BLAKE2b-256 c2335f77fc317027c057b61a848020a47442a1cbf12e592df0e41e21f4d0f3bd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruff-0.7.0-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 ab7d98c7eed355166f367597e513a6c82408df4181a937628dbec79abb2a1fe4
MD5 fa7acebfb14af0290a783eb86af34098
BLAKE2b-256 a0f7bda37ec77986a435dde44e1f59374aebf4282a5fa9cf17735315b847141f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruff-0.7.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d71672336e46b34e0c90a790afeac8a31954fd42872c1f6adaea1dff76fd44f9
MD5 fc12355f3e1dae21c4f40b604ed6099d
BLAKE2b-256 4696464058dd1d980014fb5aa0a1254e78799efb3096fc7a4823cd66a1621276

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruff-0.7.0-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 b641c7f16939b7d24b7bfc0be4102c56562a18281f84f635604e8a6989948914
MD5 b32aaa5260fe24569fb5b6a40366e69b
BLAKE2b-256 83620c133b35ddaf91c65c30a56718b80bdef36bfffc35684d29e3a4878e0ea3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruff-0.7.0-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 9af971fe85dcd5eaed8f585ddbc6bdbe8c217fb8fcf510ea6bca5bdfff56040e
MD5 3c9d8e932aabe37b8a210949de961949
BLAKE2b-256 b4f8a31d40c4bb92933d376a53e7c5d0245d9b27841357e4820e96d38f54b480

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruff-0.7.0-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl
Algorithm Hash digest
SHA256 82c2579b82b9973a110fab281860403b397c08c403de92de19568f32f7178598
MD5 37aea604de9ea170d61ca7285b331b5a
BLAKE2b-256 f297f463334dc4efeea3551cd109163df15561c18a1c3ec13d51643740fd36ba

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruff-0.7.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 194d6c46c98c73949a106425ed40a576f52291c12bc21399eb8f13a0f7073495
MD5 f8286011511c834722f15f204a1c42c6
BLAKE2b-256 99c177b04ab20324ab03d333522ee55fb0f1c38e3ca0d326b4905f82ce6b6c70

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruff-0.7.0-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 211d877674e9373d4bb0f1c80f97a0201c61bcd1e9d045b6e9726adc42c156aa
MD5 cf28e0385e2d6b91ed30ef87d29918c2
BLAKE2b-256 5ff013703bc50536a0613ea3dce991116e5f0917a1f05528c6ab738b33c08d3f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruff-0.7.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 630fce3fefe9844e91ea5bbf7ceadab4f9981f42b704fae011bb8efcaf5d84be
MD5 02fb69f642f16e686f866daebf396b0d
BLAKE2b-256 0567fb7ea2c869c539725a16c5bc294e9aa34f8b1b6fe702f1d173a5da517c2b

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for ruff-0.7.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 214b88498684e20b6b2b8852c01d50f0651f3cc6118dfa113b4def9f14faaf06
MD5 2b2d11afb8bf7c5c05d7e2de857ec629
BLAKE2b-256 571de5cc149ecc46e4f203403a79ccd170fad52d316f98b87d0f63b1945567db

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.7.0-py3-none-macosx_10_12_x86_64.whl
  • Upload date:
  • Size: 10.0 MB
  • Tags: Python 3, macOS 10.12+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for ruff-0.7.0-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 496494d350c7fdeb36ca4ef1c9f21d80d182423718782222c29b3e72b3512737
MD5 9fbd3df1b13c67d8d1d0506d58f65d7f
BLAKE2b-256 cd94da0ba5f956d04c90dd899209904210600009dcda039ce840d83eb4298c7d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.7.0-py3-none-linux_armv6l.whl
  • Upload date:
  • Size: 10.4 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for ruff-0.7.0-py3-none-linux_armv6l.whl
Algorithm Hash digest
SHA256 0cdf20c2b6ff98e37df47b2b0bd3a34aaa155f59a11182c1303cce79be715628
MD5 bce968e507968f6827ff20c354bf9885
BLAKE2b-256 4859a0275a0913f3539498d116046dd679cd657fe3b7caf5afe1733319414932

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