diff --git a/python/cli.py b/python/cli.py index 95a470e..cd38ef3 100644 --- a/python/cli.py +++ b/python/cli.py @@ -156,7 +156,7 @@ class CLI(_cli.CLI): project_name=options.project, argv=args, output_dir=options.output_dir, - mypy=True, + # mypy=True, ruff=True, pyright=True, ) diff --git a/python/meson.build b/python/meson.build index 23cd8ba..536ce9f 100644 --- a/python/meson.build +++ b/python/meson.build @@ -5,7 +5,7 @@ project( ).stdout().strip('\n'), # 'online.fxreader.uv', # ['c', 'cpp'], - version: '0.1.5.16+27.21', + version: '0.1.5.17', # default_options: [ # 'cpp_std=c++23', # # 'prefer_static=true', diff --git a/python/online/fxreader/pr34/commands_typed/cli_bootstrap.py b/python/online/fxreader/pr34/commands_typed/cli_bootstrap.py index 087fcd5..06f837e 100644 --- a/python/online/fxreader/pr34/commands_typed/cli_bootstrap.py +++ b/python/online/fxreader/pr34/commands_typed/cli_bootstrap.py @@ -9,6 +9,7 @@ import sys import subprocess import os import logging +import typing from typing import ( @@ -97,7 +98,15 @@ def check_dict( assert isinstance(value, dict) value2 = cast(dict[Any, Any], value) - assert all([isinstance(k, KT) and (VT is None or isinstance(v, VT)) for k, v in value2.items()]) + VT_class: Optional[type[Any]] = None + + if not VT is None: + if not typing.get_origin(VT) is None: + VT_class = cast(type[Any], typing.get_origin(VT)) + else: + VT_class = VT + + assert all([isinstance(k, KT) and (VT_class is None or isinstance(v, VT_class)) for k, v in value2.items()]) if VT is None: return cast(