python-banshee
python-banshee copied to clipboard
Query return types
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.