Skip to main content

console application to organize commands and environments

Project description

DSH - the absent minded developer's shell

Python versions MIT License


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: usage demo image

Installation

pip install dsh

Project details


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 hashes)

Uploaded Source

Built Distribution

dsh-2.2.1-py3-none-any.whl (21.2 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page