Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
2509 commits
Select commit Hold shift + click to select a range
c6f4929
[ty] fix assigning a typevar to a union with itself (#17910)
AlexWaygood May 7, 2025
7805482
[ty] Add support for `__all__` (#17856)
dhruvmanila May 7, 2025
82d31a6
Add link to `ty` issue tracker (#17924)
dhruvmanila May 7, 2025
51e2eff
Make completions an opt-in LSP feature (#17921)
charliermarsh May 7, 2025
51386b3
[ty] Add basic file watching to server (#17912)
MichaReiser May 7, 2025
74fe798
[ty] Sort collected diagnostics before snapshotting them in mdtest (#…
AlexWaygood May 7, 2025
895b616
[ty] Ensure that `T` is disjoint from `~T` even when `T` is a TypeVar…
AlexWaygood May 7, 2025
f5096f2
[parser] Flag single unparenthesized generator expr with trailing com…
abhijeetbodas2001 May 7, 2025
d03a706
Add instructions on how to upgrade to a newer Rust version (#17928)
MichaReiser May 7, 2025
ce0800f
[`pylint`] add fix safety section (`PLC2801`) (#17825)
yunchipang May 7, 2025
2cf5cba
[ty] Check base classes when determining subtyping etc for generic al…
dcreager May 7, 2025
51cef5a
[ty] Recognise functions containing `yield from` expressions as being…
AlexWaygood May 7, 2025
d566636
Support `typing.Self` in methods (#17689)
Glyphack May 7, 2025
4f890b2
[ty] Update salsa (#17937)
sharkdp May 8, 2025
3755ac9
Update ty metadata (#17943)
MichaReiser May 8, 2025
aac8628
[`airflow`] Fix `SQLTableCheckOperator` typo (`AIR302`) (#17946)
Lee-W May 8, 2025
67cd94e
[ty] Add missing bitwise-operator branches for boolean and integer ar…
AlexWaygood May 8, 2025
57bf7df
[ty] Implement `global` handling and `load-before-global-declaration`…
ntBre May 8, 2025
91aa853
Update the schemastore script to match changes in ty (#17952)
zanieb May 8, 2025
5eb215e
[ty] Generate and add rules table (#17953)
MichaReiser May 8, 2025
067a8ac
[ty] Default to latest supported python version (#17938)
MichaReiser May 8, 2025
d608eae
[ty] Ignore `possibly-unresolved-reference` by default (#17934)
MichaReiser May 8, 2025
6a5533c
[ty] Change default severity for `unbound-reference` to `error` (#17936)
MichaReiser May 8, 2025
da85408
[ty] Make `unused-ignore-comment` disabled by default for now (#17955)
AlexWaygood May 8, 2025
0763331
[ty] Support extending `__all__` with a literal tuple or set as well …
AlexWaygood May 8, 2025
981bd70
Convert `Message::SyntaxError` to use `Diagnostic` internally (#17784)
ntBre May 8, 2025
4d81a41
[ty] Respect the gradual guarantee when reporting errors in resolving…
AlexWaygood May 8, 2025
9b694ad
[ty] Report duplicate `Protocol` or `Generic` base classes with `[dup…
AlexWaygood May 8, 2025
f51f1f7
[ty] Support extending `__all__` from an imported module even when th…
AlexWaygood May 8, 2025
b705664
[ty] Handle typevars that have other typevars as a default (#17956)
dcreager May 8, 2025
f783679
[ty] Remove `SliceLiteral` type variant (#17958)
dcreager May 9, 2025
3d2485e
[ty] fix more ecosystem/fuzzer panics with fixpoint (#17758)
carljm May 9, 2025
6c177e2
[ty] primer updates (#17903)
carljm May 9, 2025
f46ed8d
[ty] Add --config CLI arg (#17697)
thejchap May 9, 2025
12ce445
[ty] Document configuration schema (#17950)
MichaReiser May 9, 2025
6cd8a49
[ty] Update salsa (#17964)
MichaReiser May 9, 2025
c1b8757
[ty] CLI reference (#17978)
MichaReiser May 9, 2025
642eac4
[ty] Recursive protocols (#17929)
sharkdp May 9, 2025
03a4d56
[ty] Change range of `revealed-type` diagnostic to be the range of th…
AlexWaygood May 9, 2025
a137cb1
[ty] Display "All checks passed!" message in green (#17982)
AlexWaygood May 9, 2025
2370297
Bump 0.11.9 (#17986)
dylwil3 May 9, 2025
d1bb10a
[ty] Understand classes that inherit from subscripted `Protocol[]` as…
AlexWaygood May 9, 2025
2c4cbb6
ty: get rid of `lint:` prefix in ID for diagnostic rendering
BurntSushi May 9, 2025
244ea27
ruff_db: a small tweak to remove empty message case
BurntSushi May 9, 2025
50c780f
ty: switch to use `annotate-snippets` ID functionality
BurntSushi May 9, 2025
b71ef8a
ruff_db: completely rip `lint:` prefix out
BurntSushi May 9, 2025
861ef25
ty: add more snapshot updates
BurntSushi May 9, 2025
249a852
[ty] Document nearly all lints (#17981)
InSyncWithFoo May 9, 2025
25e13de
[`airflow`] extend `AIR311` rules (#17913)
Lee-W May 9, 2025
e9da175
Add progress bar for `ty check` (#17965)
ibraheemdev May 9, 2025
90272ad
ty_python_semantic: add snapshot tests for existing union function ty…
BurntSushi May 9, 2025
5ea3a52
ty_python_semantic: report all union diagnostic
BurntSushi May 9, 2025
346e82b
ty_python_semantic: add union type context to function call type errors
BurntSushi May 9, 2025
7a48477
[ty] Add a warning about pre-release status to the CLI (#17983)
ntBre May 9, 2025
b4a1ebd
[semantic-syntax-tests] `IrrefutableCasePattern`, `SingleStarredAssig…
maxmynter May 9, 2025
882a1a7
Fix typos (#17988)
omahs May 9, 2025
fd1eb3d
add test for typing_extensions.Self (#17995)
carljm May 9, 2025
40fd52d
Exclude broken symlinks from `meson-python` ecosystem check (#17993)
ntBre May 9, 2025
235b74a
[ty] Add more tests for `NamedTuple`s (#17975)
abhijeetbodas2001 May 10, 2025
cd1d906
[ty] Silence false positives for PEP-695 ParamSpec annotations (#18001)
sharkdp May 10, 2025
b765dc4
Skip S608 for expressionless f-strings (#17999)
maxmynter May 10, 2025
5ecd560
Link to the rules.md in the ty repository (#17979)
MichaReiser May 10, 2025
316e406
[ty] Add basic support for non-virtual Python environments (#17991)
zanieb May 10, 2025
2923c55
[ty] Add test coverage for `PythonEnvironment::System` variants (#17996)
zanieb May 10, 2025
0bb8cbd
[ty] Do not allow invalid virtual environments from discovered `.venv…
zanieb May 10, 2025
7e8ba2b
[ty] Remove vestigial `pyvenv.cfg` creation in mdtest (#18006)
zanieb May 10, 2025
ff7ebec
[ty] Remove generic types from the daily property test run (for now) …
AlexWaygood May 11, 2025
669855d
[ty] Remove unused variants from various `Known*` enums (#18015)
AlexWaygood May 11, 2025
8845a13
[`pylint`] add fix safety section (`PLC0414`) (#17802)
yunchipang May 11, 2025
5792ed1
[`ruff`] add fix safety section (`RUF033`) (#17760)
VascoSch92 May 11, 2025
bc7b303
python_stdlib: update for 3.14 (#18014)
Rogdham May 11, 2025
b398b83
[`pylint`] add fix safety section (`PLW1514`) (#17932)
yunchipang May 11, 2025
99555b7
Update dependency ruff to v0.11.9 (#18024)
renovate[bot] May 12, 2025
c1cfb43
Update Rust crate getrandom to v0.3.3 (#18028)
renovate[bot] May 12, 2025
2bfd7b1
Update Rust crate jiff to v0.2.13 (#18029)
renovate[bot] May 12, 2025
c38d6e8
Update Rust crate clap to v4.5.38 (#18026)
renovate[bot] May 12, 2025
d7c54ba
Update Rust crate ctrlc to v3.4.7 (#18027)
renovate[bot] May 12, 2025
b86c7bb
Update cargo-bins/cargo-binstall action to v1.12.4 (#18023)
renovate[bot] May 12, 2025
a34240a
Update taiki-e/install-action digest to 83254c5 (#18022)
renovate[bot] May 12, 2025
d6280c5
Update docker/login-action action to v3.4.0 (#18031)
renovate[bot] May 12, 2025
38c00df
Update docker/build-push-action action to v6.16.0 (#18030)
renovate[bot] May 12, 2025
d3f3d92
Update pre-commit dependencies (#18025)
renovate[bot] May 12, 2025
d944a13
[ty] Remove brackets around option names (#18037)
MichaReiser May 12, 2025
fcd858e
[ty] Refine message for why a rule is enabled (#18038)
MichaReiser May 12, 2025
be6ec61
[ty] Fix incorrect type of `src.root` in documentation (#18040)
MichaReiser May 12, 2025
797eb70
disable jemalloc on android (#18033)
MichaReiser May 12, 2025
6f8f750
[ty] fix infinite recursion bug in `is_disjoint_from` (#18043)
mtshiba May 12, 2025
6b3ff6f
[`flake8-pie`] Mark autofix for `PIE804` as unsafe if the dictionary …
LaBatata101 May 12, 2025
3ccc0ed
Add comma to panic message (#18048)
charliermarsh May 12, 2025
bdccb37
[ty] Apply function specialization to all overloads (#18020)
dcreager May 12, 2025
550b8be
Avoid initializing progress bars early (#18049)
ibraheemdev May 12, 2025
138ab91
[`flake8-simplify`] Fix `SIM905` autofix for `rsplit` creating a reve…
LaBatata101 May 12, 2025
c9031ce
[`refurb`] Mark autofix as safe only for number literals in `FURB116`…
LaBatata101 May 12, 2025
d7ef014
[`flake8-use-pathlib`] `PTH*` suppress diagnostic for all `os.*` func…
LaBatata101 May 12, 2025
b2d9f59
[`ruff`] Implement a recursive check for `RUF060` (#17976)
naslundx May 12, 2025
d545b5b
[`pylint`] add fix safety section (`PLE4703`) (#17824)
yunchipang May 12, 2025
6b64630
Update `--python` to accept paths to executables in virtual environme…
zanieb May 12, 2025
f549dfe
[`pylint`] add fix safety section (`PLW3301`) (#17878)
yunchipang May 12, 2025
2eb2d53
[`airflow`] Apply try-catch guard to all AIR3 rules (`AIR3`) (#17887)
Lee-W May 12, 2025
0d6fafd
[`flake8-bugbear`] Ignore `B028` if `skip_file_prefixes` is present (…
LaBatata101 May 12, 2025
a97e72f
Update reference documentation for `--python-version` (#18056)
zanieb May 12, 2025
c7b6108
[ty] Narrowing for `hasattr()` (#18053)
AlexWaygood May 12, 2025
41fa082
[ty] Allow a class to inherit from an intersection if the intersectio…
AlexWaygood May 12, 2025
7e9b0df
[ty] Allow classes to inherit from `type[Any]` or `type[Unknown]` (#1…
AlexWaygood May 13, 2025
f301931
[ty] Induct into instances and subclasses when finding and applying g…
dcreager May 13, 2025
55df927
[ty] Understand homogeneous tuple annotations (#17998)
AlexWaygood May 13, 2025
0fb94c0
[ty] Infer parameter specializations of generic aliases (#18021)
dcreager May 13, 2025
0ae07cd
[ruff_python_ast] Fix redundant visitation of test expressions in eli…
swnb May 13, 2025
68b0386
[ty] Implement `DataClassInstance` protocol for dataclasses. (#18018)
abhijeetbodas2001 May 13, 2025
00f672a
[ty] contribution guide (#18061)
carljm May 13, 2025
5913997
[ty] Improve diagnostics for `assert_type` and `assert_never` (#18050)
AlexWaygood May 13, 2025
5bf5f36
[ty] Add tests for `else` branches of `hasattr()` narrowing (#18067)
AlexWaygood May 13, 2025
c0f2292
[ty] Add a note to the diagnostic if a new builtin is used on an old …
AlexWaygood May 13, 2025
142c1bc
[ty] Recognize submodules in self-referential imports (#18005)
sharkdp May 13, 2025
f8890b7
[ty] __file__ is always a string inside a Python module (#18071)
carljm May 13, 2025
a9f7521
[ty] Shorten snapshot names (#18039)
InSyncWithFoo May 13, 2025
fe653de
[ty] Infer parameter specializations of explicitly implemented generi…
dcreager May 13, 2025
cfbb914
Use `https://ty.dev/rules` when linking to the rules table (#18072)
MichaReiser May 13, 2025
301d998
[ty] Add benchmark for union of tuples (#18076)
sharkdp May 13, 2025
65e48cb
[ty] Check assignments to implicit global symbols are assignable to t…
AlexWaygood May 13, 2025
8cbd433
[ty] Add cycle handling for unpacking targets (#18078)
dhruvmanila May 13, 2025
d17557f
[ty] Fix Inconsistent casing in diagnostic (#18084)
kiran-4444 May 14, 2025
e7f97a3
[ty] Reduce log level of 'symbol .. (via star import) not found' log …
MichaReiser May 14, 2025
1eab59e
Remove double whitespace (#18090)
lukeanderson93 May 14, 2025
97d7b46
[ty] Do not look up `__init__` on instances (#18092)
sharkdp May 14, 2025
9b52ae8
[`flake8-pytest-style`] Don't recommend `usefixtures` for parametrize…
LaBatata101 May 14, 2025
1b4f7de
[`pyupgrade`] Add `resource.error` as deprecated alias of `OSError` (…
DimitriPapadopoulos May 14, 2025
1e4377c
[`ruff`] add fix safety section (`RUF007`) (#17755)
VascoSch92 May 14, 2025
2e94d37
[`airflow`] Get rid of `Replacement::Name` and replace them with `Rep…
Lee-W May 14, 2025
0230cba
ty_python_semantic: update "no matching overload" diagnostic test
BurntSushi May 13, 2025
bd5b7f4
ty_python_semantic: rejigger handling of overload error conditions
BurntSushi May 13, 2025
451c5db
ty_python_semantic: move some routines to `FunctionType`
BurntSushi May 13, 2025
faf54c0
ty_python_semantic: improve failed overloaded function call
BurntSushi May 13, 2025
cf70c78
Remove symlinks from the fuzz directory (#18095)
dhruvmanila May 14, 2025
8104b1e
[ty] fix missing '>' in HTML anchor tags in CLI reference (#18096)
Usul-Dev May 14, 2025
0590b38
[ty] Fix more generics-related TODOs (#18062)
AlexWaygood May 14, 2025
030a16c
[`flake8-simplify`] Correct behavior for `str.split`/`rsplit` with `m…
danparizher May 14, 2025
2a217e8
[ty] mypy_primer: fix static-frame setup (#18103)
sharkdp May 14, 2025
68559fc
[`flake8-simplify`] add fix safety section (`SIM103`) (#18086)
VascoSch92 May 14, 2025
6800a9f
[ty] Add type-expression syntax link to invalid-type-expression (#18104)
sharkdp May 14, 2025
33e14c5
Update Neovim setup docs (#18108)
bombsimon May 14, 2025
466021d
[`flake8-simplify`] add fix safety section (`SIM112`) (#18099)
VascoSch92 May 14, 2025
b600ff1
Sync vendored typeshed stubs (#18110)
github-actions[bot] May 15, 2025
9aa6330
[ty] Fix `redundant-cast` false positives when casting to `Unknown` (…
AlexWaygood May 15, 2025
c3a4992
[ty] Fix normalization of unions containing instances parameterized w…
AlexWaygood May 15, 2025
46be305
[ty] Include synthesized arguments in displayed counts for `too-many-…
InSyncWithFoo May 15, 2025
b6b7caa
[ty] Change layout of extra verbose output and respect `--color` for …
MichaReiser May 15, 2025
28b5a86
[ty] Enable 'ansi' feature to fix compile error (#18116)
MichaReiser May 15, 2025
5761703
[ty] Enable optimizations for salsa in debug profile (#18117)
MichaReiser May 15, 2025
279dac1
[ty] Make dataclass instances adhere to DataclassInstance (#18115)
sharkdp May 15, 2025
b35bf8a
Bump 0.11.10 (#18120)
ntBre May 15, 2025
e2c5b83
Inline `DiagnosticKind` into other diagnostic types (#18074)
ntBre May 15, 2025
a5ee1a3
Bump `py-fuzzer` Dependencies (#18113)
maxmynter May 15, 2025
c066bf0
[ty] `type[…]` is always assignable to `type` (#18121)
sharkdp May 15, 2025
69393b2
[ty] Improve invalid method calls for unmatched overloads (#18122)
BurntSushi May 15, 2025
d3a7cb3
[ty] support accessing `__builtins__` global (#18118)
felixscherz May 15, 2025
2ceba6a
[`airflow`] Add autofixes for `AIR302` and `AIR312` (#17942)
Lee-W May 15, 2025
f53c580
[`pylint`] Fix `PLW1514` not recognizing the `encoding` positional ar…
LaBatata101 May 15, 2025
e5435eb
[`flake8-simplify`] add fix safety section (`SIM210`) (#18100)
VascoSch92 May 15, 2025
7dc4fef
Remove ty property tests (#18124)
MatthewMckee4 May 16, 2025
6e39250
[ty] Allow unions including `Any`/`Unknown` as bases (#18094)
sharkdp May 16, 2025
196e4be
Update MSRV to 1.85 and toolchain to 1.87 (#18126)
MichaReiser May 16, 2025
8644c9d
[ty] Regression test for relative import in stubs package (#18123)
sharkdp May 16, 2025
e67b357
[ty] NamedTuple 'fallback' attributes (#18127)
sharkdp May 16, 2025
9ae698f
Switch to Rust 2024 edition (#18129)
MichaReiser May 16, 2025
9910ec7
[ty] Better control flow for boolean expressions that are inside if (…
TomerBin May 16, 2025
e677cab
[ty] Reduce size of the many-tuple-assignments benchmark (#18131)
sharkdp May 16, 2025
1ba56b4
[ty] Fix relative imports in stub packages (#18132)
MichaReiser May 16, 2025
a1d007c
Use `insta` settings instead of `cfg` (#18134)
ntBre May 16, 2025
28fb802
[ty] Merge `SemanticIndexBuilder` impl blocks (#18135)
AlexWaygood May 16, 2025
0adbb3d
[ty] Fix assignability checks for invariant generics parameterized by…
AlexWaygood May 16, 2025
e21972a
Fix `test scripts` CI job (#18140)
MichaReiser May 16, 2025
3d55a16
[ty] Migrate the namespace package module resolver tests to mdtests (…
MichaReiser May 16, 2025
c6e55f6
Remove pyvenv.cfg validation check for lines with multiple `=` (#18144)
MatthewMckee4 May 17, 2025
2abcd86
Revert "[ty] Better control flow for boolean expressions that are ins…
carljm May 17, 2025
b86960f
[ty] Add rule link to server diagnostics (#18128)
kiran-4444 May 17, 2025
dd04ca7
[ty] Add regression test for fixed `pyvenv.cfg` parsing bug (#18157)
AlexWaygood May 17, 2025
660375d
T201/T203 Improve print/pprint docs (#18130)
dragon-dxw May 18, 2025
d6709ab
Update Rust crate quickcheck_macros to v1.1.0 (#18181)
renovate[bot] May 19, 2025
8ee92c6
Update Rust crate tempfile to v3.20.0 (#18182)
renovate[bot] May 19, 2025
b1e6c6e
Update Rust crate criterion to 0.6.0 (#18179)
renovate[bot] May 19, 2025
5095248
Update Rust crate bitflags to v2.9.1 (#18173)
renovate[bot] May 19, 2025
6e7340c
Update cargo-bins/cargo-binstall action to v1.12.5 (#18169)
renovate[bot] May 19, 2025
f7691a7
Update peter-evans/find-comment action to v3.1.0 (#18177)
renovate[bot] May 19, 2025
6d0703a
Update taiki-e/install-action digest to 941e8a4 (#18168)
renovate[bot] May 19, 2025
04168cf
Update react monorepo to v19.1.0 (#18178)
renovate[bot] May 19, 2025
c40a801
Update dependency pyodide to v0.27.6 (#18170)
renovate[bot] May 19, 2025
d9cd639
Update Rust crate insta to v1.43.1 (#18180)
renovate[bot] May 19, 2025
12f5e99
Update Rust crate jod-thread to v1 (#18189)
renovate[bot] May 19, 2025
181a380
Update extractions/setup-just action to v3 (#18186)
renovate[bot] May 19, 2025
9dd9227
Update taiki-e/install-action action to v2.51.2 (#18183)
renovate[bot] May 19, 2025
1f9df0c
Update docker/setup-buildx-action action to v3.10.0 (#18176)
renovate[bot] May 19, 2025
b00e390
Update docker/metadata-action action to v5.7.0 (#18175)
renovate[bot] May 19, 2025
c67aa0c
Update uraimo/run-on-arch-action action to v3 (#18190)
renovate[bot] May 19, 2025
8c020cc
Update docker/build-push-action action to v6.17.0 (#18174)
renovate[bot] May 19, 2025
a761b8c
Update pre-commit dependencies (#18172)
renovate[bot] May 19, 2025
ab96adb
Update dependency ruff to v0.11.10 (#18171)
renovate[bot] May 19, 2025
405544c
Update dependency react-resizable-panels to v3 (#18185)
renovate[bot] May 19, 2025
9f743d1
Update astral-sh/setup-uv action to v6 (#18184)
renovate[bot] May 19, 2025
38c332f
Update Rust crate bincode to v2 (#18188)
renovate[bot] May 19, 2025
34337fb
Update NPM Development dependencies (#18187)
renovate[bot] May 19, 2025
220137c
Cargo update (#18191)
MichaReiser May 19, 2025
4c889d5
[ty] Support `typing.TypeAliasType` (#18156)
sharkdp May 19, 2025
b913f56
[ty] Mark generated files as such in .gitattributes (#18195)
sharkdp May 19, 2025
59d80af
[ty] Update mypy primer (#18196)
MichaReiser May 19, 2025
569c94b
Add rustfmt.toml file (#18197)
dcreager May 19, 2025
97058e8
[ty] Infer function call typevars in both directions (#18155)
dcreager May 19, 2025
55a410a
Default `src.root` to `['.', '<project_name>']` if the directory exis…
MichaReiser May 19, 2025
6985de4
[ty] Show related information in diagnostic (#17359)
MichaReiser May 19, 2025
ac5df56
[ty] Small LSP cleanups (#18201)
MichaReiser May 19, 2025
99cb89f
[`airflow`] Move rules from `AIR312` to `AIR302` (#17940)
Lee-W May 19, 2025
236633c
[`airflow`] Update `AIR301` and `AIR311` with the latest Airflow impl…
Lee-W May 19, 2025
d6009eb
Unify `Message` variants (#18051)
ntBre May 19, 2025
0ede831
[ty] Add hint that PEP 604 union syntax is only available in 3.10+ (#…
sharkdp May 19, 2025
4fad158
[ty] Use first matching constructor overload when inferring specializ…
dcreager May 19, 2025
fb58973
[ty]: Consider a class with a dynamic element in its MRO assignable t…
felixscherz May 19, 2025
ce43dba
[ty] Promote literals when inferring class specializations from const…
dcreager May 19, 2025
b302d89
[`flake8-simplify`] add fix safety section (`SIM110`) (#18114)
VascoSch92 May 19, 2025
a2c87c2
[ty] Add note to `unresolved-import` hinting to users to configure th…
EmilyBZhang May 19, 2025
8729cb2
[ty] Raise `invalid-exception-caught` even when exception is not capt…
adamaaronson May 19, 2025
f9ca6eb
Fix rendering of admonition in docs (#18163)
MichaReiser May 20, 2025
3b56c7c
Update salsa (#18212)
MichaReiser May 20, 2025
4f8a005
[`flake8-simplify`] enable fix in preview mode (`SIM117`) (#18208)
VascoSch92 May 20, 2025
15dbfad
Remove `Checker::report_diagnostics` (#18206)
ntBre May 20, 2025
90ca0a4
add full option name in formatter warning (#18217)
CodeMan62 May 20, 2025
76ab342
[ty] Integer indexing into `bytes` returns `int` (#18218)
InSyncWithFoo May 20, 2025
32403df
[ty] Avoid panicking when there are multiple workspaces (#18151)
dhruvmanila May 20, 2025
60b486a
[ty] Deeply normalize many types (#18222)
AlexWaygood May 20, 2025
e8d4f6d
[ty] Ensure that a function-literal type is always equivalent to itse…
AlexWaygood May 20, 2025
7917269
[ty] Add support for PyPy virtual environments (#18203)
Mathemmagician May 20, 2025
d098118
[ty] disable division-by-zero by default (#18220)
carljm May 20, 2025
7b25310
switch the playground repo button to ty repo (#18228)
carljm May 21, 2025
76ab77f
[ty] Support `import <namespace>` and `from <namespace> import module…
MichaReiser May 21, 2025
cb9e669
Run mypy primer on Cargo.lock changes (#18239)
MichaReiser May 21, 2025
d375921
[ty] Tell the user why we inferred the Python version we inferred (#1…
AlexWaygood May 21, 2025
02fd481
[ty] Don't warn `yield` not in function when `yield` is in function (…
maxmynter May 21, 2025
da4be78
[ty] Ignore `ClassVar` declarations when resolving instance members (…
sharkdp May 21, 2025
4146339
[ty] Add a subdiagnostic if `invalid-return-type` is emitted on a met…
AlexWaygood May 21, 2025
02394b8
[ty] Improve `invalid-type-form` diagnostic where a module-literal ty…
AlexWaygood May 21, 2025
cb04343
[ty] Split `invalid-base` error code into two error codes (#18245)
AlexWaygood May 21, 2025
01eeb2f
[ty] Support frozen dataclasses (#17974)
thejchap May 22, 2025
bdf4884
Preserve tuple parentheses in case patterns (#18147)
maxmynter May 22, 2025
6df10c6
[`pylint`] Fix docs example that produced different output (`PLW0603`…
twentyone212121 May 22, 2025
cb3ea44
[pyflakes] Fix check of unused imports
gpilikin Sep 25, 2024
14a5474
[pyflakes] Ignore submodule_imports in F823
gpilikin Oct 29, 2024
9dd7f58
fixup! [pyflakes] Ignore submodule_imports in F823
gpilikin Nov 29, 2024
ba9da92
[pyflakes] Fix incorrect resolving of submodules with aliases
gpilikin Dec 19, 2024
2a5d0f3
fixup! [pyflakes] Fix check of unused imports
gpilikin Dec 19, 2024
f0e27ee
fixup! fixup! [pyflakes] Fix check of unused imports
gpilikin Jan 14, 2025
8e09a96
fixup! fixup! fixup! [pyflakes] Fix check of unused imports
gpilikin Mar 28, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
4 changes: 4 additions & 0 deletions .cargo/config.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,7 @@ benchmark = "bench -p ruff_benchmark --bench linter --bench formatter --"
# See: https://github.com/astral-sh/ruff/issues/11503
[target.'cfg(all(target_env="msvc", target_os = "windows"))']
rustflags = ["-C", "target-feature=+crt-static"]

[target.'wasm32-unknown-unknown']
# See https://docs.rs/getrandom/latest/getrandom/#webassembly-support
rustflags = ["--cfg", 'getrandom_backend="wasm_js"']
7 changes: 7 additions & 0 deletions .config/nextest.toml
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,10 @@ failure-output = "immediate-final"
fail-fast = false

status-level = "skip"

# Mark tests that take longer than 1s as slow.
# Terminate after 60s as a stop-gap measure to terminate on deadlock.
slow-timeout = { period = "1s", terminate-after = 60 }

# Show slow jobs in the final summary
final-status-level = "slow"
5 changes: 4 additions & 1 deletion .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -17,4 +17,7 @@ indent_size = 4
trim_trailing_whitespace = false

[*.md]
max_line_length = 100
max_line_length = 100

[*.toml]
indent_size = 4
11 changes: 10 additions & 1 deletion .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,16 @@ crates/ruff_python_parser/resources/invalid/re_lexing/line_continuation_windows_
crates/ruff_python_parser/resources/invalid/re_lex_logical_token_windows_eol.py text eol=crlf
crates/ruff_python_parser/resources/invalid/re_lex_logical_token_mac_eol.py text eol=cr

crates/ruff_linter/resources/test/fixtures/ruff/RUF046_CR.py text eol=cr
crates/ruff_linter/resources/test/fixtures/ruff/RUF046_LF.py text eol=lf

crates/ruff_linter/resources/test/fixtures/pyupgrade/UP018_CR.py text eol=cr
crates/ruff_linter/resources/test/fixtures/pyupgrade/UP018_LF.py text eol=lf

crates/ruff_python_parser/resources/inline linguist-generated=true

ruff.schema.json linguist-generated=true text=auto eol=lf
ruff.schema.json -diff linguist-generated=true text=auto eol=lf
ty.schema.json -diff linguist-generated=true text=auto eol=lf
crates/ruff_python_ast/src/generated.rs -diff linguist-generated=true text=auto eol=lf
crates/ruff_python_formatter/src/generated.rs -diff linguist-generated=true text=auto eol=lf
*.md.snap linguist-language=Markdown
13 changes: 8 additions & 5 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,16 @@
/crates/ruff_formatter/ @MichaReiser
/crates/ruff_python_formatter/ @MichaReiser
/crates/ruff_python_parser/ @MichaReiser @dhruvmanila
/crates/ruff_annotate_snippets/ @BurntSushi

# flake8-pyi
/crates/ruff_linter/src/rules/flake8_pyi/ @AlexWaygood

# Script for fuzzing the parser
/scripts/fuzz-parser/ @AlexWaygood
# Script for fuzzing the parser/ty etc.
/python/py-fuzzer/ @AlexWaygood

# red-knot
/crates/red_knot* @carljm @MichaReiser @AlexWaygood
/crates/ruff_db/ @carljm @MichaReiser @AlexWaygood
# ty
/crates/ty* @carljm @MichaReiser @AlexWaygood @sharkdp @dcreager
/crates/ruff_db/ @carljm @MichaReiser @AlexWaygood @sharkdp @dcreager
/scripts/ty_benchmark/ @carljm @MichaReiser @AlexWaygood @sharkdp @dcreager
/crates/ty_python_semantic @carljm @AlexWaygood @sharkdp @dcreager
12 changes: 0 additions & 12 deletions .github/ISSUE_TEMPLATE.md

This file was deleted.

31 changes: 31 additions & 0 deletions .github/ISSUE_TEMPLATE/1_bug_report.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name: Bug report
description: Report an error or unexpected behavior
body:
- type: markdown
attributes:
value: |
Thank you for taking the time to report an issue! We're glad to have you involved with Ruff.

**Before reporting, please make sure to search through [existing issues](https://github.com/astral-sh/ruff/issues?q=is:issue+is:open+label:bug) (including [closed](https://github.com/astral-sh/ruff/issues?q=is:issue%20state:closed%20label:bug)).**

- type: textarea
attributes:
label: Summary
description: |
A clear and concise description of the bug, including a minimal reproducible example.

Be sure to include the command you invoked (e.g., `ruff check /path/to/file.py --fix`), ideally including the `--isolated` flag and
the current Ruff settings (e.g., relevant sections from your `pyproject.toml`).

If possible, try to include the [playground](https://play.ruff.rs) link that reproduces this issue.

validations:
required: true

- type: input
attributes:
label: Version
description: What version of ruff are you using? (see `ruff version`)
placeholder: e.g., ruff 0.9.3 (90589372d 2025-01-23)
validations:
required: false
10 changes: 10 additions & 0 deletions .github/ISSUE_TEMPLATE/2_rule_request.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
name: Rule request
description: Anything related to lint rules (proposing new rules, changes to existing rules, auto-fixes, etc.)
body:
- type: textarea
attributes:
label: Summary
description: |
A clear and concise description of the relevant request. If applicable, please describe the current behavior as well.
validations:
required: true
18 changes: 18 additions & 0 deletions .github/ISSUE_TEMPLATE/3_question.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
name: Question
description: Ask a question about Ruff
labels: ["question"]
body:
- type: textarea
attributes:
label: Question
description: Describe your question in detail.
validations:
required: true

- type: input
attributes:
label: Version
description: What version of ruff are you using? (see `ruff version`)
placeholder: e.g., ruff 0.9.3 (90589372d 2025-01-23)
validations:
required: false
11 changes: 11 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
blank_issues_enabled: true
contact_links:
- name: Report an issue with ty
url: https://github.com/astral-sh/ty/issues/new/choose
about: Please report issues for our type checker ty in the ty repository.
- name: Documentation
url: https://docs.astral.sh/ruff
about: Please consult the documentation before creating an issue.
- name: Community
url: https://discord.com/invite/astral-sh
about: Join our Discord community to ask questions and collaborate.
5 changes: 3 additions & 2 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
<!--
Thank you for contributing to Ruff! To help us out with reviewing, please consider the following:
Thank you for contributing to Ruff/ty! To help us out with reviewing, please consider the following:

- Does this pull request include a summary of the change? (See below.)
- Does this pull request include a descriptive title?
- Does this pull request include a descriptive title? (Please prefix with `[ty]` for ty pull
requests.)
- Does this pull request include references to any relevant issues?
-->

Expand Down
11 changes: 11 additions & 0 deletions .github/actionlint.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Configuration for the actionlint tool, which we run via pre-commit
# to verify the correctness of the syntax in our GitHub Actions workflows.

self-hosted-runner:
# Various runners we use that aren't recognized out-of-the-box by actionlint:
labels:
- depot-ubuntu-latest-8
- depot-ubuntu-22.04-16
- depot-ubuntu-22.04-32
- github-windows-2025-x86_64-8
- github-windows-2025-x86_64-16
8 changes: 8 additions & 0 deletions .github/mypy-primer-ty.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
#:schema ../ty.schema.json
# Configuration overrides for the mypy primer run

# Enable off-by-default rules.
[rules]
possibly-unresolved-reference = "warn"
unused-ignore-comment = "warn"
division-by-zero = "warn"
30 changes: 17 additions & 13 deletions .github/renovate.json5
Original file line number Diff line number Diff line change
Expand Up @@ -40,12 +40,23 @@
enabled: true,
},
packageRules: [
// Pin GitHub Actions to immutable SHAs.
{
matchDepTypes: ["action"],
pinDigests: true,
},
// Annotate GitHub Actions SHAs with a SemVer version.
{
extends: ["helpers:pinGitHubActionDigests"],
extractVersion: "^(?<version>v?\\d+\\.\\d+\\.\\d+)$",
versioning: "regex:^v?(?<major>\\d+)(\\.(?<minor>\\d+)\\.(?<patch>\\d+))?$",
},
{
// Group upload/download artifact updates, the versions are dependent
groupName: "Artifact GitHub Actions dependencies",
matchManagers: ["github-actions"],
matchDatasources: ["gitea-tags", "github-tags"],
matchPackagePatterns: ["actions/.*-artifact"],
matchPackageNames: ["actions/.*-artifact"],
description: "Weekly update of artifact-related GitHub Actions dependencies",
},
{
Expand All @@ -61,7 +72,7 @@
{
// Disable updates of `zip-rs`; intentionally pinned for now due to ownership change
// See: https://github.com/astral-sh/uv/issues/3642
matchPackagePatterns: ["zip"],
matchPackageNames: ["zip"],
matchManagers: ["cargo"],
enabled: false,
},
Expand All @@ -70,7 +81,7 @@
// with `mkdocs-material-insider`.
// See: https://squidfunk.github.io/mkdocs-material/insiders/upgrade/
matchManagers: ["pip_requirements"],
matchPackagePatterns: ["mkdocs-material"],
matchPackageNames: ["mkdocs-material"],
enabled: false,
},
{
Expand All @@ -87,22 +98,15 @@
{
groupName: "Monaco",
matchManagers: ["npm"],
matchPackagePatterns: ["monaco"],
matchPackageNames: ["monaco"],
description: "Weekly update of the Monaco editor",
},
{
groupName: "strum",
matchManagers: ["cargo"],
matchPackagePatterns: ["strum"],
matchPackageNames: ["strum"],
description: "Weekly update of strum dependencies",
},
{
groupName: "ESLint",
matchManagers: ["npm"],
matchPackageNames: ["eslint"],
allowedVersions: "<9",
description: "Constraint ESLint to version 8 until TypeScript-eslint supports ESLint 9", // https://github.com/typescript-eslint/typescript-eslint/issues/8211
},
}
],
vulnerabilityAlerts: {
commitMessageSuffix: "",
Expand Down
Loading
Loading