from .vpp_serializer import VPPEnumType, VPPType, VPPTypeAlias # noqa: F401
from .vpp_serializer import VPPMessage, VPPUnionType # noqa: F401
-import pkg_resources # part of setuptools
+import importlib.metadata as metadata
try:
- __version__ = pkg_resources.get_distribution("vpp_papi").version
-except pkg_resources.DistributionNotFound:
- """Can't find vpp_papi via setuptools"""
+ __version__ = metadata.version("vpp_papi")
+except metadata.PackageNotFoundError:
+ # Can't find vpp_papi via importlib.metadata
+ __version__ = "0.0.0"
import weakref
import atexit
import time
-import pkg_resources
+import importlib.resources as resources
+
from .vpp_format import verify_enum_hint
from .vpp_serializer import VPPType, VPPEnumType, VPPEnumFlagType, VPPUnionType
from .vpp_serializer import VPPMessage, vpp_get_type, VPPTypeAlias
raise e
else:
# Bootstrap the API (memclnt.api bundled with VPP PAPI)
- resource_path = "/".join(("data", "memclnt.api.json"))
- file_content = pkg_resources.resource_string(__name__, resource_path)
+ with resources.open_text("vpp_papi.data", "memclnt.api.json") as f:
+ resource_content = f.read()
self.messages, self.services = VPPApiJSONFiles.process_json_str(
- file_content
+ resource_content
)
# Basic sanity check