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.7.4 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.7.4

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
- [flake8-datetimez] Detect usages of `datetime.max`/`datetime.min` (DTZ901) (#14288)
- [flake8-logging] Implement `root-logger-calls` (LOG015) (#14302)
- [flake8-no-pep420] Detect empty implicit namespace packages (INP001) (#14236)
- [flake8-pyi] Add "replace with `Self`" fix (PYI019) (#14238)
- [perflint] Implement quick-fix for `manual-list-comprehension` (PERF401) (#13919)
- [pylint] Implement `shallow-copy-environ` (W1507) (#14241)
- [ruff] Implement `none-not-at-end-of-union` (RUF036) (#14314)
- [ruff] Implementation `unsafe-markup-call` from `flake8-markupsafe` plugin (RUF035) (#14224)
- [ruff] Report problems for `attrs` dataclasses (RUF008, RUF009) (#14327)

Rule changes
- [flake8-boolean-trap] Exclude dunder methods that define operators (FBT001) (#14203)
- [flake8-pyi] Add "replace with `Self`" fix (PYI034) (#14217)
- [flake8-pyi] Always autofix `duplicate-union-members` (PYI016) (#14270)
- [flake8-pyi] Improve autofix for nested and mixed type unions for `unnecessary-type-union` (PYI055) (#14272)
- [flake8-pyi] Mark fix as unsafe when type annotation contains comments for `duplicate-literal-member` (PYI062) (#14268)

Server
- Use the current working directory to resolve settings from `ruff.configuration` (#14352)

Bug fixes
- Avoid conflicts between PLC014 (`useless-import-alias`) and I002 (`missing-required-import`) by considering `lint.isort.required-imports` for PLC014 (#14287)
- [flake8-type-checking] Skip quoting annotation if it becomes invalid syntax (TCH001)
- [flake8-pyi] Avoid using `typing.Self` in stub files pre-Python 3.11 (PYI034) (#14230)
- [flake8-pytest-style] Flag `pytest.raises` call with keyword argument `expected_exception` (PT011) (#14298)
- [flake8-simplify] Infer "unknown" truthiness for literal iterables whose items are all unpacks (SIM222) (#14263)
- [flake8-type-checking] Fix false positives for `typing.Annotated` (TCH001) (#14311)
- [pylint] Allow `await` at the top-level scope of a notebook (PLE1142) (#14225)
- [pylint] Fix miscellaneous issues in `await-outside-async` detection (PLE1142) (#14218)
- [pyupgrade] Avoid applying PEP 646 rewrites in invalid contexts (UP044) (#14234)
- [pyupgrade] Detect permutations in redundant open modes (UP015) (#14255)
- [refurb] Avoid triggering `hardcoded-string-charset` for reordered sets (FURB156) (#14233)
- [refurb] Further special cases added to `verbose-decimal-constructor` (FURB157) (#14216)
- [refurb] Use `UserString` instead of non-existent `UserStr` (FURB189) (#14209)
- [ruff] Avoid treating lowercase letters as `# noqa` codes (RUF100) (#14229)
- [ruff] Do not report when `Optional` has no type arguments (RUF013) (#14181)

Documentation
- Add "Notebook behavior" section for F704, PLE1142 (#14266)
- Document comment policy around fix safety (#14300)

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

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