astral-sh
ruff
Instrumentation
Wall Time
Blog
Docs
Changelog
Blog
Docs
Changelog
Overview
Branches
Benchmarks
Runs
Performance History
Latest Results
[ty] synthesize __replace__ for >=3.13
thejchap:thejchap/more-dataclasses
7 hours ago
[ty] Implemented support for "selection range" language server feature
UnboundVariable:selection_range
11 hours ago
[ty] Don't include already-bound legacy typevars in function generic context (#19558) We now correctly exclude legacy typevars from enclosing scopes when constructing the generic context for a generic function. more detail: A function is generic if it refers to legacy typevars in its signature: ```py from typing import TypeVar T = TypeVar("T") def f(t: T) -> T: return t ``` Generic functions are allowed to appear inside of other generic contexts. When they do, they can refer to the typevars of those enclosing generic contexts, and that should not rebind the typevar: ```py from typing import TypeVar, Generic T = TypeVar("T") U = TypeVar("U") class C(Generic[T]): @staticmethod def method(t: T, u: U) -> None: ... # revealed: def method(t: int, u: U) -> None reveal_type(C[int].method) ``` This substitution was already being performed correctly, but we were also still including the enclosing legacy typevars in the method's own generic context, which can be seen via `ty_extensions.generic_context` (which has been updated to work on generic functions and methods): ```py from ty_extensions import generic_context # before: tuple[T, U] # after: tuple[U] reveal_type(generic_context(C[int].method)) ``` --------- Co-authored-by: Carl Meyer <carl@astral.sh> Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
main
12 hours ago
[`flake8-blind-except`] Change `BLE001` to permit `logging.critical(..., exc_info=True)`. (#19520) ## Summary Changing `BLE001` (blind-except) so that it does not flag `except` clauses which include `logging.critical(..., exc_info=True)`. ## Test Plan It passes the following (whereas the `main` branch does not): ```sh $ cargo run -p ruff -- check somefile.py --no-cache --select=BLE001 ``` ```python # somefile.py import logging try: print("Hello world!") except Exception: logging.critical("Did not run.", exc_info=True) ``` Related: https://github.com/astral-sh/ruff/issues/19519
main
12 hours ago
cargo clippy, update snapshots
danparizher:fix-18844
12 hours ago
Update crates/ruff_linter/src/rules/flake8_commas/rules/trailing_commas.rs Co-authored-by: Brent Westbrook <36778786+ntBre@users.noreply.github.com>
danparizher:fix-18844
12 hours ago
Reword preview warning for `target-version` Python 3.14 (#19563) Small rewording to indicate that core development is done but that we may add breaking changes. Feel free to bikeshed! Test: ```console ❯ echo "t''" | cargo run -p ruff -- check --no-cache --isolated --target-version py314 - Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.13s Running `target/debug/ruff check --no-cache --isolated --target-version py314 -` warning: Support for Python 3.14 is in preview and may undergo breaking changes. Enable `preview` to remove this warning. All checks passed! ```
main
13 hours ago
fmt
dcreager/containing-legacy-typevar
13 hours ago
Active Branches
[ty] synthesize `__replace__` for dataclasses (>=3.13)
last run
7 hours ago
#19545
CodSpeed Performance Gauge
0%
[ty] Implemented support for "selection range" language server feature
last run
11 hours ago
#19567
CodSpeed Performance Gauge
0%
[`flake8_commas`] Add support for trailing comma checks in type parameter lists for COM812 and COM819
last run
12 hours ago
#19390
CodSpeed Performance Gauge
0%
© 2025 CodSpeed Technology
Home
Terms
Privacy
Docs