Devloper shell for easy startup...
Project description
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:
venv
) - 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
Info: The .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 ;)
(Using --update
is not to be confused with the call of "update" command.)
compatibility
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
History
- dev
- TBC
- v0.2.0 - 2021-04-11
- Rename: "dev-shell.py => devshell.py" because of better autocomplete
- Add
DevShellConfig.base_path
and use it in own commands like,pytest
,linting
etc. (So they are usable in external project, too.) - recognize "--update" and "--help" arguments better in
./devshell.py
calls. - Update
setuptools
on.venv
creation, 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.py
boot script and fix raise error ifensurepip
missing
- v0.0.2 - 2021-03-19
- refactor colorful shortcuts
- display subprocess calls with separated colors
- v0.0.1 - 2021-03-19
- first "useable" version
Project links
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for dev_shell-0.2.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7628b0d60d803a9be49be8e1bfbcdb50832a95d74b606dc418d7c3e4277f445b |
|
MD5 | 0e706906353b704e0c6ee7a2100f3f17 |
|
BLAKE2b-256 | 6802f8fa072311581a2079a01f7092331676c2336add21e14a94a253580ddcce |