Skip to content

[ty] Support narrowing for os.name#23230

Merged
charliermarsh merged 1 commit intomainfrom
charlie/os-name
Feb 11, 2026
Merged

[ty] Support narrowing for os.name#23230
charliermarsh merged 1 commit intomainfrom
charlie/os-name

Conversation

@charliermarsh
Copy link
Member

Summary

Closes astral-sh/ty#2573.

@charliermarsh charliermarsh added the ty Multi-file analysis & type inference label Feb 11, 2026
@astral-sh-bot
Copy link

astral-sh-bot bot commented Feb 11, 2026

Typing conformance results

No changes detected ✅

@astral-sh-bot
Copy link

astral-sh-bot bot commented Feb 11, 2026

mypy_primer results

Changes were detected when running on open source projects
spack (https://github.com/spack/spack)
- lib/spack/spack/vendor/archspec/vendor/cpuid/cpuid.py:101:28: error[unresolved-attribute] Module `ctypes` has no member `windll`
- Found 4407 diagnostics
+ Found 4406 diagnostics

pip (https://github.com/pypa/pip)
- src/pip/_vendor/distlib/scripts.py:59:46: error[unresolved-attribute] Module `os` has no member `_name`
+ src/pip/_vendor/distlib/scripts.py:265:28: error[unresolved-attribute] Object of type `Self@_write_script` has no attribute `_get_launcher`
- src/pip/_vendor/distlib/scripts.py:107:72: error[unresolved-attribute] Module `os` has no member `_name`
+ src/pip/_vendor/distlib/scripts.py:267:28: error[unresolved-attribute] Object of type `Self@_write_script` has no attribute `_get_launcher`
- src/pip/_vendor/distlib/scripts.py:111:65: error[unresolved-attribute] Module `os` has no member `_name`
- src/pip/_vendor/distlib/scripts.py:265:28: warning[possibly-missing-attribute] Attribute `_get_launcher` may be missing on object of type `Self@_write_script`
- src/pip/_vendor/distlib/scripts.py:267:28: warning[possibly-missing-attribute] Attribute `_get_launcher` may be missing on object of type `Self@_write_script`
- src/pip/_vendor/distlib/scripts.py:400:50: error[unresolved-attribute] Module `os` has no member `_name`
- src/pip/_vendor/distlib/util.py:566:57: error[unresolved-attribute] Module `os` has no member `_name`
- Found 629 diagnostics
+ Found 624 diagnostics

pydantic (https://github.com/pydantic/pydantic)
- pydantic/_internal/_core_metadata.py:87:54: error[invalid-assignment] Invalid assignment to key "pydantic_js_extra" with declared type `dict[str, int | float | str | ... omitted 3 union elements] | ((dict[str, int | float | str | ... omitted 3 union elements], /) -> None) | ((dict[str, int | float | str | ... omitted 3 union elements], type[Any], /) -> None)` on TypedDict `CoreMetadata`: value of type `dict[object, object]`
+ pydantic/_internal/_core_metadata.py:87:54: error[invalid-assignment] Invalid assignment to key "pydantic_js_extra" with declared type `dict[str, Divergent] | ((dict[str, Divergent], /) -> None) | ((dict[str, Divergent], type[Any], /) -> None)` on TypedDict `CoreMetadata`: value of type `dict[object, object]`
- pydantic/fields.py:949:5: error[invalid-parameter-default] Default value of type `PydanticUndefinedType` is not assignable to annotated parameter type `dict[str, int | float | str | ... omitted 3 union elements] | ((dict[str, int | float | str | ... omitted 3 union elements], /) -> None) | None`
+ pydantic/fields.py:949:5: error[invalid-parameter-default] Default value of type `PydanticUndefinedType` is not assignable to annotated parameter type `dict[str, Divergent] | ((dict[str, Divergent], /) -> None) | None`
- pydantic/fields.py:989:5: error[invalid-parameter-default] Default value of type `PydanticUndefinedType` is not assignable to annotated parameter type `dict[str, int | float | str | ... omitted 3 union elements] | ((dict[str, int | float | str | ... omitted 3 union elements], /) -> None) | None`
+ pydantic/fields.py:989:5: error[invalid-parameter-default] Default value of type `PydanticUndefinedType` is not assignable to annotated parameter type `dict[str, Divergent] | ((dict[str, Divergent], /) -> None) | None`
- pydantic/fields.py:1032:5: error[invalid-parameter-default] Default value of type `PydanticUndefinedType` is not assignable to annotated parameter type `dict[str, int | float | str | ... omitted 3 union elements] | ((dict[str, int | float | str | ... omitted 3 union elements], /) -> None) | None`
+ pydantic/fields.py:1032:5: error[invalid-parameter-default] Default value of type `PydanticUndefinedType` is not assignable to annotated parameter type `dict[str, Divergent] | ((dict[str, Divergent], /) -> None) | None`
- pydantic/fields.py:1072:5: error[invalid-parameter-default] Default value of type `PydanticUndefinedType` is not assignable to annotated parameter type `dict[str, int | float | str | ... omitted 3 union elements] | ((dict[str, int | float | str | ... omitted 3 union elements], /) -> None) | None`
+ pydantic/fields.py:1072:5: error[invalid-parameter-default] Default value of type `PydanticUndefinedType` is not assignable to annotated parameter type `dict[str, Divergent] | ((dict[str, Divergent], /) -> None) | None`
- pydantic/fields.py:1115:5: error[invalid-parameter-default] Default value of type `PydanticUndefinedType` is not assignable to annotated parameter type `dict[str, int | float | str | ... omitted 3 union elements] | ((dict[str, int | float | str | ... omitted 3 union elements], /) -> None) | None`
+ pydantic/fields.py:1115:5: error[invalid-parameter-default] Default value of type `PydanticUndefinedType` is not assignable to annotated parameter type `dict[str, Divergent] | ((dict[str, Divergent], /) -> None) | None`
- pydantic/fields.py:1154:5: error[invalid-parameter-default] Default value of type `PydanticUndefinedType` is not assignable to annotated parameter type `dict[str, int | float | str | ... omitted 3 union elements] | ((dict[str, int | float | str | ... omitted 3 union elements], /) -> None) | None`
+ pydantic/fields.py:1154:5: error[invalid-parameter-default] Default value of type `PydanticUndefinedType` is not assignable to annotated parameter type `dict[str, Divergent] | ((dict[str, Divergent], /) -> None) | None`
- pydantic/fields.py:1194:5: error[invalid-parameter-default] Default value of type `PydanticUndefinedType` is not assignable to annotated parameter type `dict[str, int | float | str | ... omitted 3 union elements] | ((dict[str, int | float | str | ... omitted 3 union elements], /) -> None) | None`
+ pydantic/fields.py:1194:5: error[invalid-parameter-default] Default value of type `PydanticUndefinedType` is not assignable to annotated parameter type `dict[str, Divergent] | ((dict[str, Divergent], /) -> None) | None`
- pydantic/fields.py:1573:13: error[invalid-argument-type] Argument is incorrect: Expected `dict[str, int | float | str | ... omitted 3 union elements] | ((dict[str, int | float | str | ... omitted 3 union elements], /) -> None) | None`, found `Top[dict[Unknown, Unknown]] | (((dict[str, int | float | str | ... omitted 3 union elements], /) -> None) & ~Top[dict[Unknown, Unknown]]) | None`
+ pydantic/fields.py:1573:13: error[invalid-argument-type] Argument is incorrect: Expected `dict[str, Divergent] | ((dict[str, Divergent], /) -> None) | None`, found `Top[dict[Unknown, Unknown]] | (((dict[str, Divergent], /) -> None) & ~Top[dict[Unknown, Unknown]]) | None`

mitmproxy (https://github.com/mitmproxy/mitmproxy)
+ mitmproxy/utils/vt_codes.py:11:32: warning[unused-type-ignore-comment] Unused blanket `type: ignore` directive
- Found 2126 diagnostics
+ Found 2127 diagnostics

vision (https://github.com/pytorch/vision)
- torchvision/_internally_replaced_utils.py:33:20: error[unresolved-attribute] Module `ctypes` has no member `WinDLL`
- torchvision/_internally_replaced_utils.py:40:9: error[unresolved-attribute] Module `os` has no member `add_dll_directory`
- Found 1394 diagnostics
+ Found 1392 diagnostics

rclip (https://github.com/yurijmikhalevich/rclip)
- rclip/main.py:254:5: warning[possibly-missing-attribute] Attribute `reconfigure` may be missing on object of type `TextIO | Any`
- Found 13 diagnostics
+ Found 12 diagnostics

trio (https://github.com/python-trio/trio)
+ src/trio/_tests/test_wait_for_object.py:164:52: warning[unused-type-ignore-comment] Unused blanket `type: ignore` directive
+ src/trio/_tests/test_wait_for_object.py:179:41: error[invalid-type-form] Variable of type `Never` is not allowed in a type expression
- Found 471 diagnostics
+ Found 473 diagnostics

setuptools (https://github.com/pypa/setuptools)
- setuptools/_distutils/command/build_ext.py:228:35: error[no-matching-overload] No overload of function `join` matches arguments
- setuptools/_distutils/command/build_ext.py:230:35: error[no-matching-overload] No overload of function `join` matches arguments
- setuptools/_distutils/command/build_ext.py:242:26: error[not-subscriptable] Cannot subscript object of type `None` with no `__getitem__` method
- setuptools/_distutils/command/build_ext.py:336:13: error[unresolved-attribute] Object of type `Compiler` has no attribute `initialize`
- setuptools/_distutils/command/install.py:719:42: error[invalid-argument-type] Argument to function `__new__` is incorrect: Expected `Iterable[Never]`, found `map[str]`
- setuptools/_distutils/tests/test_install.py:122:41: error[no-matching-overload] No overload of function `dirname` matches arguments
+ setuptools/_distutils/tests/test_util.py:90:9: error[invalid-assignment] Object of type `Literal["nt"]` is not assignable to attribute `name` of type `Literal["posix"]`
+ setuptools/_distutils/tests/test_util.py:116:9: error[invalid-assignment] Object of type `Literal["BugsBunny"]` is not assignable to attribute `name` of type `Literal["posix"]`
- setuptools/_distutils/util.py:158:12: error[invalid-argument-type] Method `__getitem__` of type `(Overload[(key: SupportsIndex | slice[SupportsIndex | None, SupportsIndex | None, SupportsIndex | None], /) -> LiteralString, (key: SupportsIndex | slice[SupportsIndex | None, SupportsIndex | None, SupportsIndex | None], /) -> str]) | (Overload[(key: SupportsIndex, /) -> int, (key: slice[SupportsIndex | None, SupportsIndex | None, SupportsIndex | None], /) -> bytes])` cannot be called with key of type `Literal[0]` on object of type `AnyStr@change_root`
- setuptools/_distutils/util.py:159:20: error[invalid-argument-type] Method `__getitem__` of type `(Overload[(key: SupportsIndex | slice[SupportsIndex | None, SupportsIndex | None, SupportsIndex | None], /) -> LiteralString, (key: SupportsIndex | slice[SupportsIndex | None, SupportsIndex | None, SupportsIndex | None], /) -> str]) | (Overload[(key: SupportsIndex, /) -> int, (key: slice[SupportsIndex | None, SupportsIndex | None, SupportsIndex | None], /) -> bytes])` cannot be called with key of type `slice[Literal[1], None, None]` on object of type `AnyStr@change_root`
- setuptools/_distutils/util.py:160:16: error[no-matching-overload] No overload of function `join` matches arguments
- setuptools/_scripts.py:203:62: error[unresolved-attribute] Module `os` has no member `_name`
- setuptools/_vendor/wheel/_bdist_wheel.py:414:49: error[no-matching-overload] No overload of function `join` matches arguments
- Found 1127 diagnostics
+ Found 1118 diagnostics

dd-trace-py (https://github.com/DataDog/dd-trace-py)
- ddtrace/vendor/psutil/__init__.py:532:25: warning[possibly-missing-attribute] Attribute `uids` may be missing on object of type `Self@oneshot & ~<Protocol with members '_cache'>`
- ddtrace/vendor/psutil/__init__.py:541:25: warning[possibly-missing-attribute] Attribute `uids` may be missing on object of type `Self@oneshot & ~<Protocol with members '_cache'>`
- ddtrace/vendor/psutil/__init__.py:765:24: warning[possibly-missing-attribute] Attribute `uids` may be missing on object of type `Self@username`
- ddtrace/vendor/psutil/__init__.py:772:20: warning[possibly-missing-attribute] Attribute `username` may be missing on object of type `Unknown | Process`
- ddtrace/vendor/psutil/__init__.py:1292:13: warning[possibly-missing-attribute] Attribute `_send_signal` may be missing on object of type `Self@send_signal`
- ddtrace/vendor/psutil/__init__.py:1298:13: warning[possibly-missing-attribute] Attribute `send_signal` may be missing on object of type `Unknown | Process`
- ddtrace/vendor/psutil/__init__.py:1306:13: warning[possibly-missing-attribute] Attribute `_send_signal` may be missing on object of type `Self@suspend`
- ddtrace/vendor/psutil/__init__.py:1309:13: warning[possibly-missing-attribute] Attribute `suspend` may be missing on object of type `Unknown | Process`
- ddtrace/vendor/psutil/__init__.py:1317:13: warning[possibly-missing-attribute] Attribute `_send_signal` may be missing on object of type `Self@resume`
- ddtrace/vendor/psutil/__init__.py:1320:13: warning[possibly-missing-attribute] Attribute `resume` may be missing on object of type `Unknown | Process`
- ddtrace/vendor/psutil/__init__.py:1328:13: warning[possibly-missing-attribute] Attribute `_send_signal` may be missing on object of type `Self@terminate`
- ddtrace/vendor/psutil/__init__.py:1331:13: warning[possibly-missing-attribute] Attribute `kill` may be missing on object of type `Unknown | Process`
- ddtrace/vendor/psutil/__init__.py:1338:13: warning[possibly-missing-attribute] Attribute `_send_signal` may be missing on object of type `Self@kill`
- ddtrace/vendor/psutil/__init__.py:1341:13: warning[possibly-missing-attribute] Attribute `kill` may be missing on object of type `Unknown | Process`
- ddtrace/vendor/psutil/__init__.py:2403:16: error[unresolved-attribute] Module `ddtrace.vendor.psutil._pslinux` has no member `win_service_iter`
- ddtrace/vendor/psutil/__init__.py:2409:16: error[unresolved-attribute] Module `ddtrace.vendor.psutil._pslinux` has no member `win_service_get`
- ddtrace/vendor/psutil/_common.py:889:24: error[unresolved-attribute] Module `ctypes` has no member `windll`
- ddtrace/vendor/psutil/_common.py:890:35: error[unresolved-attribute] Module `ctypes` has no member `windll`
- ddtrace/vendor/psutil/_common.py:893:9: error[invalid-assignment] Invalid subscript assignment with key of type `None` and value of type `Literal[7]` on object of type `dict[str, int]`
- ddtrace/vendor/psutil/_common.py:895:21: error[invalid-argument-type] Method `__getitem__` of type `bound method dict[str, int].__getitem__(key: str, /) -> int` cannot be called with key of type `None` on object of type `dict[str, int]`
- Found 9408 diagnostics
+ Found 9388 diagnostics

prefect (https://github.com/PrefectHQ/prefect)
- src/prefect/cli/server.py:932:23: error[unresolved-attribute] Module `subprocess` has no member `CREATE_NEW_PROCESS_GROUP`
- src/prefect/cli/server.py:968:26: error[unresolved-attribute] Module `signal` has no member `CTRL_C_EVENT`
- src/prefect/deployments/runner.py:1017:70: warning[possibly-missing-attribute] Attribute `__name__` may be missing on object of type `Unknown | (((...) -> Any) & ((*args: object, **kwargs: object) -> object))`
+ src/prefect/deployments/runner.py:1017:70: warning[possibly-missing-attribute] Attribute `__name__` may be missing on object of type `Unknown | ((...) -> Any)`
+ src/prefect/flow_engine.py:1004:32: error[invalid-await] `Unknown | R@FlowRunEngine | Coroutine[Any, Any, R@FlowRunEngine]` is not awaitable
+ src/prefect/flow_engine.py:1610:24: error[invalid-await] `Unknown | R@AsyncFlowRunEngine | Coroutine[Any, Any, R@AsyncFlowRunEngine]` is not awaitable
+ src/prefect/flow_engine.py:1691:43: error[invalid-argument-type] Argument to function `next` is incorrect: Expected `SupportsNext[Unknown]`, found `Unknown | R@run_generator_flow_sync`
+ src/prefect/flow_engine.py:1699:21: warning[possibly-missing-attribute] Attribute `throw` may be missing on object of type `Unknown | R@run_generator_flow_sync`
+ src/prefect/flow_engine.py:1733:44: warning[possibly-missing-attribute] Attribute `__anext__` may be missing on object of type `Unknown | R@run_generator_flow_async`
+ src/prefect/flow_engine.py:1740:25: warning[possibly-missing-attribute] Attribute `throw` may be missing on object of type `Unknown | R@run_generator_flow_async`
- src/prefect/flows.py:286:34: error[unresolved-attribute] Object of type `((**P@Flow) -> R@Flow) & ((*args: object, **kwargs: object) -> object)` has no attribute `__name__`
+ src/prefect/flows.py:286:34: error[unresolved-attribute] Object of type `(**P@Flow) -> R@Flow` has no attribute `__name__`
- src/prefect/flows.py:404:68: error[unresolved-attribute] Object of type `((**P@Flow) -> R@Flow) & ((*args: object, **kwargs: object) -> object)` has no attribute `__name__`
+ src/prefect/flows.py:404:68: error[unresolved-attribute] Object of type `(**P@Flow) -> R@Flow` has no attribute `__name__`
- src/prefect/flows.py:1886:53: warning[unused-type-ignore-comment] Unused blanket `type: ignore` directive
+ src/prefect/flows.py:1946:21: error[no-matching-overload] No overload of function `run_coro_as_sync` matches arguments
- src/prefect/input/run_input.py:672:20: error[invalid-return-type] Return type does not match returned value: expected `T@GetAutomaticInputHandler | AutomaticRunInput[T@GetAutomaticInputHandler]`, found `T@GetAutomaticInputHandler | AutomaticRunInput[T@GetAutomaticInputHandler] | Coroutine[Any, Any, T@GetAutomaticInputHandler | AutomaticRunInput[T@GetAutomaticInputHandler]]`
+ src/prefect/input/run_input.py:672:20: error[invalid-return-type] Return type does not match returned value: expected `T@GetAutomaticInputHandler | AutomaticRunInput[T@GetAutomaticInputHandler]`, found `Unknown | Coroutine[Any, Any, Unknown]`
- Found 5457 diagnostics
+ Found 5461 diagnostics

sympy (https://github.com/sympy/sympy)
+ sympy/algebras/tests/test_quaternion.py:422:33: error[unsupported-operator] Operator `-` is not supported between two objects of type `MutableDenseMatrix`
+ sympy/codegen/tests/test_matrix_nodes.py:27:21: error[unsupported-operator] Operator `-` is not supported between two objects of type `MutableDenseMatrix`
+ sympy/matrices/eigen.py:1202:37: error[unresolved-attribute] Object of type `T2'return@call_highest_priority | T1'return@call_highest_priority` has no attribute `pow`
+ sympy/matrices/expressions/tests/test_blockmatrix.py:235:13: error[unsupported-operator] Operator `+` is not supported between two objects of type `MutableDenseMatrix`
+ sympy/matrices/expressions/tests/test_blockmatrix.py:235:33: error[unsupported-operator] Operator `+` is not supported between two objects of type `MutableDenseMatrix`
+ sympy/matrices/expressions/tests/test_blockmatrix.py:235:53: error[unsupported-operator] Operator `+` is not supported between two objects of type `MutableDenseMatrix`
+ sympy/matrices/expressions/tests/test_blockmatrix.py:459:12: error[unsupported-operator] Operator `-` is not supported between two objects of type `MutableDenseMatrix`
+ sympy/matrices/expressions/tests/test_derivatives.py:551:26: error[unsupported-operator] Operator `+` is not supported between two objects of type `MatrixBase | Expr`
+ sympy/matrices/expressions/tests/test_matadd.py:36:12: error[unsupported-operator] Operator `+` is not supported between objects of type `MatrixBase` and `MatrixBase | Expr`
+ sympy/matrices/expressions/tests/test_matpow.py:124:47: error[unsupported-operator] Operator `+` is not supported between two objects of type `ImmutableDenseMatrix`
+ sympy/matrices/inverse.py:385:11: error[unsupported-operator] Operator `-` is not supported between objects of type `MatrixBase` and `MatrixBase | Expr | Unknown`
+ sympy/matrices/inverse.py:393:11: error[unsupported-operator] Operator `+` is not supported between objects of type `MatrixBase` and `MatrixBase | Expr | Unknown`
+ sympy/matrices/matrixbase.py:979:18: error[unsupported-operator] Operator `+` is not supported between two objects of type `Self@_eval_wilkinson`
+ sympy/matrices/matrixbase.py:2957:16: error[invalid-return-type] Return type does not match returned value: expected `Self@_eval_pow_by_cayley`, found `Self@_eval_pow_by_cayley | T2'return@call_highest_priority | T1'return@call_highest_priority`
+ sympy/matrices/matrixbase.py:3256:16: error[invalid-return-type] Return type does not match returned value: expected `MatrixBase`, found `T2'return@call_highest_priority | T1'return@call_highest_priority`
+ sympy/matrices/matrixbase.py:3256:29: error[invalid-argument-type] Argument is incorrect: Expected `T2'return@call_highest_priority | T1'return@call_highest_priority`, found `MatrixBase`
+ sympy/matrices/matrixbase.py:3310:16: error[unsupported-operator] Operator `+` is not supported between two objects of type `MatrixBase`
+ sympy/matrices/matrixbase.py:3314:16: error[invalid-return-type] Return type does not match returned value: expected `Tmat@__sub__`, found `MatrixBase`
+ sympy/matrices/matrixbase.py:4386:16: error[unsupported-operator] Operator `+` is not supported between two objects of type `Self@add`
+ sympy/matrices/matrixbase.py:4923:16: error[invalid-return-type] Return type does not match returned value: expected `Self@analytic_func`, found `Self@analytic_func | T2'return@call_highest_priority | T1'return@call_highest_priority`
+ sympy/matrices/repmatrix.py:321:17: error[unsupported-operator] Operator `-` is not supported between two objects of type `Self@_eval_is_symmetric`
+ sympy/matrices/solvers.py:741:12: error[invalid-return-type] Return type does not match returned value: expected `Tmat@_pinv_solve`, found `T2'return@call_highest_priority | T1'return@call_highest_priority`
+ sympy/matrices/tests/test_commonmatrix.py:1249:31: error[unsupported-operator] Operator `+` is not supported between objects of type `MutableDenseMatrix` and `ImmutableDenseNDimArray`
+ sympy/matrices/tests/test_eigen.py:406:20: error[invalid-argument-type] Argument to function `max` is incorrect: Expected `Iterable[Unknown]`, found `MatrixBase | Unknown`
+ sympy/matrices/tests/test_immutable.py:105:23: error[unsupported-operator] Operator `+` is not supported between two objects of type `ImmutableDenseMatrix`
+ sympy/matrices/tests/test_matrices.py:121:12: error[unsupported-operator] Operator `+` is not supported between two objects of type `MutableDenseMatrix`
+ sympy/matrices/tests/test_matrices.py:123:32: error[unsupported-operator] Operator `+` is not supported between two objects of type `MutableDenseMatrix`
+ sympy/matrices/tests/test_matrices.py:141:12: error[unsupported-operator] Operator `+` is not supported between two objects of type `MutableDenseMatrix`
+ sympy/matrices/tests/test_matrices.py:2179:22: error[unsupported-operator] Operator `+` is not supported between two objects of type `Unknown | MutableDenseMatrix`
+ sympy/matrices/tests/test_matrices.py:2207:26: error[unsupported-operator] Operator `+` is not supported between two objects of type `Unknown | MutableDenseMatrix`
+ sympy/matrices/tests/test_matrices.py:2908:21: error[unsupported-operator] Operator `-` is not supported between two objects of type `MutableDenseMatrix`
+ sympy/matrices/tests/test_matrices.py:2921:13: error[unsupported-operator] Operator `-` is not supported between two objects of type `MutableDenseMatrix`
+ sympy/matrices/tests/test_matrices.py:2936:13: error[unsupported-operator] Operator `-` is not supported between two objects of type `MutableDenseMatrix`
+ sympy/matrices/tests/test_matrices.py:2937:13: error[unsupported-operator] Operator `-` is not supported between two objects of type `MutableDenseMatrix`
+ sympy/matrices/tests/test_matrices.py:2948:14: error[unsupported-operator] Operator `-` is not supported between two objects of type `MutableDenseMatrix`
+ sympy/matrices/tests/test_matrices.py:3471:21: error[unsupported-operator] Operator `-` is not supported between two objects of type `MutableDenseMatrix`
+ sympy/matrices/tests/test_matrices.py:3478:12: warning[possibly-missing-attribute] Attribute `rank` may be missing on object of type `MatrixBase | MatrixExpr | Unknown`
+ sympy/matrices/tests/test_matrices.py:3479:12: warning[possibly-missing-attribute] Attribute `rank` may be missing on object of type `MatrixBase | MatrixExpr | Unknown`
+ sympy/matrices/tests/test_matrixbase.py:491:12: error[unsupported-operator] Operator `+` is not supported between two objects of type `MutableDenseMatrix`
+ sympy/matrices/tests/test_matrixbase.py:493:32: error[unsupported-operator] Operator `+` is not supported between two objects of type `MutableDenseMatrix`
+ sympy/matrices/tests/test_matrixbase.py:544:12: error[unsupported-operator] Operator `-` is not supported between two objects of type `MutableDenseMatrix`
+ sympy/matrices/tests/test_matrixbase.py:823:31: error[unsupported-operator] Operator `+` is not supported between objects of type `MutableDenseMatrix` and `ImmutableDenseNDimArray`
+ sympy/matrices/tests/test_matrixbase.py:876:12: error[unsupported-operator] Operator `+` is not supported between two objects of type `MutableDenseMatrix`
+ sympy/matrices/tests/test_matrixbase.py:878:32: error[unsupported-operator] Operator `+` is not supported between two objects of type `MutableDenseMatrix`
+ sympy/matrices/tests/test_matrixbase.py:900:12: error[unsupported-operator] Operator `+` is not supported between two objects of type `MutableDenseMatrix`
+ sympy/matrices/tests/test_matrixbase.py:2931:22: error[unsupported-operator] Operator `+` is not supported between two objects of type `Unknown | MutableDenseMatrix`
+ sympy/matrices/tests/test_matrixbase.py:2959:26: error[unsupported-operator] Operator `+` is not supported between two objects of type `Unknown | MutableDenseMatrix`
+ sympy/matrices/tests/test_matrixbase.py:3610:21: error[unsupported-operator] Operator `-` is not supported between two objects of type `MutableDenseMatrix`
+ sympy/matrices/tests/test_matrixbase.py:3624:13: error[unsupported-operator] Operator `-` is not supported between two objects of type `MutableDenseMatrix`
+ sympy/matrices/tests/test_matrixbase.py:3639:13: error[unsupported-operator] Operator `-` is not supported between two objects of type `MutableDenseMatrix`
+ sympy/matrices/tests/test_matrixbase.py:3640:13: error[unsupported-operator] Operator `-` is not supported between two objects of type `MutableDenseMatrix`
+ sympy/matrices/tests/test_matrixbase.py:3652:14: error[unsupported-operator] Operator `-` is not supported between two objects of type `MutableDenseMatrix`
+ sympy/matrices/tests/test_reductions.py:377:21: error[unsupported-operator] Operator `-` is not supported between two objects of type `MutableDenseMatrix`
+ sympy/matrices/tests/test_reductions.py:384:12: warning[possibly-missing-attribute] Attribute `rank` may be missing on object of type `MatrixBase | MatrixExpr | Unknown`
+ sympy/matrices/tests/test_reductions.py:385:12: warning[possibly-missing-attribute] Attribute `rank` may be missing on object of type `MatrixBase | MatrixExpr | Unknown`
+ sympy/matrices/tests/test_solvers.py:68:13: error[unsupported-operator] Operator `-` is not supported between two objects of type `MutableDenseMatrix`
+ sympy/matrices/tests/test_sparse.py:573:12: error[unsupported-operator] Operator `+` is not supported between two objects of type `MutableSparseMatrix`
+ sympy/matrices/tests/test_sparse.py:577:52: error[unsupported-operator] Operator `+` is not supported between two objects of type `MutableSparseMatrix`
+ sympy/matrices/tests/test_sparse.py:593:17: error[unsupported-operator] Operator `+` is not supported between two objects of type `MutableSparseMatrix`
+ sympy/parsing/autolev/test-examples/ruletest5.py:13:6: error[unsupported-operator] Operator `+` is not supported between two objects of type `MutableDenseMatrix`
+ sympy/parsing/autolev/test-examples/ruletest5.py:16:38: error[unsupported-operator] Operator `+` is not supported between two objects of type `MutableDenseMatrix`
+ sympy/parsing/autolev/test-examples/ruletest5.py:16:84: error[unsupported-operator] Operator `+` is not supported between two objects of type `MutableDenseMatrix`
+ sympy/parsing/autolev/test-examples/ruletest5.py:16:131: error[unsupported-operator] Operator `+` is not supported between two objects of type `MutableDenseMatrix`
+ sympy/parsing/autolev/test-examples/ruletest5.py:21:44: error[unsupported-operator] Operator `+` is not supported between two objects of type `MutableDenseMatrix`
+ sympy/parsing/autolev/test-examples/ruletest5.py:21:90: error[unsupported-operator] Operator `+` is not supported between two objects of type `MutableDenseMatrix`
+ sympy/parsing/autolev/test-examples/ruletest5.py:21:137: error[unsupported-operator] Operator `+` is not supported between two objects of type `MutableDenseMatrix`
+ sympy/parsing/autolev/test-examples/ruletest5.py:25:37: error[unsupported-operator] Operator `+` is not supported between two objects of type `MutableDenseMatrix`
+ sympy/parsing/autolev/test-examples/ruletest5.py:25:83: error[unsupported-operator] Operator `+` is not supported between two objects of type `MutableDenseMatrix`
+ sympy/parsing/autolev/test-examples/ruletest5.py:25:130: error[unsupported-operator] Operator `+` is not supported between two objects of type `MutableDenseMatrix`
+ sympy/physics/control/tests/test_lti.py:3733:31: error[unsupported-operator] Operator `+` is not supported between two objects of type `MutableDenseMatrix`
+ sympy/physics/control/tests/test_lti.py:3733:38: error[unsupported-operator] Operator `+` is not supported between two objects of type `MutableDenseMatrix`
+ sympy/physics/mechanics/lagrange.py:222:23: error[unsupported-operator] Operator `-` is not supported between two objects of type `Unknown | MutableDenseMatrix`
+ sympy/physics/mechanics/lagrange.py:346:17: error[unsupported-operator] Operator `+` is not supported between two objects of type `Unknown | MutableDenseMatrix`
+ sympy/physics/mechanics/linearize.py:217:28: error[unsupported-operator] Operator `+` is not supported between two objects of type `Unknown | MutableDenseMatrix`
+ sympy/physics/mechanics/linearize.py:229:29: error[unsupported-operator] Operator `+` is not supported between two objects of type `Unknown | MutableDenseMatrix`
+ sympy/physics/mechanics/linearize.py:241:29: error[unsupported-operator] Operator `+` is not supported between two objects of type `Unknown | MutableDenseMatrix`
+ sympy/physics/mechanics/tests/test_jointsmethod.py:247:17: error[unsupported-operator] Operator `-` is not supported between two objects of type `MutableDenseMatrix`
+ sympy/physics/mechanics/tests/test_jointsmethod.py:249:17: error[unsupported-operator] Operator `-` is not supported between two objects of type `MutableDenseMatrix`
+ sympy/physics/quantum/tests/test_represent.py:89:17: error[unsupported-operator] Operator `+` is not supported between objects of type `MatrixBase | Expr` and `MatrixBase`
+ sympy/physics/quantum/tests/test_represent.py:91:24: error[unsupported-operator] Operator `-` is not supported between two objects of type `MatrixBase | Expr`
+ sympy/physics/quantum/tests/test_represent.py:93:28: error[unsupported-operator] Operator `+` is not supported between two objects of type `MatrixBase | Expr`
+ sympy/physics/vector/functions.py:380:21: error[invalid-argument-type] Argument to bound method `__init__` is incorrect: Expected `Iterable[Unknown]`, found `MatrixBase | Unknown`
+ sympy/solvers/tests/test_numeric.py:137:11: error[unsupported-operator] Operator `+` is not supported between two objects of type `MutableDenseMatrix`
+ sympy/solvers/tests/test_solvers.py:722:19: error[unsupported-operator] Operator `-` is not supported between two objects of type `MatrixBase | Expr`
+ sympy/solvers/tests/test_solvers.py:723:19: error[unsupported-operator] Operator `-` is not supported between two objects of type `MatrixBase | Expr`
+ sympy/solvers/tests/test_solvers.py:724:19: error[unsupported-operator] Operator `-` is not supported between two objects of type `MatrixBase | Expr`
+ sympy/solvers/tests/test_solvers.py:724:30: error[unsupported-operator] Operator `-` is not supported between two objects of type `MatrixBase | Expr`
+ sympy/stats/tests/test_symbolic_multivariate.py:84:36: error[unsupported-operator] Operator `+` is not supported between two objects of type `MutableDenseMatrix`
+ sympy/stats/tests/test_symbolic_multivariate.py:84:84: error[unsupported-operator] Operator `+` is not supported between two objects of type `MutableDenseMatrix`
+ sympy/stats/tests/test_symbolic_multivariate.py:85:36: error[unsupported-operator] Operator `+` is not supported between two objects of type `MutableDenseMatrix`
+ sympy/tensor/tests/test_tensor.py:1693:19: error[unsupported-operator] Operator `+` is not supported between two objects of type `MutableDenseMatrix`
+ sympy/tensor/tests/test_tensor.py:1694:23: error[unsupported-operator] Operator `-` is not supported between two objects of type `MutableDenseMatrix`
+ sympy/testing/runtests.py:124:53: warning[unused-type-ignore-comment] Unused blanket `type: ignore` directive
- Found 15828 diagnostics
+ Found 15921 diagnostics

rotki (https://github.com/rotki/rotki)
- rotkehlchen/server.py:74:20: error[unresolved-import] Cannot resolve imported module `win32api`
- Found 2103 diagnostics
+ Found 2102 diagnostics

@astral-sh-bot
Copy link

astral-sh-bot bot commented Feb 11, 2026

Memory usage report

Summary

Project Old New Diff Outcome
flake8 49.45MB 49.45MB - ☑️
sphinx 270.11MB 270.10MB -0.0% (9.20kB) ⬇️
trio 118.31MB 118.29MB -0.0% (23.69kB) ⬇️
prefect 679.32MB 679.20MB -0.0% (127.96kB) ⬇️

Significant changes

Click to expand detailed breakdown

sphinx

Name Old New Diff Outcome
infer_expression_types_impl 21.26MB 21.26MB -0.0% (1.67kB) ⬇️
Type<'db>::try_call_dunder_get_ 5.52MB 5.52MB -0.0% (1.65kB) ⬇️
infer_definition_types 23.34MB 23.34MB -0.0% (900.00B) ⬇️
Type<'db>::class_member_with_policy_ 7.85MB 7.85MB -0.0% (816.00B) ⬇️
is_redundant_with_impl::interned_arguments 2.74MB 2.74MB -0.0% (528.00B) ⬇️
is_redundant_with_impl 2.17MB 2.17MB -0.0% (504.00B) ⬇️
UnionType 1.65MB 1.65MB -0.0% (448.00B) ⬇️
Type<'db>::class_member_with_policy_::interned_arguments 4.00MB 4.00MB -0.0% (416.00B) ⬇️
lookup_dunder_new_inner 126.32kB 125.98kB -0.3% (348.00B) ⬇️
Type<'db>::try_call_dunder_get_::interned_arguments 1.23MB 1.23MB -0.0% (312.00B) ⬇️
FunctionType<'db>::signature_ 2.41MB 2.41MB -0.0% (308.00B) ⬇️
Type<'db>::member_lookup_with_policy_ 6.48MB 6.48MB -0.0% (288.00B) ⬇️
BoundMethodType 773.36kB 773.12kB -0.0% (240.00B) ⬇️
place_by_id 1.47MB 1.47MB -0.0% (216.00B) ⬇️
IntersectionType 1.01MB 1.01MB -0.0% (168.00B) ⬇️
... 6 more

trio

Name Old New Diff Outcome
infer_definition_types 7.19MB 7.18MB -0.1% (7.71kB) ⬇️
Type<'db>::try_call_dunder_get_ 1.51MB 1.51MB -0.1% (2.21kB) ⬇️
check_file_impl 1.92MB 1.92MB -0.1% (2.08kB) ⬇️
infer_expression_types_impl 5.60MB 5.60MB -0.0% (1.63kB) ⬇️
UnionType 344.95kB 343.50kB -0.4% (1.45kB) ⬇️
Type<'db>::class_member_with_policy_ 2.06MB 2.06MB -0.1% (1.20kB) ⬇️
is_redundant_with_impl 493.76kB 492.77kB -0.2% (1008.00B) ⬇️
Type<'db>::member_lookup_with_policy_ 1.75MB 1.75MB -0.0% (912.00B) ⬇️
is_redundant_with_impl::interned_arguments 570.45kB 569.59kB -0.2% (880.00B) ⬇️
IntersectionType 242.74kB 242.07kB -0.3% (688.00B) ⬇️
Type<'db>::class_member_with_policy_::interned_arguments 1.10MB 1.10MB -0.1% (624.00B) ⬇️
FunctionType<'db>::signature_ 1.11MB 1.11MB -0.1% (592.00B) ⬇️
BytesLiteralType 16.01kB 15.47kB -3.4% (553.00B) ⬇️
Type<'db>::member_lookup_with_policy_::interned_arguments 849.37kB 848.86kB -0.1% (520.00B) ⬇️
Type<'db>::try_call_dunder_get_::interned_arguments 358.82kB 358.41kB -0.1% (416.00B) ⬇️
... 9 more

prefect

Name Old New Diff Outcome
parsed_module 34.18MB 34.10MB -0.2% (73.92kB) ⬇️
semantic_index 182.82MB 182.77MB -0.0% (48.53kB) ⬇️
infer_expression_type_impl 10.30MB 10.30MB +0.1% (9.20kB) ⬇️
source_text 21.67MB 21.66MB -0.0% (8.47kB) ⬇️
Definition 20.25MB 20.25MB -0.0% (6.84kB) ⬇️
infer_expression_types_impl 50.97MB 50.98MB +0.0% (6.29kB) ⬇️
infer_definition_types 82.75MB 82.76MB +0.0% (4.83kB) ⬇️
Type<'db>::class_member_with_policy_ 16.87MB 16.86MB -0.0% (3.05kB) ⬇️
check_file_impl 16.57MB 16.57MB -0.0% (2.65kB) ⬇️
all_negative_narrowing_constraints_for_expression 1.51MB 1.51MB +0.1% (2.06kB) ⬇️
all_narrowing_constraints_for_expression 3.48MB 3.48MB +0.1% (2.02kB) ⬇️
Type<'db>::try_call_dunder_get_ 11.22MB 11.21MB -0.0% (1.64kB) ⬇️
infer_deferred_types 14.29MB 14.29MB -0.0% (1.45kB) ⬇️
is_redundant_with_impl::interned_arguments 6.14MB 6.14MB +0.0% (1.38kB) ⬇️
UnionType 3.87MB 3.87MB +0.0% (1.00kB) ⬇️
... 37 more

@charliermarsh charliermarsh marked this pull request as ready for review February 11, 2026 15:49
@sharkdp sharkdp self-assigned this Feb 11, 2026
@astral-sh-bot
Copy link

astral-sh-bot bot commented Feb 11, 2026

ecosystem-analyzer results

Lint rule Added Removed Changed
unresolved-attribute 2 16 0
possibly-missing-attribute 0 17 0
no-matching-overload 0 5 0
unused-type-ignore-comment 4 0 0
invalid-argument-type 0 3 0
invalid-assignment 2 1 0
invalid-type-form 1 0 0
not-subscriptable 0 1 0
unresolved-import 0 1 0
Total 9 44 0

Full report with detailed diff (timing results)

@AlexWaygood AlexWaygood removed their request for review February 11, 2026 16:45
Copy link
Contributor

@sharkdp sharkdp left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, thank you. Ecosystem also looks great. There are two new diagnostics related to code that assigns to os.name, but I think that's fine. Doesn't look like that's very important code either 😄

Image

@charliermarsh charliermarsh merged commit 62ba1e8 into main Feb 11, 2026
52 checks passed
@charliermarsh charliermarsh deleted the charlie/os-name branch February 11, 2026 19:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ecosystem-analyzer ty Multi-file analysis & type inference

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support os.name for platform checks

2 participants