Devloper shell for easy startup...
A "dev-shell" for Python projects ;)
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 ;)
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
It also shows how to make a project bootstrap as simply as possible, e.g.:
~$ git clone https://github.com/jedie/dev-shell.git ~$ cd dev-shell ~/dev-shell$ ./devshell.py pytest
How it works
First start of the Python script ./devshell.py will bootstrap:
- Generate a Python virtual environment (in short:
- Install poetry
- Install project dependencies and the project himself
The output on first bootstrap start looks like:
~/dev-shell$ ./devshell.py Create venv here: ~/dev-shell/.venv Collecting pip ... Successfully installed pip-21.0.1 Collecting poetry ... Installing dependencies from lock file Package operations: 31 installs, 1 update, 0 removals ... Installing the current project: dev-shell (0.0.1alpha0) + .venv/bin/python .venv/bin/devshell Developer shell - dev_shell - v0.2.0 Documented commands (use 'help -v' for verbose/'help <topic>' for details): dev-shell commands ================== fix_code_style linting list_venv_packages publish pytest update ... (dev_shell) quit ~/dev-shell$
The first bootstrap start takes a few seconds. Each later startup detects the existing virtualenv and is very fast:
~/dev-shell$ ./devshell.py Developer shell - dev_shell - v0.2.0 (dev_shell) help
.venv will be automatically updated via
poetry install call if the
poetry.lock file has been changed.
A call with
--update will force to call some create/update steps, e.g.:
~/dev-shell$ ./devshell.py --update
You can also just delete
/.venv/ and start
devshell.py again ;)
--update is not to be confused with the call of "update" command.)
|dev-shell version||OS||Python version|
|>=v0.0.1||Linux + MacOS + Windows||3.9, 3.8, 3.7|
See also github test configuration: .github/workflows/test.yml
- 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
DevShellConfig.base_pathand use it in own commands like,
lintingetc. (So they are usable in external project, too.)
- recognize "--update" and "--help" arguments better in
- 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
- Bugfix errors that only occur on Windows.
devshell.pyboot script and fix raise error if
- v0.0.2 - 2021-03-19
- refactor colorful shortcuts
- display subprocess calls with separated colors
- v0.0.1 - 2021-03-19
- first "useable" version
Release history Release notifications | RSS feed
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
|Filename, size||File type||Python version||Upload date||Hashes|
|Filename, size dev_shell-0.2.2-py3-none-any.whl (32.2 kB)||File type Wheel||Python version py3||Upload date||Hashes View|
|Filename, size dev-shell-0.2.2.tar.gz (28.5 kB)||File type Source||Python version None||Upload date||Hashes View|
Hashes for dev_shell-0.2.2-py3-none-any.whl