Adopt type hints, and checks for user input
The main purpose of this PR is to use to track and enforce pycontractsArray related conventions. Hopefully by doing so I can prevent myself from breaking those rules when developing pytato. It checks for example:
- names are valid
Cidentifiers - dotted names have at least one part
- what can be a shape of an array
Update:
-
pycontractsis not used due to performance concerns - Checks are implemented with type hints and assertions
- Adds type annotations and
mypyCI
Edited by Xiaoyu Wei