Download Latest Version ruff-i686-pc-windows-msvc.zip (10.1 MB)
Email in envelope

Get an email when there's a new version of Ruff

Home / 0.16.0
Name Modified Size InfoDownloads / Week
Parent folder
ruff-x86_64-unknown-linux-gnu.tar.gz.sha256 2026-07-23 103 Bytes
ruff-x86_64-unknown-linux-musl.tar.gz 2026-07-23 11.1 MB
ruff-x86_64-unknown-linux-musl.tar.gz.sha256 2026-07-23 104 Bytes
sha256.sum 2026-07-23 81 Bytes
source.tar.gz 2026-07-23 12.5 MB
source.tar.gz.sha256 2026-07-23 81 Bytes
ruff-s390x-unknown-linux-gnu.tar.gz 2026-07-23 11.3 MB
ruff-s390x-unknown-linux-gnu.tar.gz.sha256 2026-07-23 102 Bytes
ruff-x86_64-apple-darwin.tar.gz 2026-07-23 10.6 MB
ruff-x86_64-apple-darwin.tar.gz.sha256 2026-07-23 98 Bytes
ruff-x86_64-pc-windows-msvc.zip 2026-07-23 11.0 MB
ruff-x86_64-pc-windows-msvc.zip.sha256 2026-07-23 98 Bytes
ruff-x86_64-unknown-linux-gnu.tar.gz 2026-07-23 11.0 MB
ruff-i686-unknown-linux-gnu.tar.gz.sha256 2026-07-23 101 Bytes
ruff-i686-unknown-linux-musl.tar.gz 2026-07-23 10.7 MB
ruff-i686-unknown-linux-musl.tar.gz.sha256 2026-07-23 102 Bytes
ruff-installer.ps1 2026-07-23 22.6 kB
ruff-installer.sh 2026-07-23 68.3 kB
ruff-powerpc64le-unknown-linux-gnu.tar.gz 2026-07-23 11.8 MB
ruff-powerpc64le-unknown-linux-gnu.tar.gz.sha256 2026-07-23 108 Bytes
ruff-riscv64gc-unknown-linux-gnu.tar.gz 2026-07-23 11.1 MB
ruff-riscv64gc-unknown-linux-gnu.tar.gz.sha256 2026-07-23 106 Bytes
ruff-arm-unknown-linux-musleabihf.tar.gz.sha256 2026-07-23 107 Bytes
ruff-armv7-unknown-linux-gnueabihf.tar.gz 2026-07-23 10.1 MB
ruff-armv7-unknown-linux-gnueabihf.tar.gz.sha256 2026-07-23 108 Bytes
ruff-armv7-unknown-linux-musleabihf.tar.gz 2026-07-23 10.1 MB
ruff-armv7-unknown-linux-musleabihf.tar.gz.sha256 2026-07-23 109 Bytes
ruff-i686-pc-windows-msvc.zip 2026-07-23 10.1 MB
ruff-i686-pc-windows-msvc.zip.sha256 2026-07-23 96 Bytes
ruff-i686-unknown-linux-gnu.tar.gz 2026-07-23 11.0 MB
dist-manifest.json 2026-07-23 51.6 kB
ruff-aarch64-apple-darwin.tar.gz 2026-07-23 10.0 MB
ruff-aarch64-apple-darwin.tar.gz.sha256 2026-07-23 99 Bytes
ruff-aarch64-pc-windows-msvc.zip.sha256 2026-07-23 99 Bytes
ruff-aarch64-unknown-linux-gnu.tar.gz 2026-07-23 10.4 MB
ruff-aarch64-unknown-linux-gnu.tar.gz.sha256 2026-07-23 104 Bytes
ruff-aarch64-unknown-linux-musl.tar.gz 2026-07-23 10.3 MB
ruff-aarch64-unknown-linux-musl.tar.gz.sha256 2026-07-23 105 Bytes
ruff-arm-unknown-linux-musleabihf.tar.gz 2026-07-23 10.3 MB
ruff-aarch64-pc-windows-msvc.zip 2026-07-23 10.3 MB
0.16.0 source code.tar.gz 2026-07-23 12.5 MB
0.16.0 source code.zip 2026-07-23 18.0 MB
README.md 2026-07-23 12.6 kB
Totals: 43 Items   224.4 MB 6

Release Notes

Released on 2026-07-23.

Check out the blog post for a migration guide and overview of the changes!

Breaking changes

  • Ruff now enables a much larger set of rules by default (413, up from 59). See the blog post for more details and the new Default Rules page for a full listing of the enabled rules.

  • Ruff can now format Python code blocks in Markdown files and will do this by default. See the documentation for more details.

  • Ruff now supports ruff: ignore comments at the ends of lines, like noqa comments, or on the line preceding a diagnostic. For example, these both suppress an unused-import (F401) diagnostic:

    ```py import math # ruff: ignore[F401]

    ruff: ignore[F401]

    import os ```

  • Fixes are now shown in check and format --check output:

    `console ❯ ruff format --check . unformatted: File would be reformatted --> try.md:1:1 | 1 |python

    • import math 2 + import math 3 | ``` |

    1 file would be reformatted ````

    This example also shows off the Markdown formatting.

  • format --check now supports the same output formats as the linter, including the github and gitlab outputs for rendering annotations in CI:

    console ❯ ruff format --check --output-format github . ::error title=ruff (unformatted),file=try.md,line=2,col=8,endLine=2,endColumn=10::try.md:2:8: unformatted: File would be reformatted

    See the CLI help or documentation for the full list of supported formats.

  • The filename, location, end_location, fix.edits[].location, and fix.edits[].end_location fields in the JSON output format may now be null rather than defaulting to the empty string and row 1, column 1, respectively.

Stabilization

The following rules have been stabilized and are no longer in preview:

The following behaviors have been stabilized:

Preview features

  • [pyupgrade] Fix false positive with TypeVar default before Python 3.13 (UP040) (#26888)

Bug fixes

  • [ruff] Fix missing check on unrecognized early bound (RUF016) (#26986)

Rule changes

  • Insert a space after the colon in Ruff suppression comments (#27123)

Performance

  • [pyupgrade] Speed up unnecessary-future-import (UP010) (#27047)

Documentation

  • [ruff] Add missing period in "Why is this bad?" section (RUF200) (#26930)
  • [flake8-simplify] Clarify os.environ behavior on Windows (SIM112) (#26972)
  • [pydocstyle] Document fix safety (D400) (#26971)

Contributors

Install ruff 0.16.0

Install prebuilt binaries via shell script

:::sh
curl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/ruff/releases/download/0.16.0/ruff-installer.sh | sh

Install prebuilt binaries via powershell script

:::sh
powershell -ExecutionPolicy Bypass -c "irm https://releases.astral.sh/github/ruff/releases/download/0.16.0/ruff-installer.ps1 | iex"

Download ruff 0.16.0

File Platform Checksum
ruff-aarch64-apple-darwin.tar.gz (releases.astral.sh) Apple Silicon macOS checksum
ruff-x86_64-apple-darwin.tar.gz (releases.astral.sh) Intel macOS checksum
ruff-aarch64-pc-windows-msvc.zip (releases.astral.sh) ARM64 Windows checksum
ruff-i686-pc-windows-msvc.zip (releases.astral.sh) x86 Windows checksum
ruff-x86_64-pc-windows-msvc.zip (releases.astral.sh) x64 Windows checksum
ruff-aarch64-unknown-linux-gnu.tar.gz (releases.astral.sh) ARM64 Linux checksum
ruff-i686-unknown-linux-gnu.tar.gz (releases.astral.sh) x86 Linux checksum
ruff-powerpc64-unknown-linux-gnu.tar.gz (releases.astral.sh) PPC64 Linux checksum
ruff-powerpc64le-unknown-linux-gnu.tar.gz (releases.astral.sh) PPC64LE Linux checksum
ruff-riscv64gc-unknown-linux-gnu.tar.gz (releases.astral.sh) RISCV Linux checksum
ruff-s390x-unknown-linux-gnu.tar.gz (releases.astral.sh) S390x Linux checksum
ruff-x86_64-unknown-linux-gnu.tar.gz (releases.astral.sh) x64 Linux checksum
ruff-armv7-unknown-linux-gnueabihf.tar.gz (releases.astral.sh) ARMv7 Linux checksum
ruff-aarch64-unknown-linux-musl.tar.gz (releases.astral.sh) ARM64 MUSL Linux checksum
ruff-i686-unknown-linux-musl.tar.gz (releases.astral.sh) x86 MUSL Linux checksum
ruff-x86_64-unknown-linux-musl.tar.gz (releases.astral.sh) x64 MUSL Linux checksum
ruff-arm-unknown-linux-musleabihf.tar.gz (releases.astral.sh) ARMv6 MUSL Linux (Hardfloat) checksum
ruff-armv7-unknown-linux-musleabihf.tar.gz (releases.astral.sh) ARMv7 MUSL Linux checksum

Verifying GitHub Artifact Attestations

The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:

:::sh
gh attestation verify <file-path of downloaded artifact> --repo astral-sh/ruff

You can also download the attestation from GitHub and verify against that directly:

:::sh
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>
Source: README.md, updated 2026-07-23