Skip to content

Complete typing coverage across the remaining codebase #6924

Description

@snejus

Problem

After typing plugin events and the least-annotated modules, broad gaps remain across core utilities, CLI command handlers, shared test helpers, and most bundled plugins. Missing parameter and return types weaken static analysis across command dispatch and plugin boundaries. Some shared names also obscure whether an API accepts an album, an item, or any library model.

The BPD plugin still depends on the custom Bluelet concurrency layer, which makes its asynchronous control flow harder to type and maintain.

Expected behavior

  • CLI commands, common option callbacks, plugin entrypoints, and shared helpers declare accurate parameter and return types.
  • The shared album-or-item type variable has a name that reflects its actual constraint.
  • Annotation linting permits intentionally unused underscore-prefixed arguments.
  • BPD uses asyncio while preserving serialized notifications, idle responses, and disconnect handling.
  • The existing test and lint suites continue to pass.

Suggested fix

Apply typing in focused passes across the remaining modules, fixing exposed inconsistencies rather than masking them with broad Any types. Rename the shared model type variable, configure the annotation lint rule for dummy arguments, replace Bluelet in BPD with asyncio, and add targeted tests wherever type-driven changes affect runtime behavior.

Metadata

Metadata

Assignees

Labels

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions