Repository navigation
Report possibly uninitialized attributes with a dedicated strict check - #4326
asukaminato0721 wants to merge 8 commits into
Conversation
|
This pull request has been imported. If you are a Meta employee, you can view this in D113913556. (Because this pull request was imported automatically, there will not be any future comments.) |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
|
hmm, for this one I think we should error where the attribute is declared, not where it is accessed. it could be kind of tricky because we would need to handle situations like this to avoid false positives. I guess it would be similar to the logic around possibly-unbound variables |
Merging this PR will not alter performance
Performance Changes
Comparing Footnotes
|
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
|
Looks like there's a failing test. It might be a flaky test or temporary failure on main. Could you rebase and double check? |
This comment has been minimized.
This comment has been minimized.
connernilsen
left a comment
There was a problem hiding this comment.
Hey Asuka, a few more comments here. I think we're getting close though
The main things are:
- attrs defined on base classes are false positives
- methods ending in
NoReturnare false positives - assignments in nested functions are too permissive at counting initialization
Let me know if you have any questions or disagree with anything here :)
| range, | ||
| getattr_class, | ||
| termination_key_groups, | ||
| } => { |
There was a problem hiding this comment.
We never check to see if an attribute is defined on a base class, so something like this would fail:
class Base:
timeout = 10
class Child(Base):
def __init__(self, t: int | None = None) -> None:
if t is not None:
self.timeout = t # error, even though it alwas exists in `Base`
The same thing happens with super().__init__()
We should be able to fix this by skipping the error when a base other than object defines the name
Can we also add a test for this one
| use crate::test::util::TestEnv; | ||
| use crate::testcase; | ||
|
|
||
| testcase!( |
There was a problem hiding this comment.
Tests are looking great so far, but I have a few more to request:
- inherited attributes
try/except/finallyandwithin__init__matchstatementswhile Truewithreturn- nested
def del self.xTYPE_CHECKINGandsys.version_infochecks in a class body (these do work today, but nothing tests it)- dataclass
__post_init__ __init_subclass__- a
forloop variable left behind in a class body
There was a problem hiding this comment.
Hey Asuka, thanks for making the changes. I found a big issue in this version around memory blowup. Maybe it would be worth splitting up to get parts of it landed (such as landing tests first with bug markers or comments, then smaller PRs that fix those as they add implementation)? I was trying to figure out if I could give you branch write access so you can use gh-stack if you want, but I'm not sure where that setting is (or if we even have it on Meta repositories). Up to you if you'd like to do the split or keep working on one PR here.
| // A missing pre-loop definition still represents the zero-iteration path. | ||
| let missing_base = (matches!(merge_style, MergeStyle::Loop) && !added_base_to_merge) | ||
| .then_some((None, None)); | ||
| InitializationStatus::merge(branches.chain(missing_base)) |
There was a problem hiding this comment.
It looks like this is replacing determine_definition_status down below, which no longer counts termination keys from all branches, so a for loop body ending an expression statement suppressed the zero-iteration path:
def f(xs: list[int]) -> int:
for x in xs:
y = x
time.sleep(1)
return y # base: nothing. new: `y` may be uninitialized [unbound-name]
This is correct, but it's a default-on change that is probably worth reviewing in its own separate PR
| let attrs_field_specifier = | ||
| self.attrs_field_specifier(&definition, name.key(), range, &attrs_decorators); | ||
|
|
||
| let check_initialization = !matches!( |
There was a problem hiding this comment.
This adds a lot of new code to this function, re-deriving provenance the binding phase already knows about. If it's not too difficult, it might be simpler to record a function-def flag at bind time rather than here, but I'll leave it up to you on whether or not it's worth doing.
| for (initialized, termination_key) in paths { | ||
| match initialized { | ||
| Some(Self::Initialized) => {} | ||
| Some(Self::Deferred(paths)) => { |
There was a problem hiding this comment.
Oof, I'm getting exponential memory blowup coming from (I think) this function, which is causing Pyrefly to use much more memory.
It looks like this function clones every existing path for each branch and appends the branch's termination key, so if both sides of a join end in an expression statement, the paths double. Dedup isn't helping here because the copies differ in the appended key. Then merge_flow re-runs this for every tracked attribtue at every join in scope.rs:4264, which runs in every method body, whether or not the error kind is enabled.
A possible fix here is to keep the current condition tracking until an attribute has more than a small number of requirements (16 would get us 4 if/else blocks), then shrink each requirement to just its first key and dedup the list. After the collapse, the list can't grow past the number of distinct trailing calls in the method, so growth stays linear instead of doubling at every join. Below the cap, results are identical to what you have now. It would probably look something like
if conditions.len() > MAX_DEFERRED_PATHS {
conditions = conditions.into_iter().map(|path| vec![path[0]]).collect();
conditions.dedup();
}
It would also be nice to leave a comment somewhere around here mentioning that we'll report false positives above the cap.
If you see a different approach though, please feel free to try it out!
| if is_while_true && breaks.is_empty() { | ||
| self.scopes.mark_flow_termination(if loop_raises { | ||
| TerminationKind::Raise | ||
| } else { | ||
| TerminationKind::Jump | ||
| }); | ||
| } |
There was a problem hiding this comment.
This makes sense for the Retry case, but it changes reachability globally, not just for attribute tracking: statements after a break-less while True now get unreachable warnings, e.g. the defensive raise after a retry loop (test/paramspec.rs). Could this go in its own diff with direct tests? It would need a test for the warning after the loop, plus one for the environment-dependent while case in stmt.rs:1460 which has no dedicated test.
| /// Any defining method or the class body can establish initialization. | ||
| /// An empty list means no flow guarantees initialization. | ||
| IfAny(Vec<InitializationStatus>), |
There was a problem hiding this comment.
The doc says "Any defining method or the class body can establish initialization", but a conditional class-body definition never merges with methods. This still reports at the class body:
class C:
if cond: x = 1
def __init__(self): self.x = 2
Reporting here seems right to me, since C.x can fail regardless of __init__. If that's intended, could the doc say only methods combine, and could you add this case as a test?
|
Diff from mypy_primer, showing the effect of this PR on open source code: ============================================================
SUMMARY
============================================================
Total: +525 new errors, -0 fixed errors
By preset: +0/-0 (default), +0/-0 (strict)
Projects with changes (66):
pip: +9 -0
tornado: +6 -0
psycopg: +9 -0
mongo-python-driver: +8 -0
starlette: +1 -0
apprise: +3 -0
pycryptodome: +6 -0
cki-lib: +1 -0
operator: +1 -0
openlibrary: +2 -0
rotki: +2 -0
pytest: +5 -0
pyppeteer: +1 -0
jax: +6 -0
schema_salad: +1 -0
python-chess: +2 -0
urllib3: +4 -0
spark: +12 -0
scikit-learn: +4 -0
prefect: +29 -0
setuptools: +10 -0
alerta: +1 -0
pyinstrument: +6 -0
freqtrade: +8 -0
manticore: +3 -0
pwndbg: +32 -0
schemathesis: +3 -0
materialize: +9 -0
asynq: +1 -0
streamlit: +7 -0
mitmproxy: +1 -0
cloud-init: +1 -0
strawberry: +1 -0
vision: +5 -0
pandera: +1 -0
zulip: +5 -0
steam.py: +16 -0
bokeh: +6 -0
zope.interface: +3 -0
bandersnatch: +13 -0
ignite: +3 -0
static-frame: +5 -0
aiohttp: +4 -0
mypy: +1 -0
dragonchain: +2 -0
sockeye: +4 -0
hydpy: +2 -0
pandas: +4 -0
paasta: +2 -0
sphinx: +3 -0
werkzeug: +3 -0
pytensor: +16 -0
meson: +40 -0
websockets: +17 -0
dd-trace-py: +11 -0
core: +88 -0
poetry: +1 -0
spack: +15 -0
dedupe: +4 -0
xarray: +1 -0
ecosystem-analyzer: +2 -0
kornia: +40 -0
scrapy: +8 -0
cvxpy: +3 -0
optuna: +1 -0
discord.py: +1 -0
============================================================
FULL DIFF DETAILS
------------------------------------------------------------
pip (https://github.com/pypa/pip)
+ ERROR src/pip/_vendor/distlib/compat.py:665:22-28: Attribute `__root` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR src/pip/_vendor/distlib/compat.py:667:22-27: Attribute `__map` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR src/pip/_vendor/msgpack/fallback.py:255:18-27: Attribute `file_like` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR src/pip/_vendor/tomli/_parser.py:137:14-17: Attribute `msg` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR src/pip/_vendor/tomli/_parser.py:138:14-17: Attribute `doc` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR src/pip/_vendor/tomli/_parser.py:139:14-17: Attribute `pos` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR src/pip/_vendor/tomli/_parser.py:140:14-20: Attribute `lineno` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR src/pip/_vendor/tomli/_parser.py:141:14-19: Attribute `colno` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR src/pip/_vendor/urllib3/response.py:493:14-30: Attribute `length_remaining` may be uninitialized [possibly-uninitialized-attribute]
tornado (https://github.com/tornadoweb/tornado)
+ ERROR tornado/process.py:217:18-23: Attribute `stdin` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR tornado/process.py:223:18-24: Attribute `stdout` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR tornado/process.py:229:18-24: Attribute `stderr` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR tornado/test/http1connection_test.py:28:18-31: Attribute `server_stream` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR tornado/test/httpclient_test.py:1160:24-28: Attribute `port` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR tornado/test/httpclient_test.py:1162:18-24: Attribute `server` may be uninitialized [possibly-uninitialized-attribute]
psycopg (https://github.com/psycopg/psycopg)
+ ERROR psycopg/psycopg/_connection_base.py:126:14-19: Attribute `_pool` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR psycopg/psycopg/_connection_base.py:131:14-25: Attribute `_created_at` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR psycopg/psycopg/_connection_base.py:133:14-24: Attribute `_expire_at` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR psycopg/psycopg/_queries.py:55:14-20: Attribute `_parts` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR psycopg_pool/psycopg_pool/pool.py:84:14-20: Attribute `_sched` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR psycopg_pool/psycopg_pool/pool.py:85:14-20: Attribute `_tasks` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR psycopg_pool/psycopg_pool/pool_async.py:92:14-19: Attribute `_lock` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR psycopg_pool/psycopg_pool/pool_async.py:93:14-20: Attribute `_sched` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR psycopg_pool/psycopg_pool/pool_async.py:94:14-20: Attribute `_tasks` may be uninitialized [possibly-uninitialized-attribute]
mongo-python-driver (https://github.com/mongodb/mongo-python-driver)
+ ERROR pymongo/_telemetry.py:121:14-26: Attribute `_topology_id` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR pymongo/_telemetry.py:122:14-24: Attribute `_listeners` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR pymongo/_telemetry.py:123:14-19: Attribute `_conn` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR pymongo/_telemetry.py:124:14-18: Attribute `_cmd` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR pymongo/_telemetry.py:125:14-19: Attribute `_name` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR pymongo/_telemetry.py:126:14-21: Attribute `_dbname` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR pymongo/_telemetry.py:127:14-25: Attribute `_request_id` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR pymongo/_telemetry.py:128:14-20: Attribute `_op_id` may be uninitialized [possibly-uninitialized-attribute]
starlette (https://github.com/encode/starlette)
+ ERROR starlette/templating.py:95:18-21: Attribute `env` may be uninitialized [possibly-uninitialized-attribute]
apprise (https://github.com/caronc/apprise)
+ ERROR apprise/plugins/pushover.py:556:18-26: Attribute `interval` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR apprise/plugins/pushover.py:561:18-24: Attribute `expire` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR apprise/plugins/whatsapp.py:258:22-30: Attribute `language` may be uninitialized [possibly-uninitialized-attribute]
pycryptodome (https://github.com/Legrandin/pycryptodome)
+ ERROR lib/Crypto/Cipher/_mode_ctr.py:210:18-23: Attribute `nonce` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR lib/Crypto/Hash/BLAKE2b.py:70:18-21: Attribute `oid` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR lib/Crypto/Hash/BLAKE2s.py:70:18-21: Attribute `oid` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR lib/Crypto/Hash/HMAC.py:108:18-21: Attribute `oid` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR lib/Crypto/PublicKey/ECC.py:213:14-21: Attribute `_prefix` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR lib/Crypto/Util/asn1.py:207:18-34: Attribute `_inner_tag_octet` may be uninitialized [possibly-uninitialized-attribute]
cki-lib (https://gitlab.com/cki-project/cki-lib)
+ ERROR cki_lib/gitlab.py:60:18-25: Attribute `headers` may be uninitialized [possibly-uninitialized-attribute]
operator (https://github.com/canonical/operator)
+ ERROR ops/model.py:582:18-29: Attribute `_containers` may be uninitialized [possibly-uninitialized-attribute]
openlibrary (https://github.com/internetarchive/openlibrary)
+ ERROR openlibrary/solr/data_provider.py:362:18-27: Attribute `covers_db` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR openlibrary/tests/contribute/test_feed.py:21:18-24: Attribute `author` may be uninitialized [possibly-uninitialized-attribute]
rotki (https://github.com/rotki/rotki)
+ ERROR rotkehlchen/chain/decoding/tools.py:53:18-42: Attribute `_sequence_counter_thread` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR rotkehlchen/chain/substrate/manager.py:168:14-30: Attribute `chain_properties` may be uninitialized [possibly-uninitialized-attribute]
pytest (https://github.com/pytest-dev/pytest)
+ ERROR src/_pytest/cacheprovider.py:341:18-36: Attribute `_last_failed_paths` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR src/_pytest/fixtures.py:536:14-19: Attribute `param` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR src/_pytest/python.py:1713:18-27: Attribute `_instance` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR src/_pytest/python.py:1728:18-26: Attribute `callspec` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR src/_pytest/raises.py:377:22-27: Attribute `match` may be uninitialized [possibly-uninitialized-attribute]
pyppeteer (https://github.com/pyppeteer/pyppeteer)
+ ERROR pyppeteer/frame_manager.py:848:18-31: Attribute `_timeoutTimer` may be uninitialized [possibly-uninitialized-attribute]
jax (https://github.com/google/jax)
+ ERROR jax/_src/lru_cache.py:77:12-20: Attribute `max_size` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR jax/_src/lru_cache.py:78:12-29: Attribute `lock_timeout_secs` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR jax/_src/lru_cache.py:80:12-21: Attribute `lock_path` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR jax/_src/lru_cache.py:82:14-18: Attribute `lock` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR jax/_src/pallas/mosaic/interpret/shared_memory.py:71:12-18: Attribute `clocks` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR jax/_src/pallas/mosaic_gpu/interpret/shared_memory.py:1259:12-17: Attribute `clock` may be uninitialized [possibly-uninitialized-attribute]
schema_salad (https://github.com/common-workflow-language/schema_salad)
+ ERROR src/schema_salad/avro/schema.py:110:18-24: Attribute `_props` may be uninitialized [possibly-uninitialized-attribute]
python-chess (https://github.com/niklasf/python-chess)
+ ERROR chess/syzygy.py:564:18-23: Attribute `pawns` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR chess/syzygy.py:575:22-30: Attribute `enc_type` may be uninitialized [possibly-uninitialized-attribute]
urllib3 (https://github.com/urllib3/urllib3)
+ ERROR src/urllib3/connection.py:290:9-30: Attribute `_is_legal_header_name` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR src/urllib3/connection.py:291:9-33: Attribute `_is_illegal_header_value` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR src/urllib3/connection.py:294:9-42: Attribute `_contains_disallowed_url_pchar_re` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR src/urllib3/response.py:526:14-30: Attribute `length_remaining` may be uninitialized [possibly-uninitialized-attribute]
spark (https://github.com/apache/spark)
+ ERROR python/pyspark/core/broadcast.py:116:18-23: Attribute `_path` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR python/pyspark/core/broadcast.py:134:18-34: Attribute `_pickle_registry` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR python/pyspark/core/broadcast.py:143:22-28: Attribute `_value` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR python/pyspark/ml/classification.py:3846:14-23: Attribute `_java_obj` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR python/pyspark/resource/profile.py:112:18-45: Attribute `_executor_resource_requests` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR python/pyspark/resource/profile.py:113:18-41: Attribute `_task_resource_requests` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR python/pyspark/resource/profile.py:216:18-45: Attribute `_executor_resource_requests` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR python/pyspark/resource/profile.py:217:18-41: Attribute `_task_resource_requests` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR python/pyspark/resource/requests.py:192:18-37: Attribute `_executor_resources` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR python/pyspark/resource/requests.py:489:18-33: Attribute `_task_resources` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR python/pyspark/sql/tests/test_listener.py:53:17-22: Attribute `spark` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR python/pyspark/testing/connectutils.py:68:15-21: Attribute `MockDF` may be uninitialized [possibly-uninitialized-attribute]
scikit-learn (https://github.com/scikit-learn/scikit-learn)
+ ERROR sklearn/callback/_progressbar.py:275:18-20: Attribute `id` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR sklearn/utils/_encode.py:174:18-27: Attribute `nan_value` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR sklearn/utils/_metadata_requests.py:1757:17-44: Attribute `_auto_request_sample_weight` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR sklearn/utils/_pprint.py:182:18-35: Attribute `_indent_per_level` may be uninitialized [possibly-uninitialized-attribute]
prefect (https://github.com/PrefectHQ/prefect)
+ ERROR src/prefect/flows.py:283:18-32: Attribute `_isclassmethod` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR src/prefect/flows.py:287:18-33: Attribute `_isstaticmethod` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR src/prefect/locking/memory.py:51:14-30: Attribute `_locks_dict_lock` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR src/prefect/locking/memory.py:52:14-20: Attribute `_locks` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR src/prefect/server/api/server.py:1082:18-31: Attribute `_instance_key` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR src/prefect/server/api/server.py:1083:18-22: Attribute `port` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR src/prefect/server/api/server.py:1084:18-32: Attribute `server_process` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR src/prefect/server/api/server.py:1085:18-25: Attribute `running` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR src/prefect/server/api/server.py:1086:18-30: Attribute `_initialized` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR src/prefect/server/concurrency/lease_storage/memory.py:33:14-20: Attribute `leases` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR src/prefect/server/concurrency/lease_storage/memory.py:34:14-25: Attribute `expirations` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR src/prefect/server/events/ordering/memory.py:55:14-19: Attribute `scope` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR src/prefect/server/events/ordering/memory.py:56:14-32: Attribute `_processing_events` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR src/prefect/server/events/ordering/memory.py:57:14-26: Attribute `_seen_events` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR src/prefect/server/events/ordering/memory.py:60:14-24: Attribute `_followers` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR src/prefect/server/events/ordering/memory.py:61:14-21: Attribute `_events` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR src/prefect/server/events/ordering/memory.py:62:14-23: Attribute `_waitlist` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR src/prefect/server/events/ordering/memory.py:67:14-19: Attribute `_lock` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR src/prefect/server/events/ordering/memory.py:69:14-26: Attribute `_initialized` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR src/prefect/server/worker_communication/cleanup_queue/memory.py:77:14-23: Attribute `_messages` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR src/prefect/server/worker_communication/cleanup_queue/memory.py:78:14-27: Attribute `_reservations` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR src/prefect/server/worker_communication/cleanup_queue/memory.py:79:14-27: Attribute `_dead_letters` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR src/prefect/server/worker_communication/cleanup_queue/memory.py:80:14-29: Attribute `_acked_messages` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR src/prefect/server/worker_communication/cleanup_queue/memory.py:81:14-31: Attribute `_idempotency_keys` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR src/prefect/server/worker_communication/cleanup_queue/memory.py:82:14-31: Attribute `_wakeup_sequences` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR src/prefect/settings/sources.py:80:14-22: Attribute `env_vars` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR src/prefect/settings/sources.py:124:22-30: Attribute `env_vars` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR src/prefect/tasks.py:462:18-32: Attribute `_isclassmethod` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR src/prefect/tasks.py:466:18-33: Attribute `_isstaticmethod` may be uninitialized [possibly-uninitialized-attribute]
setuptools (https://github.com/pypa/setuptools)
+ ERROR setuptools/_vendor/backports/tarfile/__init__.py:373:22-26: Attribute `zlib` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR setuptools/_vendor/backports/tarfile/__init__.py:374:22-25: Attribute `crc` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR setuptools/_vendor/backports/tarfile/__init__.py:376:26-35: Attribute `exception` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR setuptools/_vendor/backports/tarfile/__init__.py:1735:22-33: Attribute `firstmember` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR setuptools/_vendor/tomli/_parser.py:130:14-17: Attribute `msg` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR setuptools/_vendor/tomli/_parser.py:131:14-17: Attribute `doc` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR setuptools/_vendor/tomli/_parser.py:132:14-17: Attribute `pos` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR setuptools/_vendor/tomli/_parser.py:133:14-20: Attribute `lineno` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR setuptools/_vendor/tomli/_parser.py:134:14-19: Attribute `colno` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR setuptools/dist.py:306:18-30: Attribute `package_data` may be uninitialized [possibly-uninitialized-attribute]
alerta (https://github.com/alerta/alerta)
+ ERROR alerta/models/blackout.py:64:18-26: Attribute `priority` may be uninitialized [possibly-uninitialized-attribute]
pyinstrument (https://github.com/joerick/pyinstrument)
+ ERROR pyinstrument/vendor/decorator.py:92:18-22: Attribute `name` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR pyinstrument/vendor/decorator.py:95:18-21: Attribute `doc` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR pyinstrument/vendor/decorator.py:96:18-24: Attribute `module` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR pyinstrument/vendor/decorator.py:99:22-33: Attribute `annotations` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR pyinstrument/vendor/decorator.py:118:22-31: Attribute `signature` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR pyinstrument/vendor/decorator.py:120:22-26: Attribute `dict` may be uninitialized [possibly-uninitialized-attribute]
freqtrade (https://github.com/freqtrade/freqtrade)
+ ERROR freqtrade/freqai/data_kitchen.py:90:22-36: Attribute `full_timerange` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR freqtrade/freqai/data_kitchen.py:93:23-42: Attribute `training_timeranges` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR freqtrade/freqai/data_kitchen.py:93:49-71: Attribute `backtesting_timeranges` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR freqtrade/freqai/tensorboard/tensorboard.py:21:18-24: Attribute `writer` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR freqtrade/freqai/tensorboard/tensorboard.py:37:18-24: Attribute `writer` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR freqtrade/rpc/api_server/webserver.py:143:14-25: Attribute `_standalone` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR freqtrade/rpc/api_server/webserver.py:144:14-21: Attribute `_server` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR freqtrade/rpc/api_server/webserver.py:150:14-17: Attribute `app` may be uninitialized [possibly-uninitialized-attribute]
manticore (https://github.com/trailofbits/manticore)
+ ERROR manticore/native/manticore.py:47:14-33: Attribute `_linux_machine_arch` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR manticore/platforms/linux.py:999:18-21: Attribute `elf` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR manticore/platforms/linux.py:1002:18-22: Attribute `arch` may be uninitialized [possibly-uninitialized-attribute]
pwndbg (https://github.com/pwndbg/pwndbg)
+ ERROR pwndbg/aglib/dynamic.py:375:22-32: Attribute `rela_r_sym` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR pwndbg/aglib/dynamic.py:376:22-33: Attribute `rela_r_type` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR pwndbg/aglib/dynamic.py:395:22-31: Attribute `rel_r_sym` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR pwndbg/aglib/dynamic.py:396:22-32: Attribute `rel_r_type` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR pwndbg/aglib/dynamic.py:415:26-38: Attribute `jmprel_r_sym` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR pwndbg/aglib/dynamic.py:416:26-39: Attribute `jmprel_r_type` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR pwndbg/aglib/heap/glibc_structs.py:130:18-25: Attribute `enumval` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR pwndbg/aglib/kernel/kallsyms.py:50:14-20: Attribute `r_base` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR pwndbg/aglib/kernel/kallsyms.py:51:14-27: Attribute `kernel_ro_mem` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR pwndbg/aglib/kernel/kallsyms.py:53:14-28: Attribute `kernel_version` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR pwndbg/aglib/kernel/kallsyms.py:54:14-24: Attribute `is_offsets` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR pwndbg/aglib/kernel/kallsyms.py:56:14-26: Attribute `rbase_offset` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR pwndbg/aglib/kernel/kallsyms.py:58:14-27: Attribute `is_big_endian` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR pwndbg/aglib/kernel/kallsyms.py:60:14-25: Attribute `token_table` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR pwndbg/aglib/kernel/kallsyms.py:61:14-29: Attribute `is_uncompressed` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR pwndbg/aglib/kernel/kallsyms.py:68:18-25: Attribute `markers` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR pwndbg/aglib/kernel/kallsyms.py:71:18-29: Attribute `token_index` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR pwndbg/aglib/kernel/kallsyms.py:74:14-22: Attribute `num_syms` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR pwndbg/aglib/kernel/kallsyms.py:75:14-21: Attribute `offsets` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR pwndbg/aglib/kernel/kallsyms.py:80:14-19: Attribute `names` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR pwndbg/aglib/kernel/kallsyms.py:81:14-30: Attribute `kernel_addresses` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR pwndbg/aglib/kernel/slab.py:117:14-20: Attribute `offset` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR pwndbg/aglib/kernel/slab.py:118:14-20: Attribute `random` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR pwndbg/aglib/kernel/slab.py:119:14-20: Attribute `cyclic` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR pwndbg/aglib/kernel/slab.py:482:18-27: Attribute `cpu_cache` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR pwndbg/aglib/kernel/slab.py:483:18-24: Attribute `is_cpu` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR pwndbg/aglib/kernel/slab.py:484:18-28: Attribute `slab_cache` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR pwndbg/aglib/kernel/slab.py:486:18-28: Attribute `node_cache` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR pwndbg/dbg_mod/gdb/__init__.py:1410:18-34: Attribute `subcommand_names` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR pwndbg/gdblib/tui/context.py:219:9-23: Attribute `___ansi_substr` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR pwndbg/wrappers/__init__.py:26:18-21: Attribute `cmd` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR pwndbg/wrappers/__init__.py:27:18-26: Attribute `cmd_path` may be uninitialized [possibly-uninitialized-attribute]
schemathesis (https://github.com/schemathesis/schemathesis)
+ ERROR src/schemathesis/pytest/plugin.py:144:14-26: Attribute `given_kwargs` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR src/schemathesis/pytest/plugin.py:152:18-31: Attribute `test_function` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR src/schemathesis/pytest/plugin.py:153:18-33: Attribute `is_invalid_test` may be uninitialized [possibly-uninitialized-attribute]
materialize (https://github.com/MaterializeInc/materialize)
+ ERROR misc/python/materialize/mzcompose/composition.py:251:18-30: Attribute `dependencies` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR misc/python/materialize/parallel_workload/database.py:368:18-25: Attribute `on_expr` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR misc/python/materialize/parallel_workload/database.py:372:18-30: Attribute `expressions2` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR misc/python/materialize/parallel_workload/database.py:766:22-35: Attribute `partition_key` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR misc/python/materialize/zippy/debezium_actions.py:76:22-36: Attribute `postgres_table` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR misc/python/materialize/zippy/debezium_actions.py:78:22-34: Attribute `cluster_name` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR misc/python/materialize/zippy/mysql_cdc_actions.py:55:18-30: Attribute `cluster_name` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR misc/python/materialize/zippy/pg_cdc_actions.py:54:18-30: Attribute `cluster_name` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR misc/python/materialize/zippy/sql_server_cdc_actions.py:58:18-30: Attribute `cluster_name` may be uninitialized [possibly-uninitialized-attribute]
asynq (https://github.com/quora/asynq)
+ ERROR asynq/async_task.py:86:18-21: Attribute `_id` may be uninitialized [possibly-uninitialized-attribute]
streamlit (https://github.com/streamlit/streamlit)
+ ERROR lib/streamlit/config_option.py:230:18-33: Attribute `expiration_date` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR lib/streamlit/config_option.py:231:18-34: Attribute `deprecation_text` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR lib/streamlit/navigation/page.py:325:18-23: Attribute `_page` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR lib/streamlit/navigation/page.py:326:18-24: Attribute `_title` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR lib/streamlit/navigation/page.py:327:18-23: Attribute `_icon` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR lib/streamlit/navigation/page.py:329:18-27: Attribute `_url_path` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR lib/tests/streamlit/dataframe/lazy_df_adapters_test.py:75:18-32: Attribute `with_row_index` may be uninitialized [possibly-uninitialized-attribute]
mitmproxy (https://github.com/mitmproxy/mitmproxy)
+ ERROR test/mitmproxy/test_addonmanager.py:23:18-24: Attribute `addons` may be uninitialized [possibly-uninitialized-attribute]
cloud-init (https://github.com/canonical/cloud-init)
+ ERROR cloudinit/distros/package_management/apt.py:96:18-33: Attribute `apt_get_command` may be uninitialized [possibly-uninitialized-attribute]
strawberry (https://github.com/strawberry-graphql/strawberry)
+ ERROR strawberry/fastapi/router.py:216:18-35: Attribute `temporal_response` may be uninitialized [possibly-uninitialized-attribute]
vision (https://github.com/pytorch/vision)
+ ERROR torchvision/datasets/stl10.py:89:22-29: Attribute `classes` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR torchvision/models/shufflenetv2.py:133:14-20: Attribute `stage2` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR torchvision/models/shufflenetv2.py:134:14-20: Attribute `stage3` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR torchvision/models/shufflenetv2.py:135:14-20: Attribute `stage4` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR torchvision/ops/deform_conv.py:147:18-22: Attribute `bias` may be uninitialized [possibly-uninitialized-attribute]
pandera (https://github.com/pandera-dev/pandera)
+ ERROR pandera/typing/fastapi.py:92:41-51: Attribute `ModelField` may be uninitialized [possibly-uninitialized-attribute]
zulip (https://github.com/zulip/zulip)
+ ERROR zerver/lib/scim.py:71:14-17: Attribute `obj` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR zerver/lib/scim.py:480:14-17: Attribute `obj` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR zerver/lib/test_classes.py:2597:14-19: Attribute `patch` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR zerver/tests/test_message_summary.py:53:18-25: Attribute `patcher` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR zerver/tests/test_message_summary.py:56:18-35: Attribute `mocked_completion` may be uninitialized [possibly-uninitialized-attribute]
steam.py (https://github.com/Gobot1234/steam.py)
+ ERROR steam/app.py:197:14-21: Attribute `version` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR steam/app.py:199:14-18: Attribute `user` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR steam/app.py:201:14-17: Attribute `app` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR steam/app.py:203:14-25: Attribute `external_ip` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR steam/app.py:205:14-25: Attribute `internal_ip` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR steam/app.py:207:14-19: Attribute `flags` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR steam/app.py:209:14-24: Attribute `created_at` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR steam/app.py:211:14-22: Attribute `_expires` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR steam/app.py:213:14-22: Attribute `licenses` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR steam/app.py:215:14-17: Attribute `dlc` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR steam/app.py:227:14-23: Attribute `signature` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR steam/ext/tf2/state.py:33:14-20: Attribute `schema` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR steam/gateway.py:298:14-25: Attribute `_keep_alive` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR steam/gateway.py:312:14-27: Attribute `refresh_token` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR steam/gateway.py:316:14-23: Attribute `public_ip` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR steam/gateway.py:317:14-26: Attribute `connect_time` may be uninitialized [possibly-uninitialized-attribute]
bokeh (https://github.com/bokeh/bokeh)
+ ERROR src/bokeh/application/handlers/server_lifecycle.py:81:18-25: Attribute `_module` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR src/bokeh/server/server.py:492:18-30: Attribute `_unix_socket` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR src/bokeh/util/compiler.py:89:18-22: Attribute `line` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR src/bokeh/util/compiler.py:90:18-24: Attribute `column` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR src/bokeh/util/compiler.py:91:18-25: Attribute `message` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR src/bokeh/util/compiler.py:93:18-27: Attribute `annotated` may be uninitialized [possibly-uninitialized-attribute]
zope.interface (https://github.com/zopefoundation/zope.interface)
+ ERROR src/zope/interface/common/__init__.py:139:14-19: Attribute `__abc` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR src/zope/interface/common/__init__.py:140:14-29: Attribute `__extra_classes` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR src/zope/interface/common/__init__.py:141:14-31: Attribute `__ignored_classes` may be uninitialized [possibly-uninitialized-attribute]
bandersnatch (https://github.com/pypa/bandersnatch)
+ ERROR src/bandersnatch/storage.py:104:18-34: Attribute `mirror_base_path` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR src/bandersnatch/storage.py:109:14-27: Attribute `web_base_path` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR src/bandersnatch/storage.py:110:14-28: Attribute `json_base_path` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR src/bandersnatch/storage.py:111:14-28: Attribute `pypi_base_path` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR src/bandersnatch/storage.py:112:14-30: Attribute `simple_base_path` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR src/bandersnatch/storage.py:113:14-22: Attribute `executor` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR src/bandersnatch/storage.py:116:14-18: Attribute `loop` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR src/bandersnatch/tests/test_verify.py:130:14-22: Attribute `web_base` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR src/bandersnatch/tests/test_verify.py:132:14-23: Attribute `json_path` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR src/bandersnatch/tests/test_verify.py:133:14-26: Attribute `package_path` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR src/bandersnatch/tests/test_verify.py:134:14-23: Attribute `pypi_path` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR src/bandersnatch/tests/test_verify.py:135:14-25: Attribute `simple_path` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR src/bandersnatch/tests/test_verify.py:145:14-27: Attribute `pypi_packages` may be uninitialized [possibly-uninitialized-attribute]
ignite (https://github.com/pytorch/ignite)
+ ERROR ignite/engine/events.py:35:18-25: Attribute `_value_` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR ignite/engine/events.py:38:18-24: Attribute `_name_` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR ignite/handlers/ema_handler.py:163:18-36: Attribute `momentum_scheduler` may be uninitialized [possibly-uninitialized-attribute]
static-frame (https://github.com/static-frame/static-frame)
+ ERROR static_frame/core/bus.py:515:18-30: Attribute `_last_loaded` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR static_frame/core/container_util.py:1506:18-29: Attribute `index_types` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR static_frame/core/container_util.py:1509:18-24: Attribute `dtypes` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR static_frame/core/node_dt.py:129:18-35: Attribute `_fill_value_dtype` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR static_frame/core/type_clinic.py:1540:18-30: Attribute `_bound_unset` may be uninitialized [possibly-uninitialized-attribute]
aiohttp (https://github.com/aio-libs/aiohttp)
+ ERROR aiohttp/client_reqrep.py:1031:18-35: Attribute `_source_traceback` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR aiohttp/client_ws.py:97:18-33: Attribute `_pong_heartbeat` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR aiohttp/http_parser.py:943:18-34: Attribute `_length_expected` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR aiohttp/web_ws.py:123:18-33: Attribute `_pong_heartbeat` may be uninitialized [possibly-uninitialized-attribute]
mypy (https://github.com/python/mypy)
+ ERROR mypy/util.py:632:18-24: Attribute `colors` may be uninitialized [possibly-uninitialized-attribute]
dragonchain (https://github.com/dragonchain/dragonchain)
+ ERROR dragonchain/job_processor/contract_job.py:98:18-30: Attribute `update_model` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR dragonchain/job_processor/contract_job.py:101:18-33: Attribute `end_error_state` may be uninitialized [possibly-uninitialized-attribute]
sockeye (https://github.com/awslabs/sockeye)
+ ERROR sockeye/loss.py:237:14-20: Attribute `weight` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR sockeye/loss.py:238:14-24: Attribute `pos_weight` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR sockeye/training.py:208:18-25: Attribute `_scaler` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR sockeye/transformer.py:339:18-24: Attribute `linear` may be uninitialized [possibly-uninitialized-attribute]
hydpy (https://github.com/hydpy-dev/hydpy)
+ ERROR hydpy/core/devicetools.py:2124:18-29: Attribute `__blackhole` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR hydpy/core/devicetools.py:3234:18-31: Attribute `__connections` may be uninitialized [possibly-uninitialized-attribute]
pandas (https://github.com/pandas-dev/pandas)
+ ERROR pandas/io/formats/style.py:4069:17-36: Attribute `template_html_table` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR pandas/io/formats/style.py:4071:17-36: Attribute `template_html_style` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR pandas/plotting/_matplotlib/core.py:201:22-29: Attribute `columns` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR pandas/plotting/_matplotlib/core.py:216:18-26: Attribute `_grouped` may be uninitialized [possibly-uninitialized-attribute]
paasta (https://github.com/yelp/paasta)
+ ERROR paasta_tools/secret_providers/__init__.py:24:18-28: Attribute `secret_dir` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR paasta_tools/secret_providers/__init__.py:26:18-32: Attribute `encryption_key` may be uninitialized [possibly-uninitialized-attribute]
sphinx (https://github.com/sphinx-doc/sphinx)
+ ERROR sphinx/ext/napoleon/docstring.py:378:18-37: Attribute `_directive_sections` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR sphinx/ext/napoleon/docstring.py:380:18-27: Attribute `_sections` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR sphinx/writers/latex.py:394:18-37: Attribute `numfig_secnum_depth` may be uninitialized [possibly-uninitialized-attribute]
werkzeug (https://github.com/pallets/werkzeug)
+ ERROR src/werkzeug/_header_property.py:37:18-25: Attribute `__doc__` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR src/werkzeug/_header_property.py:101:18-25: Attribute `__doc__` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR src/werkzeug/utils.py:78:18-26: Attribute `__name__` may be uninitialized [possibly-uninitialized-attribute]
pytensor (https://github.com/pymc-devs/pytensor)
+ ERROR pytensor/compile/maker.py:528:18-32: Attribute `_compile_start` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR pytensor/configparser.py:354:14-22: Attribute `in_c_key` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR pytensor/graph/op.py:138:17-28: Attribute `infer_shape` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR pytensor/graph/rewriting/basic.py:1241:18-31: Attribute `time_rewrites` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR pytensor/graph/rewriting/basic.py:1242:18-31: Attribute `process_count` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR pytensor/graph/rewriting/basic.py:1243:18-30: Attribute `applied_true` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR pytensor/graph/rewriting/basic.py:1244:18-30: Attribute `node_created` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR pytensor/graph/rewriting/basic.py:1609:18-26: Attribute `__name__` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR pytensor/ipython.py:89:18-30: Attribute `reason_label` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR pytensor/link/numba/dispatch/vectorize_codegen.py:626:18-29: Attribute `value_types` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR pytensor/scalar/basic.py:1163:18-41: Attribute `output_types_preference` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR pytensor/tensor/random/op.py:100:18-27: Attribute `ndim_supp` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR pytensor/tensor/random/op.py:112:18-30: Attribute `ndims_params` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR pytensor/tensor/random/op.py:117:18-28: Attribute `inputs_sig` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR pytensor/tensor/random/op.py:117:36-46: Attribute `output_sig` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR pytensor/xtensor/vectorization.py:201:18-29: Attribute `_print_name` may be uninitialized [possibly-uninitialized-attribute]
meson (https://github.com/mesonbuild/meson)
+ ERROR docs/extensions/refman_links.py:27:14-21: Attribute `project` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR mesonbuild/backend/backends.py:297:14-19: Attribute `build` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR mesonbuild/backend/backends.py:299:14-31: Attribute `processed_targets` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR mesonbuild/backend/backends.py:300:14-23: Attribute `build_dir` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR mesonbuild/backend/backends.py:301:14-24: Attribute `source_dir` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR mesonbuild/backend/backends.py:302:14-26: Attribute `build_to_src` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR mesonbuild/backend/backends.py:304:14-26: Attribute `src_to_build` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR mesonbuild/build.py:1088:18-24: Attribute `prefix` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR mesonbuild/build.py:1092:18-24: Attribute `suffix` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR mesonbuild/compilers/swift.py:47:22-30: Attribute `sdk_path` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR mesonbuild/dependencies/boost.py:370:14-18: Attribute `arch` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR mesonbuild/dependencies/cmake.py:116:14-25: Attribute `traceparser` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR mesonbuild/dependencies/cmake.py:125:14-23: Attribute `cmakeinfo` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR mesonbuild/dependencies/cuda.py:76:14-25: Attribute `target_path` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR mesonbuild/dependencies/cuda.py:81:18-24: Attribute `incdir` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR mesonbuild/dependencies/cuda.py:92:14-20: Attribute `libdir` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR mesonbuild/dependencies/dev.py:148:18-26: Attribute `prebuilt` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR mesonbuild/dependencies/dev.py:589:14-23: Attribute `java_home` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR mesonbuild/dependencies/dub.py:100:15-21: Attribute `dubbin` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR mesonbuild/dependencies/dub.py:105:14-30: Attribute `_search_in_cache` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR mesonbuild/dependencies/dub.py:106:14-33: Attribute `_use_cache_describe` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR mesonbuild/dependencies/dub.py:107:14-33: Attribute `_dub_has_build_deep` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR mesonbuild/dependencies/dub.py:223:22-25: Attribute `pkg` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR mesonbuild/dependencies/pkgconfig.py:337:14-23: Attribute `pkgconfig` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR mesonbuild/dependencies/pkgconfig.py:359:22-28: Attribute `reason` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR mesonbuild/dependencies/python.py:276:18-25: Attribute `is_pypy` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR mesonbuild/dependencies/python.py:277:18-27: Attribute `variables` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR mesonbuild/dependencies/qt.py:237:14-20: Attribute `bindir` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR mesonbuild/dependencies/qt.py:315:14-20: Attribute `bindir` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR mesonbuild/dependencies/ui.py:65:14-21: Attribute `modules` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR mesonbuild/dependencies/ui.py:160:14-31: Attribute `requested_modules` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR mesonbuild/scripts/depfixer.py:321:18-23: Attribute `XWord` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR mesonbuild/scripts/depfixer.py:322:18-27: Attribute `XWordSize` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR mesonbuild/scripts/depfixer.py:323:18-24: Attribute `Sxword` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR mesonbuild/scripts/depfixer.py:324:18-28: Attribute `SxwordSize` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR mesonbuild/utils/universal.py:2501:18-26: Attribute `iterable` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR mesonbuild/utils/universal.py:2503:14-19: Attribute `total` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR mesonbuild/utils/universal.py:2504:14-18: Attribute `done` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR mesonbuild/utils/universal.py:2505:14-26: Attribute `printed_dots` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR mesonbuild/utils/universal.py:2506:14-21: Attribute `disable` may be uninitialized [possibly-uninitialized-attribute]
websockets (https://github.com/aaugustin/websockets)
+ ERROR src/websockets/asyncio/server.py:88:14-22: Attribute `username` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR src/websockets/asyncio/server.py:89:14-21: Attribute `handler` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR src/websockets/asyncio/server.py:90:14-28: Attribute `handler_kwargs` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR src/websockets/exceptions.py:476:18-22: Attribute `size` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR src/websockets/exceptions.py:478:18-26: Attribute `max_size` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR src/websockets/exceptions.py:479:18-30: Attribute `current_size` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR src/websockets/extensions/permessage_deflate.py:72:18-25: Attribute `decoder` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR src/websockets/extensions/permessage_deflate.py:75:18-25: Attribute `encoder` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR src/websockets/legacy/protocol.py:244:14-18: Attribute `path` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR src/websockets/legacy/protocol.py:246:14-29: Attribute `request_headers` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR src/websockets/legacy/protocol.py:248:14-30: Attribute `response_headers` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR src/websockets/sync/server.py:97:14-22: Attribute `username` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR src/websockets/sync/server.py:98:14-21: Attribute `handler` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR src/websockets/sync/server.py:99:14-28: Attribute `handler_kwargs` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR src/websockets/trio/server.py:90:14-22: Attribute `username` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR src/websockets/trio/server.py:91:14-21: Attribute `handler` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR src/websockets/trio/server.py:92:14-28: Attribute `handler_kwargs` may be uninitialized [possibly-uninitialized-attribute]
dd-trace-py (https://github.com/DataDog/dd-trace-py)
+ ERROR ddtrace/debugging/_function/discovery.py:256:14-21: Attribute `_module` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR ddtrace/debugging/_function/discovery.py:258:18-29: Attribute `_name_index` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR ddtrace/debugging/_function/discovery.py:259:14-21: Attribute `_cached` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR ddtrace/debugging/_function/discovery.py:264:18-33: Attribute `_fullname_index` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR ddtrace/debugging/_uploader.py:117:18-24: Attribute `_state` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR ddtrace/internal/ci_visibility/git_client.py:151:18-27: Attribute `_base_url` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR ddtrace/internal/ci_visibility/writer.py:78:18-26: Attribute `_headers` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR ddtrace/internal/ci_visibility/writer.py:97:18-26: Attribute `_headers` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR ddtrace/internal/coverage/threading_coverage.py:47:18-33: Attribute `_coverage_queue` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR ddtrace/testing/internal/pytest/plugin.py:859:9-40: Attribute `pytest_runtest_protocol_wrapper` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR ddtrace/testing/internal/pytest/plugin.py:863:9-32: Attribute `pytest_runtest_protocol` may be uninitialized [possibly-uninitialized-attribute]
core (https://github.com/home-assistant/core)
+ ERROR homeassistant/components/airos/config_flow.py:103:14-26: Attribute `airos_device` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR homeassistant/components/balboa/climate.py:76:18-31: Attribute `_fan_mode_map` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR homeassistant/components/brother/config_flow.py:114:14-21: Attribute `brother` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR homeassistant/components/buienradar/sensor.py:762:18-28: Attribute `_timeframe` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR homeassistant/components/coinbase/sensor.py:142:18-33: Attribute `_native_balance` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR homeassistant/components/deconz/light.py:203:14-17: Attribute `api` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR homeassistant/components/devolo_home_control/entity.py:51:14-20: Attribute `_value` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR homeassistant/components/enphase_envoy/number.py:164:18-32: Attribute `_serial_number` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR homeassistant/components/enphase_envoy/select.py:232:18-32: Attribute `_serial_number` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR homeassistant/components/enphase_envoy/switch.py:243:18-32: Attribute `_serial_number` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR homeassistant/components/fronius/config_flow.py:92:14-18: Attribute `info` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR homeassistant/components/fuelprices_dk/config_flow.py:48:14-17: Attribute `api` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR homeassistant/components/futurenow/light.py:84:18-24: Attribute `_light` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR homeassistant/components/garadget/cover.py:112:18-33: Attribute `_obtained_token` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR homeassistant/components/gardena_bluetooth/config_flow.py:40:14-21: Attribute `address` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR homeassistant/components/google_assistant/trait.py:1955:22-36: Attribute `_ordered_speed` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR homeassistant/components/google_maps/device_tracker.py:77:18-25: Attribute `service` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR homeassistant/components/growatt_server/coordinator.py:120:18-23: Attribute `token` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR homeassistant/components/homekit/accessories.py:543:14-27: Attribute `_char_battery` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR homeassistant/components/homekit/accessories.py:544:14-28: Attribute `_char_charging` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR homeassistant/components/homekit/accessories.py:545:14-31: Attribute `_char_low_battery` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR homeassistant/components/homekit/accessories.py:546:14-35: Attribute `linked_battery_sensor` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR homeassistant/components/homekit/accessories.py:547:14-44: Attribute `linked_battery_charging_sensor` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR homeassistant/components/homekit/accessories.py:550:14-35: Attribute `low_battery_threshold` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR homeassistant/components/homekit/type_covers.py:234:18-36: Attribute `char_hold_position` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR homeassistant/components/homekit/type_covers.py:239:18-34: Attribute `char_target_tilt` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR homeassistant/components/homekit/type_covers.py:242:18-35: Attribute `char_current_tilt` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR homeassistant/components/homekit/type_lights.py:117:18-33: Attribute `char_brightness` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR homeassistant/components/homekit/type_lights.py:133:18-28: Attribute `min_mireds` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR homeassistant/components/homekit/type_lights.py:133:35-45: Attribute `max_mireds` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR homeassistant/components/homekit/type_lights.py:136:18-33: Attribute `char_color_temp` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR homeassistant/components/homekit/type_lights.py:146:18-26: Attribute `char_hue` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR homeassistant/components/homekit/type_lights.py:147:18-33: Attribute `char_saturation` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR homeassistant/components/homekit/type_media_players.py:301:18-27: Attribute `char_mute` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR homeassistant/components/homekit/type_media_players.py:310:18-38: Attribute `char_volume_selector` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR homeassistant/components/homekit/type_media_players.py:315:22-33: Attribute `char_volume` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR homeassistant/components/homekit/type_remotes.py:132:14-31: Attribute `char_input_source` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR homeassistant/components/homekit/type_switches.py:334:18-35: Attribute `char_set_duration` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR homeassistant/components/homekit/type_switches.py:356:18-41: Attribute `char_remaining_duration` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR homeassistant/components/honeywell/climate.py:217:14-27: Attribute `_fan_mode_map` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR homeassistant/components/ihc/entity.py:50:22-33: Attribute `device_name` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR homeassistant/components/ihc/entity.py:53:22-34: Attribute `device_model` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR homeassistant/components/intellifire/config_flow.py:89:14-30: Attribute `_discovered_host` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR homeassistant/components/intellifire/config_flow.py:93:14-28: Attribute `_reauth_needed` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR homeassistant/components/iometer/config_flow.py:29:14-27: Attribute `_meter_number` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR homeassistant/components/met/coordinator.py:45:14-27: Attribute `_weather_data` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR homeassistant/components/modbus/climate.py:182:18-36: Attribute `_hvac_mode_mapping` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR homeassistant/components/modbus/climate.py:183:18-44: Attribute `_hvac_mode_write_registers` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR homeassistant/components/modbus/climate.py:211:18-35: Attribute `_hvac_action_type` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR homeassistant/components/modbus/climate.py:214:18-38: Attribute `_hvac_action_mapping` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR homeassistant/components/modbus/climate.py:244:18-45: Attribute `_fan_mode_mapping_to_modbus` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR homeassistant/components/modbus/climate.py:245:18-47: Attribute `_fan_mode_mapping_from_modbus` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR homeassistant/components/modbus/climate.py:280:18-44: Attribute `_swing_mode_modbus_mapping` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR homeassistant/components/modbus/climate.py:296:18-45: Attribute `_hvac_onoff_write_registers` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR homeassistant/components/modbus/climate.py:297:18-32: Attribute `_hvac_on_value` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR homeassistant/components/modbus/climate.py:298:18-33: Attribute `_hvac_off_value` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR homeassistant/components/modbus/entity.py:330:18-31: Attribute `_verify_delay` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR homeassistant/components/modbus/entity.py:331:18-33: Attribute `_verify_address` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR homeassistant/components/modbus/entity.py:334:18-30: Attribute `_verify_type` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR homeassistant/components/modbus/entity.py:337:18-27: Attribute `_state_on` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR homeassistant/components/modbus/entity.py:338:18-28: Attribute `_state_off` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR homeassistant/components/modbus/modbus.py:198:14-27: Attribute `_connect_task` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR homeassistant/components/mqtt/entity.py:1091:14-29: Attribute `_registry_hooks` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR homeassistant/components/mqtt/entity.py:1093:14-32: Attribute `_migrate_discovery` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR homeassistant/components/neurio_energy/sensor.py:179:18-38: Attribute `_unit_of_measurement` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR homeassistant/components/nextdns/config_flow.py:75:14-21: Attribute `nextdns` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR homeassistant/components/nextdns/config_flow.py:76:14-21: Attribute `api_key` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR homeassistant/components/nextdns/config_flow.py:232:14-21: Attribute `nextdns` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR homeassistant/components/obihai/connectivity.py:49:14-20: Attribute `serial` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR homeassistant/components/overkiz/climate/atlantic_pass_apc_zone_control_zone.py:116:14-35: Attribute `zone_control_executor` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR homeassistant/components/quantum_gateway/device_tracker.py:51:18-25: Attribute `quantum` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR homeassistant/components/shelly/climate.py:140:18-40: Attribute `_ha_to_thermostat_mode` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR homeassistant/components/shelly/climate.py:456:18-28: Attribute `_unique_id` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR homeassistant/components/shelly/entity.py:560:18-50: Attribute `_attr_native_unit_of_measurement` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR homeassistant/components/snmp/device_tracker.py:97:14-21: Attribute `_target` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR homeassistant/components/stream/recorder.py:47:14-24: Attribute `video_path` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR homeassistant/components/systemnexa2/config_flow.py:57:14-32: Attribute `_discovered_device` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR homeassistant/components/threshold/binary_sensor.py:190:18-34: Attribute `_threshold_lower` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR homeassistant/components/threshold/binary_sensor.py:192:18-34: Attribute `_threshold_upper` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR homeassistant/components/tplink/vacuum.py:115:18-33: Attribute `_speaker_module` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR homeassistant/components/xiaomi_weather/config_flow.py:33:14-23: Attribute `_location` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR homeassistant/components/yamaha/media_player.py:100:18-23: Attribute `model` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR homeassistant/components/yamaha/media_player.py:102:18-26: Attribute `desc_url` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR homeassistant/components/zha/sensor.py:127:22-33: Attribute `_attr_scale` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR homeassistant/helpers/condition/entity_condition.py:121:18-26: Attribute `_matcher` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR homeassistant/helpers/llm.py:442:14-22: Attribute `original` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR homeassistant/helpers/script.py:1579:18-28: Attribute `_queue_lck` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR homeassistant/helpers/template/__init__.py:889:18-24: Attribute `loader` may be uninitialized [possibly-uninitialized-attribute]
poetry (https://github.com/python-poetry/poetry)
+ ERROR src/poetry/masonry/builders/editable.py:47:14-21: Attribute `_poetry` may be uninitialized [possibly-uninitialized-attribute]
spack (https://github.com/spack/spack)
+ ERROR lib/spack/spack/bootstrap/clingo.py:70:18-27: Attribute `host_libc` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR lib/spack/spack/install_test.py:271:18-29: Attribute `tested_file` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR lib/spack/spack/package_base.py:176:17-21: Attribute `tags` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR lib/spack/spack/package_base.py:263:21-43: Attribute `determine_spec_details` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR lib/spack/spack/package_base.py:273:21-39: Attribute `determine_variants` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR lib/spack/spack/package_base.py:280:17-37: Attribute `platform_executables` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR lib/spack/spack/reporters/cdash.py:101:18-32: Attribute `buildid_regexp` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR lib/spack/spack/subprocess_context.py:106:14-20: Attribute `config` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR lib/spack/spack/subprocess_context.py:107:14-22: Attribute `platform` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR lib/spack/spack/subprocess_context.py:108:14-19: Attribute `store` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR lib/spack/spack/subprocess_context.py:109:14-26: Attribute `test_patches` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR lib/spack/spack/subprocess_context.py:110:14-31: Attribute `spack_working_dir` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR lib/spack/spack/subprocess_context.py:111:14-24: Attribute `gnupg_home` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR lib/spack/spack/subprocess_context.py:113:18-21: Attribute `env` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR lib/spack/spack/test/installer/windows.py:111:14-19: Attribute `_peer` may be uninitialized [possibly-uninitialized-attribute]
dedupe (https://github.com/dedupeio/dedupe)
+ ERROR dedupe/api.py:84:14-24: Attribute `data_model` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR dedupe/api.py:85:14-24: Attribute `classifier` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR dedupe/api.py:86:14-24: Attribute `predicates` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR dedupe/api.py:673:18-26: Attribute `temp_dir` may be uninitialized [possibly-uninitialized-attribute]
xarray (https://github.com/pydata/xarray)
+ ERROR xarray/core/indexing.py:853:18-21: Attribute `key` may be uninitialized [possibly-uninitialized-attribute]
ecosystem-analyzer (https://github.com/astral-sh/ecosystem-analyzer)
+ ERROR src/ecosystem_analyzer/ty.py:82:18-29: Attribute `working_dir` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR src/ecosystem_analyzer/ty.py:83:18-34: Attribute `cargo_target_dir` may be uninitialized [possibly-uninitialized-attribute]
kornia (https://github.com/kornia/kornia)
+ ERROR kornia/augmentation/_2d/intensity/planckian_jitter.py:194:14-16: Attribute `pl` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR kornia/augmentation/random_generator/_2d/gaussian_blur.py:67:18-23: Attribute `sigma` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR kornia/color/rgb.py:519:18-27: Attribute `alpha_val` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR kornia/color/rgb.py:570:18-27: Attribute `alpha_val` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR kornia/contrib/image_stitching.py:80:18-24: Attribute `ransac` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR kornia/enhance/adjust.py:1869:18-25: Attribute `max_val` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR kornia/enhance/core.py:123:18-23: Attribute `alpha` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR kornia/enhance/core.py:127:18-22: Attribute `beta` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR kornia/enhance/core.py:131:18-23: Attribute `gamma` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR kornia/enhance/normalize.py:92:18-22: Attribute `mean` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR kornia/enhance/normalize.py:97:18-21: Attribute `std` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR kornia/enhance/normalize.py:267:18-22: Attribute `mean` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR kornia/enhance/normalize.py:272:18-21: Attribute `std` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR kornia/enhance/rescale.py:41:18-24: Attribute `factor` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR kornia/feature/aliked/aliked.py:674:18-23: Attribute `convM` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR kornia/feature/hynet.py:90:18-21: Attribute `eps` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR kornia/feature/loftr/loftr_module/fine_preprocess.py:60:18-27: Attribute `down_proj` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR kornia/feature/loftr/loftr_module/fine_preprocess.py:61:18-28: Attribute `merge_feat` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR kornia/feature/loftr/utils/coarse_matching.py:129:18-29: Attribute `temperature` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR kornia/feature/loftr/utils/coarse_matching.py:135:18-39: Attribute `log_optimal_transport` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR kornia/feature/loftr/utils/coarse_matching.py:136:18-27: Attribute `bin_score` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR kornia/feature/loftr/utils/coarse_matching.py:137:18-27: Attribute `skh_iters` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR kornia/feature/loftr/utils/coarse_matching.py:138:18-31: Attribute `skh_prefilter` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR kornia/feature/sold2/backbones.py:506:18-36: Attribute `descriptor_decoder` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR kornia/geometry/liegroup/se2.py:159:14-26: Attribute `_translation` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR kornia/geometry/liegroup/se3.py:142:14-26: Attribute `_translation` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR kornia/geometry/transform/image_registrator.py:127:18-21: Attribute `rot` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR kornia/geometry/transform/image_registrator.py:131:18-23: Attribute `shift` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR kornia/geometry/transform/image_registrator.py:135:18-23: Attribute `scale` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR kornia/losses/dice.py:385:18-24: Attribute `weight` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR kornia/losses/focal.py:398:18-24: Attribute `weight` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR kornia/losses/focal.py:613:18-28: Attribute `pos_weight` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR kornia/losses/focal.py:617:18-24: Attribute `weight` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR kornia/losses/lovasz_softmax.py:213:18-24: Attribute `weight` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR kornia/models/common.py:64:18-21: Attribute `pad` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR kornia/models/processors/naflex.py:107:18-36: Attribute `position_embedding` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR kornia/models/rt_detr/architecture/rtdetr_head.py:376:18-39: Attribute `denoising_class_embed` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR kornia/models/sam/architecture/image_encoder.py:267:18-27: Attribute `rel_pos_h` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR kornia/models/sam/architecture/image_encoder.py:268:18-27: Attribute `rel_pos_w` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR kornia/models/tiny_vit.py:308:14-33: Attribute `attention_bias_idxs` may be uninitialized [possibly-uninitialized-attribute]
scrapy (https://github.com/scrapy/scrapy)
+ ERROR scrapy/extensions/closespider.py:69:18-33: Attribute `timeout_no_item` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR scrapy/extensions/closespider.py:70:18-33: Attribute `items_in_period` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR scrapy/extensions/memusage.py:56:18-26: Attribute `_process` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR scrapy/extensions/memusage.py:72:18-22: Attribute `mail` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR scrapy/pipelines/files.py:696:18-34: Attribute `FILES_URLS_FIELD` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR scrapy/pipelines/files.py:698:18-36: Attribute `FILES_RESULT_FIELD` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR scrapy/pipelines/images.py:93:18-37: Attribute `IMAGES_RESULT_FIELD` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR scrapy/pipelines/images.py:95:18-35: Attribute `IMAGES_URLS_FIELD` may be uninitialized [possibly-uninitialized-attribute]
cvxpy (https://github.com/cvxpy/cvxpy)
+ ERROR cvxpy/atoms/elementwise/power.py:475:14-15: Attribute `w` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR cvxpy/expressions/leaf.py:154:18-38: Attribute `_sparse_high_fill_in` may be uninitialized [possibly-uninitialized-attribute]
+ ERROR cvxpy/reductions/solvers/conic_solvers/knitro_conif.py:91:18-19: Attribute `a` may be uninitialized [possibly-uninitialized-attribute]
optuna (https://github.com/optuna/optuna)
+ ERROR optuna/progress_bar.py:60:22-35: Attribute `_progress_bar` may be uninitialized [possibly-uninitialized-attribute]
discord.py (https://github.com/Rapptz/discord.py)
+ ERROR discord/errors.py:140:18-25: Attribute `_errors` may be uninitialized [possibly-uninitialized-attribute] |
Fixes #4318.
Add
possibly-uninitialized-attributefor attributes whose class body or initialization method can complete without assigning them. Report the error at the definition. The default preset ignores it, and the strict preset enables it. Users can configure it separately frommissing-attribute.Track attribute initialization separately from local-variable bindings. Check class-body definitions independently. Combine method assignments leniently, so an unconditional helper assignment can establish initialization. Exclude conditional method definitions, stub files, nested-function assignments, inherited attributes, and instance attributes with a
__getattr__fallback. Account for explicit returns, deletions, and paths that terminate withNeverorNoReturn.Preserve exact deferred termination conditions through 16 requirements. Above that limit, retain one key per requirement and remove duplicates. This prevents exponential growth across branch joins. The conservative approximation can produce false positives above the limit.
Changes to local-variable initialization are in #5323. Changes to reachability after
while Trueare in #5324. Both PRs are based directly onmain. The retry-loop regression retains a passing test with a bug marker. After #5324 lands, remove that marker and its expected initialization error when rebasing this PR.Validation: