dev-shell 0.6.1__tar.gz → 0.8.0__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.
- {dev-shell-0.6.1 → dev_shell-0.8.0}/PKG-INFO +15 -9
- {dev-shell-0.6.1 → dev_shell-0.8.0}/README.md +10 -2
- dev_shell-0.8.0/dev_shell/__init__.py +1 -0
- {dev-shell-0.6.1 → dev_shell-0.8.0}/dev_shell/bootstrap-source.py +21 -13
- {dev-shell-0.6.1 → dev_shell-0.8.0}/dev_shell/tests/test_bootstrap.py +10 -6
- {dev-shell-0.6.1 → dev_shell-0.8.0}/dev_shell/tests/utils.py +5 -3
- {dev-shell-0.6.1 → dev_shell-0.8.0}/pyproject.toml +5 -11
- dev-shell-0.6.1/dev_shell/__init__.py +0 -1
- dev-shell-0.6.1/setup.py +0 -38
- {dev-shell-0.6.1 → dev_shell-0.8.0}/LICENSE +0 -0
- {dev-shell-0.6.1 → dev_shell-0.8.0}/dev_shell/base_cmd2_app.py +0 -0
- {dev-shell-0.6.1 → dev_shell-0.8.0}/dev_shell/command_sets/__init__.py +0 -0
- {dev-shell-0.6.1 → dev_shell-0.8.0}/dev_shell/command_sets/dev_shell_commands.py +0 -0
- {dev-shell-0.6.1 → dev_shell-0.8.0}/dev_shell/config.py +0 -0
- {dev-shell-0.6.1 → dev_shell-0.8.0}/dev_shell/constants.py +0 -0
- {dev-shell-0.6.1 → dev_shell-0.8.0}/dev_shell/dev_shell_app.py +0 -0
- {dev-shell-0.6.1 → dev_shell-0.8.0}/dev_shell/tests/__init__.py +0 -0
- {dev-shell-0.6.1 → dev_shell-0.8.0}/dev_shell/tests/constants.py +0 -0
- {dev-shell-0.6.1 → dev_shell-0.8.0}/dev_shell/tests/fixtures.py +0 -0
- {dev-shell-0.6.1 → dev_shell-0.8.0}/dev_shell/tests/test_dev_shell_app.py +0 -0
- {dev-shell-0.6.1 → dev_shell-0.8.0}/dev_shell/tests/test_source_file.py +0 -0
- {dev-shell-0.6.1 → dev_shell-0.8.0}/dev_shell/tests/test_subprocess_utils.py +0 -0
- {dev-shell-0.6.1 → dev_shell-0.8.0}/dev_shell/utils/__init__.py +0 -0
- {dev-shell-0.6.1 → dev_shell-0.8.0}/dev_shell/utils/assertion.py +0 -0
- {dev-shell-0.6.1 → dev_shell-0.8.0}/dev_shell/utils/colorful.py +0 -0
- {dev-shell-0.6.1 → dev_shell-0.8.0}/dev_shell/utils/subprocess_utils.py +0 -0
|
@@ -1,20 +1,18 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: dev-shell
|
|
3
|
-
Version: 0.
|
|
4
|
-
Summary:
|
|
3
|
+
Version: 0.8.0
|
|
4
|
+
Summary: Developer shell for easy startup...
|
|
5
5
|
Home-page: https://github.com/jedie/dev-shell
|
|
6
6
|
License: GNU General Public License v3.0
|
|
7
7
|
Author: Jens Diemer
|
|
8
8
|
Author-email: python@jensdiemer.de
|
|
9
|
-
Requires-Python: >=3.
|
|
9
|
+
Requires-Python: >=3.9,<4.0
|
|
10
10
|
Classifier: License :: Other/Proprietary License
|
|
11
11
|
Classifier: Programming Language :: Python :: 3
|
|
12
|
-
Classifier: Programming Language :: Python :: 3.10
|
|
13
|
-
Classifier: Programming Language :: Python :: 3.7
|
|
14
|
-
Classifier: Programming Language :: Python :: 3.8
|
|
15
12
|
Classifier: Programming Language :: Python :: 3.9
|
|
13
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
14
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
16
15
|
Requires-Dist: cmd2
|
|
17
|
-
Requires-Dist: gnureadline; sys_platform == "darwin"
|
|
18
16
|
Description-Content-Type: text/markdown
|
|
19
17
|
|
|
20
18
|
# A "dev-shell" for Python projects ;)
|
|
@@ -30,7 +28,7 @@ This small project is intended to improve the start-up for collaborators.
|
|
|
30
28
|
|
|
31
29
|
The idea is to make the project setup as simple as possible. Just clone the sources and start a script and you're done ;)
|
|
32
30
|
|
|
33
|
-
Why in hell not just a `Makefile`? Because it doesn't out-of-the-box under Windows and MacOS, the dev-shell does ;)
|
|
31
|
+
Why in hell not just a `Makefile`? Because it doesn't out-of-the-box under Windows and MacOS, the dev-shell does ;)
|
|
34
32
|
|
|
35
33
|
Run Tests? Just start the script and call the "run test command".
|
|
36
34
|
|
|
@@ -115,6 +113,7 @@ You can also just delete `/.venv/` and start `devshell.py` again ;)
|
|
|
115
113
|
|
|
116
114
|
| dev-shell version | OS | Python version |
|
|
117
115
|
|-------------------|-------------------------|---------------------|
|
|
116
|
+
| >=v0.7.0 | Linux + MacOS + Windows | 3.11, 3.10, 3.9 |
|
|
118
117
|
| >=v0.5.0 | Linux + MacOS + Windows | 3.10, 3.9, 3.8, 3.7 |
|
|
119
118
|
| >=v0.0.1 | Linux + MacOS + Windows | 3.9, 3.8, 3.7 |
|
|
120
119
|
|
|
@@ -122,8 +121,15 @@ See also github test configuration: [.github/workflows/test.yml](https://github.
|
|
|
122
121
|
|
|
123
122
|
## History
|
|
124
123
|
|
|
125
|
-
* [*dev*](https://github.com/jedie/dev-shell/compare/
|
|
124
|
+
* [*dev*](https://github.com/jedie/dev-shell/compare/v0.8.0...main)
|
|
126
125
|
* TBC
|
|
126
|
+
* [0.8.0 - 2024-04-09](https://github.com/jedie/dev-shell/compare/v0.7.0...v0.8.0)
|
|
127
|
+
* Remove "gnureadline" as dependency
|
|
128
|
+
* update boot script
|
|
129
|
+
* update requirements
|
|
130
|
+
* [0.7.0 - 2023-04-25](https://github.com/jedie/dev-shell/compare/v0.6.1...v0.7.0)
|
|
131
|
+
* Update test matrix
|
|
132
|
+
* update requirements
|
|
127
133
|
* [0.6.1 - 2022-09-02](https://github.com/jedie/dev-shell/compare/v0.6.0...v0.6.1)
|
|
128
134
|
* Set default subprocess timeout to 5 Min.
|
|
129
135
|
* Skip buggy Poetry v1.2.0
|
|
@@ -11,7 +11,7 @@ This small project is intended to improve the start-up for collaborators.
|
|
|
11
11
|
|
|
12
12
|
The idea is to make the project setup as simple as possible. Just clone the sources and start a script and you're done ;)
|
|
13
13
|
|
|
14
|
-
Why in hell not just a `Makefile`? Because it doesn't out-of-the-box under Windows and MacOS, the dev-shell does ;)
|
|
14
|
+
Why in hell not just a `Makefile`? Because it doesn't out-of-the-box under Windows and MacOS, the dev-shell does ;)
|
|
15
15
|
|
|
16
16
|
Run Tests? Just start the script and call the "run test command".
|
|
17
17
|
|
|
@@ -96,6 +96,7 @@ You can also just delete `/.venv/` and start `devshell.py` again ;)
|
|
|
96
96
|
|
|
97
97
|
| dev-shell version | OS | Python version |
|
|
98
98
|
|-------------------|-------------------------|---------------------|
|
|
99
|
+
| >=v0.7.0 | Linux + MacOS + Windows | 3.11, 3.10, 3.9 |
|
|
99
100
|
| >=v0.5.0 | Linux + MacOS + Windows | 3.10, 3.9, 3.8, 3.7 |
|
|
100
101
|
| >=v0.0.1 | Linux + MacOS + Windows | 3.9, 3.8, 3.7 |
|
|
101
102
|
|
|
@@ -103,8 +104,15 @@ See also github test configuration: [.github/workflows/test.yml](https://github.
|
|
|
103
104
|
|
|
104
105
|
## History
|
|
105
106
|
|
|
106
|
-
* [*dev*](https://github.com/jedie/dev-shell/compare/
|
|
107
|
+
* [*dev*](https://github.com/jedie/dev-shell/compare/v0.8.0...main)
|
|
107
108
|
* TBC
|
|
109
|
+
* [0.8.0 - 2024-04-09](https://github.com/jedie/dev-shell/compare/v0.7.0...v0.8.0)
|
|
110
|
+
* Remove "gnureadline" as dependency
|
|
111
|
+
* update boot script
|
|
112
|
+
* update requirements
|
|
113
|
+
* [0.7.0 - 2023-04-25](https://github.com/jedie/dev-shell/compare/v0.6.1...v0.7.0)
|
|
114
|
+
* Update test matrix
|
|
115
|
+
* update requirements
|
|
108
116
|
* [0.6.1 - 2022-09-02](https://github.com/jedie/dev-shell/compare/v0.6.0...v0.6.1)
|
|
109
117
|
* Set default subprocess timeout to 5 Min.
|
|
110
118
|
* Skip buggy Poetry v1.2.0
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = '0.8.0'
|
|
@@ -9,12 +9,12 @@
|
|
|
9
9
|
This file is from: https://pypi.org/project/dev-shell/
|
|
10
10
|
Source: https://github.com/jedie/dev-shell/blob/main/devshell.py
|
|
11
11
|
|
|
12
|
-
:copyleft: 2021-
|
|
12
|
+
:copyleft: 2021-2024 by Jens Diemer
|
|
13
13
|
:license: GNU GPL v3 or above
|
|
14
14
|
"""
|
|
15
|
-
|
|
16
15
|
import argparse
|
|
17
16
|
import hashlib
|
|
17
|
+
import shlex
|
|
18
18
|
import signal
|
|
19
19
|
import subprocess
|
|
20
20
|
import sys
|
|
@@ -22,17 +22,25 @@ import venv
|
|
|
22
22
|
from pathlib import Path
|
|
23
23
|
|
|
24
24
|
|
|
25
|
+
def print_no_pip_error():
|
|
26
|
+
print('Error: Pip not available!')
|
|
27
|
+
print('Hint: "apt-get install python3-venv"\n')
|
|
28
|
+
|
|
29
|
+
|
|
25
30
|
try:
|
|
26
|
-
|
|
31
|
+
from ensurepip import version
|
|
27
32
|
except ModuleNotFoundError as err:
|
|
28
33
|
print(err)
|
|
29
34
|
print('-' * 100)
|
|
30
|
-
|
|
31
|
-
print('Hint: "apt-get install python3-venv"\n')
|
|
35
|
+
print_no_pip_error()
|
|
32
36
|
raise
|
|
37
|
+
else:
|
|
38
|
+
if not version():
|
|
39
|
+
print_no_pip_error()
|
|
40
|
+
sys.exit(-1)
|
|
33
41
|
|
|
34
42
|
|
|
35
|
-
assert sys.version_info >= (3,
|
|
43
|
+
assert sys.version_info >= (3, 9), f'Python version {sys.version_info} is too old!'
|
|
36
44
|
|
|
37
45
|
|
|
38
46
|
if sys.platform == 'win32': # wtf
|
|
@@ -60,25 +68,24 @@ PROJECT_SHELL_SCRIPT = BIN_PATH / 'devshell'
|
|
|
60
68
|
|
|
61
69
|
|
|
62
70
|
def get_dep_hash():
|
|
63
|
-
"""
|
|
71
|
+
"""Get SHA512 hash from lock file content."""
|
|
64
72
|
return hashlib.sha512(DEP_LOCK_PATH.read_bytes()).hexdigest()
|
|
65
73
|
|
|
66
74
|
|
|
67
75
|
def store_dep_hash():
|
|
68
|
-
"""
|
|
76
|
+
"""Generate .venv/.dep_hash"""
|
|
69
77
|
DEP_HASH_PATH.write_text(get_dep_hash())
|
|
70
78
|
|
|
71
79
|
|
|
72
80
|
def venv_up2date():
|
|
73
|
-
"""
|
|
81
|
+
"""Is existing .venv is up-to-date?"""
|
|
74
82
|
if DEP_HASH_PATH.is_file():
|
|
75
83
|
return DEP_HASH_PATH.read_text() == get_dep_hash()
|
|
76
84
|
return False
|
|
77
85
|
|
|
78
86
|
|
|
79
87
|
def verbose_check_call(*popen_args):
|
|
80
|
-
|
|
81
|
-
print(f'\n+ {" ".join(popen_args)}\n')
|
|
88
|
+
print(f'\n+ {shlex.join(str(arg) for arg in popen_args)}\n')
|
|
82
89
|
return subprocess.check_call(popen_args)
|
|
83
90
|
|
|
84
91
|
|
|
@@ -86,7 +93,6 @@ def noop_signal_handler(signal_num, frame):
|
|
|
86
93
|
"""
|
|
87
94
|
Signal handler that does nothing: Used to ignore "Ctrl-C" signals
|
|
88
95
|
"""
|
|
89
|
-
pass
|
|
90
96
|
|
|
91
97
|
|
|
92
98
|
def main(argv):
|
|
@@ -119,12 +125,14 @@ def main(argv):
|
|
|
119
125
|
print('Create virtual env here:', VENV_PATH.absolute())
|
|
120
126
|
builder = venv.EnvBuilder(symlinks=True, upgrade=True, with_pip=True)
|
|
121
127
|
builder.create(env_dir=VENV_PATH)
|
|
128
|
+
# Update pip
|
|
129
|
+
verbose_check_call(PYTHON_PATH, '-m', 'pip', 'install', '-U', 'pip')
|
|
122
130
|
|
|
123
131
|
# install/update "pip" and "poetry":
|
|
124
132
|
if not POETRY_PATH.is_file() or force_update:
|
|
125
133
|
# Note: Under Windows pip.exe can't replace this own .exe file, so use the module way:
|
|
126
134
|
verbose_check_call(PYTHON_PATH, '-m', 'pip', 'install', '-U', 'pip', 'setuptools')
|
|
127
|
-
verbose_check_call(PIP_PATH, 'install', 'poetry
|
|
135
|
+
verbose_check_call(PIP_PATH, 'install', 'poetry')
|
|
128
136
|
|
|
129
137
|
# install via poetry, if:
|
|
130
138
|
# 1. .venv not exists
|
|
@@ -88,12 +88,16 @@ class BootstrapTestCase(TestCase):
|
|
|
88
88
|
assert stderr == ''
|
|
89
89
|
assert f'{VENV_POETRY} install' in stdout
|
|
90
90
|
assert f'{DEVSHELL_CALL}\n' in stdout
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
91
|
+
self.assertEqual(
|
|
92
|
+
check_calls,
|
|
93
|
+
[
|
|
94
|
+
f'{VENV_PYTHON} -m pip install -U pip',
|
|
95
|
+
f'{VENV_PYTHON} -m pip install -U pip setuptools',
|
|
96
|
+
f'{VENV_PIP} install poetry',
|
|
97
|
+
f'{VENV_POETRY} install',
|
|
98
|
+
DEVSHELL_CALL,
|
|
99
|
+
],
|
|
100
|
+
)
|
|
97
101
|
create_mock.assert_called_once_with(env_dir=VENV_PATH)
|
|
98
102
|
|
|
99
103
|
def test_help(self):
|
|
@@ -23,7 +23,7 @@ def call_mocked_subprocess(func_name, func, *args, catch_sys_exit=False, **kwarg
|
|
|
23
23
|
if isinstance(popenargs, str):
|
|
24
24
|
command_str = popenargs
|
|
25
25
|
else:
|
|
26
|
-
command_str = ' '.join(popenargs)
|
|
26
|
+
command_str = ' '.join([str(arg) for arg in popenargs])
|
|
27
27
|
|
|
28
28
|
cwd = kwargs.get('cwd')
|
|
29
29
|
if cwd:
|
|
@@ -44,8 +44,10 @@ class RedirectStdOutErr:
|
|
|
44
44
|
self._output = None
|
|
45
45
|
|
|
46
46
|
def __enter__(self):
|
|
47
|
-
self._stdout_redirect = redirect_stdout(self._buffer)
|
|
48
|
-
self.
|
|
47
|
+
self._stdout_redirect = redirect_stdout(self._buffer)
|
|
48
|
+
self._stdout_redirect.__enter__()
|
|
49
|
+
self._stderr_redirect = redirect_stderr(self._buffer)
|
|
50
|
+
self._stderr_redirect.__enter__()
|
|
49
51
|
return self
|
|
50
52
|
|
|
51
53
|
def __exit__(self, exc_type, exc_val, exc_tb):
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
[tool.poetry]
|
|
2
2
|
name = "dev-shell"
|
|
3
|
-
version = "0.
|
|
4
|
-
description = "
|
|
3
|
+
version = "0.8.0"
|
|
4
|
+
description = "Developer shell for easy startup..."
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
authors = ["Jens Diemer <python@jensdiemer.de>"]
|
|
7
7
|
homepage = "https://github.com/jedie/dev-shell"
|
|
@@ -14,20 +14,16 @@ packages = [
|
|
|
14
14
|
devshell = 'dev_shell.dev_shell_app:devshell_cmdloop'
|
|
15
15
|
|
|
16
16
|
[tool.poetry.dependencies]
|
|
17
|
-
python = ">=3.
|
|
17
|
+
python = ">=3.9,<4.0"
|
|
18
18
|
cmd2 = "*" # https://github.com/python-cmd2/cmd2
|
|
19
19
|
|
|
20
|
-
# fix completion for Mac OS:
|
|
21
|
-
gnureadline = { version = "*", markers = "sys_platform == 'darwin'" }
|
|
22
|
-
|
|
23
|
-
|
|
24
20
|
[tool.poetry.dev-dependencies]
|
|
25
21
|
cmd2_ext_test = "*"
|
|
26
22
|
poetry-publish = "*" # https://github.com/jedie/poetry-publish
|
|
27
23
|
pytest = "*"
|
|
28
24
|
pytest-randomly = "*"
|
|
29
25
|
pytest-cov = "*"
|
|
30
|
-
|
|
26
|
+
darker = "*" # https://github.com/akaihola/darker
|
|
31
27
|
# TODO: pytest-mypy = "*"
|
|
32
28
|
tox = "*"
|
|
33
29
|
pyupgrade = "*" # https://github.com/asottile/pyupgrade
|
|
@@ -42,7 +38,6 @@ build-backend = "poetry.core.masonry.api"
|
|
|
42
38
|
src = ['.',]
|
|
43
39
|
revision = "origin/main..."
|
|
44
40
|
line_length = 100
|
|
45
|
-
verbose = true
|
|
46
41
|
skip_string_normalization = true
|
|
47
42
|
diff = false
|
|
48
43
|
check = false
|
|
@@ -86,7 +81,6 @@ addopts = """
|
|
|
86
81
|
--cov-report xml
|
|
87
82
|
--no-cov-on-fail
|
|
88
83
|
--showlocals
|
|
89
|
-
--darker
|
|
90
84
|
--doctest-modules
|
|
91
85
|
--failed-first
|
|
92
86
|
--last-failed-no-failures all
|
|
@@ -100,7 +94,7 @@ addopts = """
|
|
|
100
94
|
legacy_tox_ini = """
|
|
101
95
|
[tox]
|
|
102
96
|
isolated_build = True
|
|
103
|
-
envlist = py{
|
|
97
|
+
envlist = py{39,310,311}
|
|
104
98
|
skip_missing_interpreters = True
|
|
105
99
|
|
|
106
100
|
[testenv]
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = '0.6.1'
|
dev-shell-0.6.1/setup.py
DELETED
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
# -*- coding: utf-8 -*-
|
|
2
|
-
from setuptools import setup
|
|
3
|
-
|
|
4
|
-
packages = \
|
|
5
|
-
['dev_shell', 'dev_shell.command_sets', 'dev_shell.tests', 'dev_shell.utils']
|
|
6
|
-
|
|
7
|
-
package_data = \
|
|
8
|
-
{'': ['*']}
|
|
9
|
-
|
|
10
|
-
install_requires = \
|
|
11
|
-
['cmd2']
|
|
12
|
-
|
|
13
|
-
extras_require = \
|
|
14
|
-
{':sys_platform == "darwin"': ['gnureadline']}
|
|
15
|
-
|
|
16
|
-
entry_points = \
|
|
17
|
-
{'console_scripts': ['devshell = dev_shell.dev_shell_app:devshell_cmdloop']}
|
|
18
|
-
|
|
19
|
-
setup_kwargs = {
|
|
20
|
-
'name': 'dev-shell',
|
|
21
|
-
'version': '0.6.1',
|
|
22
|
-
'description': 'Devloper shell for easy startup...',
|
|
23
|
-
'long_description': '# A "dev-shell" for Python projects ;)\n\n[](https://github.com/jedie/dev-shell/actions/workflows/test.yml)\n[](https://codecov.io/gh/jedie/dev-shell)\n\n[\n\n](https://pypi.org/project/dev-shell/)\n\nThis small project is intended to improve the start-up for collaborators.\n\nThe idea is to make the project setup as simple as possible. Just clone the sources and start a script and you\'re done ;)\n\nWhy in hell not just a `Makefile`? Because it doesn\'t out-of-the-box under Windows and MacOS, the dev-shell does ;) \n\nRun Tests? Just start the script and call the "run test command".\n\nThe "dev-shell" is the base to create a CLI and a shell. It also shows how to make a project bootstrap as simply as possible, e.g.:\n\n```bash\n~$ git clone https://github.com/jedie/dev-shell.git\n~$ cd dev-shell\n~/dev-shell$ ./devshell.py pytest\n```\n\n\n## How it works\n\nFirst start of the Python script [./devshell.py](https://github.com/jedie/dev-shell/blob/main/devshell.py) will bootstrap:\n\n* Generate a Python virtual environment (in short: `venv`)\n* Install poetry\n* Install project dependencies and the project himself\n\nThe output on first bootstrap start looks like:\n\n```bash\n~/dev-shell$ ./devshell.py\nCreate venv here: ~/dev-shell/.venv\nCollecting pip\n...\nSuccessfully installed pip-21.0.1\nCollecting poetry\n...\nInstalling dependencies from lock file\n\nPackage operations: 31 installs, 1 update, 0 removals\n\n...\n\nInstalling the current project: dev-shell (0.0.1alpha0)\n\n\n+ .venv/bin/python .venv/bin/devshell\n\n\nDeveloper shell - dev_shell - v0.2.0\n\n\nDocumented commands (use \'help -v\' for verbose/\'help <topic>\' for details):\n\ndev-shell commands\n==================\nfix_code_style linting list_venv_packages publish pytest update\n\n...\n\n(dev_shell) quit\n~/dev-shell$\n```\n\nThe first bootstrap start takes a few seconds. Each later startup detects the existing virtualenv and is very fast:\n\n```bash\n~/dev-shell$ ./devshell.py\n\nDeveloper shell - dev_shell - v0.2.0\n\n(dev_shell) help\n```\n\nInfo: The `.venv` will be automatically updated via `poetry install` call if the `poetry.lock` file has been changed.\n\nA call with `--update` will force to call some create/update steps, e.g.:\n\n```bash\n~/dev-shell$ ./devshell.py --update\n```\n\nYou can also just delete `/.venv/` and start `devshell.py` again ;)\n\n(Using `--update` is not to be confused with the call of "update" command.)\n\n\n## compatibility\n\n| dev-shell version | OS | Python version |\n|-------------------|-------------------------|---------------------|\n| >=v0.5.0 | Linux + MacOS + Windows | 3.10, 3.9, 3.8, 3.7 |\n| >=v0.0.1 | Linux + MacOS + Windows | 3.9, 3.8, 3.7 |\n\nSee also github test configuration: [.github/workflows/test.yml](https://github.com/jedie/dev-shell/blob/main/.github/workflows/test.yml)\n\n## History\n\n* [*dev*](https://github.com/jedie/dev-shell/compare/v.6.1...main)\n * TBC\n* [0.6.1 - 2022-09-02](https://github.com/jedie/dev-shell/compare/v0.6.0...v0.6.1)\n * Set default subprocess timeout to 5 Min.\n * Skip buggy Poetry v1.2.0\n * Update requirements\n* [0.6.0 - 2022-07-19](https://github.com/jedie/dev-shell/compare/v0.5.0...v0.6.0)\n * Add "pyupgrade" as shell command\n* [0.5.0 - 2022-05-29](https://github.com/jedie/dev-shell/compare/v0.4.0...v0.5.0)\n * Add "tox" and "poetry" commands to call them installed in created ```.venv```\n * Update requirements\n* [v0.4.0 - 2022-02-28](https://github.com/jedie/dev-shell/compare/v0.3.0...v0.4.0)\n * Update to new cmd2, colorama and pytest versions\n* [v0.3.0 - 2022-01-30](https://github.com/jedie/dev-shell/compare/v0.2.4...v0.3.0)\n * Remove "flynt" form linting/fix code style\n* [v0.2.4 - 2022-01-30](https://github.com/jedie/dev-shell/compare/v0.2.3...v0.2.4)\n * Update requirements\n * Use darker as code formatter and pytest-darker for linting\n* [v0.2.3 - 2021-11-15](https://github.com/jedie/dev-shell/compare/v0.2.2...v0.2.3)\n * Update requirements\n * [Flynt arguments can be changes via CommandSet](https://github.com/jedie/dev-shell/issues/29)\n* [v0.2.2 - 2021-04-13](https://github.com/jedie/dev-shell/compare/v0.2.1...v0.2.2)\n * Include bootstrap file, to it\'s possible to use it in external projects, too.\n* [v0.2.1 - 2021-04-12](https://github.com/jedie/dev-shell/compare/v0.2.0...v0.2.1)\n * Handle if "poetry-publish" is not installed, so a project that used "dev-shell" must not install it.\n* [v0.2.0 - 2021-04-11](https://github.com/jedie/dev-shell/compare/v0.1.0...v0.2.0)\n * Rename: "dev-shell.py => devshell.py" because of better autocomplete\n * Add `DevShellConfig.base_path` and use it in own commands like, `pytest`, `linting` etc. (So they are usable in external project, too.)\n * recognize "--update" and "--help" arguments better in `./devshell.py` calls.\n * Update `setuptools` on `.venv` creation, too.\n * Fix Bugs/tests under Windows\n* [v0.1.0 - 2021-03-22](https://github.com/jedie/dev-shell/compare/v0.0.2...v0.1.0)\n * Fix CI usage: Exit with correct return code if tests failed\n * Better "run as CLI" implementation via new `run_cmd2_app()`\n * Bugfix errors that only occur on Windows.\n * Simplify `devshell.py` boot script and fix raise error if `ensurepip` missing\n* [v0.0.2 - 2021-03-19](https://github.com/jedie/dev-shell/compare/v0.0.1...v0.0.2)\n * refactor colorful shortcuts\n * display subprocess calls with separated colors\n* [v0.0.1 - 2021-03-19](https://github.com/jedie/dev-shell/compare/ad5dca...v0.0.1)\n * first "useable" version\n\n## Project links\n\n* Github: https://github.com/jedie/dev-shell/\n* PyPi: https://pypi.org/project/dev-shell/\n',
|
|
24
|
-
'author': 'Jens Diemer',
|
|
25
|
-
'author_email': 'python@jensdiemer.de',
|
|
26
|
-
'maintainer': None,
|
|
27
|
-
'maintainer_email': None,
|
|
28
|
-
'url': 'https://github.com/jedie/dev-shell',
|
|
29
|
-
'packages': packages,
|
|
30
|
-
'package_data': package_data,
|
|
31
|
-
'install_requires': install_requires,
|
|
32
|
-
'extras_require': extras_require,
|
|
33
|
-
'entry_points': entry_points,
|
|
34
|
-
'python_requires': '>=3.7,<4.0.0',
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
setup(**setup_kwargs)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|