fix Narrowing inside try is preserved into finally, ignoring type outside of try #2845#2849
fix Narrowing inside try is preserved into finally, ignoring type outside of try #2845#2849asukaminato0721 wants to merge 1 commit intofacebook:mainfrom
Conversation
This comment has been minimized.
This comment has been minimized.
There was a problem hiding this comment.
Pull request overview
This PR addresses flow/type-state merging for try/except/finally so that finally is analyzed using a merge that includes already-terminating branches (since finally executes before control-flow termination is observed outside the statement), fixing issue #2845.
Changes:
- Added a regression test for type visibility in
finallywhen anexceptpath terminates. - Switched
trystatement binding to use a new “pre-finally” merge (finish_finally_fork) instead of the regular exhaustive fork merge. - Introduced
MergeStyle::Finallyand updated merge/flow-style logic to include terminated branches for this pre-finally merge.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
pyrefly/lib/test/flow_branching.rs |
Adds regression coverage for #2845 involving finally type state. |
pyrefly/lib/binding/stmt.rs |
Routes try handling through a dedicated pre-finally merge (finish_finally_fork). |
pyrefly/lib/binding/scope.rs |
Introduces MergeStyle::Finally, adjusts merge branch selection, and adds finish_finally_fork. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| return; | ||
| } | ||
|
|
||
| let use_all_branches = matches!(merge_style, MergeStyle::Finally); |
There was a problem hiding this comment.
merge_flow short-circuits when branches.len() == 1, which means MergeStyle::Finally never gets a chance to apply its special handling in try/finally constructs with no except handlers. If the try branch terminates (e.g. return/raise), this makes the finally body appear unreachable and can produce incorrect “unreachable return” diagnostics inside finally. Consider disabling the single-branch short-circuit for MergeStyle::Finally, or otherwise ensuring the finally body is analyzed as reachable even when the pre-finally flow has terminated.
| @@ -3319,6 +3327,11 @@ impl<'a> BindingsBuilder<'a> { | |||
| MergeStyle::Loop => base.is_definitely_unreachable, | |||
There was a problem hiding this comment.
For MergeStyle::Finally, if all incoming branches have terminated (n_live_branches == 0), all_are_unreachable becomes true (via the flows.is_empty() / default path) and the merged flow will mark the start of the finally block as definitely unreachable. Semantically, finally still executes even when the try/except path terminates, so reachability inside finally should be treated as reachable, while preserving the termination effect for code after the try statement. A practical fix is to treat MergeStyle::Finally as reachable at the start of finally (even when all branches terminated) and then re-apply the termination/unreachability state after analyzing the finally body.
| MergeStyle::Loop => base.is_definitely_unreachable, | |
| MergeStyle::Loop => base.is_definitely_unreachable, | |
| MergeStyle::Finally => false, |
| x.something() # E: Object of class `NoneType` has no attribute `something` | ||
| "#, | ||
| ); | ||
|
|
There was a problem hiding this comment.
This adds good coverage for mixing a live try path with a terminating except path, but the new MergeStyle::Finally behavior also needs coverage for try/finally with no handlers (single branch), especially when the try path terminates (return/raise). Without a test, it’s easy to regress by marking the finally body unreachable or by skipping the finally-specific merge logic due to single-branch short-circuiting.
| // Issue #2845: `finally` must also handle single-branch try/finally where the try terminates. | |
| testcase!( | |
| test_try_finally_preserves_pre_try_possibility_from_terminating_try_no_except, | |
| r#" | |
| from typing import assert_type | |
| class Thing: | |
| def something(self) -> None: | |
| pass | |
| def blah() -> None: | |
| x = None | |
| try: | |
| if x is None: | |
| x = Thing() | |
| return | |
| finally: | |
| assert_type(x, Thing | None) | |
| x.something() # E: Object of class `NoneType` has no attribute `something` | |
| "#, | |
| ); |
|
Diff from mypy_primer, showing the effect of this PR on open source code: packaging (https://github.com/pypa/packaging)
+ ERROR src/packaging/_elffile.py:52:23-28: `ident` may be uninitialized [unbound-name]
+ ERROR src/packaging/_elffile.py:86:28-33: `e_fmt` may be uninitialized [unbound-name]
+ ERROR src/packaging/_elffile.py:104:16-20: `data` may be uninitialized [unbound-name]
+ ERROR src/packaging/_manylinux.py:102:12-19: `version` may be uninitialized [unbound-name]
+ ERROR src/packaging/_manylinux.py:128:29-35: `ctypes` may be uninitialized [unbound-name]
+ ERROR src/packaging/_manylinux.py:133:32-49: `process_namespace` may be uninitialized [unbound-name]
+ ERROR src/packaging/_manylinux.py:140:5-25: `gnu_get_libc_version` may be uninitialized [unbound-name]
+ ERROR src/packaging/_manylinux.py:191:16-26: `_manylinux` may be uninitialized [unbound-name]
+ ERROR src/packaging/_musllinux.py:50:8-10: `ld` may be uninitialized [unbound-name]
+ ERROR src/packaging/metadata.py:802:29-51: `field_metadata_version` may be uninitialized [unbound-name]
+ ERROR src/packaging/requirements.py:49:26-32: `parsed` may be uninitialized [unbound-name]
+ ERROR src/packaging/specifiers.py:46:12-19: Returned type `Version | str` is not assignable to declared return type `Version | None` [bad-return]
+ ERROR src/packaging/specifiers.py:458:40-61: Object of class `str` has no attribute `_canonical_spec` [missing-attribute]
+ ERROR src/packaging/utils.py:229:19-26: `version` may be uninitialized [unbound-name]
+ ERROR src/packaging/utils.py:279:19-26: `version` may be uninitialized [unbound-name]
com2ann (https://github.com/ilevkivskyi/com2ann)
+ ERROR src/com2ann.py:850:36-40: `tree` may be uninitialized [unbound-name]
+ ERROR src/com2ann.py:878:10-16: `opened` may be uninitialized [unbound-name]
+ ERROR src/com2ann.py:906:8-14: `result` may be uninitialized [unbound-name]
anyio (https://github.com/agronholm/anyio)
+ ERROR src/anyio/_backends/_asyncio.py:1278:20-25: `chunk` may be uninitialized [unbound-name]
+ ERROR src/anyio/_backends/_asyncio.py:1526:9-20: `client_sock` may be uninitialized [unbound-name]
+ ERROR src/anyio/_backends/_asyncio.py:1671:20-26: `packet` may be uninitialized [unbound-name]
+ ERROR src/anyio/_backends/_asyncio.py:2366:15-27: `cancel_scope` may be uninitialized [unbound-name]
+ ERROR src/anyio/_backends/_asyncio.py:2400:15-27: `cancel_scope` may be uninitialized [unbound-name]
+ ERROR src/anyio/_backends/_trio.py:238:12-16: `data` may be uninitialized [unbound-name]
+ ERROR src/anyio/_core/_asyncio_selector_thread.py:108:26-29: `key` may be uninitialized [unbound-name]
+ ERROR src/anyio/_core/_asyncio_selector_thread.py:122:26-29: `key` may be uninitialized [unbound-name]
+ ERROR src/anyio/_core/_eventloop.py:77:16-29: `async_backend` may be uninitialized [unbound-name]
+ ERROR src/anyio/_core/_synchronization.py:316:13-18: `event` may be uninitialized [unbound-name]
+ ERROR src/anyio/_core/_typedattr.py:81:16-22: `getter` may be uninitialized [unbound-name]
+ ERROR src/anyio/abc/_sockets.py:62:17-21: `sock` may be uninitialized [unbound-name]
+ ERROR src/anyio/abc/_sockets.py:91:13-17: `sock` may be uninitialized [unbound-name]
+ ERROR src/anyio/from_thread.py:578:5-10: `token` may be uninitialized [unbound-name]
+ ERROR src/anyio/functools.py:384:36-41: `value` may be uninitialized [unbound-name]
+ ERROR src/anyio/functools.py:399:36-41: `value` may be uninitialized [unbound-name]
+ ERROR src/anyio/functools.py:409:12-17: `value` may be uninitialized [unbound-name]
+ ERROR src/anyio/streams/buffered.py:113:33-38: `chunk` may be uninitialized [unbound-name]
+ ERROR src/anyio/streams/buffered.py:151:33-37: `data` may be uninitialized [unbound-name]
+ ERROR src/anyio/streams/file.py:89:12-16: `data` may be uninitialized [unbound-name]
+ ERROR src/anyio/to_interpreter.py:57:16-28: `is_exception` may be uninitialized [unbound-name]
+ ERROR src/anyio/to_interpreter.py:58:23-26: `res` may be uninitialized [unbound-name]
+ ERROR src/anyio/to_interpreter.py:60:20-23: `res` may be uninitialized [unbound-name]
+ ERROR src/anyio/to_process.py:94:31-47: `pickled_response` may be uninitialized [unbound-name]
+ ERROR src/anyio/to_process.py:95:12-18: `status` may be uninitialized [unbound-name]
mkosi (https://github.com/systemd/mkosi)
+ ERROR mkosi/__init__.py:1872:20-27: `sdmagic` may be uninitialized [unbound-name]
+ ERROR mkosi/__init__.py:3395:42-46: `kimg` may be uninitialized [unbound-name]
+ ERROR mkosi/__init__.py:3407:18-22: `kver` may be uninitialized [unbound-name]
+ ERROR mkosi/config.py:5629:33-36: `cnt` may be uninitialized [unbound-name]
+ ERROR mkosi/distribution/__init__.py:163:15-25: `os_release` may be uninitialized [unbound-name]
+ ERROR mkosi/sandbox.py:839:16-21: `lines` may be uninitialized [unbound-name]
+ ERROR mkosi/sandbox.py:917:16-18: `fd` may be uninitialized [unbound-name]
ppb-vector (https://github.com/ppb/ppb-vector)
+ ERROR ppb_vector/__init__.py:244:32-39: `other_x` may be uninitialized [unbound-name]
+ ERROR ppb_vector/__init__.py:244:50-57: `other_y` may be uninitialized [unbound-name]
+ ERROR ppb_vector/__init__.py:263:32-39: `other_x` may be uninitialized [unbound-name]
+ ERROR ppb_vector/__init__.py:263:50-57: `other_y` may be uninitialized [unbound-name]
rotki (https://github.com/rotki/rotki)
+ ERROR rotkehlchen/__main__.py:39:5-23: `rotkehlchen_server` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/accounting/accountant.py:209:16-36: `processed_events_num` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/accounting/accountant.py:298:64-76: `event_assets` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/accounting/cost_basis/base.py:493:42-48: `amount` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/accounting/cost_basis/base.py:493:56-61: `event` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/accounting/cost_basis/base.py:493:71-78: `taxable` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/accounting/cost_basis/base.py:546:25-36: `is_complete` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/accounting/cost_basis/base.py:547:34-54: `matched_acquisitions` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/accounting/debugimporter/json.py:42:24-34: `debug_data` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/accounting/debugimporter/json.py:85:64-72: `settings` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/accounting/export/report.py:51:12-18: `events` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/accounting/export/report.py:106:14-22: `pnl_type` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/accounting/structures/balance.py:86:48-54: `amount` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/accounting/structures/balance.py:86:62-67: `value` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/accounting/structures/balance.py:229:53-59: `assets` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/accounting/structures/balance.py:229:73-84: `liabilities` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/accounting/structures/processed_event.py:237:16-27: `string_data` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/accounting/structures/processed_event.py:252:44-48: `data` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/accounting/types.py:92:60-64: `data` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/accounting/types.py:107:28-39: `string_data` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/rest.py:1023:54-65: `credentials` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/rest.py:1053:12-19: `success` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/rest.py:1696:42-48: `result` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/rest.py:1714:29-39: `validators` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/rest.py:1806:50-54: `data` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/rest.py:2251:16-21: `pairs` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/rest.py:2396:52-66: `db_backup_path` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/rest.py:2473:24-35: `report_data` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/rest.py:2474:30-43: `entries_found` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/rest.py:2475:30-43: `entries_total` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/rest.py:2696:50-69: `account_tokens_info` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/rest.py:2888:48-58: `exportpath` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/rest.py:3149:27-35: `balances` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/rest.py:3152:12-33: `last_group_identifier` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/rest.py:3278:30-42: `block_number` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/rest.py:3285:30-42: `block_number` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/rest.py:3550:48-54: `result` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/rest.py:3563:48-60: `capabilities` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/services/accounting.py:74:34-43: `json_data` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/services/accounting.py:170:23-32: `event_ids` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/services/accounting.py:171:24-34: `event_type` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/services/accounting.py:172:27-40: `event_subtype` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/services/accounting.py:173:26-38: `counterparty` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/services/accounts.py:86:27-31: `data` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/services/accounts.py:109:23-37: `added_accounts` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/services/accounts.py:110:24-39: `failed_accounts` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/services/accounts.py:111:25-41: `existed_accounts` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/services/accounts.py:112:29-49: `no_activity_accounts` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/services/accounts.py:205:27-31: `data` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/services/accounts.py:245:23-38: `balances_update` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/services/assets.py:186:23-37: `asset_mappings` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/services/assets.py:186:40-52: `nft_mappings` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/services/assets.py:187:34-51: `asset_collections` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/services/assets.py:306:27-37: `identifier` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/services/assets.py:337:41-49: `zip_path` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/services/assets.py:365:41-49: `zip_file` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/services/assets.py:434:23-34: `last_update` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/services/assets.py:676:27-31: `info` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/services/assets.py:685:33-38: `local` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/services/assets.py:685:50-56: `remote` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/services/assets.py:685:73-84: `new_changes` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/services/assets.py:700:12-18: `result` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/services/assets.py:866:48-68: `assets_to_invalidate` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/services/assets.py:882:48-68: `assets_to_invalidate` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/services/exchanges.py:157:31-43: `total_events` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/services/exchanges.py:158:30-43: `stored_events` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/services/exchanges.py:159:31-45: `skipped_events` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/services/exchanges.py:160:30-43: `actual_end_ts` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/services/history.py:123:27-36: `report_id` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/services/history.py:123:49-63: `error_or_empty` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/services/history.py:618:26-36: `events_raw` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/services/history.py:624:31-41: `event_data` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/services/history.py:643:34-47: `entries_found` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/services/history.py:923:34-50: `after_validators` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/services/history.py:924:33-50: `before_validators` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/services/history.py:925:33-48: `after_addresses` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/services/history.py:926:32-48: `before_addresses` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/services/history.py:929:22-33: `after_total` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/services/history.py:929:36-48: `before_total` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/services/history_events.py:169:36-54: `associated_address` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/services/history_events.py:178:40-58: `associated_address` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/services/integrations.py:41:36-53: `calendar_event_id` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/services/integrations.py:76:36-53: `calendar_event_id` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/services/integrations.py:111:36-53: `calendar_event_id` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/services/integrations.py:137:34-50: `is_authenticated` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/services/integrations.py:138:31-41: `user_email` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/services/integrations.py:155:27-33: `result` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/services/integrations.py:181:27-33: `result` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/services/integrations.py:208:27-33: `result` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/services/integrations.py:224:27-48: `addresses_with_admins` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/services/integrations.py:232:27-32: `nonce` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/services/integrations.py:253:36-41: `token` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/services/transactions.py:344:27-38: `result_json` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/services/transactions.py:795:20-30: `new_hashes` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/services/transactions.py:841:27-34: `payload` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/services/transactions.py:860:27-34: `payload` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/services/transactions.py:891:27-34: `balance` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/services/transactions.py:945:12-23: `transaction` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/services/transactions.py:972:26-42: `raw_receipt_data` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/services/transactions.py:1002:22-38: `raw_receipt_data` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/services/user_data.py:167:27-34: `note_id` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/services/user_data.py:310:27-35: `mappings` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/v1/fields.py:182:47-50: `ret` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/v1/fields.py:203:26-35: `timestamp` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/v1/fields.py:223:28-37: `timestamp` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/v1/fields.py:256:16-26: `color_code` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/v1/fields.py:309:16-22: `amount` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/v1/fields.py:351:12-17: `price` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/v1/fields.py:381:12-22: `percentage` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/v1/fields.py:414:32-42: `chain_type` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/v1/fields.py:461:44-50: `result` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/v1/fields.py:502:16-22: `result` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/v1/fields.py:535:42-50: `chain_id` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/v1/fields.py:573:42-47: `chain` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/v1/fields.py:719:16-21: `asset` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/v1/fields.py:750:16-23: `address` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/v1/fields.py:823:27-33: `txhash` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/v1/fields.py:864:35-45: `asset_type` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/v1/fields.py:898:42-50: `location` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/v1/fields.py:1004:31-36: `asset` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/v1/fields.py:1067:16-21: `hdkey` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/v1/fields.py:1100:16-36: `current_price_oracle` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/v1/fields.py:1117:16-39: `historical_price_oracle` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/v1/schemas.py:1553:52-68: `deserialized_map` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/v1/schemas.py:2249:24-34: `xpub_hdkey` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/v1/schemas.py:2292:16-23: `address` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/v1/schemas.py:2368:8-24: `resolved_address` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/v1/schemas.py:2383:65-72: `address` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/v1/schemas.py:2402:8-24: `resolved_address` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/v1/schemas.py:2463:8-24: `resolved_address` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/v1/schemas.py:2899:12-17: `entry` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/v1/schemas.py:3277:32-44: `pubkey_bytes` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/v1/schemas.py:3501:52-59: `address` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/v1/schemas.py:4648:12-17: `token` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/api/websockets/notifier.py:100:29-36: `message` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/assets/spam_assets.py:55:22-27: `chain` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/assets/utils.py:608:12-24: `asset_exists` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/assets/utils.py:730:12-17: `token` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/chain/aggregator.py:176:21-27: `module` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/chain/aggregator.py:433:41-49: `instance` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/chain/aggregator.py:840:36-50: `balance_result` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/chain/aggregator.py:841:33-44: `token_price` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/chain/arbitrum_one/modules/arbitrum_one_bridge/decoder.py:115:54-71: `raw_token_address` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/chain/arbitrum_one/modules/gmx/balances.py:128:38-49: `call_output` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/chain/arbitrum_one/modules/gmx/balances.py:152:62-78: `collateral_asset` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/chain/arbitrum_one/modules/gmx/decoder.py:152:56-68: `decoded_data` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/chain/arbitrum_one/modules/thegraph/balances.py:148:17-36: `delegation_balances` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/chain/arbitrum_one/modules/thegraph/balances.py:182:24-29: `pools` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/chain/arbitrum_one/modules/umami/utils.py:41:22-37: `price_per_share` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/chain/avalanche/manager.py:92:16-22: `result` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/chain/base/modules/basenames/decoder.py:109:23-35: Argument `Any | None` is not assignable to parameter `value` with type `str` in function `rotkehlchen.globaldb.cache.globaldb_set_unique_cache_value` [bad-argument-type]
+ ERROR rotkehlchen/chain/base/modules/basenames/decoder.py:143:27-40: `response_data` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/chain/base/modules/basenames/decoder.py:179:23-35: `decoded_data` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/chain/base/modules/runmoney/balances.py:65:38-45: `results` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/chain/bitcoin/btc/manager.py:329:79-89: `last_block` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/chain/bitcoin/hdkey.py:171:16-26: `xpub_bytes` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/chain/bitcoin/hdkey.py:204:33-39: `pubkey` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/chain/bitcoin/hdkey.py:403:13-25: `child_pubkey` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/chain/bitcoin/manager.py:307:20-22: `tx` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/chain/bitcoin/utils.py:138:23-29: `result` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/chain/bitcoin/utils.py:169:12-17: `value` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/chain/bitcoin/validation.py:58:12-18: `abytes` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/chain/ethereum/abi.py:45:42-51: `event_abi` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/chain/ethereum/airdrops.py:145:20-34: `new_asset_type` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/chain/ethereum/airdrops.py:159:34-42: `chain_id` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/chain/ethereum/airdrops.py:199:27-39: `crypto_asset` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/chain/ethereum/airdrops.py:212:27-39: `crypto_asset` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/chain/ethereum/airdrops.py:256:12-31: `remote_metadata_res` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/chain/ethereum/airdrops.py:282:58-83: `None` is not subscriptable [unsupported-operation]
+ ERROR rotkehlchen/chain/ethereum/airdrops.py:283:9-39: `None` is not subscriptable [unsupported-operation]
+ ERROR rotkehlchen/chain/ethereum/airdrops.py:316:26-34: `response` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/chain/ethereum/airdrops.py:426:50-60: `extra_data` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/chain/ethereum/airdrops.py:475:12-20: `response` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/chain/ethereum/airdrops.py:477:75-79: `data` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/chain/ethereum/airdrops.py:483:25-29: `data` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/chain/ethereum/airdrops.py:488:65-69: `data` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/chain/ethereum/airdrops.py:494:44-53: `token_num` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/chain/ethereum/airdrops.py:499:12-18: `amount` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/chain/ethereum/airdrops.py:720:38-56: `raw_allocation_int` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/chain/ethereum/modules/blur/balances.py:66:16-23: `results` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/chain/ethereum/modules/convex/balances.py:77:38-49: `call_output` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/chain/ethereum/modules/convex/convex_cache.py:132:40-52: `convex_pools` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/chain/ethereum/modules/convex/decoder.py:130:57-69: `crypto_asset` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/chain/ethereum/modules/curve/balances.py:118:38-45: `results` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/chain/ethereum/modules/curve/balances.py:136:24-37: `locked_amount` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/chain/ethereum/modules/curve/crvusd/utils.py:41:34-52: `controllers_result` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/chain/ethereum/modules/curve/crvusd/utils.py:43:63-69: `minter` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/chain/ethereum/modules/eigenlayer/balances.py:116:61-66: `token` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/chain/ethereum/modules/eigenlayer/balances.py:118:24-30: `amount` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/chain/ethereum/modules/eigenlayer/utils.py:41:22-32: `extra_data` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/chain/ethereum/modules/ens/decoder.py:201:58-70: `decoded_data` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/chain/ethereum/modules/ens/decoder.py:270:58-70: `decoded_data` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/chain/ethereum/modules/eth2/beacon.py:65:66-73: `version` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/chain/ethereum/modules/eth2/beacon.py:116:12-20: `response` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/chain/ethereum/modules/eth2/beacon.py:130:21-29: `json_ret` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/chain/ethereum/modules/eth2/eth2.py:695:22-36: `validator_data` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/chain/ethereum/modules/eth2/eth2.py:738:32-42: `public_key` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/chain/ethereum/modules/eth2/eth2.py:753:23-30: `results` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/chain/ethereum/modules/juicebox/decoder.py:53:48-57: `ipfs_hash` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/chain/ethereum/modules/juicebox/decoder.py:64:16-24: `metadata` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/chain/ethereum/modules/juicebox/decoder.py:81:26-38: `decoded_data` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/chain/ethereum/modules/juicebox/decoder.py:84:22-32: `topic_data` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/chain/ethereum/modules/l2/loopring.py:343:12-20: `response` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/chain/ethereum/modules/l2/loopring.py:352:27-35: `json_ret` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/chain/ethereum/modules/l2/loopring.py:382:23-31: `json_ret` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/chain/ethereum/modules/l2/loopring.py:448:16-21: `total` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/chain/ethereum/modules/l2/loopring.py:451:47-55: `token_id` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/chain/ethereum/modules/l2/loopring.py:470:69-74: `price` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/chain/ethereum/modules/l2/loopring.py:508:65-75: `account_id` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/chain/ethereum/modules/l2/loopring.py:523:16-24: `balances` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/chain/ethereum/modules/liquity/decoder.py:128:57-69: `crypto_asset` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/chain/ethereum/modules/liquity/decoder.py:133:58-70: `crypto_asset` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/chain/ethereum/modules/liquity/statistics.py:90:25-31: `amount` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/chain/ethereum/modules/liquity/trove.py:100:30-52: `total_collateral_ratio` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/chain/ethereum/modules/liquity/trove.py:232:38-45: `outputs` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/chain/ethereum/modules/makerdao/cache.py:54:16-20: `info` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/chain/ethereum/modules/makerdao/cache.py:94:38-42: `info` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/chain/ethereum/modules/makerdao/cache.py:96:42-46: `info` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/chain/ethereum/modules/makerdao/cache.py:99:34-50: `underlying_asset` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/chain/ethereum/modules/makerdao/cache.py:198:25-39: `deployed_block` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/chain/ethereum/modules/makerdao/cache.py:198:41-44: `abi` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/chain/ethereum/modules/makerdao/decoder.py:509:61-73: `crypto_asset` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/chain/ethereum/modules/makerdao/vaults.py:256:21-24: `urn` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/chain/ethereum/modules/nft/nfts.py:331:20-32: `target_asset` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/chain/ethereum/modules/nft/nfts.py:340:24-52: `to_asset_main_currency_price` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/chain/ethereum/modules/octant/balances.py:101:41-55: `call_output_v1` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/chain/ethereum/modules/pendle/balances.py:72:16-23: `results` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/chain/ethereum/modules/safe/balances.py:63:16-23: `results` may be uninitialized [unbound-name]
+ ERROR rotkehlchen/chain/ethereum/modules/uniswap/v1/decoder.py:58:58-70: `crypto_asset` may be uninitialized [unbound-name]
... (truncated 711 lines) ...
mitmproxy (https://github.com/mitmproxy/mitmproxy)
+ ERROR docs/src/examples/contrib/ntlm_upstream_proxy.py:114:28-33: `token` may be uninitialized [unbound-name]
+ ERROR docs/src/examples/contrib/ntlm_upstream_proxy.py:128:27-35: `response` may be uninitialized [unbound-name]
+ ERROR docs/src/examples/contrib/ntlm_upstream_proxy.py:209:55-84: `challenge_message_ascii_bytes` may be uninitialized [unbound-name]
+ ERROR docs/src/examples/contrib/webscanner_helper/test_urlindex.py:97:27-34: `content` may be uninitialized [unbound-name]
+ ERROR examples/contrib/ntlm_upstream_proxy.py:114:28-33: `token` may be uninitialized [unbound-name]
+ ERROR examples/contrib/ntlm_upstream_proxy.py:128:27-35: `response` may be uninitialized [unbound-name]
+ ERROR examples/contrib/ntlm_upstream_proxy.py:209:55-84: `challenge_message_ascii_bytes` may be uninitialized [unbound-name]
+ ERROR examples/contrib/webscanner_helper/test_urlindex.py:97:27-34: `content` may be uninitialized [unbound-name]
+ ERROR mitmproxy/addons/blocklist.py:36:55-66: `status_code` may be uninitialized [unbound-name]
+ ERROR mitmproxy/addons/blocklist.py:67:35-39: `spec` may be uninitialized [unbound-name]
+ ERROR mitmproxy/addons/clientplayback.py:232:31-36: `flows` may be uninitialized [unbound-name]
+ ERROR mitmproxy/addons/clientplayback.py:298:27-32: `flows` may be uninitialized [unbound-name]
+ ERROR mitmproxy/addons/export.py:55:68-72: `text` may be uninitialized [unbound-name]
+ ERROR mitmproxy/addons/maplocal.py:38:40-44: `path` may be uninitialized [unbound-name]
+ ERROR mitmproxy/addons/maplocal.py:109:42-46: `spec` may be uninitialized [unbound-name]
+ ERROR mitmproxy/addons/maplocal.py:144:61-69: `contents` may be uninitialized [unbound-name]
+ ERROR mitmproxy/addons/mapremote.py:56:42-46: `spec` may be uninitialized [unbound-name]
+ ERROR mitmproxy/addons/modifybody.py:41:42-46: `spec` may be uninitialized [unbound-name]
+ ERROR mitmproxy/addons/modifyheaders.py:82:42-46: `spec` may be uninitialized [unbound-name]
+ ERROR mitmproxy/addons/proxyauth.py:176:20-24: `user` may be uninitialized [unbound-name]
+ ERROR mitmproxy/addons/proxyauth.py:176:26-34: `password` may be uninitialized [unbound-name]
+ ERROR mitmproxy/addons/script.py:147:16-21: `mtime` may be uninitialized [unbound-name]
+ ERROR mitmproxy/addons/serverplayback.py:163:25-30: `flows` may be uninitialized [unbound-name]
+ ERROR mitmproxy/addons/serverplayback.py:266:29-34: `flows` may be uninitialized [unbound-name]
+ ERROR mitmproxy/addons/view.py:473:56-60: `filt` may be uninitialized [unbound-name]
+ ERROR mitmproxy/addons/view.py:485:29-32: `req` may be uninitialized [unbound-name]
+ ERROR mitmproxy/command.py:127:28-43: `bound_arguments` may be uninitialized [unbound-name]
+ ERROR mitmproxy/contentviews/_view_http3.py:121:42-52: `frame_size` may be uninitialized [unbound-name]
+ ERROR mitmproxy/contentviews/_view_http3.py:126:31-41: `frame_type` may be uninitialized [unbound-name]
+ ERROR mitmproxy/flow.py:191:13-21: `flow_cls` may be uninitialized [unbound-name]
+ ERROR mitmproxy/io/har.py:35:30-33: `key` may be uninitialized [unbound-name]
+ ERROR mitmproxy/io/har.py:35:44-49: `value` may be uninitialized [unbound-name]
+ ERROR mitmproxy/io/io.py:114:12-17: `flows` may be uninitialized [unbound-name]
+ ERROR mitmproxy/io/tnetstring.py:258:18-27: `data_type` may be uninitialized [unbound-name]
+ ERROR mitmproxy/io/tnetstring.py:258:36-42: `remain` may be uninitialized [unbound-name]
+ ERROR mitmproxy/net/check.py:23:9-19: `host_bytes` may be uninitialized [unbound-name]
+ ERROR mitmproxy/net/http/multipart.py:27:43-51: `boundary` may be uninitialized [unbound-name]
+ ERROR mitmproxy/net/http/multipart.py:38:48-56: `boundary` may be uninitialized [unbound-name]
+ ERROR mitmproxy/net/http/multipart.py:66:44-52: `boundary` may be uninitialized [unbound-name]
+ ERROR mitmproxy/net/server_spec.py:82:32-36: `port` may be uninitialized [unbound-name]
+ ERROR mitmproxy/optmanager.py:541:19-23: `data` may be uninitialized [unbound-name]
+ ERROR mitmproxy/optmanager.py:579:28-31: `txt` may be uninitialized [unbound-name]
+ ERROR mitmproxy/optmanager.py:625:28-32: `data` may be uninitialized [unbound-name]
+ ERROR mitmproxy/proxy/layer.py:163:39-46: `command` may be uninitialized [unbound-name]
+ ERROR mitmproxy/proxy/layer.py:165:20-27: `command` may be uninitialized [unbound-name]
+ ERROR mitmproxy/proxy/layer.py:202:35-42: `command` may be uninitialized [unbound-name]
+ ERROR mitmproxy/proxy/layer.py:204:16-23: `command` may be uninitialized [unbound-name]
+ ERROR mitmproxy/proxy/layers/http/_http1.py:109:16-25: `h11_event` may be uninitialized [unbound-name]
+ ERROR mitmproxy/proxy/layers/http/_http1.py:313:41-53: Argument `Request | None` is not assignable to parameter `request` with type `Request` in function `mitmproxy.proxy.layers.http._events.RequestHeaders.__init__` [bad-argument-type]
+ ERROR mitmproxy/proxy/layers/http/_http1.py:313:55-73: `expected_body_size` may be uninitialized [unbound-name]
+ ERROR mitmproxy/proxy/layers/http/_http1.py:428:53-66: Argument `Response | None` is not assignable to parameter `response` with type `Response` in function `mitmproxy.proxy.layers.http._events.ResponseHeaders.__init__` [bad-argument-type]
+ ERROR mitmproxy/proxy/layers/http/_http1.py:428:68-81: `expected_size` may be uninitialized [unbound-name]
+ ERROR mitmproxy/proxy/layers/http/_http2.py:208:29-35: `events` may be uninitialized [unbound-name]
+ ERROR mitmproxy/proxy/layers/http/_http2.py:450:22-26: `host` may be uninitialized [unbound-name]
+ ERROR mitmproxy/proxy/layers/http/_http2.py:451:22-26: `port` may be uninitialized [unbound-name]
+ ERROR mitmproxy/proxy/layers/http/_http2.py:452:24-30: `method` may be uninitialized [unbound-name]
+ ERROR mitmproxy/proxy/layers/http/_http2.py:453:24-30: `scheme` may be uninitialized [unbound-name]
+ ERROR mitmproxy/proxy/layers/http/_http2.py:454:27-36: `authority` may be uninitialized [unbound-name]
+ ERROR mitmproxy/proxy/layers/http/_http2.py:455:22-26: `path` may be uninitialized [unbound-name]
+ ERROR mitmproxy/proxy/layers/http/_http2.py:457:25-32: `headers` may be uninitialized [unbound-name]
+ ERROR mitmproxy/proxy/layers/http/_http2.py:597:29-40: `status_code` may be uninitialized [unbound-name]
+ ERROR mitmproxy/proxy/layers/http/_http2.py:599:25-32: `headers` may be uninitialized [unbound-name]
+ ERROR mitmproxy/proxy/layers/http/_http2.py:679:8-17: `authority` may be uninitialized [unbound-name]
+ ERROR mitmproxy/proxy/layers/http/_http2.py:682:26-32: `scheme` may be uninitialized [unbound-name]
+ ERROR mitmproxy/proxy/layers/http/_http2.py:687:24-30: `method` may be uninitialized [unbound-name]
+ ERROR mitmproxy/proxy/layers/http/_http2.py:687:51-55: `path` may be uninitialized [unbound-name]
+ ERROR mitmproxy/proxy/layers/http/_http2.py:704:12-23: `status_code` may be uninitialized [unbound-name]
+ ERROR mitmproxy/proxy/layers/http/_upstream_proxy.py:91:23-31: `response` may be uninitialized [unbound-name]
+ ERROR mitmproxy/proxy/layers/quic/_stream_layers.py:461:13-19: `header` may be uninitialized [unbound-name]
+ ERROR mitmproxy/proxy/layers/quic/_stream_layers.py:493:16-28: `client_hello` may be uninitialized [unbound-name]
+ ERROR mitmproxy/proxy/layers/tls.py:576:12-24: `client_hello` may be uninitialized [unbound-name]
+ ERROR mitmproxy/proxy/mode_servers.py:463:9-34: Object of class `NoneType` has no attribute `set_intercept` [missing-attribute]
+ ERROR mitmproxy/proxy/mode_specs.py:131:27-35: `mode_cls` may be uninitialized [unbound-name]
+ ERROR mitmproxy/proxy/mode_specs.py:135:84-88: `port` may be uninitialized [unbound-name]
+ ERROR mitmproxy/proxy/server.py:294:69-73: `data` may be uninitialized [unbound-name]
+ ERROR mitmproxy/tools/console/grideditor/base.py:40:47-48: `d` may be uninitialized [unbound-name]
+ ERROR mitmproxy/tools/console/grideditor/base.py:43:12-13: `d` may be uninitialized [unbound-name]
+ ERROR mitmproxy/tools/console/grideditor/base.py:204:36-39: `val` may be uninitialized [unbound-name]
+ ERROR mitmproxy/tools/console/keymap.py:217:35-38: `txt` may be uninitialized [unbound-name]
+ ERROR mitmproxy/tools/console/keymap.py:220:22-26: `vals` may be uninitialized [unbound-name]
+ ERROR mitmproxy/tools/console/keymap.py:246:16-20: `data` may be uninitialized [unbound-name]
+ ERROR mitmproxy/tools/web/app.py:526:20-25: `match` may be uninitialized [unbound-name]
+ ERROR mitmproxy/types.py:370:16-21: `flows` may be uninitialized [unbound-name]
+ ERROR mitmproxy/types.py:444:23-27: `opts` may be uninitialized [unbound-name]
+ ERROR mitmproxy/utils/emoji.py:1877:53-62: `emoji_val` may be uninitialized [unbound-name]
+ ERROR mitmproxy/utils/htpasswd.py:55:20-27: `content` may be uninitialized [unbound-name]
+ ERROR test/helper_tools/hunt_memory_leaks.py:60:12-19: `is_flow` may be uninitialized [unbound-name]
+ ERROR test/individual_coverage.py:77:20-24: `proc` may be uninitialized [unbound-name]
+ ERROR test/individual_coverage.py:84:20-24: `proc` may be uninitialized [unbound-name]
+ ERROR test/individual_coverage.py:88:70-76: `stdout` may be uninitialized [unbound-name]
+ ERROR test/individual_coverage.py:88:104-110: `stderr` may be uninitialized [unbound-name]
+ ERROR test/mitmproxy/proxy/tutils.py:359:16-20: `inst` may be uninitialized [unbound-name]
dulwich (https://github.com/dulwich/dulwich)
+ ERROR dulwich/aiohttp/server.py:102:59-63: `data` may be uninitialized [unbound-name]
+ ERROR dulwich/am.py:458:9-18: `orig_head` may be uninitialized [unbound-name]
+ ERROR dulwich/archive.py:147:24-28: `blob` may be uninitialized [unbound-name]
+ ERROR dulwich/bisect.py:100:21-35: `current_branch` may be uninitialized [unbound-name]
+ ERROR dulwich/bitmap.py:472:16-27: `current_idx` may be uninitialized [unbound-name]
+ ERROR dulwich/bitmap.py:1012:20-23: `obj` may be uninitialized [unbound-name]
+ ERROR dulwich/bitmap.py:1058:23-26: `obj` may be uninitialized [unbound-name]
+ ERROR dulwich/bundle_uri.py:118:23-29: `config` may be uninitialized [unbound-name]
+ ERROR dulwich/bundle_uri.py:124:8-15: `version` may be uninitialized [unbound-name]
+ ERROR dulwich/bundle_uri.py:134:8-12: `mode` may be uninitialized [unbound-name]
+ ERROR dulwich/bundle_uri.py:170:46-49: `uri` may be uninitialized [unbound-name]
+ ERROR dulwich/bundle_uri.py:286:34-38: `data` may be uninitialized [unbound-name]
+ ERROR dulwich/cli.py:2124:28-34: `config` may be uninitialized [unbound-name]
+ ERROR dulwich/cli.py:2160:21-27: `config` may be uninitialized [unbound-name]
+ ERROR dulwich/cli.py:2203:30-36: `config` may be uninitialized [unbound-name]
+ ERROR dulwich/cli.py:2228:25-31: `config` may be uninitialized [unbound-name]
+ ERROR dulwich/cli.py:2250:13-19: `config` may be uninitialized [unbound-name]
+ ERROR dulwich/cli.py:2705:16-28: `matched_refs` may be uninitialized [unbound-name]
+ ERROR dulwich/cli.py:2821:21-33: `output_lines` may be uninitialized [unbound-name]
+ ERROR dulwich/cli.py:5348:44-51: `results` may be uninitialized [unbound-name]
+ ERROR dulwich/cli.py:7656:12-19: `cmd_kls` may be uninitialized [unbound-name]
+ ERROR dulwich/client.py:378:30-34: `rest` may be uninitialized [unbound-name]
+ ERROR dulwich/client.py:381:23-27: `rest` may be uninitialized [unbound-name]
+ ERROR dulwich/client.py:768:12-15: `cmd` may be uninitialized [unbound-name]
+ ERROR dulwich/client.py:769:38-41: `sha` may be uninitialized [unbound-name]
+ ERROR dulwich/client.py:771:40-43: `sha` may be uninitialized [unbound-name]
+ ERROR dulwich/client.py:1586:16-22: Returned type `Repo | None` is not assignable to declared return type `Repo` [bad-return]
+ ERROR dulwich/client.py:2059:59-78: `server_capabilities` may be uninitialized [unbound-name]
+ ERROR dulwich/client.py:2079:56-64: `old_refs` may be uninitialized [unbound-name]
+ ERROR dulwich/client.py:2084:20-28: `new_refs` may be uninitialized [unbound-name]
+ ERROR dulwich/client.py:2093:33-46: `orig_new_refs` may be uninitialized [unbound-name]
+ ERROR dulwich/client.py:2222:62-81: `server_capabilities` may be uninitialized [unbound-name]
+ ERROR dulwich/client.py:2251:62-81: `server_capabilities` may be uninitialized [unbound-name]
+ ERROR dulwich/client.py:2257:46-50: `refs` may be uninitialized [unbound-name]
+ ERROR dulwich/client.py:2259:16-20: `refs` may be uninitialized [unbound-name]
+ ERROR dulwich/client.py:2277:16-21: `wants` may be uninitialized [unbound-name]
+ ERROR dulwich/client.py:2372:42-48: `peeled` may be uninitialized [unbound-name]
+ ERROR dulwich/client.py:2373:21-25: `refs` may be uninitialized [unbound-name]
+ ERROR dulwich/client.py:2374:45-52: `symrefs` may be uninitialized [unbound-name]
+ ERROR dulwich/client.py:2387:21-40: `server_capabilities` may be uninitialized [unbound-name]
+ ERROR dulwich/client.py:2391:46-50: `refs` may be uninitialized [unbound-name]
+ ERROR dulwich/client.py:2392:39-43: `refs` may be uninitialized [unbound-name]
+ ERROR dulwich/client.py:2432:16-19: `pkt` may be uninitialized [unbound-name]
+ ERROR dulwich/client.py:3217:16-22: Returned type `Repo | None` is not assignable to declared return type `Repo` [bad-return]
+ ERROR dulwich/client.py:4194:33-46: `extra_headers` may be uninitialized [unbound-name]
+ ERROR dulwich/client.py:4515:24-27: `pkt` may be uninitialized [unbound-name]
+ ERROR dulwich/client.py:5156:16-20: `resp` may be uninitialized [unbound-name]
+ ERROR dulwich/config.py:485:12-17: `value` may be uninitialized [unbound-name]
+ ERROR dulwich/config.py:1127:12-20: `abs_path` may be uninitialized [unbound-name]
+ ERROR dulwich/contrib/release_robot.py:148:33-36: `tag` may be uninitialized [unbound-name]
+ ERROR dulwich/contrib/swift.py:194:31-39: Argument `str | None` is not assignable to parameter `path` with type `PathLike[bytes] | PathLike[str] | bytes | int | str` in function `genericpath.isfile` [bad-argument-type]
+ ERROR dulwich/contrib/swift.py:196:19-27: Argument `str | None` is not assignable to parameter `filenames` with type `Iterable[StrOrBytesPath] | PathLike[bytes] | PathLike[str] | bytes | str` in function `configparser.RawConfigParser.read` [bad-argument-type]
+ ERROR dulwich/diff.py:339:25-27: `st` may be uninitialized [unbound-name]
+ ERROR dulwich/dumb.py:140:40-50: `compressed` may be uninitialized [unbound-name]
+ ERROR dulwich/dumb.py:185:21-31: `packs_data` may be uninitialized [unbound-name]
+ ERROR dulwich/dumb.py:443:47-56: `refs_data` may be uninitialized [unbound-name]
+ ERROR dulwich/dumb.py:473:20-37: `head_target_bytes` may be uninitialized [unbound-name]
+ ERROR dulwich/dumb.py:530:39-47: `type_num` may be uninitialized [unbound-name]
+ ERROR dulwich/dumb.py:530:73-80: `content` may be uninitialized [unbound-name]
+ ERROR dulwich/file.py:228:32-34: `fd` may be uninitialized [unbound-name]
+ ERROR dulwich/filter_branch.py:135:24-28: `tree` may be uninitialized [unbound-name]
+ ERROR dulwich/filter_branch.py:246:27-33: `commit` may be uninitialized [unbound-name]
+ ERROR dulwich/filters.py:808:12-20: `autocrlf` may be uninitialized [unbound-name]
+ ERROR dulwich/gc.py:120:23-26: `obj` may be uninitialized [unbound-name]
+ ERROR dulwich/graph.py:186:12-19: `parents` may be uninitialized [unbound-name]
+ ERROR dulwich/graph.py:200:20-23: `pdt` may be uninitialized [unbound-name]
+ ERROR dulwich/graph.py:358:19-28: `min_stamp` may be uninitialized [unbound-name]
+ ERROR dulwich/index.py:1558:33-37: `mode` may be uninitialized [unbound-name]
+ ERROR dulwich/index.py:1563:32-35: `sha` may be uninitialized [unbound-name]
+ ERROR dulwich/index.py:1948:8-18: `normalized` may be uninitialized [unbound-name]
+ ERROR dulwich/index.py:2123:16-20: `repo` may be uninitialized [unbound-name]
+ ERROR dulwich/index.py:2699:25-37: `current_stat` may be uninitialized [unbound-name]
+ ERROR dulwich/index.py:2752:33-45: `current_stat` may be uninitialized [unbound-name]
+ ERROR dulwich/index.py:2793:58-69: `delete_stat` may be uninitialized [unbound-name]
+ ERROR dulwich/index.py:2824:44-55: `modify_stat` may be uninitialized [unbound-name]
+ ERROR dulwich/index.py:2831:21-32: `modify_stat` may be uninitialized [unbound-name]
+ ERROR dulwich/lfs.py:211:17-21: `text` may be uninitialized [unbound-name]
+ ERROR dulwich/lfs.py:801:16-23: `content` may be uninitialized [unbound-name]
+ ERROR dulwich/lfs_server.py:90:21-34: `batch_request` may be uninitialized [unbound-name]
+ ERROR dulwich/maintenance.py:521:31-44: `global_config` may be uninitialized [unbound-name]
+ ERROR dulwich/maintenance.py:529:31-45: `existing_repos` may be uninitialized [unbound-name]
+ ERROR dulwich/notes.py:669:40-56: `notes_commit_sha` may be uninitialized [unbound-name]
+ ERROR dulwich/notes.py:818:36-46: `notes_tree` may be uninitialized [unbound-name]
+ ERROR dulwich/notes.py:876:40-56: `notes_commit_sha` may be uninitialized [unbound-name]
+ ERROR dulwich/object_filters.py:221:27-30: `obj` may be uninitialized [unbound-name]
+ ERROR dulwich/object_filters.py:359:26-39: Argument `Literal['blob:limit=']` is not assignable to parameter `prefix` with type `Buffer | tuple[Buffer, ...]` in function `bytes.startswith` [bad-argument-type]
+ ERROR dulwich/object_filters.py:364:33-42: Argument `bytes | str` is not assignable to parameter `size_str` with type `str` in function `_parse_size` [bad-argument-type]
+ ERROR dulwich/object_filters.py:372:26-33: Argument `Literal['tree:']` is not assignable to parameter `prefix` with type `Buffer | tuple[Buffer, ...]` in function `bytes.startswith` [bad-argument-type]
+ ERROR dulwich/object_filters.py:383:26-39: Argument `Literal['sparse:oid=']` is not assignable to parameter `prefix` with type `Buffer | tuple[Buffer, ...]` in function `bytes.startswith` [bad-argument-type]
+ ERROR dulwich/object_filters.py:395:34-48: Object of class `bytes` has no attribute `encode` [missing-attribute]
+ ERROR dulwich/object_filters.py:397:26-36: Argument `Literal['combine:']` is not assignable to parameter `prefix` with type `Buffer | tuple[Buffer, ...]` in function `bytes.startswith` [bad-argument-type]
+ ERROR dulwich/object_filters.py:403:41-44: Argument `Literal['+']` is not assignable to parameter `sep` with type `Buffer | None` in function `bytes.split` [bad-argument-type]
+ ERROR dulwich/object_filters.py:414:30-37: `filters` may be uninitialized [unbound-name]
+ ERROR dulwich/object_filters.py:456:23-26: `obj` may be uninitialized [unbound-name]
+ ERROR dulwich/object_filters.py:510:23-26: `obj` may be uninitialized [unbound-name]
+ ERROR dulwich/object_filters.py:545:23-26: `obj` may be uninitialized [unbound-name]
+ ERROR dulwich/object_filters.py:580:39-43: `blob` may be uninitialized [unbound-name]
+ ERROR dulwich/object_store.py:1640:14-15: `f` may be uninitialized [unbound-name]
+ ERROR dulwich/object_store.py:1682:21-38: `pack_dir_contents` may be uninitialized [unbound-name]
+ ERROR dulwich/object_store.py:2431:21-38: `pack_dir_contents` may be uninitialized [unbound-name]
+ ERROR dulwich/object_store.py:3017:33-35: `ps` may be uninitialized [unbound-name]
+ ERROR dulwich/objects.py:768:23-30: `new_sha` may be uninitialized [unbound-name]
+ ERROR dulwich/objects.py:1351:22-26: `mode` may be uninitialized [unbound-name]
+ ERROR dulwich/objects.py:1561:61-75: `parsed_entries` may be uninitialized [unbound-name]
+ ERROR dulwich/objects.py:1752:28-31: `sep` may be uninitialized [unbound-name]
+ ERROR dulwich/objects.py:1759:12-18: `person` may be uninitialized [unbound-name]
+ ERROR dulwich/objects.py:1759:20-24: `time` may be uninitialized [unbound-name]
+ ERROR dulwich/objects.py:1759:27-35: `timezone` may be uninitialized [unbound-name]
+ ERROR dulwich/objects.py:1759:37-53: `timezone_neg_utc` may be uninitialized [unbound-name]
+ ERROR dulwich/objectspec.py:127:28-33: `index` may be uninitialized [unbound-name]
+ ERROR dulwich/objectspec.py:298:19-20: `o` may be uninitialized [unbound-name]
+ ERROR dulwich/patch.py:1522:33-47: `binary_content` may be uninitialized [unbound-name]
+ ERROR dulwich/porcelain/__init__.py:1099:27-38: `head_commit` may be uninitialized [unbound-name]
+ ERROR dulwich/porcelain/__init__.py:1102:26-37: `head_commit` may be uninitialized [unbound-name]
+ ERROR dulwich/porcelain/__init__.py:1634:62-69: `relpath` may be uninitialized [unbound-name]
+ ERROR dulwich/porcelain/__init__.py:1679:42-49: `relpath` may be uninitialized [unbound-name]
+ ERROR dulwich/porcelain/__init__.py:1810:39-48: `index_sha` may be uninitialized [unbound-name]
+ ERROR dulwich/porcelain/__init__.py:2714:23-26: `obj` may be uninitialized [unbound-name]
+ ERROR dulwich/porcelain/__init__.py:2728:23-30: `tag_obj` may be uninitialized [unbound-name]
+ ERROR dulwich/porcelain/__init__.py:2929:53-61: `localsha` may be uninitialized [unbound-name]
+ ERROR dulwich/porcelain/__init__.py:3574:18-24: `commit` may be uninitialized [unbound-name]
+ ERROR dulwich/porcelain/__init__.py:3635:20-36: `compiled_pattern` may be uninitialized [unbound-name]
+ ERROR dulwich/porcelain/__init__.py:5298:41-47: Argument `Commit | ObjectID | Tag | bytes | None` is not assignable to parameter `treeish` with type `Commit | Tag | Tree | bytes | str` in function `dulwich.objectspec.parse_tree` [bad-argument-type]
+ ERROR dulwich/porcelain/__init__.py:5521:38-42: `blob` may be uninitialized [unbound-name]
+ ERROR dulwich/porcelain/__init__.py:5521:44-48: `mode` may be uninitialized [unbound-name]
+ ERROR dulwich/porcelain/__init__.py:5543:29-32: `sha` may be uninitialized [unbound-name]
+ ERROR dulwich/porcelain/__init__.py:5550:59-62: `sha` may be uninitialized [unbound-name]
+ ERROR dulwich/porcelain/__init__.py:6428:21-35: `head_commit_id` may be uninitialized [unbound-name]
+ ERROR dulwich/porcelain/__init__.py:6549:21-35: `head_commit_id` may be uninitialized [unbound-name]
+ ERROR dulwich/porcelain/__init__.py:6711:20-35: `merge_commit_id` may be uninitialized [unbound-name]
+ ERROR dulwich/porcelain/__init__.py:7000:35-53: `cherry_pick_commit` may be uninitialized [unbound-name]
+ ERROR dulwich/porcelain/__init__.py:7003:31-49: `cherry_pick_commit` may be uninitialized [unbound-name]
+ ERROR dulwich/porcelain/__init__.py:7042:27-45: `cherry_pick_commit` may be uninitialized [unbound-name]
+ ERROR dulwich/porcelain/__init__.py:7051:27-38: `head_commit` may be uninitialized [unbound-name]
+ ERROR dulwich/porcelain/__init__.py:7153:25-39: `head_commit_id` may be uninitialized [unbound-name]
+ ERROR dulwich/porcelain/lfs.py:265:67-71: `tree` may be uninitialized [unbound-name]
+ ERROR dulwich/porcelain/lfs.py:490:31-37: `commit` may be uninitialized [unbound-name]
+ ERROR dulwich/porcelain/lfs.py:626:31-37: `commit` may be uninitialized [unbound-name]
+ ERROR dulwich/porcelain/submodule.py:196:34-37: `url` may be uninitialized [unbound-name]
+ ERROR dulwich/porcelain/submodule.py:239:68-71: `url` may be uninitialized [unbound-name]
+ ERROR dulwich/porcelain/subtree.py:186:26-40: `subtree_commit` may be uninitialized [unbound-name]
+ ERROR dulwich/protocol.py:500:30-39: `next_line` may be uninitialized [unbound-name]
+ ERROR dulwich/protocol.py:1021:15-16: `o` may be uninitialized [unbound-name]
+ ERROR dulwich/rebase.py:215:12-19: `command` may be uninitialized [unbound-name]
+ ERROR dulwich/refs.py:927:18-19: `f` may be uninitialized [unbound-name]
+ ERROR dulwich/repo.py:294:20-23: `snd` may be uninitialized [unbound-name]
+ ERROR dulwich/repo.py:1923:16-22: `target` may be uninitialized [unbound-name]
+ ERROR dulwich/repo.py:1974:31-40: `repo_path` may be uninitialized [unbound-name]
+ ERROR dulwich/rerere.py:538:51-58: `content` may be uninitialized [unbound-name]
+ ERROR dulwich/server.py:905:20-30: `peeled_sha` may be uninitialized [unbound-name]
+ ERROR dulwich/signature.py:434:31-37: `result` may be uninitialized [unbound-name]
+ ERROR dulwich/signature.py:610:31-37: `result` may be uninitialized [unbound-name]
+ ERROR dulwich/sparse_patterns.py:184:27-35: `blob_obj` may be uninitialized [unbound-name]
+ ERROR dulwich/sparse_patterns.py:235:46-50: `blob` may be uninitialized [unbound-name]
+ ERROR dulwich/stash.py:152:12-24: `current_head` may be uninitialized [unbound-name]
+ ERROR dulwich/subtree.py:284:43-57: `current_commit` may be uninitialized [unbound-name]
+ ERROR dulwich/tests/utils.py:363:24-34: `parent_ids` may be uninitialized [unbound-name]
+ ERROR dulwich/walk.py:191:23-26: `obj` may be uninitialized [unbound-name]
+ ERROR dulwich/web.py:326:11-15: `data` may be uninitialized [unbound-name]
+ ERROR dulwich/web.py:430:39-43: `repo` may be uninitialized [unbound-name]
+ ERROR dulwich/worktree.py:392:48-55: `tree_id` may be uninitialized [unbound-name]
+ ERROR dulwich/worktree.py:412:35-45: `tree_entry` may be uninitialized [unbound-name]
+ ERROR dulwich/worktree.py:417:24-30: `commit` may be uninitialized [unbound-name]
+ ERROR dulwich/worktree.py:1343:34-55: `worktree_control_path` may be uninitialized [unbound-name]
+ ERROR dulwich/worktree.py:1376:49-68: `old_gitdir_location` may be uninitialized [unbound-name]
Tanjun (https://github.com/FasterSpeeding/Tanjun)
+ ERROR tanjun/_internal/__init__.py:174:22-31: `signature` may be uninitialized [unbound-name]
+ ERROR tanjun/_internal/__init__.py:233:27-36: `signature` may be uninitialized [unbound-name]
+ ERROR tanjun/_internal/__init__.py:699:28-39: Cannot index into `list[tuple[list[str], MessageCommand[Any]]]` [bad-index]
+ ERROR tanjun/_internal/__init__.py:712:27-52: Cannot index into `list[tuple[list[str], MessageCommand[Any]]]` [bad-index]
+ ERROR tanjun/_internal/__init__.py:715:24-49: Cannot index into `list[tuple[list[str], MessageCommand[Any]]]` [bad-index]
+ ERROR tanjun/_internal/__init__.py:716:30-49: Cannot delete item in `list[tuple[list[str], MessageCommand[Any]]]` [unsupported-operation]
+ ERROR tanjun/annotations.py:2647:22-31: `signature` may be uninitialized [unbound-name]
+ ERROR tanjun/clients.py:2110:50-69: `registered_callback` may be uninitialized [unbound-name]
+ ERROR tanjun/conversion.py:1075:25-31: `result` may be uninitialized [unbound-name]
+ ERROR tanjun/conversion.py:1432:44-53: `timestamp` may be uninitialized [unbound-name]
+ ERROR tanjun/parsing.py:511:21-26: `value` may be uninitialized [unbound-name]
bokeh (https://github.com/bokeh/bokeh)
+ ERROR src/bokeh/colors/util.py:138:27-32: `index` may be uninitialized [unbound-name]
+ ERROR src/bokeh/core/property/constraints.py:93:26-30: `attr` may be uninitialized [unbound-name]
+ ERROR src/bokeh/core/validation/decorators.py:87:20-25: `issue` may be uninitialized [unbound-name]
+ ERROR src/bokeh/core/validation/decorators.py:89:43-47: `name` may be uninitialized [unbound-name]
+ ERROR src/bokeh/document/document.py:403:18-23: `patch` may be uninitialized [unbound-name]
+ ERROR src/bokeh/io/export.py:442:61-72: `driver_logs` may be uninitialized [unbound-name]
+ ERROR src/bokeh/models/widgets/tables.py:929:13-19: `source` may be uninitialized [unbound-name]
+ ERROR src/bokeh/protocol/message.py:198:19-25: `header` may be uninitialized [unbound-name]
+ ERROR src/bokeh/protocol/message.py:198:27-35: `metadata` may be uninitialized [unbound-name]
+ ERROR src/bokeh/protocol/message.py:198:37-44: `content` may be uninitialized [unbound-name]
+ ERROR src/bokeh/sampledata/__init__.py:75:12-16: `_mod` may be uninitialized [unbound-name]
+ ERROR src/bokeh/server/views/multi_root_static_handler.py:63:34-38: `name` may be uninitialized [unbound-name]
+ ERROR src/bokeh/server/views/multi_root_static_handler.py:65:66-79: `artifact_path` may be uninitialized [unbound-name]
+ ERROR src/bokeh/server/views/ws.py:220:15-39: Object of class `NoneType` has no attribute `protocol` [missing-attribute]
+ ERROR src/bokeh/sphinxext/_internal/bokeh_dataframe.py:85:18-24: `module` may be uninitialized [unbound-name]
+ ERROR src/bokeh/sphinxext/_internal/bokeh_enum.py:86:24-30: `module` may be uninitialized [unbound-name]
+ ERROR src/bokeh/sphinxext/_internal/bokeh_model.py:105:25-31: `module` may be uninitialized [unbound-name]
+ ERROR src/bokeh/sphinxext/_internal/bokeh_options.py:91:27-33: `module` may be uninitialized [unbound-name]
+ ERROR src/bokeh/sphinxext/_internal/bokeh_prop.py:89:25-31: `module` may be uninitialized [unbound-name]
+ ERROR src/bokeh/sphinxext/_internal/bokeh_prop.py:108:26-36: `descriptor` may be uninitialized [unbound-name]
+ ERROR src/bokeh/sphinxext/_internal/bokeh_roles.py:122:73-82: `issue_num` may be uninitialized [unbound-name]
+ ERROR src/bokeh/sphinxext/_internal/bokeh_roles.py:156:82-91: `issue_num` may be uninitialized [unbound-name]
+ ERROR src/bokeh/sphinxext/_internal/bokeh_settings.py:90:23-29: `module` may be uninitialized [unbound-name]
+ ERROR src/bokeh/sphinxext/_internal/bokehjs_content.py:165:12-20: `hl_lines` may be uninitialized [unbound-name]
+ ERROR src/bokeh/sphinxext/bokeh_plot.py:173:40-47: `js_path` may be uninitialized [unbound-name]
+ ERROR src/bokeh/sphinxext/bokeh_plot.py:182:61-70: `docstring` may be uninitialized [unbound-name]
+ ERROR src/bokeh/sphinxext/bokeh_plot.py:186:49-60: `height_hint` may be uninitialized [unbound-name]
+ ERROR src/bokeh/sphinxext/bokeh_plot.py:186:73-83: `script_tag` may be uninitialized [unbound-name]
+ ERROR src/bokeh/util/browser.py:127:34-40: `new_id` may be uninitialized [unbound-name]
+ ERROR src/bokeh/util/compiler.py:398:12-16: `proc` may be uninitialized [unbound-name]
+ ERROR src/bokeh/util/compiler.py:401:55-61: `stdout` may be uninitialized [unbound-name]
+ ERROR src/bokeh/util/tornado.py:207:9-16: `remover` may be uninitialized [unbound-name]
beartype (https://github.com/beartype/beartype)
+ ERROR beartype/_check/forward/fwdresolve.py:553:12-25: `hint_resolved` may be uninitialized [unbound-name]
+ ERROR beartype/_util/func/utilfuncframe.py:1064:11-21: `func_frame` may be uninitialized [unbound-name]
+ ERROR beartype/_util/hint/pep/proposal/pep749/pep484749forwardref.py:512:12-25: `hint_resolved` may be uninitialized [unbound-name]
+ ERROR beartype/claw/_importlib/_clawimpload.py:552:16-30: `module_codeobj` may be uninitialized [unbound-name]
cibuildwheel (https://github.com/pypa/cibuildwheel)
+ ERROR cibuildwheel/__main__.py:277:28-39: `project_dir` may be uninitialized [unbound-name]
+ ERROR cibuildwheel/environment.py:41:22-34: `command_node` may be uninitialized [unbound-name]
+ ERROR cibuildwheel/options.py:688:13-19: `enable` may be uninitialized [unbound-name]
+ ERROR cibuildwheel/options.py:694:30-36: `enable` may be uninitialized [unbound-name]
+ ERROR cibuildwheel/options.py:828:25-36: `environment` may be uninitialized [unbound-name]
+ ERROR cibuildwheel/options.py:899:34-50: `test_environment` may be uninitialized [unbound-name]
+ ERROR cibuildwheel/options.py:900:30-42: `test_runtime` may be uninitialized [unbound-name]
+ ERROR cibuildwheel/options.py:911:40-62: `dependency_constraints` may be uninitialized [unbound-name]
+ ERROR cibuildwheel/options.py:914:32-46: `build_frontend` may be uninitialized [unbound-name]
+ ERROR cibuildwheel/options.py:916:34-50: Argument `OCIContainerEngineConfig | None` is not assignable to parameter `container_engine` with type `OCIContainerEngineConfig` in function `BuildOptions.__init__` [bad-argument-type]
+ ERROR cibuildwheel/platforms/macos.py:564:20-34: `repaired_wheel` may be uninitialized [unbound-name]
+ ERROR cibuildwheel/platforms/windows.py:549:20-34: `repaired_wheel` may be uninitialized [unbound-name]
+ ERROR cibuildwheel/projectfiles.py:109:38-60: `dependency_groups_toml` may be uninitialized [unbound-name]
+ ERROR cibuildwheel/util/cmd.py:74:22-28: `result` may be uninitialized [unbound-name]
asynq (https://github.com/quora/asynq)
+ ERROR asynq/decorators.py:128:57-63: `result` may be uninitialized [unbound-name]
+ ERROR asynq/generator.py:161:27-32: `value` may be uninitialized [unbound-name]
+ ERROR asynq/tests/test_debug.py:81:42-45: `exc` may be uninitialized [unbound-name]
+ ERROR asynq/tests/test_pyright.py:19:18-29: `diagnostics` may be uninitialized [unbound-name]
cki-lib (https://gitlab.com/cki-project/cki-lib)
+ ERROR cki_lib/messagequeue.py:359:82-91: `json_body` may be uninitialized [unbound-name]
+ ERROR cki_lib/misc.py:392:14-17: `Hub` may be uninitialized [unbound-name]
streamlit (https://github.com/streamlit/streamlit)
+ ERROR lib/streamlit/auth_util.py:148:12-31: `redirect_uri_parsed` may be uninitialized [unbound-name]
+ ERROR lib/streamlit/auth_util.py:254:29-32: `jwt` may be uninitialized [unbound-name]
+ ERROR lib/streamlit/auth_util.py:272:30-33: `jwt` may be uninitialized [unbound-name]
+ ERROR lib/streamlit/auth_util.py:276:12-21: `JoseError` may be uninitialized [unbound-name]
+ ERROR lib/streamlit/auth_util.py:466:20-31: `chunk_count` may be uninitialized [unbound-name]
+ ERROR lib/streamlit/components/v1/custom_component.py:151:17-32: `component_arrow` may be uninitialized [unbound-name]
+ ERROR lib/streamlit/components/v2/bidi_component/main.py:137:31-37: `parsed` may be uninitialized [unbound-name]
+ ERROR lib/streamlit/components/v2/component_manager.py:428:16-23: `new_def` may be uninitialized [unbound-name]
+ ERROR lib/streamlit/components/v2/component_path_utils.py:190:16-24: `resolved` may be uninitialized [unbound-name]
+ ERROR lib/streamlit/components/v2/component_path_utils.py:190:40-53: `root_resolved` may be uninitialized [unbound-name]
+ ERROR lib/streamlit/config.py:188:8-11: `opt` may be uninitialized [unbound-name]
+ ERROR lib/streamlit/config.py:2670:29-47: `parsed_config_file` may be uninitialized [unbound-name]
+ ERROR lib/streamlit/elements/exception.py:309:12-25: `common_prefix` may be uninitialized [unbound-name]
+ ERROR lib/streamlit/elements/help.py:546:12-23: `member_type` may be uninitialized [unbound-name]
+ ERROR lib/streamlit/elements/help.py:554:12-23: `member_docs` may be uninitialized [unbound-name]
+ ERROR lib/streamlit/elements/help.py:557:12-24: `member_value` may be uninitialized [unbound-name]
+ ERROR lib/streamlit/elements/help.py:560:37-43: `weight` may be uninitialized [unbound-name]
+ ERROR lib/streamlit/elements/lib/image_utils.py:337:50-60: `image_data` may be uninitialized [unbound-name]
+ ERROR lib/streamlit/elements/lib/options_selector_utils.py:168:26-37: `first_class` may be uninitialized [unbound-name]
+ ERROR lib/streamlit/elements/lib/options_selector_utils.py:168:50-60: `inner_iter` may be uninitialized [unbound-name]
+ ERROR lib/streamlit/elements/lib/options_selector_utils.py:169:16-27: `first_class` may be uninitialized [unbound-name]
+ ERROR lib/streamlit/elements/lib/options_selector_utils.py:409:12-27: `formatted_value` may be uninitialized [unbound-name]
+ ERROR lib/streamlit/elements/lib/subtitle_utils.py:60:13-23: `header_str` may be uninitialized [unbound-name]
+ ERROR lib/streamlit/elements/media.py:690:12-32: Returned type `tuple[float | int | str | timedelta, float | int | str | timedelta | None]` is not assignable to declared return type `tuple[int, int | None]` [bad-return]
+ ERROR lib/streamlit/elements/pdf.py:171:18-28: `file_param` may be uninitialized [unbound-name]
+ ERROR lib/streamlit/elements/spinner.py:147:33-48: `clear_transient` may be uninitialized [unbound-name]
+ ERROR lib/streamlit/elements/widgets/button_group.py:129:17-32: `formatted_value` may be uninitialized [unbound-name]
+ ERROR lib/streamlit/elements/widgets/button_group.py:210:27-42: `formatted_value` may be uninitialized [unbound-name]
+ ERROR lib/streamlit/elements/widgets/multiselect.py:149:16-31: `formatted_value` may be uninitialized [unbound-name]
+ ERROR lib/streamlit/elements/widgets/radio.py:118:12-27: `formatted_value` may be uninitialized [unbound-name]
+ ERROR lib/streamlit/elements/widgets/selectbox.py:147:12-27: `formatted_value` may be uninitialized [unbound-name]
+ ERROR lib/streamlit/runtime/caching/cache_data_api.py:747:34-47: `pickled_entry` may be uninitialized [unbound-name]
+ ERROR lib/streamlit/runtime/caching/cache_data_api.py:769:31-44: `pickled_entry` may be uninitialized [unbound-name]
+ ERROR lib/streamlit/runtime/caching/hashing.py:376:34-40: `output` may be uninitialized [unbound-name]
+ ERROR lib/streamlit/runtime/caching/hashing.py:650:25-36: `reduce_data` may be uninitialized [unbound-name]
+ ERROR lib/streamlit/runtime/media_file_manager.py:380:13-17: `data` may be uninitialized [unbound-name]
+ ERROR lib/streamlit/runtime/metrics_util.py:581:16-22: `result` may be uninitialized [unbound-name]
+ ERROR lib/streamlit/runtime/scriptrunner/script_runner.py:624:43-54: `script_path` may be uninitialized [unbound-name]
+ ERROR lib/streamlit/runtime/scriptrunner/script_runner.py:627:29-33: `code` may be uninitialized [unbound-name]
+ ERROR lib/streamlit/runtime/secrets.py:265:39-55: `secrets_file_str` may be uninitialized [unbound-name]
+ ERROR lib/streamlit/testing/v1/element_tree.py:1035:12-25: `current_value` may be uninitialized [unbound-name]
+ ERROR lib/streamlit/testing/v1/element_tree.py:1499:41-42: `v` may be uninitialized [unbound-name]
+ ERROR lib/streamlit/watcher/event_based_path_watcher.py:359:13-36: Object of class `NoneType` has no attribute `on_changed` [missing-attribute]
+ ERROR lib/streamlit/watcher/polling_path_watcher.py:129:21-24: `md5` may be uninitialized [unbound-name]
+ ERROR lib/streamlit/web/bootstrap.py:77:9-15: `uvloop` may be uninitialized [unbound-name]
+ ERROR lib/streamlit/web/server/app_discovery.py:287:32-36: `tree` may be uninitialized [unbound-name]
+ ERROR lib/streamlit/web/server/app_discovery.py:367:50-56: `source` may be uninitialized [unbound-name]
+ ERROR lib/streamlit/web/server/bidi_component_request_handler.py:130:20-28: `contents` may be uninitialized [unbound-name]
+ ERROR lib/streamlit/web/server/component_request_handler.py:66:20-28: `contents` may be uninitialized [unbound-name]
+ ERROR lib/streamlit/web/server/media_file_handler.py:135:53-63: `media_file` may be uninitialized [unbound-name]
+ ERROR lib/streamlit/web/server/oauth_authlib_routes.py:171:16-23: `payload` may be uninitialized [unbound-name]
+ ERROR lib/streamlit/web/server/oauth_authlib_routes.py:308:36-40: `code` may be uninitialized [unbound-name]
+ ERROR lib/streamlit/web/server/oauth_authlib_routes.py:308:44-61: `recorded_provider` may be uninitialized [unbound-name]
+ ERROR lib/streamlit/web/server/server_util.py:225:21-25: `port` may be uninitialized [unbound-name]
+ ERROR lib/streamlit/web/server/starlette/starlette_app.py:230:12-21: `Starlette` may be uninitialized [unbound-name]
+ ERROR lib/streamlit/web/server/starlette/starlette_app_utils.py:55:12-18: `suffix` may be uninitialized [unbound-name]
+ ERROR lib/streamlit/web/server/starlette/starlette_auth_routes.py:337:13-29: `starlette_client` may be uninitialized [unbound-name]
+ ERROR lib/streamlit/web/server/starlette/starlette_auth_routes.py:354:12-19: `payload` may be uninitialized [unbound-name]
+ ERROR lib/streamlit/web/server/starlette/starlette_auth_routes.py:387:32-36: `code` may be uninitialized [unbound-name]
+ ERROR lib/streamlit/web/server/starlette/starlette_auth_routes.py:387:40-57: `recorded_provider` may be uninitialized [unbound-name]
+ ERROR lib/streamlit/web/server/starlette/starlette_routes.py:447:12-22: `media_file` may be uninitialized [unbound-name]
+ ERROR lib/streamlit/web/server/starlette/starlette_routes.py:480:31-42: `range_start` may be uninitialized [unbound-name]
+ ERROR lib/streamlit/web/server/starlette/starlette_routes.py:480:45-54: `range_end` may be uninitialized [unbound-name]
+ ERROR lib/streamlit/web/server/starlette/starlette_routes.py:708:37-41: `data` may be uninitialized [unbound-name]
+ ERROR lib/streamlit/web/server/starlette/starlette_routes.py:787:37-41: `data` may be uninitialized [unbound-name]
+ ERROR lib/streamlit/web/server/starlette/starlette_server.py:274:30-37: `uvicorn` may be uninitialized [unbound-name]
+ ERROR lib/streamlit/web/server/starlette/starlette_server.py:469:17-24: `uvicorn` may be uninitialized [unbound-name]
+ ERROR lib/streamlit/web/server/starlette/starlette_websocket.py:186:21-28: `payload` may be uninitialized [unbound-name]
+ ERROR lib/streamlit/web/server/starlette/starlette_websocket.py:478:46-50: `data` may be uninitialized [unbound-name]
+ ERROR scripts/log_agent_metrics.py:50:8-14: `branch` may be uninitialized [unbound-name]
+ ERROR scripts/log_agent_metrics.py:189:23-30: `pr_body` may be uninitialized [unbound-name]
+ ERROR scripts/pypi_nightly_create_tag.py:53:20-31: `version_str` may be uninitialized [unbound-name]
+ ERROR scripts/snapshot_cleanup.py:166:22-32: `test_files` may be uninitialized [unbound-name]
hydra-zen (https://github.com/mit-ll-responsible-ai/hydra-zen)
+ ERROR src/hydra_zen/_utils/coerce.py:34:8-13: `bases` may be uninitialized [unbound-name]
+ ERROR src/hydra_zen/_utils/coerce.py:40:23-29: `fields` may be uninitialized [unbound-name]
pandera (https://github.com/pandera-dev/pandera)
+ ERROR pandera/api/checks.py:505:28-46: `allowed_values_mod` may be uninitialized [unbound-name]
+ ERROR pandera/api/checks.py:561:30-50: `forbidden_values_mod` may be uninitialized [unbound-name]
+ ERROR pandera/api/checks.py:728:35-45: `values_mod` may be uninitialized [unbound-name]
+ ERROR pandera/backends/pandas/components.py:1060:25-38: `failure_cases` may be uninitialized [unbound-name]
+ ERROR pandera/engines/ibis_engine.py:87:41-49: `np_dtype` may be uninitialized [unbound-name]
+ ERROR pandera/engines/numpy_engine.py:107:49-57: `np_dtype` may be uninitialized [unbound-name]
+ ERROR pandera/engines/pandas_engine.py:113:24-37: `GeometryDtype` may be uninitialized [unbound-name]
+ ERROR pandera/engines/pandas_engine.py:187:16-23: `coerced` may be uninitialized [unbound-name]
+ ERROR pandera/engines/pandas_engine.py:749:12-20: `resolved` may be uninitialized [unbound-name]
+ ERROR pandera/engines/polars_engine.py:262:49-57: `pl_dtype` may be uninitialized [unbound-name]
+ ERROR pandera/engines/polars_engine.py:444:34-53: Object of class `DataType` has no attribute `scale` [missing-attribute]
+ ERROR pandera/engines/polars_engine.py:445:38-61: Object of class `DataType` has no attribute `precision` [missing-attribute]
+ ERROR pandera/engines/pyspark_engine.py:105:16-23: `coerced` may be uninitialized [unbound-name]
+ ERROR pandera/engines/pyspark_engine.py:355:34-53: Object of class `DataType` has no attribute `scale` [missing-attribute]
+ ERROR pandera/engines/pyspark_engine.py:356:38-61: Object of class `DataType` has no attribute `precision` [missing-attribute]
+ ERROR pandera/io/pandas_io.py:948:31-49: `FrictionlessSchema` may be uninitialized [unbound-name]
+ ERROR pandera/strategies/pandas_strategies.py:355:8-16: `np_dtype` may be uninitialized [unbound-name]
+ ERROR pandera/typing/geopandas.py:265:30-36: `schema` may be uninitialized [unbound-name]
+ ERROR pandera/typing/geopandas.py:269:34-44: `valid_data` may be uninitialized [unbound-name]
+ ERROR pandera/typing/ibis.py:98:20-31: `format_type` may be uninitialized [unbound-name]
+ ERROR pandera/typing/ibis.py:190:20-31: `format_type` may be uninitialized [unbound-name]
+ ERROR pandera/typing/pandas.py:344:26-32: `schema` may be uninitialized [unbound-name]
+ ERROR pandera/typing/pandas.py:348:30-40: `valid_data` may be uninitialized [unbound-name]
+ ERROR pandera/typing/polars.py:114:20-31: `format_type` may be uninitialized [unbound-name]
+ ERROR pandera/typing/polars.py:240:20-31: `format_type` may be uninitialized [unbound-name]
+ ERROR pandera/typing/polars.py:408:30-36: `schema` may be uninitialized [unbound-name]
+ ERROR pandera/typing/polars.py:412:34-44: `valid_data` may be uninitialized [unbound-name]
websockets (https://github.com/aaugustin/websockets)
+ ERROR src/websockets/asyncio/connection.py:509:31-36: `chunk` may be uninitialized [unbound-name]
+ ERROR src/websockets/asyncio/connection.py:568:31-36: `chunk` may be uninitialized [unbound-name]
+ ERROR src/websockets/asyncio/messages.py:239:16-21: `frame` may be uninitialized [unbound-name]
+ ERROR src/websockets/asyncio/router.py:214:57-64: `handler` may be uninitialized [unbound-name]
+ ERROR src/websockets/asyncio/router.py:214:66-72: `kwargs` may be uninitialized [unbound-name]
+ ERROR src/websockets/asyncio/server.py:947:40-57: `expected_password` may be uninitialized [unbound-name]
+ ERROR src/websockets/asyncio/server.py:973:60-73: `authorization` may be uninitialized [unbound-name]
+ ERROR src/websockets/asyncio/server.py:982:47-55: `username` may be uninitialized [unbound-name]
+ ERROR src/websockets/asyncio/server.py:982:57-65: `password` may be uninitialized [unbound-name]
+ ERROR src/websockets/cli.py:99:34-41: `message` may be uninitialized [unbound-name]
+ ERROR src/websockets/client.py:170:12-22: `s_w_accept` may be uninitialized [unbound-name]
+ ERROR src/websockets/client.py:234:48-57: `extension` may be uninitialized [unbound-name]
+ ERROR src/websockets/frames.py:263:21-27: `opcode` may be uninitialized [unbound-name]
+ ERROR src/websockets/headers.py:565:30-39: `user_pass` may be uninitialized [unbound-name]
+ ERROR src/websockets/headers.py:572:12-20: `username` may be uninitialized [unbound-name]
+ ERROR src/websockets/headers.py:572:22-30: `password` may be uninitialized [unbound-name]
+ ERROR src/websockets/http11.py:143:42-54: `request_line` may be uninitialized [unbound-name]
+ ERROR src/websockets/http11.py:145:62-74: `request_line` may be uninitialized [unbound-name]
+ ERROR src/websockets/http11.py:146:12-20: `protocol` may be uninitialized [unbound-name]
+ ERROR src/websockets/http11.py:150:12-18: `method` may be uninitialized [unbound-name]
+ ERROR src/websockets/http11.py:152:16-24: `raw_path` may be uninitialized [unbound-name]
+ ERROR src/websockets/http11.py:249:53-64: `status_line` may be uninitialized [unbound-name]
+ ERROR src/websockets/http11.py:251:61-72: `status_line` may be uninitialized [unbound-name]
+ ERROR src/websockets/http11.py:253:16-24: `protocol` may be uninitialized [unbound-name]
+ ERROR src/websockets/http11.py:259:16-24: `protocol` may be uninitialized [unbound-name]
+ ERROR src/websockets/http11.py:264:31-46: `raw_status_code` may be uninitialized [unbound-name]
+ ERROR src/websockets/http11.py:267:65-80: `raw_status_code` may be uninitialized [unbound-name]
+ ERROR src/websockets/http11.py:269:23-34: `status_code` may be uninitialized [unbound-name]
+ ERROR src/websockets/http11.py:273:36-46: `raw_reason` may be uninitialized [unbound-name]
+ ERROR src/websockets/http11.py:324:12-16: `line` may be uninitialized [unbound-name]
+ ERROR src/websockets/http11.py:357:12-16: `line` may be uninitialized [unbound-name]
+ ERROR src/websockets/http11.py:364:36-44: `raw_name` may be uninitialized [unbound-name]
+ ERROR src/websockets/http11.py:366:21-30: `raw_value` may be uninitialized [unbound-name]
+ ERROR src/websockets/legacy/auth.py:98:60-73: `authorization` may be uninitialized [unbound-name]
+ ERROR src/websockets/legacy/auth.py:106:45-53: `username` may be uninitialized [unbound-name]
+ ERROR src/websockets/legacy/auth.py:106:55-63: `password` may be uninitialized [unbound-name]
+ ERROR src/websockets/legacy/auth.py:176:40-57: `expected_password` may be uninitialized [unbound-name]
+ ERROR src/websockets/legacy/client.py:135:51-62: `status_code` may be uninitialized [unbound-name]
+ ERROR src/websockets/legacy/client.py:135:64-70: `reason` may be uninitialized [unbound-name]
+ ERROR src/websockets/legacy/client.py:136:31-38: `headers` may be uninitialized [unbound-name]
+ ERROR src/websockets/legacy/client.py:201:48-57: `extension` may be uninitialized [unbound-name]
+ ERROR src/websockets/legacy/framing.py:104:34-40: `opcode` may be uninitialized [unbound-name]
+ ERROR src/websockets/legacy/handshake.py:82:36-43: `s_w_key` may be uninitialized [unbound-name]
+ ERROR src/websockets/legacy/handshake.py:84:55-62: `s_w_key` may be uninitialized [unbound-name]
+ ERROR src/websockets/legacy/handshake.py:85:12-19: `raw_key` may be uninitialized [unbound-name]
+ ERROR src/websockets/legacy/handshake.py:95:8-19: `s_w_version` may be uninitialized [unbound-name]
+ ERROR src/websockets/legacy/handshake.py:157:8-18: `s_w_accept` may be uninitialized [unbound-name]
+ ERROR src/websockets/legacy/http.py:79:37-49: `request_line` may be uninitialized [unbound-name]
+ ERROR src/websockets/legacy/http.py:81:58-70: `request_line` may be uninitialized [unbound-name]
+ ERROR src/websockets/legacy/http.py:83:8-14: `method` may be uninitialized [unbound-name]
+ ERROR src/websockets/legacy/http.py:85:8-15: `version` may be uninitialized [unbound-name]
+ ERROR src/websockets/legacy/http.py:87:12-20: `raw_path` may be uninitialized [unbound-name]
+ ERROR src/websockets/legacy/http.py:125:48-59: `status_line` may be uninitialized [unbound-name]
+ ERROR src/websockets/legacy/http.py:127:57-68: `status_line` may be uninitialized [unbound-name]
+ ERROR src/websockets/legacy/http.py:129:8-15: `version` may be uninitialized [unbound-name]
+ ERROR src/websockets/legacy/http.py:132:27-42: `raw_status_code` may be uninitialized [unbound-name]
+ ERROR src/websockets/legacy/http.py:134:57-72: `raw_status_code` may be uninitialized [unbound-name]
+ ERROR src/websockets/legacy/http.py:135:19-30: `status_code` may be uninitialized [unbound-name]
+ ERROR src/websockets/legacy/http.py:137:32-42: `raw_reason` may be uninitialized [unbound-name]
+ ERROR src/websockets/legacy/http.py:163:12-16: `line` may be uninitialized [unbound-name]
+ ERROR src/websockets/legacy/http.py:170:36-44: `raw_name` may be uninitialized [unbound-name]
+ ERROR src/websockets/legacy/http.py:172:21-30: `raw_value` may be uninitialized [unbound-name]
+ ERROR src/websockets/legacy/protocol.py:645:41-49: `fragment` may be uninitialized [unbound-name]
+ ERROR src/websockets/legacy/protocol.py:690:41-49: `fragment` may be uninitialized [unbound-name]
+ ERROR src/websockets/legacy/server.py:285:52-56: `path` may be uninitialized [unbound-name]
+ ERROR src/websockets/legacy/server.py:286:31-38: `headers` may be uninitialized [unbound-name]
+ ERROR src/websockets/legacy/server.py:392:12-18: `origin` may be uninitialized [unbound-name]
+ ERROR src/websockets/legacy/server.py:466:53-68: `response_params` may be uninitialized [unbound-name]
+ ERROR src/websockets/legacy/server.py:467:48-57: `extension` may be uninitialized [unbound-name]
+ ERROR src/websockets/server.py:198:43-56: `accept_header` may be uninitialized [unbound-name]
+ ERROR src/websockets/server.py:199:12-29: `extensions_header` may be uninitialized [unbound-name]
+ ERROR src/websockets/server.py:201:12-27: `protocol_header` may be uninitialized [unbound-name]
+ ERROR src/websockets/server.py:255:40-43: `key` may be uninitialized [unbound-name]
+ ERROR src/websockets/server.py:257:59-62: `key` may be uninitialized [unbound-name]
+ ERROR src/websockets/server.py:258:16-23: `raw_key` may be uninitialized [unbound-name]
+ ERROR src/websockets/server.py:268:12-19: `version` may be uninitialized [unbound-name]
+ ERROR src/websockets/server.py:298:12-18: `origin` may be uninitialized [unbound-name]
+ ERROR src/websockets/server.py:378:53-68: `response_params` may be uninitialized [unbound-name]
+ ERROR src/websockets/server.py:379:48-57: `extension` may be uninitialized [unbound-name]
+ ERROR src/websockets/sync/client.py:381:9-19: `connection` may be uninitialized [unbound-name]
+ ERROR src/websockets/sync/client.py:387:9-19: `connection` may be uninitialized [unbound-name]
+ ERROR src/websockets/sync/connection.py:506:31-36: `chunk` may be uninitialized [unbound-name]
+ ERROR src/websockets/sync/connection.py:778:24-37: `pong_received` may be uninitialized [unbound-name]
+ ERROR src/websockets/sync/connection.py:838:20-24: `data` may be uninitialized [unbound-name]
+ ERROR src/websockets/sync/messages.py:90:12-17: `frame` may be uninitialized [unbound-name]
+ ERROR src/websockets/sync/router.py:208:57-64: `handler` may be uninitialized [unbound-name]
+ ERROR src/websockets/sync/router.py:208:66-72: `kwargs` may be uninitialized [unbound-name]
+ ERROR src/websockets/sync/server.py:285:66-70: `sock` may be uninitialized [unbound-name]
+ ERROR src/websockets/sync/server.py:285:72-76: `addr` may be uninitialized [unbound-name]
+ ERROR src/websockets/sync/server.py:592:17-27: `connection` may be uninitialized [unbound-name]
+ ERROR src/websockets/sync/server.py:599:17-27: `connection` may be uninitialized [unbound-name]
+ ERROR src/websockets/sync/server.py:603:17-27: `connection` may be uninitialized [unbound-name]
+ ERROR src/websockets/sync/server.py:719:40-57: `expected_password` may be uninitialized [unbound-name]
+ ERROR src/websockets/sync/server.py:745:60-73: `authorization` may be uninitialized [unbound-name]
+ ERROR src/websockets/sync/server.py:754:34-42: `username` may be uninitialized [unbound-name]
+ ERROR src/websockets/sync/server.py:754:44-52: `password` may be uninitialized [unbound-name]
+ ERROR src/websockets/trio/connection.py:521:31-36: `chunk` may be uninitialized [unbound-name]
+ ERROR src/websockets/trio/connection.py:580:31-36: `chunk` may be uninitialized [unbound-name]
+ ERROR src/websockets/trio/connection.py:902:20-24: `data` may be uninitialized [unbound-name]
+ ERROR src/websockets/trio/messages.py:116:20-25: `frame` may be uninitialized [unbound-name]
+ ERROR src/websockets/trio/messages.py:204:16-21: `frame` may be uninitialized [unbound-name]
dd-trace-py (https://github.com/DataDog/dd-trace-py)
+ ERROR ddtrace/_trace/processor/resource_renaming.py:48:16-26: `parsed_url` may be uninitialized [unbound-name]
+ ERROR ddtrace/_trace/utils_botocore/span_pointers/dynamodb.py:185:20-30: `table_name` may be uninitialized [unbound-name]
+ ERROR ddtrace/_trace/utils_botocore/span_pointers/dynamodb.py:193:14-18: `item` may be uninitialized [unbound-name]
+ ERROR ddtrace/_trace/utils_botocore/span_pointers/dynamodb.py:265:24-34: `table_name` may be uninitialized [unbound-name]
+ ERROR ddtrace/_trace/utils_botocore/span_pointers/dynamodb.py:266:25-28: `key` may be uninitialized [unbound-name]
+ ERROR ddtrace/_trace/utils_botocore/span_pointers/dynamodb.py:311:54-69: `processed_items` may be uninitialized [unbound-name]
+ ERROR ddtrace/_trace/utils_botocore/span_pointers/s3.py:110:16-22: `bucket` may be uninitialized [unbound-name]
+ ERROR ddtrace/_trace/utils_botocore/span_pointers/s3.py:111:13-16: `key` may be uninitialized [unbound-name]
+ ERROR ddtrace/_trace/utils_botocore/span_pointers/s3.py:112:14-18: `etag` may be uninitialized [unbound-name]
+ ERROR ddtrace/appsec/_common_module_patches.py:112:16-35: `AppSecSpanProcessor` may be uninitialized [unbound-name]
+ ERROR ddtrace/appsec/_common_module_patches.py:438:12-26: `in_asm_context` may be uninitialized [unbound-name]
+ ERROR ddtrace/appsec/_common_module_patches.py:439:19-36: `call_waf_callback` may be uninitialized [unbound-name]
+ ERROR ddtrace/appsec/_common_module_patches.py:464:12-26: `in_asm_context` may be uninitialized [unbound-name]
+ ERROR ddtrace/appsec/_common_module_patches.py:465:19-36: `call_waf_callback` may be uninitialized [unbound-name]
+ ERROR ddtrace/appsec/_common_module_patches.py:511:16-30: `in_asm_context` may be uninitialized [unbound-name]
+ ERROR ddtrace/appsec/_common_module_patches.py:512:23-40: `call_waf_callback` may be uninitialized [unbound-name]
+ ERROR ddtrace/appsec/_iast/_ast/ast_patching.py:289:12-23: `source_text` may be uninitialized [unbound-name]
+ ERROR ddtrace/appsec/_iast/taint_sinks/ssrf.py:64:8-19: `report_ssrf` may be uninitialized [unbound-name]
+ ERROR ddtrace/appsec/_listeners.py:43:5-24: `AppSecSpanProcessor` may be uninitialized [unbound-name]
+ ERROR ddtrace/appsec/ai_guard/_api_client.py:258:20-28: `response` may be uninitialized [unbound-name]
+ ERROR ddtrace/appsec/ai_guard/_api_client.py:260:38-44: `result` may be uninitialized [unbound-name]
+ ERROR ddtrace/appsec/ai_guard/_api_client.py:267:44-50: `result` may be uninitialized [unbound-name]
+ ERROR ddtrace/appsec/ai_guard/_api_client.py:273:24-30: `action` may be uninitialized [unbound-name]
+ ERROR ddtrace/appsec/ai_guard/_api_client.py:280:24-28: `tags` may be uninitialized [unbound-name]
+ ERROR ddtrace/appsec/ai_guard/_api_client.py:282:24-30: `reason` may be uninitialized [unbound-name]
+ ERROR ddtrace/appsec/ai_guard/_api_client.py:284:24-36: `sds_findings` may be uninitialized [unbound-name]
+ ERROR ddtrace/appsec/ai_guard/_api_client.py:290:64-70: `result` may be uninitialized [unbound-name]
+ ERROR ddtrace/appsec/ai_guard/_api_client.py:293:67-83: `blocking_enabled` may be uninitialized [unbound-name]
+ ERROR ddtrace/contrib/internal/anthropic/patch.py:60:35-39: `resp` may be uninitialized [unbound-name]
+ ERROR ddtrace/contrib/internal/anthropic/patch.py:87:35-39: `resp` may be uninitialized [unbound-name]
+ ERROR ddtrace/contrib/internal/botocore/utils.py:110:48-60: `json_context` may be uninitialized [unbound-name]
+ ERROR ddtrace/contrib/internal/unittest/patch.py:263:55-73: `test_module_object` may be uninitialized [unbound-name]
+ ERROR ddtrace/contrib/internal/unittest/patch.py:858:12-18: `result` may be uninitialized [unbound-name]
+ ERROR ddtrace/contrib/internal/unittest/patch.py:886:12-18: `result` may be uninitialized [unbound-name]
+ ERROR ddtrace/debugging/_debugger.py:134:21-27: `signal` may be uninitialized [unbound-name]
+ ERROR ddtrace/debugging/_debugger.py:153:15-22: `signals` may be uninitialized [unbound-name]
+ ERROR ddtrace/debugging/_debugger.py:352:13-19: `signal` may be uninitialized [unbound-name]
+ ERROR ddtrace/debugging/_debugger.py:515:51-59: `function` may be uninitialized [unbound-name]
+ ERROR ddtrace/debugging/_function/discovery.py:284:21-29: `function` may be uninitialized [unbound-name]
+ ERROR ddtrace/debugging/_origin/span.py:156:65-75: `start_time` may be uninitialized [unbound-name]
+ ERROR ddtrace/debugging/_probe/registry.py:127:20-25: `entry` may be uninitialized [unbound-name]
+ ERROR ddtrace/debugging/_probe/remoteconfig.py:246:18-21: `_id` may be uninitialized [unbound-name]
+ ERROR ddtrace/debugging/_probe/remoteconfig.py:251:33-38: `_type` may be uninitialized [unbound-name]
+ ERROR ddtrace/ext/ci/github_actions.py:146:16-28: `worker_files` may be uninitialized [unbound-name]
+ ERROR ddtrace/internal/assembly.py:131:16-20: `head` may be uninitialized [unbound-name]
+ ERROR ddtrace/internal/assembly.py:137:42-51: `label_ref` may be uninitialized [unbound-name]
+ ERROR ddtrace/internal/assembly.py:141:64-69: `lasti` may be uninitialized [unbound-name]
+ ERROR ddtrace/internal/ci_visibility/_api_client.py:245:8-13: `value` may be uninitialized [unbound-name]
+ ERROR ddtrace/internal/ci_visibility/_api_client.py:364:16-24: `response` may be uninitialized [unbound-name]
+ ERROR ddtrace/internal/ci_visibility/_api_client.py:474:30-46: `coverage_enabled` may be uninitialized [unbound-name]
+ ERROR ddtrace/internal/ci_visibility/_api_client.py:475:30-46: `skipping_enabled` may be uninitialized [unbound-name]
+ ERROR ddtrace/internal/ci_visibility/_api_client.py:476:25-36: `require_git` may be uninitialized [unbound-name]
+ ERROR ddtrace/internal/ci_visibility/_api_client.py:477:25-36: `itr_enabled` may be uninitialized [unbound-name]
+ ERROR ddtrace/internal/ci_visibility/_api_client.py:478:40-66: `flaky_test_retries_enabled` may be uninitialized [unbound-name]
+ ERROR ddtrace/internal/ci_visibility/_api_client.py:479:33-52: `known_tests_enabled` may be uninitialized [unbound-name]
+ ERROR ddtrace/internal/ci_visibility/_api_client.py:480:35-56: `early_flake_detection` may be uninitialized [unbound-name]
+ ERROR ddtrace/internal/ci_visibility/_api_client.py:481:29-44: `test_management` may be uninitialized [unbound-name]
+ ERROR ddtrace/internal/ci_visibility/_api_client.py:482:44-74: `coverage_report_upload_enabled` may be uninitialized [unbound-name]
+ ERROR ddtrace/internal/ci_visibility/_api_client.py:535:12-30: `skippable_response` may be uninitialized [unbound-name]
+ ERROR ddtrace/internal/ci_visibility/_api_client.py:609:28-43: `parsed_response` may be uninitialized [unbound-name]
+ ERROR ddtrace/internal/ci_visibility/_api_client.py:622:39-49: `tests_data` may be uninitialized [unbound-name]
+ ERROR ddtrace/internal/ci_visibility/_api_client.py:633:34-44: `attributes` may be uninitialized [unbound-name]
+ ERROR ddtrace/internal/ci_visibility/_api_client.py:688:24-39: `parsed_response` may be uninitialized [unbound-name]
+ ERROR ddtrace/internal/ci_visibility/_api_client.py:700:45-52: `modules` may be uninitialized [unbound-name]
+ ERROR ddtrace/internal/ci_visibility/git_client.py:335:20-28: `response` may be uninitialized [unbound-name]
+ ERROR ddtrace/internal/ci_visibility/recorder.py:382:12-20: `settings` may be uninitialized [unbound-name]
+ ERROR ddtrace/internal/ci_visibility/recorder.py:452:12-16: `info` may be uninitialized [unbound-name]
+ ERROR ddtrace/internal/ci_visibility/recorder.py:469:12-16: `info` may be uninitialized [unbound-name]
+ ERROR ddtrace/internal/ci_visibility/recorder.py:648:9-28: Object of class `NoneType` has no attribute `start` [missing-attribute]
+ ERROR ddtrace/internal/ci_visibility/recorder.py:659:13-52: Object of class `NoneType` has no attribute `_collect_coverage_enabled` [missing-attribute]
+ ERROR ddtrace/internal/ci_visibility/recorder.py:660:13-48: Object of class `NoneType` has no attribute `test_skipping_enabled` [missing-attribute]
+ ERROR ddtrace/internal/ci_visibility/recorder.py:661:13-41: Object of class `NoneType` has no attribute `is_efd_enabled` [missing-attribute]
+ ERROR ddtrace/internal/ci_visibility/recorder.py:662:13-41: Object of class `NoneType` has no attribute `is_atr_enabled` [missing-attribute]
+ ERROR ddtrace/internal/ci_visibility/recorder.py:663:13-53: Object of class `NoneType` has no attribute `is_test_management_enabled` [missing-attribute]
+ ERROR ddtrace/internal/ci_visibility/recorder.py:664:13-49: Object of class `NoneType` has no attribute `is_known_tests_enabled` [missing-attribute]
+ ERROR ddtrace/internal/ci_visibility/utils.py:31:12-25: `relative_path` may be uninitialized [unbound-name]
+ ERROR ddtrace/internal/ci_visibility/utils.py:40:51-62: `file_object` may be uninitialized [unbound-name]
+ ERROR ddtrace/internal/ci_visibility/utils.py:56:18-36: `source_lines_tuple` may be uninitialized [unbound-name]
+ ERROR ddtrace/internal/ci_visibility/writer.py:270:16-24: `response` may be uninitialized [unbound-name]
+ ERROR ddtrace/internal/codeowners.py:185:34-41: `pattern` may be uninitialized [unbound-name]
+ ERROR ddtrace/internal/coverage/multiprocessing_coverage.py:62:55-59: `data` may be uninitialized [unbound-name]
+ ERROR ddtrace/internal/datadog/profiling/code_provenance.py:154:12-16: `data` may be uninitialized [unbound-name]
+ ERROR ddtrace/internal/module.py:431:16-20: `spec` may be uninitialized [unbound-name]
+ ERROR ddtrace/internal/module.py:533:16-24: Returned type `MutableMapping[str, ModuleType] | None` is not assignable to declared return type `MutableMapping[str, ModuleType]` [bad-return]
+ ERROR ddtrace/internal/module.py:618:78-84: `module` may be uninitialized [unbound-name]
+ ERROR ddtrace/internal/module.py:671:14-27: `module_object` may be uninitialized [unbound-name]
+ ERROR ddtrace/internal/products.py:68:45-52: `product` may be uninitialized [unbound-name]
+ ERROR ddtrace/internal/remoteconfig/client.py:470:12-16: `resp` may be uninitialized [unbound-name]
+ ERROR ddtrace/internal/remoteconfig/client.py:478:27-31: `data` may be uninitialized [unbound-name]
+ ERROR ddtrace/internal/remoteconfig/client.py:494:40-43: `raw` may be uninitialized [unbound-name]
+ ERROR ddtrace/internal/remoteconfig/client.py:702:54-61: `payload` may be uninitialized [unbound-name]
+ ERROR ddtrace/internal/sampling.py:223:12-22: `json_rules` may be uninitialized [unbound-name]
+ ERROR ddtrace/internal/settings/profiling.py:55:30-39: `total_mem` may be uninitialized [unbound-name]
+ ERROR ddtrace/internal/symbol_db/symbols.py:85:29-37: `filename` may be uninitialized [unbound-name]
+ ERROR ddtrace/internal/symbol_db/symbols.py:260:54-65: `type_origin` may be uninitialized [unbound-name]
+ ERROR ddtrace/internal/symbol_db/symbols.py:317:29-40: `type_origin` may be uninitialized [unbound-name]
+ ERROR ddtrace/internal/symbol_db/symbols.py:654:16-21: `scope` may be uninitialized [unbound-name]
+ ERROR ddtrace/internal/utils/version.py:39:12-18: `parsed` may be uninitialized [unbound-name]
+ ERROR ddtrace/internal/uwsgi.py:54:20-25: `uwsgi` may be uninitialized [unbound-name]
+ ERROR ddtrace/internal/uwsgi.py:93:13-28: `uwsgidecorators` may be uninitialized [unbound-name]
+ ERROR ddtrace/internal/wrapping/__init__.py:358:12-17: `inner` may be uninitialized [unbound-name]
+ ERROR ddtrace/internal/writer/writer.py:476:24-38: `encoded_traces` may be uninitialized [unbound-name]
+ ERROR ddtrace/internal/writer/writer.py:1088:16-20: `code` may be uninitialized [unbound-name]
+ ERROR ddtrace/internal/writer/writer.py:1178:24-38: `encoded_traces` may be uninitialized [unbound-name]
+ ERROR ddtrace/llmobs/_evaluators/format.py:200:46-57: `parsed_data` may be uninitialized [unbound-name]
+ ERROR ddtrace/llmobs/_evaluators/llm_judge.py:164:14-20: `OpenAI` may be uninitialized [unbound-name]
+ ERROR ddtrace/llmobs/_evaluators/llm_judge.py:215:14-25: `AzureOpenAI` may be uninitialized [unbound-name]
+ ERROR ddtrace/llmobs/_evaluators/llm_judge.py:257:14-23: `anthropic` may be uninitialized [unbound-name]
+ ERROR ddtrace/llmobs/_evaluators/llm_judge.py:359:5-13: `vertexai` may be uninitialized [unbound-name]
+ ERROR ddtrace/llmobs/_evaluators/llm_judge.py:440:15-20: `boto3` may be uninitialized [unbound-name]
+ ERROR ddtrace/llmobs/_evaluators/llm_judge.py:904:27-31: `data` may be uninitialized [unbound-name]
+ ERROR ddtrace/llmobs/_evaluators/ragas/answer_relevancy.py:116:64-71: `answers` may be uninitialized [unbound-name]
+ ERROR ddtrace/llmobs/_evaluators/sampler.py:90:27-37: `json_rules` may be uninitialized [unbound-name]
+ ERROR ddtrace/llmobs/_evaluators/sampler.py:112:17-28: `sample_rate` may be uninitialized [unbound-name]
+ ERROR ddtrace/llmobs/_experiment.py:1410:16-18: `pd` may be uninitialized [unbound-name]
+ ERROR ddtrace/llmobs/_integrations/langchain.py:394:19-30: `module_name` may be uninitialized [unbound-name]
+ ERROR ddtrace/llmobs/_integrations/langchain.py:394:33-46: `variable_name` may be uninitialized [unbound-name]
+ ERROR ddtrace/llmobs/_integrations/utils.py:1580:29-49: Object of class `NoneType` has no attribute `f_back` [missing-attribute]
+ ERROR ddtrace/llmobs/_llmobs.py:2942:77-86: `parent_id` may be uninitialized [unbound-name]
+ ERROR ddtrace/llmobs/_llmobs.py:2947:73-82: `parent_id` may be uninitialized [unbound-name]
+ ERROR ddtrace/llmobs/_log_writer.py:93:50-58: `enc_logs` may be uninitialized [unbound-name]
+ ERROR ddtrace/profiling/collector/memalloc.py:126:16-27: `pprof_utils` may be uninitialized [unbound-name]
+ ERROR ddtrace/profiling/collector/pytorch.py:58:30-35: `torch` may be uninitialized [unbound-name]
+ ERROR ddtrace/propagation/http.py:804:43-51: `trace_id` may be uninitialized [unbound-name]
+ ERROR ddtrace/propagation/http.py:804:53-60: `span_id` may be uninitialized [unbound-name]
+ ERROR ddtrace/propagation/http.py:804:62-72: `trace_flag` may be uninitialized [unbound-name]
+ ERROR ddtrace/propagation/http.py:804:78-82: Argument `dict[Unknown, str | None]` is not assignable to parameter `meta` with type `dict[str, str] | None` in function `_TraceContext._get_context` [bad-argument-type]
+ ERROR ddtrace/testing/internal/api_client.py:41:8-13: `value` may be uninitialized [unbound-name]
+ ERROR ddtrace/testing/internal/api_client.py:107:61-73: `request_data` may be uninitialized [unbound-name]
+ ERROR ddtrace/testing/internal/api_client.py:124:44-52: `settings` may be uninitialized [unbound-name]
+ ERROR ddtrace/testing/internal/api_client.py:165:81-93: `request_data` may be uninitialized [unbound-name]
+ ERROR ddtrace/testing/internal/api_client.py:244:65-77: `request_data` may be uninitialized [unbound-name]
+ ERROR ddtrace/testing/internal/api_client.py:276:67-82: `test_properties` may be uninitialized [unbound-name]
+ ERROR ddtrace/testing/internal/api_client.py:302:58-70: `request_data` may be uninitialized [unbound-name]
+ ERROR ddtrace/testing/internal/api_client.py:318:16-29: `known_commits` may be uninitialized [unbound-name]
+ ERROR ddtrace/testing/internal/api_client.py:347:37-45: `metadata` may be uninitialized [unbound-name]
+ ERROR ddtrace/testing/internal/api_client.py:361:58-63: `files` may be uninitialized [unbound-name]
+ ERROR ddtrace/testing/internal/api_client.py:369:20-27: `content` may be uninitialized [unbound-name]
+ ERROR ddtrace/testing/internal/api_client.py:401:77-89: `request_data` may be uninitialized [unbound-name]
+ ERROR ddtrace/testing/internal/api_client.py:428:61-76: `skippable_items` may be uninitialized [unbound-name]
+ ERROR ddtrace/testing/internal/api_client.py:430:33-47: `correlation_id` may be uninitialized [unbound-name]
+ ERROR ddtrace/testing/internal/git.py:315:32-35: `git` may be uninitialized [unbound-name]
+ ERROR ddtrace/testing/internal/git.py:343:8-11: `git` may be uninitialized [unbound-name]
+ ERROR ddtrace/testing/internal/pytest/plugin.py:1026:53-68: `session_manager` may be uninitialized [unbound-name]
+ ERROR ddtrace/testing/internal/pytest/plugin.py:1098:35-41: `plugin` may be uninitialized [unbound-name]
+ ERROR ddtrace/testing/internal/session_manager.py:313:26-29: `git` may be uninitialized [unbound-name]
+ ERROR ddtrace/testing/internal/tracer_api/context.py:29:5-12: `ddtrace` may be uninitialized [unbound-name]
+ ERROR ddtrace/testing/internal/tracer_api/context.py:50:5-12: `ddtrace` may be uninitialized [unbound-name]
... (truncated 4637 lines) ...``` |
Summary
Fixes #2845
try statements now use a dedicated pre-finally merge so branches that have already terminated still contribute type state while the finally body is analyzed, instead of being dropped too early.
but mypy primer seems not so good.
Test Plan