IDKit 1.0.0__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.
idkit/__init__.py ADDED
@@ -0,0 +1,51 @@
1
+ from .exceptions import (
2
+ IdentifierError,
3
+ IdentifierParseError,
4
+ IdentifierValidationError,
5
+ )
6
+
7
+ from .idkit import (
8
+ ID,
9
+ AppIdentifiable,
10
+ AppIdentifier,
11
+ AppIdentifierLike,
12
+ AppIdentifierRoot,
13
+ IDKitIdentifiable,
14
+ IDKitIdentifier,
15
+ IDKitIdentifierLike,
16
+ IDKitIdentifierRoot,
17
+ IDKitOperationIdentifier,
18
+ IdentifierGroup,
19
+ IdentifierSource,
20
+ IdentifierRole,
21
+ IdentifierOperation,
22
+ )
23
+ from .identifier import Identifier
24
+ from .protocols import SupportsIdentifier, Identifiable
25
+ from .root import IdentifierRoot, IDRoot
26
+
27
+
28
+ __all__ = [
29
+ "ID",
30
+ "AppIdentifier",
31
+ "AppIdentifierRoot",
32
+ "AppIdentifierLike",
33
+ "AppIdentifiable",
34
+ "IdentifierGroup",
35
+ "IdentifierSource",
36
+ "IdentifierRole",
37
+ "IdentifierOperation",
38
+ "Identifier",
39
+ "IdentifierRoot",
40
+ "IDRoot",
41
+ "IDKitIdentifier",
42
+ "IDKitOperationIdentifier",
43
+ "IDKitIdentifierRoot",
44
+ "IDKitIdentifierLike",
45
+ "IDKitIdentifiable",
46
+ "SupportsIdentifier",
47
+ "Identifiable",
48
+ "IdentifierError",
49
+ "IdentifierParseError",
50
+ "IdentifierValidationError",
51
+ ]
@@ -0,0 +1,12 @@
1
+ from .group import IdentifierGroup
2
+ from .source import IdentifierSource
3
+ from .role import IdentifierRole
4
+ from .operation import IdentifierOperation
5
+
6
+
7
+ __all__ = [
8
+ "IdentifierGroup",
9
+ "IdentifierSource",
10
+ "IdentifierRole",
11
+ "IdentifierOperation",
12
+ ]
idkit/enums/group.py ADDED
@@ -0,0 +1,158 @@
1
+ from enum import StrEnum, auto
2
+
3
+
4
+ class IdentifierGroup(StrEnum):
5
+ """
6
+ The `Group` defines the primary classification or architectural domain of the `identifier` in the first segment. It represents the highest level of organization (e.g., `system`, `service`, `manage`).
7
+
8
+ Default namespace values used as the first segment of an identifier.
9
+
10
+ Group — Where does it belong?
11
+ Source — What is it?
12
+ Component — Which part of it?
13
+ Action — What does it do?
14
+ """
15
+
16
+ system = auto()
17
+ service = auto()
18
+ core = auto()
19
+ utility = auto()
20
+ library = auto()
21
+ package = auto()
22
+ module = auto()
23
+ framework = auto()
24
+ application = auto()
25
+ platform = auto()
26
+ runtime = auto()
27
+ database = auto()
28
+ storage = auto()
29
+ cache = auto()
30
+ network = auto()
31
+ transport = auto()
32
+ filesystem = auto()
33
+ cloud = auto()
34
+ cluster = auto()
35
+ node = auto()
36
+ host = auto()
37
+ container = auto()
38
+ source = auto()
39
+ stream = auto()
40
+ pipeline = auto()
41
+ warehouse = auto()
42
+ analytics = auto()
43
+ reporting = auto()
44
+ api = auto()
45
+ web = auto()
46
+ cli = auto()
47
+ shell = auto()
48
+ desktop = auto()
49
+ mobile = auto()
50
+ ui = auto()
51
+ domain = auto()
52
+ business = auto()
53
+ user = auto()
54
+ account = auto()
55
+ tenant = auto()
56
+ organization = auto()
57
+ project = auto()
58
+ workspace = auto()
59
+ workflow = auto()
60
+ scheduler = auto()
61
+ worker = auto()
62
+ job = auto()
63
+ queue = auto()
64
+ event = auto()
65
+ message = auto()
66
+ bot = auto()
67
+ agent = auto()
68
+ ai = auto()
69
+ testing = auto()
70
+ development = auto()
71
+ staging = auto()
72
+ production = auto()
73
+ build = auto()
74
+ deploy = auto()
75
+ migration = auto()
76
+ script = auto()
77
+
78
+
79
+ class Architecture(StrEnum):
80
+ system = auto()
81
+ service = auto()
82
+ core = auto()
83
+ utility = auto()
84
+ library = auto()
85
+ package = auto()
86
+ module = auto()
87
+ framework = auto()
88
+ application = auto()
89
+ platform = auto()
90
+ runtime = auto()
91
+
92
+
93
+ class Infrastructure(StrEnum):
94
+ database = auto()
95
+ storage = auto()
96
+ cache = auto()
97
+ network = auto()
98
+ transport = auto()
99
+ filesystem = auto()
100
+ cloud = auto()
101
+ cluster = auto()
102
+ node = auto()
103
+ host = auto()
104
+ container = auto()
105
+
106
+
107
+ class Data(StrEnum):
108
+ source = auto()
109
+ stream = auto()
110
+ pipeline = auto()
111
+ warehouse = auto()
112
+ analytics = auto()
113
+ reporting = auto()
114
+
115
+
116
+ class Interface(StrEnum):
117
+ api = auto()
118
+ web = auto()
119
+ cli = auto()
120
+ shell = auto()
121
+ desktop = auto()
122
+ mobile = auto()
123
+ ui = auto()
124
+
125
+
126
+ class Business(StrEnum):
127
+ domain = auto()
128
+ business = auto()
129
+ user = auto()
130
+ account = auto()
131
+ tenant = auto()
132
+ organization = auto()
133
+ project = auto()
134
+ workspace = auto()
135
+
136
+
137
+ class Automation(StrEnum):
138
+ workflow = auto()
139
+ scheduler = auto()
140
+ worker = auto()
141
+ job = auto()
142
+ queue = auto()
143
+ event = auto()
144
+ message = auto()
145
+ bot = auto()
146
+ agent = auto()
147
+ ai = auto()
148
+
149
+
150
+ class Development(StrEnum):
151
+ testing = auto()
152
+ development = auto()
153
+ staging = auto()
154
+ production = auto()
155
+ build = auto()
156
+ deploy = auto()
157
+ migration = auto()
158
+ script = auto()
@@ -0,0 +1,135 @@
1
+ from enum import StrEnum, auto
2
+
3
+
4
+ class IdentifierOperation(StrEnum):
5
+ """
6
+ An operation describes what is being performed.
7
+
8
+ Operations are better for events, logs, tasks, states, and commands,
9
+ rather than stable object identity.
10
+ """
11
+
12
+ save = auto()
13
+ seed = auto()
14
+ sync = auto()
15
+ update = auto()
16
+ analyze = auto()
17
+ process = auto()
18
+ forward = auto()
19
+ ingest = auto()
20
+ extract = auto()
21
+ transform = auto()
22
+ execute = auto()
23
+ validate = auto()
24
+ control = auto()
25
+ run = auto()
26
+ use = auto()
27
+ filter = auto()
28
+ require = auto()
29
+ create = auto()
30
+ read = auto()
31
+ write = auto()
32
+ delete = auto()
33
+ load = auto()
34
+ parse = auto()
35
+ serialize = auto()
36
+ deserialize = auto()
37
+ compile = auto()
38
+ convert = auto()
39
+ publish = auto()
40
+ subscribe = auto()
41
+ dispatch = auto()
42
+ broadcast = auto()
43
+ send = auto()
44
+ receive = auto()
45
+ handle = auto()
46
+ listen = auto()
47
+ monitor = auto()
48
+ observe = auto()
49
+ watch = auto()
50
+ track = auto()
51
+ scan = auto()
52
+ search = auto()
53
+ index = auto()
54
+ discover = auto()
55
+ authenticate = auto()
56
+ authorize = auto()
57
+ verify = auto()
58
+ encrypt = auto()
59
+ decrypt = auto()
60
+ schedule = auto()
61
+ coordinate = auto()
62
+ orchestrate = auto()
63
+ adapt = auto()
64
+ connect = auto()
65
+ provide = auto()
66
+ resolve = auto()
67
+ route = auto()
68
+
69
+
70
+ class Lifecycle(StrEnum):
71
+ create = auto()
72
+ delete = auto()
73
+ initialize = auto()
74
+ destroy = auto()
75
+
76
+
77
+ class CURD(StrEnum):
78
+ read = auto()
79
+ write = auto()
80
+ update = auto()
81
+ save = auto()
82
+ patch = auto()
83
+ delete = auto()
84
+
85
+
86
+ class Process(StrEnum):
87
+ analyze = auto()
88
+ process = auto()
89
+ transform = auto()
90
+ convert = auto()
91
+ compile = auto()
92
+ parse = auto()
93
+ serialize = auto()
94
+ deserialize = auto()
95
+
96
+
97
+ class Validation(StrEnum):
98
+ validate = auto()
99
+ verify = auto()
100
+ authorize = auto()
101
+ authenticate = auto()
102
+ confirm = auto()
103
+
104
+
105
+ class Communication(StrEnum):
106
+ send = auto()
107
+ receive = auto()
108
+ publish = auto()
109
+ subscribe = auto()
110
+ dispatch = auto()
111
+ broadcast = auto()
112
+ post = auto()
113
+
114
+
115
+ class Discovery(StrEnum):
116
+ discover = auto()
117
+ scan = auto()
118
+ search = auto()
119
+ index = auto()
120
+ find = auto()
121
+
122
+
123
+ class Monitoring(StrEnum):
124
+ monitor = auto()
125
+ observe = auto()
126
+ track = auto()
127
+ watch = auto()
128
+
129
+
130
+ class Execution(StrEnum):
131
+ execute = auto()
132
+ run = auto()
133
+ invoke = auto()
134
+ trigger = auto()
135
+ start = auto()
idkit/enums/role.py ADDED
@@ -0,0 +1,85 @@
1
+ from enum import StrEnum, auto
2
+
3
+
4
+ class IdentifierRole(StrEnum):
5
+ """
6
+ A role describes what an identifier represents as a stable responsibility.
7
+
8
+ Examples:
9
+ analyzer
10
+ runner
11
+ ingester
12
+ validator
13
+ publisher
14
+
15
+ Best used in identifiers:
16
+ system::runtime-agent+analyzer
17
+ service::data-resource+ingester
18
+ """
19
+
20
+ saver = auto()
21
+ seeder = auto()
22
+ synchronizer = auto()
23
+ updater = auto()
24
+ analyzer = auto()
25
+ processor = auto()
26
+ forwarder = auto()
27
+ ingester = auto()
28
+ extractor = auto()
29
+ transformer = auto()
30
+ executor = auto()
31
+ validator = auto()
32
+ controller = auto()
33
+ runner = auto()
34
+ user = auto()
35
+ filterer = auto()
36
+ requirer = auto()
37
+
38
+ creator = auto()
39
+ reader = auto()
40
+ writer = auto()
41
+ deleter = auto()
42
+ loader = auto()
43
+ parser = auto()
44
+ serializer = auto()
45
+ deserializer = auto()
46
+ compiler = auto()
47
+ converter = auto()
48
+
49
+ publisher = auto()
50
+ subscriber = auto()
51
+ dispatcher = auto()
52
+ broadcaster = auto()
53
+ sender = auto()
54
+ receiver = auto()
55
+ handler = auto()
56
+ listener = auto()
57
+
58
+ monitor = auto()
59
+ observer = auto()
60
+ watcher = auto()
61
+ tracker = auto()
62
+ scanner = auto()
63
+ searcher = auto()
64
+ indexer = auto()
65
+ discoverer = auto()
66
+
67
+ authenticator = auto()
68
+ authorizer = auto()
69
+ verifier = auto()
70
+ encryptor = auto()
71
+ decryptor = auto()
72
+
73
+ scheduler = auto()
74
+ worker = auto()
75
+ coordinator = auto()
76
+ orchestrator = auto()
77
+ adapter = auto()
78
+ connector = auto()
79
+ provider = auto()
80
+ resolver = auto()
81
+ router = auto()
82
+ gateway = auto()
83
+ proxy = auto()
84
+ bridge = auto()
85
+ session = auto()
idkit/enums/source.py ADDED
@@ -0,0 +1,231 @@
1
+ from enum import StrEnum, auto
2
+
3
+
4
+ class IdentifierSource(StrEnum):
5
+ """
6
+ The `Source` identifies the primary object, resource, or subsystem that the `identifier` represents (e.g., `runtime`, `data`, `workflow`).
7
+
8
+ The optional `Component` further specializes the `Source` by identifying a specific part, implementation, or subcomponent (e.g., `agent`, `resource`, `pipeline`).
9
+
10
+ Default namespace values used in the middle segments of an identifier.
11
+
12
+ Group — Where does it belong?
13
+ Source — What is it?
14
+ Component — Which part of it?
15
+ Action — What does it do?
16
+ """
17
+
18
+ # resource = auto()
19
+ # manager = auto()
20
+ # collection = auto()
21
+ # bundle = auto()
22
+ # account = auto()
23
+ # profile = auto()
24
+ # setting = auto()
25
+ # config = auto()
26
+ # option = auto()
27
+ # data = auto()
28
+ # design = auto()
29
+ # script = auto()
30
+ # dataset = auto()
31
+ # record = auto()
32
+ # model = auto()
33
+ # workflow = auto()
34
+ # pipeline = auto()
35
+ # stack = auto()
36
+ # activity = auto()
37
+ # process = auto()
38
+ # controller = auto()
39
+ # context = auto()
40
+ # repository = auto()
41
+ # task = auto()
42
+ # event = auto()
43
+ # target = auto()
44
+ # state = auto()
45
+ # runtime = auto()
46
+ # mode = auto()
47
+ # token = auto()
48
+ # migration = auto()
49
+ # container = auto()
50
+ # payload = auto()
51
+ # engine = auto()
52
+ # agent = auto()
53
+ # signature = auto()
54
+ resource = auto()
55
+ manager = auto()
56
+ service = auto()
57
+ provider = auto()
58
+ factory = auto()
59
+ builder = auto()
60
+ repository = auto()
61
+ controller = auto()
62
+ handler = auto()
63
+ adapter = auto()
64
+ client = auto()
65
+ server = auto()
66
+ data = auto()
67
+ dataset = auto()
68
+ record = auto()
69
+ entity = auto()
70
+ model = auto()
71
+ schema = auto()
72
+ payload = auto()
73
+ document = auto()
74
+ collection = auto()
75
+ bundle = auto()
76
+ cache = auto()
77
+ snapshot = auto()
78
+ runtime = auto()
79
+ engine = auto()
80
+ process = auto()
81
+ task = auto()
82
+ thread = auto()
83
+ worker = auto()
84
+ job = auto()
85
+ queue = auto()
86
+ scheduler = auto()
87
+ context = auto()
88
+ state = auto()
89
+ session = auto()
90
+ config = auto()
91
+ setting = auto()
92
+ option = auto()
93
+ parameter = auto()
94
+ rule = auto()
95
+ profile = auto()
96
+ environment = auto()
97
+ connector = auto()
98
+ gateway = auto()
99
+ bridge = auto()
100
+ proxy = auto()
101
+ transport = auto()
102
+ channel = auto()
103
+ stream = auto()
104
+ agent = auto()
105
+ tool = auto()
106
+ prompt = auto()
107
+ memory = auto()
108
+ embedding = auto()
109
+ vector = auto()
110
+ knowledge = auto()
111
+ conversation = auto()
112
+ identity = auto()
113
+ credential = auto()
114
+ token = auto()
115
+ signature = auto()
116
+ certificate = auto()
117
+ permission = auto()
118
+ role = auto()
119
+ policy = auto()
120
+ secret = auto()
121
+ request = auto()
122
+ response = auto()
123
+ route = auto()
124
+ middleware = auto()
125
+ endpoint = auto()
126
+ page = auto()
127
+ view = auto()
128
+ template = auto()
129
+
130
+
131
+ class CoreObjects(StrEnum):
132
+ resource = auto()
133
+ manager = auto()
134
+ service = auto()
135
+ provider = auto()
136
+ factory = auto()
137
+ builder = auto()
138
+ repository = auto()
139
+ controller = auto()
140
+ handler = auto()
141
+ adapter = auto()
142
+ client = auto()
143
+ server = auto()
144
+
145
+
146
+ class Data(StrEnum):
147
+ data = auto()
148
+ dataset = auto()
149
+ record = auto()
150
+ entity = auto()
151
+ model = auto()
152
+ schema = auto()
153
+ payload = auto()
154
+ document = auto()
155
+ collection = auto()
156
+ bundle = auto()
157
+ cache = auto()
158
+ snapshot = auto()
159
+
160
+
161
+ class Runtime(StrEnum):
162
+ runtime = auto()
163
+ engine = auto()
164
+ process = auto()
165
+ task = auto()
166
+ thread = auto()
167
+ worker = auto()
168
+ job = auto()
169
+ queue = auto()
170
+ scheduler = auto()
171
+ context = auto()
172
+ state = auto()
173
+ session = auto()
174
+
175
+
176
+ class Configuration(StrEnum):
177
+ config = auto()
178
+ setting = auto()
179
+ option = auto()
180
+ parameter = auto()
181
+ policy = auto()
182
+ rule = auto()
183
+ profile = auto()
184
+ environment = auto()
185
+
186
+
187
+ class Integration(StrEnum):
188
+ connector = auto()
189
+ gateway = auto()
190
+ bridge = auto()
191
+ proxy = auto()
192
+ transport = auto()
193
+ endpoint = auto()
194
+ channel = auto()
195
+ stream = auto()
196
+
197
+
198
+ class AI(StrEnum):
199
+ agent = auto()
200
+ tool = auto()
201
+ prompt = auto()
202
+ memory = auto()
203
+ embedding = auto()
204
+ model = auto()
205
+ vector = auto()
206
+ knowledge = auto()
207
+ conversation = auto()
208
+
209
+
210
+ class Security(StrEnum):
211
+ identity = auto()
212
+ credential = auto()
213
+ token = auto()
214
+ signature = auto()
215
+ certificate = auto()
216
+ permission = auto()
217
+ role = auto()
218
+ policy = auto()
219
+ secret = auto()
220
+
221
+
222
+ class Web(StrEnum):
223
+ request = auto()
224
+ response = auto()
225
+ route = auto()
226
+ middleware = auto()
227
+ endpoint = auto()
228
+ resource = auto()
229
+ page = auto()
230
+ view = auto()
231
+ template = auto()
idkit/exceptions.py ADDED
@@ -0,0 +1,10 @@
1
+ class IdentifierError(Exception):
2
+ """Base identifier exception."""
3
+
4
+
5
+ class IdentifierParseError(IdentifierError, ValueError):
6
+ """Raised when an identifier cannot be parsed."""
7
+
8
+
9
+ class IdentifierValidationError(IdentifierError, ValueError):
10
+ """Raised when an identifier fails validation."""