@@ -11,24 +11,29 @@ hygiene = ["ruff ==0.11.*"]
1111tests = [
1212 # Tools used for testing
1313 " docopt-ng" ,
14- " mypy ==1.13 .*" ,
14+ " mypy ==1.15 .*" ,
1515 " pyright" ,
1616
1717 # Typed libraries and stubs
1818 " matplotlib >=3.8" ,
19+ " numpy >=2" ,
1920 " pandas-stubs" ,
2021 " pytest" ,
2122 " scipy-stubs" ,
2223 " typing_extensions" ,
2324
24- # Untyped libraries, used to prevent "reportMissingImports" and get inferred typing
25+ # Untyped libraries. Used to prevent "reportMissingImports" and get inferred typing
2526 " joblib" ,
26- " networkx" ,
2727 " PyOpenGL" ,
28- " scikit-learn" ,
29- " sympy" ,
3028 " traitlets" ,
3129 " transformers" ,
30+
31+ # The libraries we're stubbing. Needed for stubtest
32+ " networkx" ,
33+ " scikit-image" ,
34+ " scikit-learn" ,
35+ " sympy" ,
36+ " vispy" ,
3237]
3338dev = [{ include-group = " hygiene" }, { include-group = " tests" }]
3439
@@ -57,6 +62,7 @@ target-version = "py39"
5762extend-select = [
5863 " FA" , # flake8-future-annotations
5964 " I" , # isort
65+ " ICN" , # flake8-import-conventions
6066 " PYI" , # flake8-pyi
6167 " UP" , # pyupgrade
6268 " W" , # pycodestyle Warning
@@ -100,12 +106,22 @@ ignore = [
100106# We keep docstrings in sklearn
101107"stubs/sklearn/**" = [" PYI021" ]
102108
109+ [tool .ruff .lint .flake8-import-conventions .aliases ]
110+ # Prevent aliasing these, as it causes false-negatives for certain rules
111+ typing_extensions = " typing_extensions"
112+ typing = " typing"
113+
103114[tool .ruff .lint .isort ]
104115combine-as-imports = true
105116extra-standard-library = [
106117 # Group these with stdlib
107118 " typing_extensions" ,
108119 " _typeshed" ,
120+ # Extra modules not recognized by Ruff
121+ # Added in Python 3.9
122+ " zoneinfo" ,
123+ # Added in Python 3.14
124+ " compression" ,
109125]
110126
111127[tool .pyright ]
0 commit comments