argenta 1.0.5__py3-none-any.whl → 1.0.6__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.
- argenta/app/autocompleter/entity.py +1 -1
- argenta/app/models.py +43 -25
- argenta/app/registered_routers/entity.py +1 -1
- argenta/command/flag/models.py +1 -1
- argenta/command/models.py +7 -10
- argenta/metrics/main.py +5 -5
- argenta/orchestrator/entity.py +2 -2
- argenta/response/entity.py +1 -1
- argenta/router/command_handler/entity.py +1 -1
- argenta/router/entity.py +27 -25
- {argenta-1.0.5.dist-info → argenta-1.0.6.dist-info}/METADATA +1 -2
- {argenta-1.0.5.dist-info → argenta-1.0.6.dist-info}/RECORD +14 -14
- {argenta-1.0.5.dist-info → argenta-1.0.6.dist-info}/WHEEL +0 -0
- {argenta-1.0.5.dist-info → argenta-1.0.6.dist-info}/licenses/LICENSE +0 -0
@@ -5,7 +5,7 @@ from typing import Never
|
|
5
5
|
|
6
6
|
class AutoCompleter:
|
7
7
|
def __init__(
|
8
|
-
self, history_filename: str =
|
8
|
+
self, history_filename: str | None = None, autocomplete_button: str = "tab"
|
9
9
|
) -> None:
|
10
10
|
"""
|
11
11
|
Public. Configures and implements auto-completion of input command
|
argenta/app/models.py
CHANGED
@@ -208,13 +208,12 @@ class BaseApp:
|
|
208
208
|
:param raw_command: the raw input command
|
209
209
|
:return: None
|
210
210
|
"""
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
self._empty_input_command_handler()
|
211
|
+
if isinstance(error, UnprocessedInputFlagException):
|
212
|
+
self._incorrect_input_syntax_handler(raw_command)
|
213
|
+
elif isinstance(error, RepeatedInputFlagsException):
|
214
|
+
self._repeated_input_flags_handler(raw_command)
|
215
|
+
elif isinstance(error, EmptyInputCommandException):
|
216
|
+
self._empty_input_command_handler()
|
218
217
|
|
219
218
|
def _setup_system_router(self) -> None:
|
220
219
|
"""
|
@@ -258,11 +257,11 @@ class BaseApp:
|
|
258
257
|
"""
|
259
258
|
self._prompt = "[italic dim bold]What do you want to do?\n"
|
260
259
|
self._initial_message = (
|
261
|
-
|
260
|
+
"\n"+f"[bold red]{text2art(self._initial_message, font='tarty1')}"+"\n"
|
262
261
|
)
|
263
262
|
self._farewell_message = (
|
264
|
-
|
265
|
-
|
263
|
+
"[bold red]\n\n"+text2art(self._farewell_message, font='chanky')+"\n[/bold red]\n"
|
264
|
+
"[red i]github.com/koloideal/Argenta[/red i] | [red bold i]made by kolo[/red bold i]\n"
|
266
265
|
)
|
267
266
|
self._description_message_gen = lambda command, description: (
|
268
267
|
f"[bold red]{escape('[' + command + ']')}[/bold red] "
|
@@ -302,22 +301,30 @@ class BaseApp:
|
|
302
301
|
self._setup_system_router()
|
303
302
|
|
304
303
|
for router_entity in self._registered_routers:
|
305
|
-
|
306
|
-
|
304
|
+
router_triggers = router_entity.get_triggers()
|
305
|
+
router_aliases = router_entity.get_aliases()
|
306
|
+
combined = router_triggers + router_aliases
|
307
307
|
|
308
|
-
self.
|
309
|
-
|
308
|
+
self._all_registered_triggers_in_default_case.extend(combined)
|
309
|
+
|
310
|
+
self._all_registered_triggers_in_lower_case.extend(x.lower() for x in combined)
|
310
311
|
|
311
312
|
self._autocompleter.initial_setup(self._all_registered_triggers_in_lower_case)
|
312
313
|
|
313
314
|
if self._ignore_command_register:
|
314
|
-
|
315
|
-
|
316
|
-
|
315
|
+
seen = {}
|
316
|
+
for item in self._all_registered_triggers_in_lower_case:
|
317
|
+
if item in seen:
|
318
|
+
Console().print(f"\n[b red]WARNING:[/b red] Overlapping trigger or alias: [b blue]{item}[/b blue]")
|
319
|
+
else:
|
320
|
+
seen[item] = True
|
317
321
|
else:
|
318
|
-
|
319
|
-
|
320
|
-
|
322
|
+
seen = {}
|
323
|
+
for item in self._all_registered_triggers_in_default_case:
|
324
|
+
if item in seen:
|
325
|
+
Console().print(f"\n[b red]WARNING:[/b red] Overlapping trigger or alias: [b blue]{item}[/b blue]")
|
326
|
+
else:
|
327
|
+
seen[item] = True
|
321
328
|
|
322
329
|
if not self._override_system_messages:
|
323
330
|
self._setup_default_view()
|
@@ -415,11 +422,22 @@ class App(BaseApp):
|
|
415
422
|
self._print_framed_text(res)
|
416
423
|
continue
|
417
424
|
|
418
|
-
|
419
|
-
|
420
|
-
|
421
|
-
|
422
|
-
|
425
|
+
for registered_router in self._registered_routers:
|
426
|
+
if registered_router.disable_redirect_stdout:
|
427
|
+
if isinstance(self._dividing_line, StaticDividingLine):
|
428
|
+
self._print_func(self._dividing_line.get_full_static_line(self._override_system_messages))
|
429
|
+
registered_router.finds_appropriate_handler(input_command)
|
430
|
+
self._print_func(self._dividing_line.get_full_static_line(self._override_system_messages))
|
431
|
+
else:
|
432
|
+
self._print_func(StaticDividingLine(self._dividing_line.get_unit_part()).get_full_static_line(self._override_system_messages))
|
433
|
+
registered_router.finds_appropriate_handler(input_command)
|
434
|
+
self._print_func(StaticDividingLine(self._dividing_line.get_unit_part()).get_full_static_line(self._override_system_messages))
|
435
|
+
else:
|
436
|
+
with redirect_stdout(io.StringIO()) as f:
|
437
|
+
registered_router.finds_appropriate_handler(input_command)
|
438
|
+
res: str = f.getvalue()
|
439
|
+
if res:
|
440
|
+
self._print_framed_text(res)
|
423
441
|
|
424
442
|
def include_router(self, router: Router) -> None:
|
425
443
|
"""
|
@@ -4,7 +4,7 @@ from argenta.router import Router
|
|
4
4
|
|
5
5
|
|
6
6
|
class RegisteredRouters:
|
7
|
-
def __init__(self, registered_routers: list[Router] = None) -> None:
|
7
|
+
def __init__(self, registered_routers: list[Router] | None = None) -> None:
|
8
8
|
"""
|
9
9
|
Private. Combines registered routers
|
10
10
|
:param registered_routers: list of the registered routers
|
argenta/command/flag/models.py
CHANGED
@@ -87,7 +87,7 @@ class Flag(BaseFlag):
|
|
87
87
|
|
88
88
|
class InputFlag(BaseFlag):
|
89
89
|
def __init__(
|
90
|
-
self, name: str, prefix: Literal["-", "--", "---"] = "--", value: str = None
|
90
|
+
self, name: str, prefix: Literal["-", "--", "---"] = "--", value: str | None = None
|
91
91
|
):
|
92
92
|
"""
|
93
93
|
Public. The entity of the flag of the entered command
|
argenta/command/models.py
CHANGED
@@ -5,10 +5,7 @@ from argenta.command.exceptions import (
|
|
5
5
|
RepeatedInputFlagsException,
|
6
6
|
EmptyInputCommandException,
|
7
7
|
)
|
8
|
-
from typing import
|
9
|
-
|
10
|
-
|
11
|
-
InputCommandType = TypeVar("InputCommandType")
|
8
|
+
from typing import cast, Literal
|
12
9
|
|
13
10
|
|
14
11
|
class BaseCommand:
|
@@ -31,9 +28,9 @@ class Command(BaseCommand):
|
|
31
28
|
def __init__(
|
32
29
|
self,
|
33
30
|
trigger: str,
|
34
|
-
description: str = None,
|
35
|
-
flags: Flag | Flags = None,
|
36
|
-
aliases: list[str] = None,
|
31
|
+
description: str | None = None,
|
32
|
+
flags: Flag | Flags | None = None,
|
33
|
+
aliases: list[str] | None = None,
|
37
34
|
):
|
38
35
|
"""
|
39
36
|
Public. The command that can and should be registered in the Router
|
@@ -109,8 +106,8 @@ class Command(BaseCommand):
|
|
109
106
|
return self._description
|
110
107
|
|
111
108
|
|
112
|
-
class InputCommand(BaseCommand
|
113
|
-
def __init__(self, trigger: str, input_flags: InputFlag | InputFlags = None):
|
109
|
+
class InputCommand(BaseCommand):
|
110
|
+
def __init__(self, trigger: str, input_flags: InputFlag | InputFlags | None = None):
|
114
111
|
"""
|
115
112
|
Private. The model of the input command, after parsing
|
116
113
|
:param trigger:the trigger of the command
|
@@ -142,7 +139,7 @@ class InputCommand(BaseCommand, Generic[InputCommandType]):
|
|
142
139
|
return self._input_flags
|
143
140
|
|
144
141
|
@staticmethod
|
145
|
-
def parse(raw_command: str) ->
|
142
|
+
def parse(raw_command: str) -> 'InputCommand':
|
146
143
|
"""
|
147
144
|
Private. Parse the raw input command
|
148
145
|
:param raw_command: raw input command
|
argenta/metrics/main.py
CHANGED
@@ -2,15 +2,15 @@ import io
|
|
2
2
|
from contextlib import redirect_stdout
|
3
3
|
from time import time
|
4
4
|
|
5
|
-
from argenta.router import Router
|
6
|
-
from argenta.command import Command
|
7
|
-
from argenta.response import Response
|
8
|
-
from argenta.response.status import Status
|
9
|
-
from argenta.command.flag import Flag, Flags
|
10
5
|
from argenta.app import App
|
11
6
|
|
12
7
|
|
13
8
|
def get_time_of_pre_cycle_setup(app: App) -> float:
|
9
|
+
"""
|
10
|
+
Public. Return time of pre cycle setup
|
11
|
+
:param app: app instance for testing time of pre cycle setup
|
12
|
+
:return: time of pre cycle setup as float
|
13
|
+
"""
|
14
14
|
start = time()
|
15
15
|
with redirect_stdout(io.StringIO()):
|
16
16
|
app.pre_cycle_setup()
|
argenta/orchestrator/entity.py
CHANGED
@@ -5,13 +5,13 @@ from argenta.orchestrator.argparser import ArgParser
|
|
5
5
|
|
6
6
|
|
7
7
|
class Orchestrator:
|
8
|
-
def __init__(self, arg_parser: ArgParser =
|
8
|
+
def __init__(self, arg_parser: ArgParser | None = None):
|
9
9
|
"""
|
10
10
|
Public. An orchestrator and configurator that defines the behavior of an integrated system, one level higher than the App
|
11
11
|
:param arg_parser: Cmd argument parser and configurator at startup
|
12
12
|
:return: None
|
13
13
|
"""
|
14
|
-
self.arg_parser: ArgParser |
|
14
|
+
self.arg_parser: ArgParser | None = arg_parser
|
15
15
|
if arg_parser:
|
16
16
|
self.arg_parser.register_args()
|
17
17
|
|
argenta/response/entity.py
CHANGED
@@ -11,7 +11,7 @@ class Response:
|
|
11
11
|
|
12
12
|
def __init__(
|
13
13
|
self,
|
14
|
-
status: Status = None,
|
14
|
+
status: Status | None = None,
|
15
15
|
valid_flags: ValidInputFlags = ValidInputFlags(),
|
16
16
|
undefined_flags: UndefinedInputFlags = UndefinedInputFlags(),
|
17
17
|
invalid_value_flags: InvalidValueInputFlags = InvalidValueInputFlags(),
|
@@ -38,7 +38,7 @@ class CommandHandler:
|
|
38
38
|
|
39
39
|
|
40
40
|
class CommandHandlers:
|
41
|
-
def __init__(self, command_handlers: list[CommandHandler] = None):
|
41
|
+
def __init__(self, command_handlers: list[CommandHandler] | None = None):
|
42
42
|
"""
|
43
43
|
Private. The model that unites all CommandHandler of the routers
|
44
44
|
:param command_handlers: list of CommandHandlers for register
|
argenta/router/entity.py
CHANGED
@@ -22,13 +22,19 @@ from argenta.router.exceptions import (
|
|
22
22
|
|
23
23
|
|
24
24
|
class Router:
|
25
|
-
def __init__(self, title: str | None = "Awesome title"):
|
25
|
+
def __init__(self, title: str | None = "Awesome title", disable_redirect_stdout: bool = False):
|
26
26
|
"""
|
27
27
|
Public. Directly configures and manages handlers
|
28
28
|
:param title: the title of the router, displayed when displaying the available commands
|
29
|
+
:param disable_redirect_stdout: Disables stdout forwarding, if the argument value is True,
|
30
|
+
the StaticDividingLine will be forced to be used as a line separator for this router,
|
31
|
+
disabled forwarding is needed when there is text output in conjunction with a text input request (for example, input()),
|
32
|
+
if the argument value is True, the output of the input() prompt is intercepted and not displayed,
|
33
|
+
which is ambiguous behavior and can lead to unexpected work
|
29
34
|
:return: None
|
30
35
|
"""
|
31
36
|
self.title = title
|
37
|
+
self.disable_redirect_stdout = disable_redirect_stdout
|
32
38
|
|
33
39
|
self._command_handlers: CommandHandlers = CommandHandlers()
|
34
40
|
self._ignore_command_register: bool = False
|
@@ -39,13 +45,15 @@ class Router:
|
|
39
45
|
:param command: Registered command
|
40
46
|
:return: decorated handler as Callable
|
41
47
|
"""
|
42
|
-
self._validate_command(command)
|
43
48
|
if isinstance(command, str):
|
44
|
-
|
49
|
+
redefined_command = Command(command)
|
50
|
+
else:
|
51
|
+
redefined_command = command
|
52
|
+
self._validate_command(redefined_command)
|
45
53
|
|
46
54
|
def command_decorator(func):
|
47
55
|
Router._validate_func_args(func)
|
48
|
-
self._command_handlers.add_handler(CommandHandler(func,
|
56
|
+
self._command_handlers.add_handler(CommandHandler(func, redefined_command))
|
49
57
|
|
50
58
|
def wrapper(*args, **kwargs):
|
51
59
|
return func(*args, **kwargs)
|
@@ -117,13 +125,12 @@ class Router:
|
|
117
125
|
flag_status: Literal["Undefined", "Valid", "Invalid"] = (
|
118
126
|
handled_command.validate_input_flag(flag)
|
119
127
|
)
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
invalid_value_input_flags.add_flag(flag)
|
128
|
+
if flag_status == "Valid":
|
129
|
+
valid_input_flags.add_flag(flag)
|
130
|
+
elif flag_status == "Undefined":
|
131
|
+
undefined_input_flags.add_flag(flag)
|
132
|
+
elif flag_status == "Invalid":
|
133
|
+
invalid_value_input_flags.add_flag(flag)
|
127
134
|
|
128
135
|
if (
|
129
136
|
not invalid_value_input_flags.get_flags()
|
@@ -157,19 +164,14 @@ class Router:
|
|
157
164
|
:param command: validated command
|
158
165
|
:return: None if command is valid else raise exception
|
159
166
|
"""
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
if len(set(flags_name)) < len(flags_name):
|
169
|
-
raise RepeatedFlagNameException()
|
170
|
-
case "str":
|
171
|
-
if command.find(" ") != -1:
|
172
|
-
raise TriggerContainSpacesException()
|
167
|
+
command_name: str = command.get_trigger()
|
168
|
+
if command_name.find(" ") != -1:
|
169
|
+
raise TriggerContainSpacesException()
|
170
|
+
flags: Flags = command.get_registered_flags()
|
171
|
+
if flags:
|
172
|
+
flags_name: list = [x.get_string_entity().lower() for x in flags]
|
173
|
+
if len(set(flags_name)) < len(flags_name):
|
174
|
+
raise RepeatedFlagNameException()
|
173
175
|
|
174
176
|
@staticmethod
|
175
177
|
def _validate_func_args(func: Callable) -> None:
|
@@ -191,7 +193,7 @@ class Router:
|
|
191
193
|
if arg_annotation is Response:
|
192
194
|
pass
|
193
195
|
else:
|
194
|
-
file_path: str = getsourcefile(func)
|
196
|
+
file_path: str | None = getsourcefile(func)
|
195
197
|
source_line: int = getsourcelines(func)[1]
|
196
198
|
fprint = Console().print
|
197
199
|
fprint(f'\nFile "{file_path}", line {source_line}\n[b red]WARNING:[/b red] [i]The typehint '
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: argenta
|
3
|
-
Version: 1.0.
|
3
|
+
Version: 1.0.6
|
4
4
|
Summary: Python library for building modular CLI applications
|
5
5
|
Author-email: kolo <kolo.is.main@gmail.com>
|
6
6
|
License: MIT
|
@@ -73,7 +73,6 @@ if __name__ == '__main__':
|
|
73
73
|
# Features in development
|
74
74
|
|
75
75
|
- Full support for autocompleter on Linux
|
76
|
-
- Ability to configure stdout capture when handling input by the handler
|
77
76
|
|
78
77
|
## Full [docs](https://argenta-docs.vercel.app) | MIT 2025 kolo | made by [kolo](https://t.me/kolo_id)
|
79
78
|
|
@@ -1,39 +1,39 @@
|
|
1
1
|
argenta/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
2
2
|
argenta/app/__init__.py,sha256=I8FTXU17ajDI-hbC6Rw0LxLmvDYipdQaos3v1pmu14E,57
|
3
3
|
argenta/app/defaults.py,sha256=TmpHGfEmJeefgJlgW90rfw9xTgssNANRds6JZqKdDrc,379
|
4
|
-
argenta/app/models.py,sha256=
|
4
|
+
argenta/app/models.py,sha256=lY7ZbKxXUcWdJdsIE_oWv2muheK9sDK2ajgl62ki24A,20726
|
5
5
|
argenta/app/autocompleter/__init__.py,sha256=VT_p3QA78UnczV7pYR2NnwQ0Atd8mnDUnLazvUQNqJk,93
|
6
|
-
argenta/app/autocompleter/entity.py,sha256=
|
6
|
+
argenta/app/autocompleter/entity.py,sha256=55yUwlCEPPF8Z4t7y8Fl4DgLyH27qeybynXphDJ6XvM,3562
|
7
7
|
argenta/app/dividing_line/__init__.py,sha256=jJZDDZix8XYCAUWW4FzGJH0JmJlchYcx0FPWifjgv1I,147
|
8
8
|
argenta/app/dividing_line/models.py,sha256=syBTrzcIIt6E6RiaKC9QH3kdAuWLBDNIX0cH7Bnn0mk,2265
|
9
9
|
argenta/app/registered_routers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
10
|
-
argenta/app/registered_routers/entity.py,sha256=
|
10
|
+
argenta/app/registered_routers/entity.py,sha256=xTRW3R2dWnSOz8QIsiUVmG8VuMJmyOMUqHzEDDpNX-0,1085
|
11
11
|
argenta/command/__init__.py,sha256=RvacrM84ZwBdVDy4MUwjLTyzQdDQrjjoikZxwh5ov-0,69
|
12
12
|
argenta/command/exceptions.py,sha256=86Gs_9-NutmbSkduEMljtxQHWHhDRFcqyyOKDhQ440o,1060
|
13
|
-
argenta/command/models.py,sha256=
|
13
|
+
argenta/command/models.py,sha256=aJ06JARGx7oq9I84VfW1VZrG53tPW6tmY6dWuf3GVZE,7114
|
14
14
|
argenta/command/flag/__init__.py,sha256=Xjh_nR4vsHPPHFxQmc5o0673DvbnRkdr_vUaA31GeEk,384
|
15
15
|
argenta/command/flag/defaults.py,sha256=1F9bEngv6tB_yn5lLQg5pxWZSuinryfGGdXnWD7EvuY,1035
|
16
|
-
argenta/command/flag/models.py,sha256=
|
16
|
+
argenta/command/flag/models.py,sha256=J3KYso6lVzMaOrITZvEANBlJPeib1P-GR4Lif0KRlE0,3882
|
17
17
|
argenta/command/flag/flags/__init__.py,sha256=-HfdBZ3WXrjMrM8vEDWg0LLOLuQafqncrjw9KVFyqoE,294
|
18
18
|
argenta/command/flag/flags/models.py,sha256=U4nOwCqsCOURGigTKiQx07zBUKj0EoY0fCwgTNq4GIg,2332
|
19
19
|
argenta/metrics/__init__.py,sha256=PPLFPxhe4j7r6hP1P1pk0A_gnXgylbTaHqopky872AU,109
|
20
|
-
argenta/metrics/main.py,sha256=
|
20
|
+
argenta/metrics/main.py,sha256=c8Ktthxa985kcgXQ-iYBHoFsFr5gtCa-5m1QlSPBleY,488
|
21
21
|
argenta/orchestrator/__init__.py,sha256=vFtJEJTjFfoYP3DZx0gNlhoa0Tk8u-yzkGIUN3SiABA,86
|
22
|
-
argenta/orchestrator/entity.py,sha256=
|
22
|
+
argenta/orchestrator/entity.py,sha256=I0HWZnpoD0Pen5azeTBh8s-CFU8vs0bTILpgRls-1hI,1098
|
23
23
|
argenta/orchestrator/argparser/__init__.py,sha256=akbTPC5CfNrgJTVVu1A2E9KeI8KPN4JnMM8M8U21jc8,90
|
24
24
|
argenta/orchestrator/argparser/entity.py,sha256=i3lCsCr_8JT09OosvxRuRD7KKP1MgeNFYz5kTTTqu9Q,2087
|
25
25
|
argenta/orchestrator/argparser/arguments/__init__.py,sha256=lRsKyJeiibPYhFZoeB3BRfIYM4mlUFp6nZpy9RdbgYg,213
|
26
26
|
argenta/orchestrator/argparser/arguments/models.py,sha256=wF4rIaEAx9Rt-c6rAeq6kZLfNPTn4v9WBNt9JHzJ0RA,1548
|
27
27
|
argenta/response/__init__.py,sha256=u4NuwUQkWa55aX67hTQs_B_gIaZ9Dn4Fe7xhSFQ_Rpw,128
|
28
|
-
argenta/response/entity.py,sha256=
|
28
|
+
argenta/response/entity.py,sha256=vUVeiOp8BbuUW2VRtyQlFMQ_-KkQPjOgz9p7DxwyoeE,1054
|
29
29
|
argenta/response/status.py,sha256=bWFMHvyIHpOA4LxUQFoSpld-F8gu183M9nY-zN-MiZM,244
|
30
30
|
argenta/router/__init__.py,sha256=rvqAx80IXHFdVw7cWBRGaTtb94a4OQQEsMJ5f7YA1gU,68
|
31
31
|
argenta/router/defaults.py,sha256=vvkwFYCQdwjtMntfyrJuisxFX8XxeyhDMA-RwteHZGg,87
|
32
|
-
argenta/router/entity.py,sha256=
|
32
|
+
argenta/router/entity.py,sha256=dYkAdmHWj2-0y6RH8lDSoLs6gjbtwGoANPe2VzJEbnc,10058
|
33
33
|
argenta/router/exceptions.py,sha256=5k0mTHYYItWHzGC0NU5oHHYrHxU0M5fEbO5wne_wFg8,860
|
34
34
|
argenta/router/command_handler/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
35
|
-
argenta/router/command_handler/entity.py,sha256=
|
36
|
-
argenta-1.0.
|
37
|
-
argenta-1.0.
|
38
|
-
argenta-1.0.
|
39
|
-
argenta-1.0.
|
35
|
+
argenta/router/command_handler/entity.py,sha256=ascEf3AzYcWh-G5cml08WOoRr2q9QkfLP2IaKC1iKWM,2394
|
36
|
+
argenta-1.0.6.dist-info/METADATA,sha256=eWiuw7lBvYabikTozeG_PQV_9U2XITr9WK_0Sf1pelA,1576
|
37
|
+
argenta-1.0.6.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
38
|
+
argenta-1.0.6.dist-info/licenses/LICENSE,sha256=zmqoGh2n5rReBv4s8wPxF_gZEZDgauJYSPMuPczgOiU,1082
|
39
|
+
argenta-1.0.6.dist-info/RECORD,,
|
File without changes
|
File without changes
|