Summary

Comparing branches/commits:
Old: main (merge base) dc10ab81
New: 19381/merge 9832c990
Lint Rule Removed Added Changed
Total 127 1 2
possibly-unbound-attribute 61 0 1
invalid-return-type 39 0 0
unsupported-operator 11 0 0
invalid-argument-type 4 0 0
non-subscriptable 4 0 0
call-non-callable 3 0 0
not-iterable 3 0 0
invalid-assignment 1 0 1
invalid-context-manager 1 0 0
unused-ignore-comment 0 1 0

anyio (https://github.com/agronholm/anyio)

src/anyio/_core/_asyncio_selector_thread.py

[error] invalid-return-type - :167:16 - Return type does not match returned value: expected `Selector`, found `Selector | None`

src/anyio/pytest_plugin.py

[warning] possibly-unbound-attribute - :63:13 - Attribute `close` on type `ExitStack[bool | None] | None` is possibly unbound

apprise (https://github.com/caronc/apprise)

apprise/emojis.py

[warning] possibly-unbound-attribute - :2269:16 - Attribute `sub` on type `Pattern[str] | Unknown | None` is possibly unbound

bokeh (https://github.com/bokeh/bokeh)

src/bokeh/io/state.py

[error] invalid-return-type - :233:12 - Return type does not match returned value: expected `State`, found `State | None`

src/bokeh/util/compiler.py

[error] invalid-return-type - :421:12 - Return type does not match returned value: expected `Path`, found `Path | None`
[error] invalid-return-type - :428:12 - Return type does not match returned value: expected `Path`, found `Unknown | Path | None`

cloud-init (https://github.com/canonical/cloud-init)

cloudinit/util.py

[error] unsupported-operator - :1331:16 - Operator `not in` is not supported for types `str` and `None`, in comparing `str | int` with `set[Unknown] | Unknown | None`

colour (https://github.com/colour-science/colour)

colour/models/rgb/transfer_functions/filmic_pro.py

[error] invalid-return-type - :121:12 - Return type does not match returned value: expected `Extrapolator`, found `Extrapolator | None`

colour/characterisation/aces_it.py

[error] invalid-return-type - :334:12 - Return type does not match returned value: expected `MultiSpectralDistributions`, found `MultiSpectralDistributions | None`
[error] invalid-return-type - :404:12 - Return type does not match returned value: expected `CanonicalMapping`, found `CanonicalMapping | None`

cwltool (https://github.com/common-workflow-language/cwltool)

cwltool/singularity_utils.py

[error] invalid-return-type - :30:12 - Return type does not match returned value: expected `bool`, found `bool | None`

tests/util.py

[error] invalid-return-type - :83:12 - Return type does not match returned value: expected `bool`, found `bool | None`

cwltool/docker.py

[error] invalid-return-type - :54:12 - Return type does not match returned value: expected `list[str]`, found `list[Unknown] | @Todo(list comprehension type) | list[str] | None`

cwltool/singularity.py

[error] invalid-return-type - :62:12 - Return type does not match returned value: expected `tuple[list[int], str]`, found `tuple[@Todo(list comprehension type) | list[int] | None, str | @Todo(Support for `typing.TypeAlias`)]`

cwltool/utils.py

[error] invalid-return-type - :227:12 - Return type does not match returned value: expected `str`, found `None | str`

dd-trace-py (https://github.com/DataDog/dd-trace-py)

ddtrace/internal/packages.py

[error] invalid-return-type - :60:12 - Return type does not match returned value: expected `Mapping[str, list[str]]`, found `Unknown | Mapping[str, list[str]] | None`

ddtrace/profiling/_asyncio.py

[warning] possibly-unbound-attribute - :96:12 - Attribute `get_object` on type `Unknown | None` is possibly unbound

dragonchain (https://github.com/dragonchain/dragonchain)

dragonchain/lib/keys.py

[error] invalid-return-type - :73:12 - Return type does not match returned value: expected `DCKeys`, found `DCKeys | Unknown | None`

dulwich (https://github.com/dulwich/dulwich)

dulwich/merge_drivers.py

[error] invalid-assignment - :244:9 - Object of type `Config` is not assignable to attribute `_config` on type `MergeDriverRegistry | None`
[error] invalid-return-type - :245:12 - Return type does not match returned value: expected `MergeDriverRegistry`, found `MergeDriverRegistry | None`

kopf (https://github.com/nolar/kopf)

kopf/_core/intents/registries.py

[error] invalid-return-type - :576:12 - Return type does not match returned value: expected `OperatorRegistry`, found `OperatorRegistry | None`

manticore (https://github.com/trailofbits/manticore)

tests/native/test_aarch64cpu.py

[warning] possibly-unbound-attribute - :35:12 - Attribute `asm` on type `Unknown | None` is possibly unbound

tests/native/test_armv7cpu.py

[warning] possibly-unbound-attribute - :269:16 - Attribute `asm` on type `Unknown | None` is possibly unbound
[warning] possibly-unbound-attribute - :272:16 - Attribute `asm` on type `Unknown | None` is possibly unbound

tests/native/test_armv7unicorn.py

[warning] possibly-unbound-attribute - :174:16 - Attribute `asm` on type `Unknown | None` is possibly unbound
[warning] possibly-unbound-attribute - :176:16 - Attribute `asm` on type `Unknown | None` is possibly unbound

materialize (https://github.com/MaterializeInc/materialize)

ci/mkpipeline.py

[error] unsupported-operator - :929:16 - Operator `in` is not supported for types `Unknown` and `None`, in comparing `Unknown` with `@Todo(set comprehension type) | set[str] | None`

misc/python/materialize/checks/scenarios_upgrade.py

[error] invalid-return-type - :47:12 - Return type does not match returned value: expected `list[Unknown]`, found `@Todo(list comprehension type) | list[Unknown] | None`

misc/python/materialize/mzbuild.py

[error] unsupported-operator - :235:8 - Operator `in` is not supported for types `str` and `None`, in comparing `str` with `set[Unknown] | set[str] | None`
[warning] possibly-unbound-attribute - :291:13 - Attribute `add` on type `set[Unknown] | set[str] | None` is possibly unbound

misc/python/materialize/parallel_workload/executor.py

[warning] possibly-unbound-attribute - :115:13 - Attribute `flush` on type `TextIO | None` is possibly unbound

misc/python/materialize/util.py

[error] invalid-return-type - :59:12 - Return type does not match returned value: expected `list[str]`, found `Any | None`

meson (https://github.com/mesonbuild/meson)

run_tests.py

[error] unsupported-operator - :324:47 - Operator `+` is unsupported between objects of type `Unknown | list[str] | None` and `list[str]`

openlibrary (https://github.com/internetarchive/openlibrary)

openlibrary/core/helpers.py

[warning] possibly-unbound-attribute - :288:12 - Attribute `sub` on type `Pattern[str] | Unknown | None` is possibly unbound

openlibrary/coverstore/db.py

[warning] possibly-unbound-attribute - :24:12 - Attribute `get` on type `dict[Unknown, Unknown] | Unknown | None` is possibly unbound

openlibrary/plugins/openlibrary/code.py

[warning] possibly-unbound-attribute - :1111:49 - Attribute `rsplit` on type `str | Unknown | None` is possibly unbound

openlibrary/solr/utils.py

[error] invalid-return-type - :69:12 - Return type does not match returned value: expected `bool`, found `bool | None`

openlibrary/utils/sentry.py

[warning] possibly-unbound-attribute - :196:38 - Attribute `config` on type `Sentry | None` is possibly unbound
[warning] possibly-unbound-attribute - :199:20 - Attribute `config` on type `Sentry | None` is possibly unbound
[error] invalid-return-type - :201:16 - Return type does not match returned value: expected `Sentry`, found `Sentry | None`

optuna (https://github.com/optuna/optuna)

optuna/logging.py

[error] invalid-argument-type - :91:43 - Argument to bound method `removeHandler` is incorrect: Expected `Handler`, found `Handler | None`

paasta (https://github.com/yelp/paasta)

paasta_tools/api/api.py

[error] call-non-callable - :238:12 - Object of type `None` is not callable

poetry (https://github.com/python-poetry/poetry)

src/poetry/config/config.py

[error] invalid-return-type - :432:16 - Return type does not match returned value: expected `Config`, found `Unknown | Config | None`

src/poetry/utils/authenticator.py

[error] invalid-return-type - :469:12 - Return type does not match returned value: expected `Authenticator`, found `Authenticator | None`

porcupine (https://github.com/Akuli/porcupine)

porcupine/pluginmanager.py

[warning] possibly-unbound-attribute - :235:31 - Attribute `winfo_exists` on type `Toplevel | None` is possibly unbound
[warning] possibly-unbound-attribute - :236:9 - Attribute `lift` on type `Toplevel | None` is possibly unbound
[warning] possibly-unbound-attribute - :237:9 - Attribute `focus` on type `Toplevel | None` is possibly unbound

porcupine/plugins/filemanager.py

[warning] possibly-unbound-attribute - :212:32 - Attribute `path` on type `PasteState | None` is possibly unbound
[warning] possibly-unbound-attribute - :219:27 - Attribute `path` on type `PasteState | None` is possibly unbound
[warning] possibly-unbound-attribute - :225:8 - Attribute `is_cut` on type `PasteState | None` is possibly unbound
[warning] possibly-unbound-attribute - :226:43 - Attribute `path` on type `PasteState | None` is possibly unbound
[warning] possibly-unbound-attribute - :231:25 - Attribute `path` on type `PasteState | None` is possibly unbound
[warning] possibly-unbound-attribute - :233:57 - Attribute `path` on type `PasteState | None` is possibly unbound

prefect (https://github.com/PrefectHQ/prefect)

src/prefect/_internal/concurrency/threads.py

[warning] possibly-unbound-attribute - :268:16 - Attribute `thread` on type `EventLoopThread | None` is possibly unbound
[warning] possibly-unbound-attribute - :269:16 - Attribute `running` on type `EventLoopThread | None` is possibly unbound
[error] invalid-return-type - :274:12 - Return type does not match returned value: expected `EventLoopThread`, found `EventLoopThread | None`
[warning] possibly-unbound-attribute - :299:16 - Attribute `thread` on type `EventLoopThread | None` is possibly unbound
[warning] possibly-unbound-attribute - :300:16 - Attribute `running` on type `EventLoopThread | None` is possibly unbound
[error] invalid-return-type - :305:12 - Return type does not match returned value: expected `EventLoopThread`, found `EventLoopThread | None`

src/prefect/utilities/importtools.py

[error] invalid-return-type - :29:12 - Return type does not match returned value: expected `LockType`, found `LockType | None`

src/integrations/prefect-kubernetes/prefect_kubernetes/observer.py

[warning] possibly-unbound-attribute - :146:26 - Attribute `request` on type `PrefectClient | None` is possibly unbound
[warning] possibly-unbound-attribute - :188:11 - Attribute `emit` on type `EventsClient | None` is possibly unbound
[warning] possibly-unbound-attribute - :269:26 - Attribute `read_flow_run` on type `PrefectClient | None` is possibly unbound
[warning] possibly-unbound-attribute - :310:30 - Attribute `read_flow_run` on type `PrefectClient | None` is possibly unbound
[error] invalid-argument-type - :327:13 - Argument to function `propose_state` is incorrect: Expected `PrefectClient`, found `PrefectClient | None`
[warning] possibly-unbound-attribute - :451:9 - Attribute `wait` on type `Event | None` is possibly unbound
[warning] possibly-unbound-attribute - :462:9 - Attribute `set` on type `Event | None` is possibly unbound
[warning] possibly-unbound-attribute - :464:9 - Attribute `join` on type `Thread | None` is possibly unbound

src/prefect/plugins.py

[error] invalid-return-type - :51:16 - Return type does not match returned value: expected `dict[str, ModuleType | Exception]`, found `None | dict[str, ModuleType | Exception]`

src/prefect/server/events/stream.py

[warning] possibly-unbound-attribute - :132:5 - Attribute `cancel` on type `Task[None] | None` is possibly unbound

src/prefect/server/events/triggers.py

[error] invalid-return-type - :433:12 - Return type does not match returned value: expected `Lock`, found `Lock | None`
[error] unsupported-operator - :450:33 - Operator `>=` is not supported for types `int` and `None`, in comparing `@Todo(Support for `typing.TypeAlias`) | int | float` with `int | float | None`
[error] unsupported-operator - :472:19 - Operator `-` is unsupported between objects of type `int | float | None` and `int | float`
[error] unsupported-operator - :472:43 - Operator `-` is unsupported between objects of type `int | float` and `int | float | None`
[error] invalid-return-type - :655:12 - Return type does not match returned value: expected `Lock`, found `Lock | None`

src/prefect/server/logs/stream.py

[warning] possibly-unbound-attribute - :213:5 - Attribute `cancel` on type `Task[None] | None` is possibly unbound

src/prefect/server/utilities/messaging/memory.py

[error] invalid-context-manager - :69:10 - Object of type `LockType | None` cannot be used with `with` because the methods `__enter__` and `__exit__` are possibly unbound

src/prefect/utilities/services.py

[error] not-iterable - :182:26 - Object of type `None` is not iterable

pwndbg (https://github.com/pwndbg/pwndbg)

pwndbg/commands/context.py

[error] unsupported-operator - :409:27 - Operator `>=` is not supported for types `None` and `int`, in comparing `int | None` with `int`

pwndbg/exception.py

[warning] possibly-unbound-attribute - :36:9 - Attribute `print_exception` on type `(Unknown & ~EllipsisType) | Unknown | None` is possibly unbound

pwndbg/gdblib/ptmalloc2_tracking.py

[warning] possibly-unbound-attribute - :709:13 - Attribute `delete` on type `Unknown | None` is possibly unbound
[warning] possibly-unbound-attribute - :712:13 - Attribute `delete` on type `Unknown | None` is possibly unbound

pwndbg/integration/binja.py

[warning] possibly-unbound-attribute - :124:16 - Attribute `args` on type `Unknown | None` is possibly unbound

pwndbg/integration/ida.py

[warning] possibly-unbound-attribute - :97:16 - Attribute `args` on type `BaseException | None` is possibly unbound

pydantic (https://github.com/pydantic/pydantic)

pydantic/plugin/_loader.py

[warning] possibly-unbound-attribute - :57:12 - Attribute `values` on type `dict[Unknown, Unknown] | dict[str, PydanticPluginProtocol] | None` is possibly unbound

pydantic/v1/networks.py

[error] invalid-return-type - :120:12 - Return type does not match returned value: expected `Pattern[str]`, found `Pattern[str] | Unknown | None`
[error] invalid-return-type - :138:12 - Return type does not match returned value: expected `Pattern[str]`, found `Pattern[str] | Unknown | None`
[error] invalid-return-type - :149:12 - Return type does not match returned value: expected `Pattern[str]`, found `Pattern[str] | Unknown | None`
[error] invalid-return-type - :158:12 - Return type does not match returned value: expected `Pattern[str]`, found `Pattern[str] | Unknown | None`
[error] invalid-return-type - :168:12 - Return type does not match returned value: expected `Pattern[str]`, found `Pattern[str] | Unknown | None`

pyinstrument (https://github.com/joerick/pyinstrument)

pyinstrument/magic/magic.py

[warning] possibly-unbound-attribute - :214:33 - Attribute `is_running` on type `Unknown | None` is possibly unbound
[warning] possibly-unbound-attribute - :215:13 - Attribute `stop` on type `Unknown | None` is possibly unbound

pyinstrument/stack_sampler.py

[error] invalid-return-type - :344:12 - Return type does not match returned value: expected `dict[Unknown, int | float]`, found `dict[Unknown, int | float] | None`

pytest (https://github.com/pytest-dev/pytest)

src/_pytest/doctest.py

[warning] unused-ignore-comment - :243:27 - Unused blanket `type: ignore` directive
[error] call-non-callable - :698:12 - Object of type `None` is not callable

pywin32 (https://github.com/mhammond/pywin32)

Pythonwin/pywin/framework/editor/vss.py

[warning] possibly-unbound-attribute - :94:16 - Attribute `VSSItem` on type `CDispatch | Unknown | None` is possibly unbound

Pythonwin/pywin/framework/help.py

[warning] possibly-unbound-attribute - :164:34 - Attribute `items` on type `(dict[Unknown, Unknown] & ~AlwaysFalsy) | Unknown | None` is possibly unbound
[error] invalid-argument-type - :26:72 - Argument to function `HtmlHelp` is incorrect: Expected `str | tuple[int] | int`, found `Unknown | None`

Pythonwin/pywin/framework/interact.py

[warning] possibly-unbound-attribute - :942:29 - Attribute `currentView` on type `Unknown | None` is possibly unbound
[warning] possibly-unbound-attribute - :943:12 - Attribute `currentView` on type `Unknown | None` is possibly unbound
[warning] possibly-unbound-attribute - :948:13 - Attribute `Close` on type `Unknown | None` is possibly unbound
[warning] possibly-unbound-attribute - :955:29 - Attribute `currentView` on type `Unknown | None` is possibly unbound
[warning] possibly-unbound-attribute - :956:12 - Attribute `currentView` on type `Unknown | None` is possibly unbound
[warning] possibly-unbound-attribute - :963:13 - Attribute `currentView` on type `Unknown | None` is possibly unbound

Pythonwin/pywin/scintilla/find.py

[warning] possibly-unbound-attribute - :54:13 - Attribute `DestroyWindow` on type `Unknown | None` is possibly unbound
[warning] possibly-unbound-attribute - :57:13 - Attribute `SetFocus` on type `Unknown | None` is possibly unbound

Pythonwin/pywin/tools/TraceCollector.py

[warning] possibly-unbound-attribute - :74:5 - Attribute `write` on type `WindowOutput | Unknown | None` is possibly unbound

com/win32com/test/util.py

[warning] possibly-unbound-attribute - :195:15 - Attribute `handlers` on type `Logger | Unknown | None` is possibly unbound
[error] invalid-assignment - :196:5 -
Old: Object of type `list[Unknown]` is not assignable to attribute `emitted` on type `Handler | Unknown`
New: Object of type `list[Unknown]` is not assignable to attribute `emitted` on type `Handler | @Todo(map_with_boundness: intersections with negative contributions)`
[warning] possibly-unbound-attribute - :197:12 -
Old: Attribute `emitted` on type `Handler | Unknown` is possibly unbound
New: Attribute `emitted` on type `Handler | @Todo(map_with_boundness: intersections with negative contributions)` is possibly unbound

rich (https://github.com/Textualize/rich)

rich/__init__.py

[error] invalid-return-type - :36:12 - Return type does not match returned value: expected `Console`, found `Console | None`

rich/console.py

[error] invalid-return-type - :575:16 - Return type does not match returned value: expected `WindowsConsoleFeatures`, found `None | WindowsConsoleFeatures`

schema_salad (https://github.com/common-workflow-language/schema_salad)

schema_salad/schema.py

[error] invalid-return-type - :78:16 - Return type does not match returned value: expected `tuple[Names, list[dict[str, str]], Loader]`, found `tuple[Names, list[dict[str, str]], Loader] | None`

scrapy (https://github.com/scrapy/scrapy)

scrapy/utils/log.py

[error] invalid-argument-type - :141:36 - Argument to bound method `removeHandler` is incorrect: Expected `Handler`, found `Handler | None`

streamlit (https://github.com/streamlit/streamlit)

lib/streamlit/config.py

[error] invalid-return-type - :1887:20 - Return type does not match returned value: expected `dict[str, Unknown]`, found `dict[str, Unknown] | None`

lib/streamlit/watcher/local_sources_watcher.py

[error] call-non-callable - :172:25 - Object of type `None` is not callable

sympy (https://github.com/sympy/sympy)

sympy/holonomic/holonomic.py

[error] unsupported-operator - :2277:12 - Operator `in` is not supported for types `tuple[type[Basic], ...]` and `None`, in comparing `tuple[type[Basic], ...]` with `dict[Unknown, Unknown] | Unknown | None`
[error] non-subscriptable - :2278:17 - Cannot subscript object of type `None` with no `__getitem__` method

sympy/integrals/meijerint.py

[error] unsupported-operator - :1502:8 - Operator `in` is not supported for types `tuple[type[Basic], ...]` and `None`, in comparing `tuple[type[Basic], ...]` with `dict[Unknown, Unknown] | Unknown | None`
[error] non-subscriptable - :1503:13 - Cannot subscript object of type `None` with no `__getitem__` method

sympy/integrals/transforms.py

[error] unsupported-operator - :861:47 - Operator `not in` is not supported for types `Unknown` and `None`, in comparing `Unknown` with `set[Unknown] | Unknown | None`

sympy/simplify/hyperexpand.py

[warning] possibly-unbound-attribute - :2038:15 - Attribute `lookup_origin` on type `FormulaCollection | Unknown | None` is possibly unbound
[warning] possibly-unbound-attribute - :2229:9 - Attribute `lookup_origin` on type `MeijerFormulaCollection | Unknown | None` is possibly unbound

sympy/solvers/solveset.py

[error] non-subscriptable - :423:20 - Cannot subscript object of type `None` with no `__getitem__` method
[error] non-subscriptable - :495:20 - Cannot subscript object of type `None` with no `__getitem__` method

zulip (https://github.com/zulip/zulip)

zerver/lib/narrow_helpers.py

[error] invalid-return-type - :63:12 - Return type does not match returned value: expected `list[str]`, found `Unknown | list[str] | None`

zerver/lib/sqlalchemy_utils.py

[warning] possibly-unbound-attribute - :41:10 - Attribute `connect` on type `Unknown | None` is possibly unbound

zerver/lib/templates.py

[error] not-iterable - :159:14 - Object of type `list[Unknown] | list[Extension] | None` may not be iterable
[error] not-iterable - :175:44 - Object of type `list[Unknown] | list[Extension] | None` may not be iterable

zproject/computed_settings.py

[warning] possibly-unbound-attribute - :123:5 - Attribute `append` on type `list[Unknown] | list[str] | None` is possibly unbound