python-banshee icon indicating copy to clipboard operation
python-banshee copied to clipboard

Query return types

Open danielknell opened this issue 1 year ago • 0 comments

Description

The return type of a query is currently defined as Any, this prevents type-checking, and also limits auto-completion in IDEs.

Motivation

By being able to specify the return type for a query for type checkers, we can enable static analysis on code using the query method, this is currently not possible without manually casting the return values on each use.

Possible implementation

Some kind of generic type.

class FooResult:
    bar: str

class FooQuery(Query[FooResult]):
    baz: str

this would have to be optional in able to continue supporting pure domain packages with no dependency on banshee.

danielknell avatar Aug 08 '24 15:08 danielknell