argenta 1.1.1__tar.gz → 1.1.2__tar.gz

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.
Files changed (158) hide show
  1. argenta-1.1.2/.readthedocs.yaml +13 -0
  2. {argenta-1.1.1 → argenta-1.1.2}/PKG-INFO +3 -2
  3. argenta-1.1.2/docs/Makefile +20 -0
  4. argenta-1.1.2/docs/_build/doctrees/environment.pickle +0 -0
  5. argenta-1.1.2/docs/_build/doctrees/index.doctree +0 -0
  6. argenta-1.1.2/docs/_build/html/.buildinfo +4 -0
  7. argenta-1.1.2/docs/_build/html/_sources/index.rst.txt +17 -0
  8. argenta-1.1.2/docs/_build/html/_static/_sphinx_javascript_frameworks_compat.js +123 -0
  9. argenta-1.1.2/docs/_build/html/_static/basic.css +906 -0
  10. argenta-1.1.2/docs/_build/html/_static/css/badge_only.css +1 -0
  11. argenta-1.1.2/docs/_build/html/_static/css/fonts/Roboto-Slab-Bold.woff +0 -0
  12. argenta-1.1.2/docs/_build/html/_static/css/fonts/Roboto-Slab-Bold.woff2 +0 -0
  13. argenta-1.1.2/docs/_build/html/_static/css/fonts/Roboto-Slab-Regular.woff +0 -0
  14. argenta-1.1.2/docs/_build/html/_static/css/fonts/Roboto-Slab-Regular.woff2 +0 -0
  15. argenta-1.1.2/docs/_build/html/_static/css/fonts/fontawesome-webfont.eot +0 -0
  16. argenta-1.1.2/docs/_build/html/_static/css/fonts/fontawesome-webfont.svg +2671 -0
  17. argenta-1.1.2/docs/_build/html/_static/css/fonts/fontawesome-webfont.ttf +0 -0
  18. argenta-1.1.2/docs/_build/html/_static/css/fonts/fontawesome-webfont.woff +0 -0
  19. argenta-1.1.2/docs/_build/html/_static/css/fonts/fontawesome-webfont.woff2 +0 -0
  20. argenta-1.1.2/docs/_build/html/_static/css/fonts/lato-bold-italic.woff +0 -0
  21. argenta-1.1.2/docs/_build/html/_static/css/fonts/lato-bold-italic.woff2 +0 -0
  22. argenta-1.1.2/docs/_build/html/_static/css/fonts/lato-bold.woff +0 -0
  23. argenta-1.1.2/docs/_build/html/_static/css/fonts/lato-bold.woff2 +0 -0
  24. argenta-1.1.2/docs/_build/html/_static/css/fonts/lato-normal-italic.woff +0 -0
  25. argenta-1.1.2/docs/_build/html/_static/css/fonts/lato-normal-italic.woff2 +0 -0
  26. argenta-1.1.2/docs/_build/html/_static/css/fonts/lato-normal.woff +0 -0
  27. argenta-1.1.2/docs/_build/html/_static/css/fonts/lato-normal.woff2 +0 -0
  28. argenta-1.1.2/docs/_build/html/_static/css/theme.css +4 -0
  29. argenta-1.1.2/docs/_build/html/_static/doctools.js +149 -0
  30. argenta-1.1.2/docs/_build/html/_static/documentation_options.js +13 -0
  31. argenta-1.1.2/docs/_build/html/_static/file.png +0 -0
  32. argenta-1.1.2/docs/_build/html/_static/fonts/Lato/lato-bold.eot +0 -0
  33. argenta-1.1.2/docs/_build/html/_static/fonts/Lato/lato-bold.ttf +0 -0
  34. argenta-1.1.2/docs/_build/html/_static/fonts/Lato/lato-bold.woff +0 -0
  35. argenta-1.1.2/docs/_build/html/_static/fonts/Lato/lato-bold.woff2 +0 -0
  36. argenta-1.1.2/docs/_build/html/_static/fonts/Lato/lato-bolditalic.eot +0 -0
  37. argenta-1.1.2/docs/_build/html/_static/fonts/Lato/lato-bolditalic.ttf +0 -0
  38. argenta-1.1.2/docs/_build/html/_static/fonts/Lato/lato-bolditalic.woff +0 -0
  39. argenta-1.1.2/docs/_build/html/_static/fonts/Lato/lato-bolditalic.woff2 +0 -0
  40. argenta-1.1.2/docs/_build/html/_static/fonts/Lato/lato-italic.eot +0 -0
  41. argenta-1.1.2/docs/_build/html/_static/fonts/Lato/lato-italic.ttf +0 -0
  42. argenta-1.1.2/docs/_build/html/_static/fonts/Lato/lato-italic.woff +0 -0
  43. argenta-1.1.2/docs/_build/html/_static/fonts/Lato/lato-italic.woff2 +0 -0
  44. argenta-1.1.2/docs/_build/html/_static/fonts/Lato/lato-regular.eot +0 -0
  45. argenta-1.1.2/docs/_build/html/_static/fonts/Lato/lato-regular.ttf +0 -0
  46. argenta-1.1.2/docs/_build/html/_static/fonts/Lato/lato-regular.woff +0 -0
  47. argenta-1.1.2/docs/_build/html/_static/fonts/Lato/lato-regular.woff2 +0 -0
  48. argenta-1.1.2/docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.eot +0 -0
  49. argenta-1.1.2/docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.ttf +0 -0
  50. argenta-1.1.2/docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff +0 -0
  51. argenta-1.1.2/docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff2 +0 -0
  52. argenta-1.1.2/docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.eot +0 -0
  53. argenta-1.1.2/docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.ttf +0 -0
  54. argenta-1.1.2/docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff +0 -0
  55. argenta-1.1.2/docs/_build/html/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff2 +0 -0
  56. argenta-1.1.2/docs/_build/html/_static/jquery.js +2 -0
  57. argenta-1.1.2/docs/_build/html/_static/js/badge_only.js +1 -0
  58. argenta-1.1.2/docs/_build/html/_static/js/theme.js +1 -0
  59. argenta-1.1.2/docs/_build/html/_static/js/versions.js +228 -0
  60. argenta-1.1.2/docs/_build/html/_static/language_data.js +192 -0
  61. argenta-1.1.2/docs/_build/html/_static/minus.png +0 -0
  62. argenta-1.1.2/docs/_build/html/_static/plus.png +0 -0
  63. argenta-1.1.2/docs/_build/html/_static/pygments.css +75 -0
  64. argenta-1.1.2/docs/_build/html/_static/searchtools.js +635 -0
  65. argenta-1.1.2/docs/_build/html/_static/sphinx_highlight.js +154 -0
  66. argenta-1.1.2/docs/_build/html/genindex.html +102 -0
  67. argenta-1.1.2/docs/_build/html/index.html +109 -0
  68. argenta-1.1.2/docs/_build/html/objects.inv +0 -0
  69. argenta-1.1.2/docs/_build/html/search.html +117 -0
  70. argenta-1.1.2/docs/_build/html/searchindex.js +1 -0
  71. argenta-1.1.2/docs/conf.py +27 -0
  72. argenta-1.1.2/docs/index.rst +17 -0
  73. argenta-1.1.2/docs/make.bat +35 -0
  74. argenta-1.1.2/docs/requirements.txt +2 -0
  75. argenta-1.1.2/mock/local_test.py +3 -0
  76. {argenta-1.1.1 → argenta-1.1.2}/mock/mock_app/main.py +14 -4
  77. argenta-1.1.2/mock/mock_app/routers.py +27 -0
  78. {argenta-1.1.1 → argenta-1.1.2}/pyproject.toml +10 -4
  79. argenta-1.1.2/src/argenta/__init__.py +6 -0
  80. {argenta-1.1.1 → argenta-1.1.2}/src/argenta/app/models.py +140 -65
  81. argenta-1.1.2/src/argenta/di/__init__.py +2 -0
  82. argenta-1.1.2/src/argenta/di/integration.py +45 -0
  83. argenta-1.1.2/src/argenta/di/providers.py +14 -0
  84. {argenta-1.1.1 → argenta-1.1.2}/src/argenta/orchestrator/__init__.py +2 -6
  85. argenta-1.1.2/src/argenta/orchestrator/argparser/__init__.py +9 -0
  86. argenta-1.1.2/src/argenta/orchestrator/argparser/arguments/__init__.py +8 -0
  87. argenta-1.1.2/src/argenta/orchestrator/argparser/arguments/models.py +82 -0
  88. argenta-1.1.2/src/argenta/orchestrator/argparser/entity.py +78 -0
  89. argenta-1.1.2/src/argenta/orchestrator/entity.py +37 -0
  90. {argenta-1.1.1 → argenta-1.1.2}/src/argenta/response/entity.py +7 -2
  91. {argenta-1.1.1 → argenta-1.1.2}/src/argenta/router/command_handler/entity.py +5 -3
  92. {argenta-1.1.1 → argenta-1.1.2}/src/argenta/router/entity.py +34 -33
  93. {argenta-1.1.1 → argenta-1.1.2}/src/argenta/router/exceptions.py +3 -9
  94. {argenta-1.1.1 → argenta-1.1.2}/tests/system_tests/test_system_handling_non_standard_behavior.py +10 -4
  95. {argenta-1.1.1 → argenta-1.1.2}/tests/system_tests/test_system_handling_normal_behavior.py +10 -4
  96. argenta-1.1.2/tests/unit_tests/test_argparser.py +164 -0
  97. {argenta-1.1.1 → argenta-1.1.2}/tests/unit_tests/test_router.py +0 -16
  98. argenta-1.1.1/mock/local_test.py +0 -5
  99. argenta-1.1.1/mock/mock_app/routers.py +0 -25
  100. argenta-1.1.1/src/argenta/__init__.py +0 -10
  101. argenta-1.1.1/src/argenta/orchestrator/argparser/__init__.py +0 -12
  102. argenta-1.1.1/src/argenta/orchestrator/argparser/arguments/__init__.py +0 -8
  103. argenta-1.1.1/src/argenta/orchestrator/argparser/arguments/models.py +0 -62
  104. argenta-1.1.1/src/argenta/orchestrator/argparser/entity.py +0 -39
  105. argenta-1.1.1/src/argenta/orchestrator/entity.py +0 -32
  106. {argenta-1.1.1 → argenta-1.1.2}/.github/workflows/mypy.yml +0 -0
  107. {argenta-1.1.1 → argenta-1.1.2}/.github/workflows/ruff.yml +0 -0
  108. {argenta-1.1.1 → argenta-1.1.2}/.github/workflows/tests.yml +0 -0
  109. {argenta-1.1.1 → argenta-1.1.2}/.gitignore +0 -0
  110. {argenta-1.1.1 → argenta-1.1.2}/LICENSE +0 -0
  111. {argenta-1.1.1 → argenta-1.1.2}/README.de.md +0 -0
  112. {argenta-1.1.1 → argenta-1.1.2}/README.md +0 -0
  113. {argenta-1.1.1 → argenta-1.1.2}/README.ru.md +0 -0
  114. {argenta-1.1.1 → argenta-1.1.2}/imgs/argenta_banner.png +0 -0
  115. {argenta-1.1.1 → argenta-1.1.2}/imgs/argenta_logo.png +0 -0
  116. {argenta-1.1.1 → argenta-1.1.2}/imgs/argenta_logo_strip.png +0 -0
  117. {argenta-1.1.1 → argenta-1.1.2}/imgs/argenta_logo_strip.svg +0 -0
  118. {argenta-1.1.1 → argenta-1.1.2}/imgs/mock_app_preview1.png +0 -0
  119. {argenta-1.1.1 → argenta-1.1.2}/imgs/mock_app_preview2.png +0 -0
  120. {argenta-1.1.1 → argenta-1.1.2}/imgs/mock_app_preview3.png +0 -0
  121. {argenta-1.1.1 → argenta-1.1.2}/imgs/mock_app_preview4.png +0 -0
  122. {argenta-1.1.1 → argenta-1.1.2}/metrics_tests/__init__.py +0 -0
  123. {argenta-1.1.1 → argenta-1.1.2}/metrics_tests/time_of_precycle_setup.py +0 -0
  124. {argenta-1.1.1 → argenta-1.1.2}/mock/__init__.py +0 -0
  125. {argenta-1.1.1 → argenta-1.1.2}/mock/mock_app/__init__.py +0 -0
  126. {argenta-1.1.1 → argenta-1.1.2}/src/__init__.py +0 -0
  127. {argenta-1.1.1 → argenta-1.1.2}/src/argenta/app/__init__.py +0 -0
  128. {argenta-1.1.1 → argenta-1.1.2}/src/argenta/app/autocompleter/__init__.py +0 -0
  129. {argenta-1.1.1 → argenta-1.1.2}/src/argenta/app/autocompleter/entity.py +0 -0
  130. {argenta-1.1.1 → argenta-1.1.2}/src/argenta/app/defaults.py +0 -0
  131. {argenta-1.1.1 → argenta-1.1.2}/src/argenta/app/dividing_line/__init__.py +0 -0
  132. {argenta-1.1.1 → argenta-1.1.2}/src/argenta/app/dividing_line/models.py +0 -0
  133. {argenta-1.1.1 → argenta-1.1.2}/src/argenta/app/protocols.py +0 -0
  134. {argenta-1.1.1 → argenta-1.1.2}/src/argenta/app/registered_routers/__init__.py +0 -0
  135. {argenta-1.1.1 → argenta-1.1.2}/src/argenta/app/registered_routers/entity.py +0 -0
  136. {argenta-1.1.1 → argenta-1.1.2}/src/argenta/command/__init__.py +0 -0
  137. {argenta-1.1.1 → argenta-1.1.2}/src/argenta/command/exceptions.py +0 -0
  138. {argenta-1.1.1 → argenta-1.1.2}/src/argenta/command/flag/__init__.py +0 -0
  139. {argenta-1.1.1 → argenta-1.1.2}/src/argenta/command/flag/defaults.py +0 -0
  140. {argenta-1.1.1 → argenta-1.1.2}/src/argenta/command/flag/flags/__init__.py +0 -0
  141. {argenta-1.1.1 → argenta-1.1.2}/src/argenta/command/flag/flags/models.py +0 -0
  142. {argenta-1.1.1 → argenta-1.1.2}/src/argenta/command/flag/models.py +0 -0
  143. {argenta-1.1.1 → argenta-1.1.2}/src/argenta/command/models.py +0 -0
  144. {argenta-1.1.1 → argenta-1.1.2}/src/argenta/metrics/__init__.py +0 -0
  145. {argenta-1.1.1 → argenta-1.1.2}/src/argenta/metrics/main.py +0 -0
  146. {argenta-1.1.1 → argenta-1.1.2}/src/argenta/py.typed +0 -0
  147. {argenta-1.1.1 → argenta-1.1.2}/src/argenta/response/__init__.py +0 -0
  148. {argenta-1.1.1 → argenta-1.1.2}/src/argenta/response/status.py +0 -0
  149. {argenta-1.1.1 → argenta-1.1.2}/src/argenta/router/__init__.py +0 -0
  150. {argenta-1.1.1 → argenta-1.1.2}/src/argenta/router/command_handler/__init__.py +0 -0
  151. {argenta-1.1.1 → argenta-1.1.2}/src/argenta/router/defaults.py +0 -0
  152. {argenta-1.1.1 → argenta-1.1.2}/tests/__init__.py +0 -0
  153. {argenta-1.1.1 → argenta-1.1.2}/tests/system_tests/__init__.py +0 -0
  154. {argenta-1.1.1 → argenta-1.1.2}/tests/unit_tests/__init__.py +0 -0
  155. {argenta-1.1.1 → argenta-1.1.2}/tests/unit_tests/test_app.py +0 -0
  156. {argenta-1.1.1 → argenta-1.1.2}/tests/unit_tests/test_command.py +0 -0
  157. {argenta-1.1.1 → argenta-1.1.2}/tests/unit_tests/test_dividing_line.py +0 -0
  158. {argenta-1.1.1 → argenta-1.1.2}/tests/unit_tests/test_flag.py +0 -0
@@ -0,0 +1,13 @@
1
+ version: 2
2
+
3
+ build:
4
+ os: ubuntu-22.04
5
+ tools:
6
+ python: "3.12"
7
+
8
+ python:
9
+ install:
10
+ - requirements: docs/requirements.txt
11
+
12
+ sphinx:
13
+ configuration: docs/conf.py
@@ -1,13 +1,14 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: argenta
3
- Version: 1.1.1
3
+ Version: 1.1.2
4
4
  Summary: Python library for building modular CLI applications
5
5
  Author-email: kolo <kolo.is.main@gmail.com>
6
6
  License: MIT
7
7
  License-File: LICENSE
8
8
  Requires-Python: >=3.11
9
9
  Requires-Dist: art<7.0,>=6.4
10
- Requires-Dist: pyreadline3>=3.5.4
10
+ Requires-Dist: dishka>=1.7.2
11
+ Requires-Dist: pyreadline3>=3.5.4; sys_platform == 'win32'
11
12
  Requires-Dist: rich<15.0.0,>=14.0.0
12
13
  Description-Content-Type: text/markdown
13
14
 
@@ -0,0 +1,20 @@
1
+ # Minimal makefile for Sphinx documentation
2
+ #
3
+
4
+ # You can set these variables from the command line, and also
5
+ # from the environment for the first two.
6
+ SPHINXOPTS ?=
7
+ SPHINXBUILD ?= sphinx-build
8
+ SOURCEDIR = .
9
+ BUILDDIR = _build
10
+
11
+ # Put it first so that "make" without argument is like "make help".
12
+ help:
13
+ @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
14
+
15
+ .PHONY: help Makefile
16
+
17
+ # Catch-all target: route all unknown targets to Sphinx using the new
18
+ # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
19
+ %: Makefile
20
+ @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
@@ -0,0 +1,4 @@
1
+ # Sphinx build info version 1
2
+ # This file records the configuration used when building these files. When it is not found, a full rebuild will be done.
3
+ config: a7676963520569074adf4bb73b4ff361
4
+ tags: 645f666f9bcd5a90fca523b33c5a78b7
@@ -0,0 +1,17 @@
1
+ .. Argenta documentation master file, created by
2
+ sphinx-quickstart on Sat Oct 11 19:54:43 2025.
3
+ You can adapt this file completely to your liking, but it should at least
4
+ contain the root `toctree` directive.
5
+
6
+ Argenta documentation
7
+ =====================
8
+
9
+ Add your content using ``reStructuredText`` syntax. See the
10
+ `reStructuredText <https://www.sphinx-doc.org/en/master/usage/restructuredtext/index.html>`_
11
+ documentation for details.
12
+
13
+
14
+ .. toctree::
15
+ :maxdepth: 2
16
+ :caption: Contents:
17
+
@@ -0,0 +1,123 @@
1
+ /* Compatability shim for jQuery and underscores.js.
2
+ *
3
+ * Copyright Sphinx contributors
4
+ * Released under the two clause BSD licence
5
+ */
6
+
7
+ /**
8
+ * small helper function to urldecode strings
9
+ *
10
+ * See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/decodeURIComponent#Decoding_query_parameters_from_a_URL
11
+ */
12
+ jQuery.urldecode = function(x) {
13
+ if (!x) {
14
+ return x
15
+ }
16
+ return decodeURIComponent(x.replace(/\+/g, ' '));
17
+ };
18
+
19
+ /**
20
+ * small helper function to urlencode strings
21
+ */
22
+ jQuery.urlencode = encodeURIComponent;
23
+
24
+ /**
25
+ * This function returns the parsed url parameters of the
26
+ * current request. Multiple values per key are supported,
27
+ * it will always return arrays of strings for the value parts.
28
+ */
29
+ jQuery.getQueryParameters = function(s) {
30
+ if (typeof s === 'undefined')
31
+ s = document.location.search;
32
+ var parts = s.substr(s.indexOf('?') + 1).split('&');
33
+ var result = {};
34
+ for (var i = 0; i < parts.length; i++) {
35
+ var tmp = parts[i].split('=', 2);
36
+ var key = jQuery.urldecode(tmp[0]);
37
+ var value = jQuery.urldecode(tmp[1]);
38
+ if (key in result)
39
+ result[key].push(value);
40
+ else
41
+ result[key] = [value];
42
+ }
43
+ return result;
44
+ };
45
+
46
+ /**
47
+ * highlight a given string on a jquery object by wrapping it in
48
+ * span elements with the given class name.
49
+ */
50
+ jQuery.fn.highlightText = function(text, className) {
51
+ function highlight(node, addItems) {
52
+ if (node.nodeType === 3) {
53
+ var val = node.nodeValue;
54
+ var pos = val.toLowerCase().indexOf(text);
55
+ if (pos >= 0 &&
56
+ !jQuery(node.parentNode).hasClass(className) &&
57
+ !jQuery(node.parentNode).hasClass("nohighlight")) {
58
+ var span;
59
+ var isInSVG = jQuery(node).closest("body, svg, foreignObject").is("svg");
60
+ if (isInSVG) {
61
+ span = document.createElementNS("http://www.w3.org/2000/svg", "tspan");
62
+ } else {
63
+ span = document.createElement("span");
64
+ span.className = className;
65
+ }
66
+ span.appendChild(document.createTextNode(val.substr(pos, text.length)));
67
+ node.parentNode.insertBefore(span, node.parentNode.insertBefore(
68
+ document.createTextNode(val.substr(pos + text.length)),
69
+ node.nextSibling));
70
+ node.nodeValue = val.substr(0, pos);
71
+ if (isInSVG) {
72
+ var rect = document.createElementNS("http://www.w3.org/2000/svg", "rect");
73
+ var bbox = node.parentElement.getBBox();
74
+ rect.x.baseVal.value = bbox.x;
75
+ rect.y.baseVal.value = bbox.y;
76
+ rect.width.baseVal.value = bbox.width;
77
+ rect.height.baseVal.value = bbox.height;
78
+ rect.setAttribute('class', className);
79
+ addItems.push({
80
+ "parent": node.parentNode,
81
+ "target": rect});
82
+ }
83
+ }
84
+ }
85
+ else if (!jQuery(node).is("button, select, textarea")) {
86
+ jQuery.each(node.childNodes, function() {
87
+ highlight(this, addItems);
88
+ });
89
+ }
90
+ }
91
+ var addItems = [];
92
+ var result = this.each(function() {
93
+ highlight(this, addItems);
94
+ });
95
+ for (var i = 0; i < addItems.length; ++i) {
96
+ jQuery(addItems[i].parent).before(addItems[i].target);
97
+ }
98
+ return result;
99
+ };
100
+
101
+ /*
102
+ * backward compatibility for jQuery.browser
103
+ * This will be supported until firefox bug is fixed.
104
+ */
105
+ if (!jQuery.browser) {
106
+ jQuery.uaMatch = function(ua) {
107
+ ua = ua.toLowerCase();
108
+
109
+ var match = /(chrome)[ \/]([\w.]+)/.exec(ua) ||
110
+ /(webkit)[ \/]([\w.]+)/.exec(ua) ||
111
+ /(opera)(?:.*version|)[ \/]([\w.]+)/.exec(ua) ||
112
+ /(msie) ([\w.]+)/.exec(ua) ||
113
+ ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua) ||
114
+ [];
115
+
116
+ return {
117
+ browser: match[ 1 ] || "",
118
+ version: match[ 2 ] || "0"
119
+ };
120
+ };
121
+ jQuery.browser = {};
122
+ jQuery.browser[jQuery.uaMatch(navigator.userAgent).browser] = true;
123
+ }