annetutil / annet

MIT License
35 stars 11 forks source link

Annet lldp generation #68

Open lst123 opened 1 month ago

lst123 commented 1 month ago

Hello.

After I'd completed the installation I stuck with a very first scenario, where annet should generate the lldp config:

~/annet> python3 -m pip install .
~/annet> source .venv/bin/activate
~/annet> export NETBOX_URL= ...
~/annet> export NETBOX_TOKEN= ...
~/annet > annet gen -g lldp testbox
Traceback (most recent call last):
  File "/Users/lst/Documents/py_prj/.venv/bin/annet", line 33, in <module>
    sys.exit(load_entry_point('annet==0.0', 'console_scripts', 'annet')())
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/lst/Documents/py_prj/.venv/lib/python3.12/site-packages/annet-0.0-py3.12.egg/annet/annlib/lib.py", line 340, in wrapper
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/Users/lst/Documents/py_prj/.venv/lib/python3.12/site-packages/annet-0.0-py3.12.egg/annet/annet.py", line 19, in main
    return parser.dispatch(pre_call=annet.init, add_help_command=True)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/lst/Documents/py_prj/.venv/lib/python3.12/site-packages/annet-0.0-py3.12.egg/annet/argparse.py", line 357, in dispatch
    values.append(arg.construct_from(ns))
                  ^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/lst/Documents/py_prj/.venv/lib/python3.12/site-packages/annet-0.0-py3.12.egg/annet/argparse.py", line 174, in construct_from
    return cls(**kwargs)
           ^^^^^^^^^^^^^
  File "/Users/lst/Documents/py_prj/.venv/lib/python3.12/site-packages/annet-0.0-py3.12.egg/annet/cli_args.py", line 364, in __init__
    connectors = storage_connector.get_all()
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/lst/Documents/py_prj/.venv/lib/python3.12/site-packages/annet-0.0-py3.12.egg/annet/connectors.py", line 38, in get_all
    self._classes = self._entry_point or [self._get_default()]
                    ^^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/functools.py", line 993, in __get__
    val = self.func(instance)
          ^^^^^^^^^^^^^^^^^^^
  File "/Users/lst/Documents/py_prj/.venv/lib/python3.12/site-packages/annet-0.0-py3.12.egg/annet/connectors.py", line 21, in _entry_point
    return load_entry_point(self.ep_group, self.ep_name)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/lst/Documents/py_prj/.venv/lib/python3.12/site-packages/annet-0.0-py3.12.egg/annet/connectors.py", line 77, in load_entry_point
    return [item.load() for item in ep]
            ^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/importlib/metadata/__init__.py", line 205, in load
    module = import_module(match.group('module'))
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/importlib/__init__.py", line 90, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1387, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 935, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 995, in exec_module
  File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
  File "/Users/lst/Documents/py_prj/.venv/lib/python3.12/site-packages/annet-0.0-py3.12.egg/annet/adapters/netbox/provider.py", line 4, in <module>
    from .common.status_client import NetboxStatusClient
  File "/Users/lst/Documents/py_prj/.venv/lib/python3.12/site-packages/annet-0.0-py3.12.egg/annet/adapters/netbox/common/status_client.py", line 4, in <module>
    from adaptix import Retort, name_mapping, NameStyle
  File "/Users/lst/Documents/py_prj/.venv/lib/python3.12/site-packages/adaptix/__init__.py", line 4, in <module>
    from ._internal.morphing.facade.func import dump, load
  File "/Users/lst/Documents/py_prj/.venv/lib/python3.12/site-packages/adaptix/_internal/morphing/facade/func.py", line 4, in <module>
    from .retort import Retort
  File "/Users/lst/Documents/py_prj/.venv/lib/python3.12/site-packages/adaptix/_internal/morphing/facade/retort.py", line 54, in <module>
    from ..name_layout.component import BuiltinExtraMoveAndPoliciesMaker, BuiltinSievesMaker, BuiltinStructureMaker
  File "/Users/lst/Documents/py_prj/.venv/lib/python3.12/site-packages/adaptix/_internal/morphing/name_layout/component.py", line 20, in <module>
    from ...provider.overlay_schema import Overlay, Schema, provide_schema
  File "/Users/lst/Documents/py_prj/.venv/lib/python3.12/site-packages/adaptix/_internal/provider/overlay_schema.py", line 109, in <module>
    class OverlayProvider(StaticProvider):
  File "/Users/lst/Documents/py_prj/.venv/lib/python3.12/site-packages/adaptix/_internal/provider/overlay_schema.py", line 114, in OverlayProvider
    @static_provision_action
     ^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/lst/Documents/py_prj/.venv/lib/python3.12/site-packages/adaptix/_internal/provider/static_provider.py", line 49, in static_provision_action
    return _make_spa_decorator(_infer_rc(arg))(arg)
                               ^^^^^^^^^^^^^^
  File "/Users/lst/Documents/py_prj/.venv/lib/python3.12/site-packages/adaptix/_internal/provider/static_provider.py", line 73, in _infer_rc
    request_tp = strip_tags(normalize_type(type_hints[params[2].name]))
                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/lst/Documents/py_prj/.venv/lib/python3.12/site-packages/adaptix/_internal/type_tools/normalize_type.py", line 874, in normalize_type
    return _cached_normalize(tp)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/Users/lst/Documents/py_prj/.venv/lib/python3.12/site-packages/adaptix/_internal/type_tools/normalize_type.py", line 537, in normalize
    result = getattr(self, attr_name)(tp, origin, args)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/lst/Documents/py_prj/.venv/lib/python3.12/site-packages/adaptix/_internal/type_tools/normalize_type.py", line 849, in _norm_other
    params = self.implicit_params_getter.get_implicit_params(origin)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/lst/Documents/py_prj/.venv/lib/python3.12/site-packages/adaptix/_internal/type_tools/implicit_params.py", line 39, in get_implicit_params
    return tuple(
           ^^^^^^
  File "/Users/lst/Documents/py_prj/.venv/lib/python3.12/site-packages/adaptix/_internal/type_tools/implicit_params.py", line 40, in <genexpr>
    self._process_type_var(type_var)
  File "/Users/lst/Documents/py_prj/.venv/lib/python3.12/site-packages/adaptix/_internal/type_tools/implicit_params.py", line 31, in _process_type_var
    return self._process_limit_element(type_var, type_var.__bound__)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/lst/Documents/py_prj/.venv/lib/python3.12/site-packages/adaptix/_internal/type_tools/implicit_params.py", line 14, in _process_limit_element
    return eval_forward_ref(vars(sys.modules[type_var.__module__]), tp)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/lst/Documents/py_prj/.venv/lib/python3.12/site-packages/adaptix/_internal/type_tools/basic_utils.py", line 142, in eval_forward_ref
    return forward_ref._evaluate(namespace, None, frozenset())
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: ForwardRef._evaluate() missing 1 required keyword-only argument: 'recursive_guard'

My Python version is: 3.12.5 and pip 24.2. Can you help me with this?