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.
@@ -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.100'
32
- __version_tuple__ = version_tuple = (0, 100)
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
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: tgzr.package_management
3
- Version: 0.100
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,,