Popular: Data updated November 9, 2026

Categories

Internet1,378
Communication323
Audio & video914
Graphics & design552
Office & productivity1,137
Developer tools3,178
AI tools555
Security & privacy396
System tools3,169
Games532
Education & science240
Network & IT291

Ruff 0.13.0 download

An extremely fast Python linter, written in Rust.

Astral Languages & SDKs #42 Languages & SDKs
This is an older version. The current version is 0.17.2. Ruff 0.17.2 · Released:

Installer files 0.13.0

ArchitectureTypeScopeFile sizeDownloadSHA256
64-bit ZIP → Portable — — github.com VirusTotal
ARM64 ZIP → Portable — — github.com VirusTotal
32-bit ZIP → Portable — — github.com VirusTotal

Link and SHA256 come from the Windows Package Manager community manifest. Compare the hash of the downloaded file before running it.

Release notes

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

Breaking changes
- **Several rules can now add `from __future__ import annotations` automatically**

TC001, TC002, TC003, RUF013, and UP037 now add `from __future__ import annotations` as part of their fixes when the
`lint.future-annotations` setting is enabled. This allows the rules to move
more imports into `TYPE_CHECKING` blocks (TC001, TC002, and TC003),
use PEP 604 union syntax on Python versions before 3.10 (RUF013), and
unquote more annotations (UP037).

- Full module paths are now used to verify first-party modules

Ruff now checks that the full path to a module exists on disk before
categorizing it as a first-party import. This change makes first-party
import detection more accurate, helping to avoid false positives on local
directories with the same name as a third-party dependency, for example. See
the FAQ
section on import categorization for more details.

- Deprecated rules must now be selected by exact rule code

Ruff will no longer activate deprecated rules selected by their group name
or prefix. As noted below, the two remaining deprecated rules were also
removed in this release, so this won't affect any current rules, but it will
still affect any deprecations in the future.

- The deprecated macOS configuration directory fallback has been removed

Ruff will no longer look for a user-level configuration file at
`~/Library/Application Support/ruff/ruff.toml` on macOS. This feature was
deprecated in v0.5 in favor of using the XDG
specification
(usually resolving to `~/.config/ruff/ruff.toml`), like on Linux. The
fallback and accompanying deprecation warning have now been removed.

Removed Rules
The following rules have been removed:

- `pandas-df-variable-name` (PD901)
- `non-pep604-isinstance` (UP038)

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

- `airflow-dag-no-schedule-argument`
(AIR002)
- `airflow3-removal` (AIR301)
- `airflow3-moved-to-provider`
(AIR302)
- `airflow3-suggested-update`
(AIR311)
- `airflow3-suggested-to-move-to-provider`
(AIR312)
- `long-sleep-not-forever` (ASYNC116)
- `f-string-number-format` (FURB116)
- `os-symlink` (PTH211)
- `generic-not-last-base-class`
(PYI059)
- `redundant-none-literal` (PYI061)
- `pytest-raises-ambiguous-pattern`
(RUF043)
- `unused-unpacked-variable`
(RUF059)
- `useless-class-metaclass-type`
(UP050)

The following behaviors have been stabilized:

- `assert-raises-exception` (B017)
now checks for direct calls to `unittest.TestCase.assert_raises` and `pytest.raises` instead of
only the context manager forms.
- `missing-trailing-comma` (COM812)
and `prohibited-trailing-comma`
(COM819) now check for trailing commas in PEP 695 type parameter lists.
- `raw-string-in-exception` (EM101)
now also checks for byte strings in exception messages.
- `invalid-mock-access` (PGH005) now
checks for `AsyncMock` methods like `not_awaited` in addition to the synchronous variants.
- `useless-import-alias` (PLC0414) no
longer applies to `__init__.py` files, where it conflicted with one of the suggested fixes for
`unused-import` (F401).
- `bidirectional-unicode` (PLE2502) now
also checks for U+061C (Arabic Letter Mark).
- The fix for
`multiple-with-statements`
(SIM117) is now marked as always safe.

Preview features
- [pyupgrade] Enable UP043 in stub files (#20027)

Bug fixes
- [pyupgrade] Apply UP008 only when the `__class__` cell exists (#19424)
- [ruff] Fix empty f-string detection in `in-empty-collection` (RUF060) (#20249)

Server
- Add support for using uv as an alternative formatter backend (#19665)

Documentation
- [pep8-naming] Fix formatting of `__all__` (N816) (#20301)

https://github.com/astral-sh/ruff/releases/tag/0.13.0

Most popular in Languages & SDKs

See all
  1. Go Programming LanguageAn open source programming language that makes it simple to build secure, scalable systems.
  2. LLVMA collection of modular and reusable compiler and toolchain technologies.
  3. DenoA modern runtime for JavaScript and TypeScript
  4. CMakeCMake is a cross-platform, open-source build system generator.
  5. YarnYarn is a package manager that doubles down as project manager. Whether you work on one-shot projects or large monorepos, as a hobbyist or an enterprise user, we've got you covered.
  6. CcacheCcache is a compiler cache. It speeds up recompilation by caching previous compilations and detecting when the same compilation is being done again.
  7. sbtA build tool for Scala, Java, and more
  8. BOINCOpen-source software for volunteer computing and grid computing.
  9. Dart SDKA set of tools and libraries for the Dart programming language.
  10. TelegrafAgent for collecting, processing, aggregating, and writing metrics, logs, and other arbitrary data.

Tags

Share