Popular: Data updated October 27, 2026

Categories

Internet1,356
Communication321
Audio & video898
Graphics & design539
Office & productivity1,124
Developer tools3,134
AI tools529
Security & privacy385
System tools3,114
Games523
Education & science239
Network & IT284

Ruff 0.9.3 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.1. Ruff 0.17.1 · Released:

Installer files 0.9.3

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

Preview features
- [airflow] Argument `fail_stop` in DAG has been renamed as `fail_fast` (AIR302) (#15633)
- [airflow] Extend AIR303 with more symbols (#15611)
- [flake8-bandit] Report all references to suspicious functions (S3) (#15541)
- [flake8-pytest-style] Do not emit diagnostics for empty `for` loops (PT012, PT031) (#15542)
- [flake8-simplify] Avoid double negations (SIM103) (#15562)
- [pyflakes] Fix infinite loop with unused local import in `__init__.py` (F401) (#15517)
- [pylint] Do not report methods with only one EM101-compatible `raise` (PLR6301) (#15507)
- [pylint] Implement `redefined-slots-in-subclass` (W0244) (#9640)
- [pyupgrade] Add rules to use PEP 695 generics in classes and functions (UP046, UP047) (#15565, #15659)
- [refurb] Implement `for-loop-writes` (FURB122) (#10630)
- [ruff] Implement `needless-else` clause (RUF047) (#15051)
- [ruff] Implement `starmap-zip` (RUF058) (#15483)

Rule changes
- [flake8-bugbear] Do not raise error if keyword argument is present and target-python version is less or equals than 3.9 (B903) (#15549)
- [flake8-comprehensions] strip parentheses around generators in `unnecessary-generator-set` (C401) (#15553)
- [flake8-simplify] Mark fixes as unsafe (SIM201, SIM202) (#15626)
- [flake8-type-checking] Fix some safe fixes being labeled unsafe (TC006,TC008) (#15638)
- [isort] Omit trailing whitespace in `unsorted-imports` (I001) (#15518)
- [pydoclint] Allow ignoring one line docstrings for `DOC` rules (#13302)
- [pyflakes] Apply redefinition fixes by source code order (F811) (#15575)
- [pyflakes] Avoid removing too many imports in `redefined-while-unused` (F811) (#15585)
- [pyflakes] Group redefinition fixes by source statement (F811) (#15574)
- [pylint] Include name of base class in message for `redefined-slots-in-subclass` (W0244) (#15559)
- [ruff] Update fix for RUF055 to use `var == value` (#15605)

Formatter
- Fix bracket spacing for single-element tuples in f-string expressions (#15537)
- Fix unstable f-string formatting for expressions containing a trailing comma (#15545)

Performance
- Avoid quadratic membership check in import fixes (#15576)

Server
- Allow `unsafe-fixes` settings for code actions (#15666)

Bug fixes
- [flake8-bandit] Add missing single-line/dotall regex flag (S608) (#15654)
- [flake8-simplify] Do not emit diagnostics for expressions inside string type annotations (SIM222, SIM223) (#15405)
- [pyflakes] Treat arguments passed to the `default=` parameter of `TypeVar` as type expressions (F821) (#15679)
- [pyupgrade] Avoid syntax error when the iterable is a non-parenthesized tuple (UP028) (#15543)
- [ruff] Exempt `NewType` calls where the original type is immutable (RUF009) (#15588)
- [unconventional-import-alias] Fix infinite loop between ICN001 and I002 (ICN001) (#15480)

Documentation
- Generate documentation redirects for lowercase rule codes (#15564)
- TRY300: Add some extra notes on not catching exceptions you didn't expect (#15036)

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

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. NVM for WindowsA node.js version management utility for Windows. Ironically written in Go.

Tags

Share