Note: The continuation of this project is uncertain!
This small project is intended to improve the start-up for collaborators.
The idea is to make the project setup as simple as possible. Just clone the sources and start a script and you're done ;)
Why in hell not just a Makefile? Because it doesn't out-of-the-box under Windows and MacOS, the dev-shell does ;)
Run Tests? Just start the script and call the "run test command".
The "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.:
At least uv is needed. Install e.g.: via pipx:
apt-get install pipx
pipx install uvClone the project and just start the CLI help commands. A virtual environment will be created/updated automatically.
~$ git clone https://github.com/jedie/dev-shell.git
~$ cd dev-shell
~/dev-shell$ devshell.py --help
~/dev-shell$ devshell.py testThe output on first bootstrap start looks like:
~/dev-shell$ ./devshell.py
Developer shell - dev_shell - v0.10.0
dev-shell commands
──────────────────
check_code_style fix_code_style list_venv_packages pyupgrade update
coverage install publish test version
Uncategorized Commands
──────────────────────
alias help history macro quit set shortcuts
(dev_shell) quit
~/dev-shell$| dev-shell version | OS | Python version |
|---|---|---|
| >=v0.10.0 | Linux + MacOS + Windows | 3.14, 3.13, 3.12 |
| >=v0.7.0 | Linux + MacOS + Windows | 3.11, 3.10, 3.9 |
| >=v0.5.0 | Linux + MacOS + Windows | 3.10, 3.9, 3.8, 3.7 |
| >=v0.0.1 | Linux + MacOS + Windows | 3.9, 3.8, 3.7 |
See also:
- github test configuration: .github/workflows/test.yml
- Nox configuration: noxfile.py
- dev
- TBC
- 0.10.1 - 2026-02-10
- Bugfix colorful shortcuts
- 0.10.0 - 2026-02-10
- Modernize codebase
- 0.9.1 - 2025-03-11
- Fix usage as package in external projects
- 0.9.0 - 2025-03-11
- Replace
poetrywithuv
- Replace
- 0.8.0 - 2024-04-09
- Remove "gnureadline" as dependency
- update boot script
- update requirements
- 0.7.0 - 2023-04-25
- Update test matrix
- update requirements
- 0.6.1 - 2022-09-02
- Set default subprocess timeout to 5 Min.
- Skip buggy Poetry v1.2.0
- Update requirements
- 0.6.0 - 2022-07-19
- Add "pyupgrade" as shell command
- 0.5.0 - 2022-05-29
- Add "tox" and "poetry" commands to call them installed in created
.venv - Update requirements
- Add "tox" and "poetry" commands to call them installed in created
- v0.4.0 - 2022-02-28
- Update to new cmd2, colorama and pytest versions
- v0.3.0 - 2022-01-30
- Remove "flynt" form linting/fix code style
- v0.2.4 - 2022-01-30
- Update requirements
- Use darker as code formatter and pytest-darker for linting
- v0.2.3 - 2021-11-15
- Update requirements
- Flynt arguments can be changes via CommandSet
- v0.2.2 - 2021-04-13
- Include bootstrap file, to it's possible to use it in external projects, too.
- v0.2.1 - 2021-04-12
- Handle if "poetry-publish" is not installed, so a project that used "dev-shell" must not install it.
- v0.2.0 - 2021-04-11
- Rename: "dev-shell.py => devshell.py" because of better autocomplete
- Add
DevShellConfig.base_pathand use it in own commands like,pytest,lintingetc. (So they are usable in external project, too.) - recognize "--update" and "--help" arguments better in
./devshell.pycalls. - Update
setuptoolson.venvcreation, too. - Fix Bugs/tests under Windows
- v0.1.0 - 2021-03-22
- Fix CI usage: Exit with correct return code if tests failed
- Better "run as CLI" implementation via new
run_cmd2_app() - Bugfix errors that only occur on Windows.
- Simplify
devshell.pyboot script and fix raise error ifensurepipmissing
- v0.0.2 - 2021-03-19
- refactor colorful shortcuts
- display subprocess calls with separated colors
- v0.0.1 - 2021-03-19
- first "useable" version