console application to organize commands and environments
Project description
DSH - the absent minded developer's shell
Organize the stuff you do via command line
You might use this if you:
- Forget how you did that stuff in that project from a while back
- Forget where stuff is
- Want a single, tab-completed view of the stuff you do
- Want to store credentials and stuff outside of project config
- Need to do sutff in separate contexts/environments such as development vs production
- Want a consistent 'api' for doing stuff
What it does
- At the most basic level, it executes commands expressed in yaml
- Creates a tree of 'contexts' which consist of vars, commands, and subcontexts
- Locates and merges contexts defined in .dsh.*.yml files
- Provides nested contexts/subshells for projects/environments under a root shell
- Changes current working directory to that of active shell
- Provides variable substitution
- Provides inherited variables with override
Sample .dsh.yml:
dsh: personal.python.proj
vars:
app_name: projectX
test:
- pytest
install:
- pip list installed | grep {{app_name}} && pip uninstall -y {{app_name}}
- pip install -e .
release:
- tox -r
- rm -rf build && rm -rf dist
- python setup.py sdist bdist_wheel
- twine upload -r pypi -u {{PYPI_USER}} -p {PYPI_PASS} dist/{{app_name}}*
Demo
With dsh.yml files similar to the above, a dsh session might look like this:
Installation
pip install dsh
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
dsh-2.2.1.tar.gz
(19.4 kB
view details)
Built Distribution
dsh-2.2.1-py3-none-any.whl
(21.2 kB
view details)
File details
Details for the file dsh-2.2.1.tar.gz
.
File metadata
- Download URL: dsh-2.2.1.tar.gz
- Upload date:
- Size: 19.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f5f6a2317f04b5a37b4b071cdd7f78cfb47cb93ae9da6ba1890db6493989f657 |
|
MD5 | a56da2c2b55a6e1a9520ac961de050ee |
|
BLAKE2b-256 | 0e74e6b5a23d6e00b4888b9c73139bb2571fb78f263e41accfab8a3d67824bcb |
File details
Details for the file dsh-2.2.1-py3-none-any.whl
.
File metadata
- Download URL: dsh-2.2.1-py3-none-any.whl
- Upload date:
- Size: 21.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3e34e15391ae1741210776cf83015bcc372bc37939318967bfee40c187209945 |
|
MD5 | 4f2ace08b861f82c9bd42b338f12762c |
|
BLAKE2b-256 | 461e7090174fbc61b5077a6c0bc466f740125d18ae2f5389c0e44e50137e6743 |