pymerkle
pymerkle copied to clipboard
Added typing to improve the use of the library (#1)
These changes require moving to Python 3.9 for pymerkle library. The profiler already required Python 3.10.
For details, see the vermin results:
$ vermin --target=3.7 --violations --backport argparse --backport typing --eval-annotations --no-parse-comments .\
Detecting python files..
Analyzing 28 files using 8 processes..
!2, 3.8 D:\Repos\pymerkle\benchmarks\conftest.py
'typing.Final' member requires 2.7, 3.8
final variable annotations require !2, 3.8
!2, 3.9 D:\Repos\pymerkle\benchmarks\init_db.py
'typing.Final' member requires 2.7, 3.8
builtin generic type annotation (dict[..]) requires !2, 3.9
builtin generic type annotation (list[..]) requires !2, 3.9
final variable annotations require !2, 3.8
!2, 3.9 D:\Repos\pymerkle\benchmarks\test_perf.py
builtin generic type annotation (dict[..]) requires !2, 3.9
!2, 3.10 D:\Repos\pymerkle\profiler\__main__.py
'typing.Final' member requires 2.7, 3.8
builtin generic type annotation (dict[..]) requires !2, 3.9
builtin generic type annotation (tuple[..]) requires !2, 3.9
final variable annotations require !2, 3.8
pattern matching requires !2, 3.10
!2, 3.9 D:\Repos\pymerkle\pymerkle\concrete\inmemory.py
'typing.Literal' member requires 2.7, 3.8
builtin generic type annotation (list[..]) requires !2, 3.9
builtin generic type annotation (tuple[..]) requires !2, 3.9
literal variable annotations require !2, 3.8
!2, 3.9 D:\Repos\pymerkle\pymerkle\concrete\sqlite.py
builtin generic type annotation (list[..]) requires !2, 3.9
builtin generic type annotation (tuple[..]) requires !2, 3.9
!2, 3.9 D:\Repos\pymerkle\pymerkle\constants.py
builtin generic type annotation (list[..]) requires !2, 3.9
!2, 3.9 D:\Repos\pymerkle\pymerkle\core.py
builtin generic type annotation (collections.deque[..]) requires !2, 3.9
builtin generic type annotation (list[..]) requires !2, 3.9
builtin generic type annotation (tuple[..]) requires !2, 3.9
!2, 3.8 D:\Repos\pymerkle\pymerkle\hasher.py
'typing.Literal' member requires 2.7, 3.8
literal variable annotations require !2, 3.8
!2, 3.9 D:\Repos\pymerkle\pymerkle\proof.py
builtin generic type annotation (dict[..]) requires !2, 3.9
builtin generic type annotation (list[..]) requires !2, 3.9
builtin generic type annotation (tuple[..]) requires !2, 3.9
!2, 3.9 D:\Repos\pymerkle\pymerkle\utils.py
builtin generic type annotation (list[..]) requires !2, 3.9
!2, 3.9 D:\Repos\pymerkle\tests\conftest.py
'typing.Final' member requires 2.7, 3.8
builtin generic type annotation (type[..]) requires !2, 3.9
final variable annotations require !2, 3.8
Tips:
- You're using potentially backported modules: typing_extensions
If so, try using the following for better results: --backport typing_extensions
(disable using: --no-tips)
Minimum required versions: 3.10
Incompatible versions: 2
Target versions not met: 3.7