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.8/install.sh | sh
powershell -c "irm https://astral.sh/ruff/0.6.8/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.8
  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.8.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.6.8-py3-none-win_arm64.whl (8.7 MB view details)

Uploaded Python 3Windows ARM64

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

Uploaded Python 3Windows x86-64

ruff-0.6.8-py3-none-win32.whl (8.5 MB view details)

Uploaded Python 3Windows x86

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

Uploaded Python 3musllinux: musl 1.2+ x86-64

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

Uploaded Python 3musllinux: musl 1.2+ i686

ruff-0.6.8-py3-none-musllinux_1_2_armv7l.whl (10.2 MB view details)

Uploaded Python 3musllinux: musl 1.2+ ARMv7l

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

Uploaded Python 3musllinux: musl 1.2+ ARM64

ruff-0.6.8-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.6.8-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl (12.5 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ s390x

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

Uploaded Python 3manylinux: glibc 2.17+ ppc64le

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

Uploaded Python 3manylinux: glibc 2.17+ ppc64

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

Uploaded Python 3manylinux: glibc 2.17+ i686

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

Uploaded Python 3manylinux: glibc 2.17+ ARMv7l

ruff-0.6.8-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (10.7 MB view details)

Uploaded Python 3manylinux: glibc 2.17+ ARM64

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

Uploaded Python 3macOS 11.0+ ARM64

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

Uploaded Python 3macOS 10.12+ x86-64

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

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for ruff-0.6.8.tar.gz
Algorithm Hash digest
SHA256 a5bf44b1aa0adaf6d9d20f86162b34f7c593bfedabc51239953e446aefc8ce18
MD5 3c986b99381626098094835efee71427
BLAKE2b-256 74f94ce3e765a72ab8fe0f80f48508ea38b4196daab3da14d803c21349b2d367

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.6.8-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.6

File hashes

Hashes for ruff-0.6.8-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 8d3bb2e3fbb9875172119021a13eed38849e762499e3cfde9588e4b4d70968dc
MD5 96369554ea5dbe2429a6973998a542b5
BLAKE2b-256 d9bda8b0c64945a92eaeeb8d0283f27a726a776a1c9d12734d990c5fc7a1278c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.6.8-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.6

File hashes

Hashes for ruff-0.6.8-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 ec0517dc0f37cad14a5319ba7bba6e7e339d03fbf967a6d69b0907d61be7a263
MD5 08d7a9cf491b5c18167ed758c65cab3b
BLAKE2b-256 4cc40ca7d8ffa358b109db7d7d045a1a076fd8e5d9cbeae022242d3c060931da

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for ruff-0.6.8-py3-none-win32.whl
Algorithm Hash digest
SHA256 792213f7be25316f9b46b854df80a77e0da87ec66691e8f012f887b4a671ab5a
MD5 66b6c2270860f15d56abc179fda6eade
BLAKE2b-256 e736f18c678da6c69f8d022480f3e8ddce6e4a52e07602c1d212056fbd234f8f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.6.8-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.6

File hashes

Hashes for ruff-0.6.8-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 70edf6a93b19481affd287d696d9e311388d808671bc209fb8907b46a8c3af44
MD5 b449ecf8bc2daa8637439dbadff603c8
BLAKE2b-256 2a76d4e38846ac9f6dd62dce858a54583911361b5339dcf8f84419241efac93a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.6.8-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.6

File hashes

Hashes for ruff-0.6.8-py3-none-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 1085c455d1b3fdb8021ad534379c60353b81ba079712bce7a900e834859182fa
MD5 651f5d4adf3570ab1b488414b59042c0
BLAKE2b-256 2095a764e84acf11d425f2f23b8b78b4fd715e9c20be4aac157c6414ca859a67

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for ruff-0.6.8-py3-none-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 ce60058d3cdd8490e5e5471ef086b3f1e90ab872b548814e35930e21d848c9ce
MD5 b84ee23b3d435c457c7e256fae570da9
BLAKE2b-256 4731f31d04c842e54699eab7e3b864538fea26e6c94b71806cd10aa49f13e1c1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruff-0.6.8-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 007dee844738c3d2e6c24ab5bc7d43c99ba3e1943bd2d95d598582e9c1b27750
MD5 6c58cf3ce66980e4843436b8416bd97a
BLAKE2b-256 81ed394aff3a785f171869158b9d5be61eec9ffb823c3ad5d2bdf2e5f13cb029

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruff-0.6.8-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6ef0411eccfc3909269fed47c61ffebdcb84a04504bafa6b6df9b85c27e813b0
MD5 a3929eb37105a4ec01281efabc2ba84f
BLAKE2b-256 48447caa223af7d4ea0f0b2bd34acca65a7694a58317714675a2478815ab3f45

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruff-0.6.8-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 6cfb227b932ba8ef6e56c9f875d987973cd5e35bc5d05f5abf045af78ad8e098
MD5 31f60f327bccece6321883db5058dc1d
BLAKE2b-256 b96de252e9b11bbca4114c386ee41ad559d0dac13246201d77ea1223c6fea17f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruff-0.6.8-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 f8034b19b993e9601f2ddf2c517451e17a6ab5cdb1c13fdff50c1442a7171d87
MD5 bb88dca04f33acfcaa320878d21e7643
BLAKE2b-256 e0598b1369cf7878358952b1c0a1559b4d6b5c824c003d09b0db26d26c9d094f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruff-0.6.8-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl
Algorithm Hash digest
SHA256 5fd0d4b7b1457c49e435ee1e437900ced9b35cb8dc5178921dfb7d98d65a08d0
MD5 a3bb92e5cf822dcff3abc95efdf20313
BLAKE2b-256 c1af9eb9efc98334f62652e2f9318f137b2667187851911fac3b395365a83708

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruff-0.6.8-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 6f5a2f17c7d32991169195d52a04c95b256378bbf0de8cb98478351eb70d526f
MD5 e1d764f1cc00026f2d142dc92a2aeec8
BLAKE2b-256 ea390b10075ffcd52ff3a581b9b69eac53579deb230aad300ce8f9d0b58e77bc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruff-0.6.8-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 9f1476236b3eacfacfc0f66aa9e6cd39f2a624cb73ea99189556015f27c0bdeb
MD5 04829bec55f2a98f555de89f65f02221
BLAKE2b-256 ecb6aa700c4ae6db9b3ee660e23f3c7db596e2b16a3034b797704fba33ddbc96

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruff-0.6.8-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 677e03c00f37c66cea033274295a983c7c546edea5043d0c798833adf4cf4c6f
MD5 8e9f1d1a36542617810fa4e569ec3ed2
BLAKE2b-256 d6c4d812a74976927e51d0782a47539069657ac78535779bfa4d061c4fc8d89d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.6.8-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.6

File hashes

Hashes for ruff-0.6.8-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 cd48f945da2a6334f1793d7f701725a76ba93bf3d73c36f6b21fb04d5338dcf5
MD5 969b4f959440637578352961b91fcf94
BLAKE2b-256 c1d7fa5514a60b03976af972b67fe345deb0335dc96b9f9a9fa4df9890472427

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.6.8-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.6

File hashes

Hashes for ruff-0.6.8-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 27b87e1801e786cd6ede4ada3faa5e254ce774de835e6723fd94551464c56b8c
MD5 e39ac5d4198d7e7973961094c9c84a3b
BLAKE2b-256 eb51d42571ff8156d65086acb72d39aa64cb24181db53b497d0ed6293f43f07a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ruff-0.6.8-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.6

File hashes

Hashes for ruff-0.6.8-py3-none-linux_armv6l.whl
Algorithm Hash digest
SHA256 77944bca110ff0a43b768f05a529fecd0706aac7bcce36d7f1eeb4cbfca5f0f2
MD5 e3688ef0de04a41f392dfd26dd3454f8
BLAKE2b-256 db0742ee57e8b76ca585297a663a552b4f6d6a99372ca47fdc2276ef72cc0f2f

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