Universum
Universum copied to clipboard
Implement static type checking using mypy
mypy provides mechanism for statically checking types. Applying static typing requires adding type annotations (comments) and some refactoring.
Specifically, the entire gravity module and Dependency class from it should be changed a little. The Dependency must inherit from Generic[T] and get actual type using typing_inspect.get_origin() and typing_inspect.get_args(). The type has to be propagated to other places as well.