tgzr.package_management 0.100__py3-none-any.whl → 0.101__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- tgzr/package_management/_version.py +2 -2
- tgzr/package_management/plugin_manager.py +19 -2
- {tgzr_package_management-0.100.dist-info → tgzr_package_management-0.101.dist-info}/METADATA +1 -1
- tgzr_package_management-0.101.dist-info/RECORD +9 -0
- tgzr_package_management-0.100.dist-info/RECORD +0 -9
- {tgzr_package_management-0.100.dist-info → tgzr_package_management-0.101.dist-info}/WHEEL +0 -0
- {tgzr_package_management-0.100.dist-info → tgzr_package_management-0.101.dist-info}/licenses/LICENSE +0 -0
|
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
|
|
|
28
28
|
commit_id: COMMIT_ID
|
|
29
29
|
__commit_id__: COMMIT_ID
|
|
30
30
|
|
|
31
|
-
__version__ = version = '0.
|
|
32
|
-
__version_tuple__ = version_tuple = (0,
|
|
31
|
+
__version__ = version = '0.101'
|
|
32
|
+
__version_tuple__ = version_tuple = (0, 101)
|
|
33
33
|
|
|
34
34
|
__commit_id__ = commit_id = None
|
|
@@ -10,12 +10,10 @@ from typing import (
|
|
|
10
10
|
Generic,
|
|
11
11
|
)
|
|
12
12
|
|
|
13
|
-
import sys
|
|
14
13
|
import importlib_metadata
|
|
15
14
|
import inspect
|
|
16
15
|
import logging
|
|
17
16
|
|
|
18
|
-
import rich
|
|
19
17
|
|
|
20
18
|
T = TypeVar("T", bound="Plugin")
|
|
21
19
|
|
|
@@ -59,6 +57,23 @@ class Plugin:
|
|
|
59
57
|
PluginType = TypeVar("PluginType", bound=Plugin)
|
|
60
58
|
|
|
61
59
|
|
|
60
|
+
class PluginManagerRegistry:
|
|
61
|
+
"""
|
|
62
|
+
A Registry containing all the PluginManager instances.
|
|
63
|
+
This is used for documenting/inspecting plugins usage.
|
|
64
|
+
"""
|
|
65
|
+
|
|
66
|
+
_PLUGIN_MANAGERS: set[PluginManager] = set()
|
|
67
|
+
|
|
68
|
+
@classmethod
|
|
69
|
+
def register(cls, plugin_manager: PluginManager):
|
|
70
|
+
cls._PLUGIN_MANAGERS.add(plugin_manager)
|
|
71
|
+
|
|
72
|
+
@classmethod
|
|
73
|
+
def get_plugin_managers(cls) -> set[PluginManager]:
|
|
74
|
+
return cls._PLUGIN_MANAGERS.copy()
|
|
75
|
+
|
|
76
|
+
|
|
62
77
|
class PluginManager(Generic[PluginType]):
|
|
63
78
|
EP_GROUP = "your_plugin_entry_point_group"
|
|
64
79
|
|
|
@@ -67,6 +82,8 @@ class PluginManager(Generic[PluginType]):
|
|
|
67
82
|
return get_args(cls.__orig_bases__[0])[0] # type: ignore __orig_bases__ trust me bro.
|
|
68
83
|
|
|
69
84
|
def __init__(self):
|
|
85
|
+
PluginManagerRegistry.register(self)
|
|
86
|
+
|
|
70
87
|
self._broken: list[tuple[importlib_metadata.EntryPoint, Exception]] = []
|
|
71
88
|
self._loaded: list[PluginType] = []
|
|
72
89
|
self._needs_loading: bool = True
|
{tgzr_package_management-0.100.dist-info → tgzr_package_management-0.101.dist-info}/METADATA
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: tgzr.package_management
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.101
|
|
4
4
|
Summary: tgzr package_management engine
|
|
5
5
|
Project-URL: Documentation, https://github.com/open-tgzr/tgzr.package_management#readme
|
|
6
6
|
Project-URL: Issues, https://github.com/open-tgzr/tgzr.package_management/issues
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
tgzr/package_management/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
|
+
tgzr/package_management/_version.py,sha256=UmCNH_YEzk9pt3gzbJb9ICp8HG4UET9Ocm1qun1U-OE,703
|
|
3
|
+
tgzr/package_management/package_manager.py,sha256=1nQBqnMBBriIw1deTK7HMdGseD5JGPTX4W2uPEa69qU,2261
|
|
4
|
+
tgzr/package_management/plugin_manager.py,sha256=5SbCHWwR2TjBWvAkLyXll9zyX35wiabcnHT76RTIoBU,6852
|
|
5
|
+
tgzr/package_management/venv.py,sha256=oX5q5roSSlm9xEqJX7vkBYPLJXNhkfZ1fKmysPuYjTA,8508
|
|
6
|
+
tgzr_package_management-0.101.dist-info/METADATA,sha256=vcIK_oPaOQxoXf7nwdsoAOdgx_QkwUn65n2qQOtfru4,1143
|
|
7
|
+
tgzr_package_management-0.101.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
|
|
8
|
+
tgzr_package_management-0.101.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
|
|
9
|
+
tgzr_package_management-0.101.dist-info/RECORD,,
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
tgzr/package_management/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
|
-
tgzr/package_management/_version.py,sha256=DR5rRPsc1BRonl0SGMyOrGP7OFpqoCbhOOezBw3kgfw,703
|
|
3
|
-
tgzr/package_management/package_manager.py,sha256=1nQBqnMBBriIw1deTK7HMdGseD5JGPTX4W2uPEa69qU,2261
|
|
4
|
-
tgzr/package_management/plugin_manager.py,sha256=9g7L4kETXyOEN7uMFxrc-hEwTK-6MJG7ggW_Vroaxmg,6376
|
|
5
|
-
tgzr/package_management/venv.py,sha256=oX5q5roSSlm9xEqJX7vkBYPLJXNhkfZ1fKmysPuYjTA,8508
|
|
6
|
-
tgzr_package_management-0.100.dist-info/METADATA,sha256=EiyhTfViG_tLF3P8P1ZzwTG_0T0-VvxqYXO7Tpke7-g,1143
|
|
7
|
-
tgzr_package_management-0.100.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
|
|
8
|
-
tgzr_package_management-0.100.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
|
|
9
|
-
tgzr_package_management-0.100.dist-info/RECORD,,
|
|
File without changes
|
{tgzr_package_management-0.100.dist-info → tgzr_package_management-0.101.dist-info}/licenses/LICENSE
RENAMED
|
File without changes
|