pymerkle icon indicating copy to clipboard operation
pymerkle copied to clipboard

Added typing to improve the use of the library (#1)

Open zbalkan opened this issue 2 years ago • 0 comments

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

zbalkan avatar Oct 06 '23 20:10 zbalkan