ae-shell 0.3.9__tar.gz → 0.3.12__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.
- {ae_shell-0.3.9 → ae_shell-0.3.12}/LICENSE.md +1 -1
- {ae_shell-0.3.9/ae_shell.egg-info → ae_shell-0.3.12}/PKG-INFO +9 -7
- {ae_shell-0.3.9 → ae_shell-0.3.12}/README.md +3 -3
- {ae_shell-0.3.9 → ae_shell-0.3.12}/ae/shell.py +14 -13
- {ae_shell-0.3.9 → ae_shell-0.3.12/ae_shell.egg-info}/PKG-INFO +9 -7
- {ae_shell-0.3.9 → ae_shell-0.3.12}/ae_shell.egg-info/requires.txt +3 -2
- {ae_shell-0.3.9 → ae_shell-0.3.12}/pyproject.toml +1 -1
- ae_shell-0.3.12/setup.py +90 -0
- {ae_shell-0.3.9 → ae_shell-0.3.12}/tests/test_shell.py +17 -3
- ae_shell-0.3.9/setup.py +0 -117
- {ae_shell-0.3.9 → ae_shell-0.3.12}/ae_shell.egg-info/SOURCES.txt +0 -0
- {ae_shell-0.3.9 → ae_shell-0.3.12}/ae_shell.egg-info/dependency_links.txt +0 -0
- {ae_shell-0.3.9 → ae_shell-0.3.12}/ae_shell.egg-info/top_level.txt +0 -0
- {ae_shell-0.3.9 → ae_shell-0.3.12}/ae_shell.egg-info/zip-safe +0 -0
- {ae_shell-0.3.9 → ae_shell-0.3.12}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: ae_shell
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.12
|
|
4
4
|
Summary: ae namespace module portion shell: shell execution and environment helpers
|
|
5
5
|
Home-page: https://gitlab.com/ae-group/ae_shell
|
|
6
6
|
Author: AndiEcker
|
|
@@ -19,15 +19,17 @@ Classifier: Programming Language :: Python :: 3
|
|
|
19
19
|
Classifier: Programming Language :: Python :: 3.12
|
|
20
20
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
21
21
|
Classifier: Typing :: Typed
|
|
22
|
-
Requires-Python: >=3.
|
|
22
|
+
Requires-Python: >=3.12
|
|
23
23
|
Description-Content-Type: text/markdown
|
|
24
24
|
License-File: LICENSE.md
|
|
25
|
+
Requires-Dist: ae_base
|
|
26
|
+
Requires-Dist: ae_core
|
|
27
|
+
Requires-Dist: ae_console
|
|
25
28
|
Provides-Extra: dev
|
|
26
29
|
Requires-Dist: aedev_project_tpls; extra == "dev"
|
|
27
30
|
Requires-Dist: ae_ae; extra == "dev"
|
|
28
31
|
Requires-Dist: anybadge; extra == "dev"
|
|
29
32
|
Requires-Dist: coverage-badge; extra == "dev"
|
|
30
|
-
Requires-Dist: aedev_project_manager; extra == "dev"
|
|
31
33
|
Requires-Dist: flake8; extra == "dev"
|
|
32
34
|
Requires-Dist: mypy; extra == "dev"
|
|
33
35
|
Requires-Dist: pylint; extra == "dev"
|
|
@@ -40,7 +42,6 @@ Provides-Extra: docs
|
|
|
40
42
|
Provides-Extra: tests
|
|
41
43
|
Requires-Dist: anybadge; extra == "tests"
|
|
42
44
|
Requires-Dist: coverage-badge; extra == "tests"
|
|
43
|
-
Requires-Dist: aedev_project_manager; extra == "tests"
|
|
44
45
|
Requires-Dist: flake8; extra == "tests"
|
|
45
46
|
Requires-Dist: mypy; extra == "tests"
|
|
46
47
|
Requires-Dist: pylint; extra == "tests"
|
|
@@ -60,18 +61,19 @@ Dynamic: license
|
|
|
60
61
|
Dynamic: license-file
|
|
61
62
|
Dynamic: project-url
|
|
62
63
|
Dynamic: provides-extra
|
|
64
|
+
Dynamic: requires-dist
|
|
63
65
|
Dynamic: requires-python
|
|
64
66
|
Dynamic: summary
|
|
65
67
|
|
|
66
68
|
<!-- THIS FILE IS EXCLUSIVELY MAINTAINED by the project ae.ae v0.3.101 -->
|
|
67
69
|
<!-- THIS FILE IS EXCLUSIVELY MAINTAINED by the project aedev.namespace_root_tpls v0.3.22 -->
|
|
68
|
-
# shell 0.3.
|
|
70
|
+
# shell 0.3.12
|
|
69
71
|
|
|
70
72
|
[](
|
|
71
73
|
https://gitlab.com/ae-group/ae_shell)
|
|
72
74
|
[](
|
|
76
|
+
https://gitlab.com/ae-group/ae_shell/-/tree/release0.3.12)
|
|
75
77
|
[](
|
|
76
78
|
https://pypi.org/project/ae-shell/#history)
|
|
77
79
|
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
<!-- THIS FILE IS EXCLUSIVELY MAINTAINED by the project ae.ae v0.3.101 -->
|
|
2
2
|
<!-- THIS FILE IS EXCLUSIVELY MAINTAINED by the project aedev.namespace_root_tpls v0.3.22 -->
|
|
3
|
-
# shell 0.3.
|
|
3
|
+
# shell 0.3.12
|
|
4
4
|
|
|
5
5
|
[](
|
|
6
6
|
https://gitlab.com/ae-group/ae_shell)
|
|
7
7
|
[](
|
|
9
|
+
https://gitlab.com/ae-group/ae_shell/-/tree/release0.3.12)
|
|
10
10
|
[](
|
|
11
11
|
https://pypi.org/project/ae-shell/#history)
|
|
12
12
|
|
|
@@ -31,7 +31,7 @@ from ae.core import main_app_instance, AppBase
|
|
|
31
31
|
from ae.console import MAIN_SECTION_NAME, ConsoleApp # type: ignore
|
|
32
32
|
|
|
33
33
|
|
|
34
|
-
__version__ = '0.3.
|
|
34
|
+
__version__ = '0.3.12'
|
|
35
35
|
|
|
36
36
|
|
|
37
37
|
STDERR_BEG_MARKER = "vvv STDERR vvv" #: :paramref:`ae.shell.sh_exec.lines_output` begin stderr lines
|
|
@@ -123,27 +123,28 @@ def mask_token(text: list[str]) -> list[str]: ...
|
|
|
123
123
|
|
|
124
124
|
|
|
125
125
|
def mask_token(text: Union[str, list[str]]) -> Union[str, list[str]]:
|
|
126
|
-
""" hide most parts of any GitHub/GitHub tokens found in the specified text/-lines.
|
|
126
|
+
""" hide most parts of any Codeberg/GitHub/GitHub URL tokens found in the specified text/-lines.
|
|
127
127
|
|
|
128
|
-
:param text: text
|
|
129
|
-
|
|
130
|
-
:return: text
|
|
128
|
+
:param text: text, specified either as str object or as a list of str objects (lines),
|
|
129
|
+
each str/line get searched for URL tokens, to hide/mask the most part of them.
|
|
130
|
+
:return: text with masked URL tokens (only leaving the first/last 3 token characters unmasked).
|
|
131
131
|
|
|
132
|
-
.. note:: see also :func:`ae.base.mask_url` to hide passwords and tokens in URLs.
|
|
132
|
+
.. note:: see also :func:`ae.base.mask_url` of a more generic way to hide passwords and tokens in URLs.
|
|
133
133
|
"""
|
|
134
134
|
if is_str_arg := isinstance(text, str):
|
|
135
135
|
lines = [text]
|
|
136
136
|
else:
|
|
137
137
|
lines = list(text) # copy to not change text list content
|
|
138
138
|
|
|
139
|
-
|
|
139
|
+
url_beg = 'https://' # PDV_REPO_HOST_PROTOCOL
|
|
140
|
+
url_beg_len = len(url_beg)
|
|
141
|
+
for tok_beg, tok_end in ((':', '@codeberg.org'), ('glpat-', '@gitlab.com'), ('ghp_', '@github.com')):
|
|
140
142
|
for idx, line in enumerate(lines):
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
line = line[:start + 3] + "***-masked-token-***" + line[end - 3:]
|
|
143
|
+
beg = -1
|
|
144
|
+
while ((beg := line.find(url_beg, beg + 1)) != -1 and
|
|
145
|
+
(beg := line.find(tok_beg, beg + url_beg_len)) != -1 and
|
|
146
|
+
(end := line.find(tok_end, beg)) != -1):
|
|
147
|
+
line = line[:beg + 3] + "***-masked-token-***" + line[end - 3:]
|
|
147
148
|
lines[idx] = line
|
|
148
149
|
|
|
149
150
|
return lines[0] if is_str_arg else lines
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: ae_shell
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.12
|
|
4
4
|
Summary: ae namespace module portion shell: shell execution and environment helpers
|
|
5
5
|
Home-page: https://gitlab.com/ae-group/ae_shell
|
|
6
6
|
Author: AndiEcker
|
|
@@ -19,15 +19,17 @@ Classifier: Programming Language :: Python :: 3
|
|
|
19
19
|
Classifier: Programming Language :: Python :: 3.12
|
|
20
20
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
21
21
|
Classifier: Typing :: Typed
|
|
22
|
-
Requires-Python: >=3.
|
|
22
|
+
Requires-Python: >=3.12
|
|
23
23
|
Description-Content-Type: text/markdown
|
|
24
24
|
License-File: LICENSE.md
|
|
25
|
+
Requires-Dist: ae_base
|
|
26
|
+
Requires-Dist: ae_core
|
|
27
|
+
Requires-Dist: ae_console
|
|
25
28
|
Provides-Extra: dev
|
|
26
29
|
Requires-Dist: aedev_project_tpls; extra == "dev"
|
|
27
30
|
Requires-Dist: ae_ae; extra == "dev"
|
|
28
31
|
Requires-Dist: anybadge; extra == "dev"
|
|
29
32
|
Requires-Dist: coverage-badge; extra == "dev"
|
|
30
|
-
Requires-Dist: aedev_project_manager; extra == "dev"
|
|
31
33
|
Requires-Dist: flake8; extra == "dev"
|
|
32
34
|
Requires-Dist: mypy; extra == "dev"
|
|
33
35
|
Requires-Dist: pylint; extra == "dev"
|
|
@@ -40,7 +42,6 @@ Provides-Extra: docs
|
|
|
40
42
|
Provides-Extra: tests
|
|
41
43
|
Requires-Dist: anybadge; extra == "tests"
|
|
42
44
|
Requires-Dist: coverage-badge; extra == "tests"
|
|
43
|
-
Requires-Dist: aedev_project_manager; extra == "tests"
|
|
44
45
|
Requires-Dist: flake8; extra == "tests"
|
|
45
46
|
Requires-Dist: mypy; extra == "tests"
|
|
46
47
|
Requires-Dist: pylint; extra == "tests"
|
|
@@ -60,18 +61,19 @@ Dynamic: license
|
|
|
60
61
|
Dynamic: license-file
|
|
61
62
|
Dynamic: project-url
|
|
62
63
|
Dynamic: provides-extra
|
|
64
|
+
Dynamic: requires-dist
|
|
63
65
|
Dynamic: requires-python
|
|
64
66
|
Dynamic: summary
|
|
65
67
|
|
|
66
68
|
<!-- THIS FILE IS EXCLUSIVELY MAINTAINED by the project ae.ae v0.3.101 -->
|
|
67
69
|
<!-- THIS FILE IS EXCLUSIVELY MAINTAINED by the project aedev.namespace_root_tpls v0.3.22 -->
|
|
68
|
-
# shell 0.3.
|
|
70
|
+
# shell 0.3.12
|
|
69
71
|
|
|
70
72
|
[](
|
|
71
73
|
https://gitlab.com/ae-group/ae_shell)
|
|
72
74
|
[](
|
|
76
|
+
https://gitlab.com/ae-group/ae_shell/-/tree/release0.3.12)
|
|
75
77
|
[](
|
|
76
78
|
https://pypi.org/project/ae-shell/#history)
|
|
77
79
|
|
|
@@ -1,10 +1,12 @@
|
|
|
1
|
+
ae_base
|
|
2
|
+
ae_core
|
|
3
|
+
ae_console
|
|
1
4
|
|
|
2
5
|
[dev]
|
|
3
6
|
aedev_project_tpls
|
|
4
7
|
ae_ae
|
|
5
8
|
anybadge
|
|
6
9
|
coverage-badge
|
|
7
|
-
aedev_project_manager
|
|
8
10
|
flake8
|
|
9
11
|
mypy
|
|
10
12
|
pylint
|
|
@@ -19,7 +21,6 @@ types-setuptools
|
|
|
19
21
|
[tests]
|
|
20
22
|
anybadge
|
|
21
23
|
coverage-badge
|
|
22
|
-
aedev_project_manager
|
|
23
24
|
flake8
|
|
24
25
|
mypy
|
|
25
26
|
pylint
|
ae_shell-0.3.12/setup.py
ADDED
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
# THIS FILE IS EXCLUSIVELY MAINTAINED by the project aedev.project_tpls v0.3.72
|
|
2
|
+
""" setup of ae namespace module portion shell: shell execution and environment helpers. """
|
|
3
|
+
import sys
|
|
4
|
+
# noinspection PyUnresolvedReferences
|
|
5
|
+
import pathlib
|
|
6
|
+
# noinspection PyUnresolvedReferences
|
|
7
|
+
import setuptools
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
print("SetUp " + __name__ + ": " + sys.executable + str(sys.argv) + f" {sys.path=}")
|
|
11
|
+
|
|
12
|
+
setup_kwargs = {
|
|
13
|
+
'author': 'AndiEcker',
|
|
14
|
+
'author_email': 'aecker2@gmail.com',
|
|
15
|
+
'classifiers': [
|
|
16
|
+
'Development Status :: 3 - Alpha',
|
|
17
|
+
'Natural Language :: English',
|
|
18
|
+
'Operating System :: OS Independent',
|
|
19
|
+
'Programming Language :: Python',
|
|
20
|
+
'Programming Language :: Python :: 3',
|
|
21
|
+
'Programming Language :: Python :: 3.12',
|
|
22
|
+
'Topic :: Software Development :: Libraries :: Python Modules',
|
|
23
|
+
'Typing :: Typed',
|
|
24
|
+
],
|
|
25
|
+
'description': 'ae namespace module portion shell: shell execution and environment helpers',
|
|
26
|
+
'extras_require': {
|
|
27
|
+
'dev': [
|
|
28
|
+
'aedev_project_tpls',
|
|
29
|
+
'ae_ae',
|
|
30
|
+
'anybadge',
|
|
31
|
+
'coverage-badge',
|
|
32
|
+
'flake8',
|
|
33
|
+
'mypy',
|
|
34
|
+
'pylint',
|
|
35
|
+
'pytest',
|
|
36
|
+
'pytest-cov',
|
|
37
|
+
'pytest-django',
|
|
38
|
+
'typing',
|
|
39
|
+
'types-setuptools',
|
|
40
|
+
],
|
|
41
|
+
'docs': [],
|
|
42
|
+
'tests': [
|
|
43
|
+
'anybadge',
|
|
44
|
+
'coverage-badge',
|
|
45
|
+
'flake8',
|
|
46
|
+
'mypy',
|
|
47
|
+
'pylint',
|
|
48
|
+
'pytest',
|
|
49
|
+
'pytest-cov',
|
|
50
|
+
'pytest-django',
|
|
51
|
+
'typing',
|
|
52
|
+
'types-setuptools',
|
|
53
|
+
],
|
|
54
|
+
},
|
|
55
|
+
'install_requires': [
|
|
56
|
+
'ae_base',
|
|
57
|
+
'ae_core',
|
|
58
|
+
'ae_console',
|
|
59
|
+
],
|
|
60
|
+
'keywords': [
|
|
61
|
+
'configuration',
|
|
62
|
+
'development',
|
|
63
|
+
'environment',
|
|
64
|
+
'productivity',
|
|
65
|
+
],
|
|
66
|
+
'license': 'GPL-3.0-or-later',
|
|
67
|
+
'long_description': (pathlib.Path(__file__).parent / 'README.md').read_text(encoding='utf-8'),
|
|
68
|
+
'long_description_content_type': 'text/markdown',
|
|
69
|
+
'name': 'ae_shell',
|
|
70
|
+
'package_data': {
|
|
71
|
+
'': [],
|
|
72
|
+
},
|
|
73
|
+
'packages': [
|
|
74
|
+
'ae',
|
|
75
|
+
],
|
|
76
|
+
'project_urls': {
|
|
77
|
+
'Bug Tracker': 'https://gitlab.com/ae-group/ae_shell/-/issues',
|
|
78
|
+
'Documentation': 'https://ae.readthedocs.io/en/latest/_autosummary/ae.shell.html',
|
|
79
|
+
'Repository': 'https://gitlab.com/ae-group/ae_shell',
|
|
80
|
+
'Source': 'https://ae.readthedocs.io/en/latest/_modules/ae/shell.html',
|
|
81
|
+
},
|
|
82
|
+
'python_requires': '>=3.12',
|
|
83
|
+
'url': 'https://gitlab.com/ae-group/ae_shell',
|
|
84
|
+
'version': '0.3.12',
|
|
85
|
+
'zip_safe': True,
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
if __name__ == "__main__":
|
|
89
|
+
setuptools.setup(**setup_kwargs)
|
|
90
|
+
pass
|
|
@@ -210,19 +210,33 @@ class TestHelpers:
|
|
|
210
210
|
assert os.environ == os_env
|
|
211
211
|
|
|
212
212
|
def test_mask_token(self):
|
|
213
|
+
url_prefix_str = "https://" # PDV_REPO_HOST_PROTOCOL
|
|
214
|
+
|
|
215
|
+
token = "codeberg token does not have a prefix and only contains hex-digits followed by @ and codeberg.org"
|
|
216
|
+
text = f"a text block containing a codeberg URL with a token: {url_prefix_str}UsaNäm:{token}@codeberg.org"
|
|
217
|
+
|
|
218
|
+
assert token not in mask_token(text)
|
|
219
|
+
assert token not in mask_token([text])[0]
|
|
220
|
+
assert mask_token(text).count('codeberg.org') == 1
|
|
221
|
+
assert mask_token(text).count(':') == 3
|
|
222
|
+
|
|
213
223
|
token = "glpat-gitlab token format ending at the @/ampersand directly followed by the gitlab.com domain"
|
|
214
|
-
text = "a text block containing a gitlab URL with a token: https://UsaNäm:" + token + "@gitlab.com"
|
|
224
|
+
text = "a text block containing a gitlab URL with a glpat-token: https://UsaNäm:" + token + "@gitlab.com"
|
|
215
225
|
|
|
216
226
|
assert token not in mask_token(text)
|
|
217
227
|
assert token not in mask_token([text])[0]
|
|
228
|
+
assert mask_token(text).count('gitlab.com') == 1
|
|
229
|
+
assert mask_token(text).count('glpat-') == 1
|
|
218
230
|
|
|
219
231
|
token = "ghp_-github token format ending at the @/ampersand directly followed by the github.com domain"
|
|
220
|
-
text = "a text block containing a github URL with a token: https://YouSaNem:" + token + "@github.com"
|
|
232
|
+
text = "a text block containing a github URL with a ghp_-token: https://YouSaNem:" + token + "@github.com"
|
|
221
233
|
|
|
222
234
|
assert token not in mask_token(text)
|
|
223
235
|
assert token not in mask_token([text])[0]
|
|
236
|
+
assert mask_token(text).count('github.com') == 1
|
|
237
|
+
assert mask_token(text).count('ghp_') == 1
|
|
224
238
|
|
|
225
|
-
text = "
|
|
239
|
+
text = "NO masking if @codeberg.org/@github.com/@gitlab.com domains before token start str ':', ghp_ or glpat-:"
|
|
226
240
|
|
|
227
241
|
assert mask_token(text) == text # neither throws str.index()-ValueError nor stuck in endless-loop
|
|
228
242
|
|
ae_shell-0.3.9/setup.py
DELETED
|
@@ -1,117 +0,0 @@
|
|
|
1
|
-
# THIS FILE IS EXCLUSIVELY MAINTAINED by the project aedev.project_tpls v0.3.68
|
|
2
|
-
""" setup of ae namespace module portion shell: shell execution and environment helpers. """
|
|
3
|
-
# noinspection PyUnresolvedReferences
|
|
4
|
-
import sys
|
|
5
|
-
print(f"SetUp {__name__=} {sys.executable=} {sys.argv=} {sys.path=}")
|
|
6
|
-
|
|
7
|
-
# noinspection PyUnresolvedReferences
|
|
8
|
-
import setuptools
|
|
9
|
-
|
|
10
|
-
setup_kwargs = {
|
|
11
|
-
'author': 'AndiEcker',
|
|
12
|
-
'author_email': 'aecker2@gmail.com',
|
|
13
|
-
'classifiers': [ 'Development Status :: 3 - Alpha', 'Natural Language :: English', 'Operating System :: OS Independent',
|
|
14
|
-
'Programming Language :: Python', 'Programming Language :: Python :: 3',
|
|
15
|
-
'Programming Language :: Python :: 3.12', 'Topic :: Software Development :: Libraries :: Python Modules',
|
|
16
|
-
'Typing :: Typed'],
|
|
17
|
-
'description': 'ae namespace module portion shell: shell execution and environment helpers',
|
|
18
|
-
'extras_require': { 'dev': [ 'aedev_project_tpls', 'ae_ae', 'anybadge', 'coverage-badge', 'aedev_project_manager', 'flake8',
|
|
19
|
-
'mypy', 'pylint', 'pytest', 'pytest-cov', 'pytest-django', 'typing', 'types-setuptools'],
|
|
20
|
-
'docs': [],
|
|
21
|
-
'tests': [ 'anybadge', 'coverage-badge', 'aedev_project_manager', 'flake8', 'mypy', 'pylint', 'pytest',
|
|
22
|
-
'pytest-cov', 'pytest-django', 'typing', 'types-setuptools']},
|
|
23
|
-
'install_requires': [],
|
|
24
|
-
'keywords': ['configuration', 'development', 'environment', 'productivity'],
|
|
25
|
-
'license': 'GPL-3.0-or-later',
|
|
26
|
-
'long_description': ('<!-- THIS FILE IS EXCLUSIVELY MAINTAINED by the project ae.ae v0.3.101 -->\n'
|
|
27
|
-
'<!-- THIS FILE IS EXCLUSIVELY MAINTAINED by the project aedev.namespace_root_tpls v0.3.22 -->\n'
|
|
28
|
-
'# shell 0.3.9\n'
|
|
29
|
-
'\n'
|
|
30
|
-
'[](\n'
|
|
31
|
-
' https://gitlab.com/ae-group/ae_shell)\n'
|
|
32
|
-
'[](\n'
|
|
34
|
-
' https://gitlab.com/ae-group/ae_shell/-/tree/release0.3.9)\n'
|
|
35
|
-
'[](\n'
|
|
36
|
-
' https://pypi.org/project/ae-shell/#history)\n'
|
|
37
|
-
'\n'
|
|
38
|
-
'>ae namespace module portion shell: shell execution and environment helpers.\n'
|
|
39
|
-
'\n'
|
|
40
|
-
'[](\n'
|
|
41
|
-
' https://ae-group.gitlab.io/ae_shell/coverage/index.html)\n'
|
|
42
|
-
'[](\n'
|
|
43
|
-
' https://ae-group.gitlab.io/ae_shell/lineprecision.txt)\n'
|
|
44
|
-
'[](\n'
|
|
45
|
-
' https://ae-group.gitlab.io/ae_shell/pylint.log)\n'
|
|
46
|
-
'\n'
|
|
47
|
-
'[](\n'
|
|
48
|
-
' https://gitlab.com/ae-group/ae_shell/)\n'
|
|
49
|
-
'[](\n'
|
|
50
|
-
' https://gitlab.com/ae-group/ae_shell/)\n'
|
|
51
|
-
'[](\n'
|
|
52
|
-
' https://gitlab.com/ae-group/ae_shell/)\n'
|
|
53
|
-
'[](\n'
|
|
54
|
-
' https://pypi.org/project/ae-shell/)\n'
|
|
55
|
-
'[](\n'
|
|
56
|
-
' https://gitlab.com/ae-group/ae_shell/-/blob/develop/LICENSE.md)\n'
|
|
57
|
-
'[](\n'
|
|
58
|
-
' https://libraries.io/pypi/ae-shell)\n'
|
|
59
|
-
'[](\n'
|
|
60
|
-
' https://pypi.org/project/ae-shell/#files)\n'
|
|
61
|
-
'\n'
|
|
62
|
-
'\n'
|
|
63
|
-
'## installation\n'
|
|
64
|
-
'\n'
|
|
65
|
-
'\n'
|
|
66
|
-
'execute the following command to install the\n'
|
|
67
|
-
'ae.shell module\n'
|
|
68
|
-
'in the currently active virtual environment:\n'
|
|
69
|
-
' \n'
|
|
70
|
-
'```shell script\n'
|
|
71
|
-
'pip install ae-shell\n'
|
|
72
|
-
'```\n'
|
|
73
|
-
'\n'
|
|
74
|
-
'if you want to contribute to this portion then first fork\n'
|
|
75
|
-
'[the ae_shell repository at GitLab](\n'
|
|
76
|
-
'https://gitlab.com/ae-group/ae_shell "ae.shell code repository").\n'
|
|
77
|
-
'after that pull it to your machine and finally execute the\n'
|
|
78
|
-
'following command in the root folder of this repository\n'
|
|
79
|
-
'(ae_shell):\n'
|
|
80
|
-
'\n'
|
|
81
|
-
'```shell script\n'
|
|
82
|
-
'pip install -e .[dev]\n'
|
|
83
|
-
'```\n'
|
|
84
|
-
'\n'
|
|
85
|
-
'the last command will install this module portion, along with the tools you need\n'
|
|
86
|
-
'to develop and run tests or to extend the portion documentation. to contribute only to the unit tests or to the\n'
|
|
87
|
-
'documentation of this portion, replace the setup extras key `dev` in the above command with `tests` or `docs`\n'
|
|
88
|
-
'respectively.\n'
|
|
89
|
-
'\n'
|
|
90
|
-
'more detailed explanations on how to contribute to this project\n'
|
|
91
|
-
'[are available here](\n'
|
|
92
|
-
'https://gitlab.com/ae-group/ae_shell/-/blob/develop/CONTRIBUTING.rst)\n'
|
|
93
|
-
'\n'
|
|
94
|
-
'\n'
|
|
95
|
-
'## namespace portion documentation\n'
|
|
96
|
-
'\n'
|
|
97
|
-
'information on the features and usage of this portion are available at\n'
|
|
98
|
-
'[ReadTheDocs](\n'
|
|
99
|
-
'https://ae.readthedocs.io/en/latest/_autosummary/ae.shell.html\n'
|
|
100
|
-
'"ae_shell documentation").\n'),
|
|
101
|
-
'long_description_content_type': 'text/markdown',
|
|
102
|
-
'name': 'ae_shell',
|
|
103
|
-
'package_data': {'': []},
|
|
104
|
-
'packages': ['ae'],
|
|
105
|
-
'project_urls': { 'Bug Tracker': 'https://gitlab.com/ae-group/ae_shell/-/issues',
|
|
106
|
-
'Documentation': 'https://ae.readthedocs.io/en/latest/_autosummary/ae.shell.html',
|
|
107
|
-
'Repository': 'https://gitlab.com/ae-group/ae_shell',
|
|
108
|
-
'Source': 'https://ae.readthedocs.io/en/latest/_modules/ae/shell.html'},
|
|
109
|
-
'python_requires': '>=3.9',
|
|
110
|
-
'url': 'https://gitlab.com/ae-group/ae_shell',
|
|
111
|
-
'version': '0.3.9',
|
|
112
|
-
'zip_safe': True,
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
if __name__ == "__main__":
|
|
116
|
-
setuptools.setup(**setup_kwargs)
|
|
117
|
-
pass
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|