Skip to main content

gogo-gadget

A tool to aggregate custom command line tools into one.

It can thus serve as a single entry point into a local ecosystem of tools and scripts. It is of course inspired by https://en.wikipedia.org/wiki/Inspector_Gadget.

Instead of remembering obscure script names or command line tool names with possibly even more obscure options, one can simply create a gogo file containing the whole command and some more memorable command name. In contrast to bash aliases an command can be split into several word tokens, e.g. gogo cleanup conda. Thanks to support for autocompletion in the bash (<TAB> <TAB>), it is even simpler to access the required commands.

Furthermore, help or a very short documentation can be included.

How does it work?

On startup gogo-gadget loads a gogo file by default from ~/.gogo.yml. It then creates a command line interface on the fly using the click python library (http://click.pocoo.org).

Installation

It is recommended to use pipsi https://github.com/mitsuhiko/pipsi to install gogo-gadget. Once pipsi is installed, run:

pipsi install gogo-gadget

A pip install gogo-gadget would also work in principle, however, gogo would need to be installed in all virtual environments used.

To enable tab autocompletion in the bash, add the following to .bashrc:

eval "$(_GOGO_COMPLETE=source gogo)"

Example gogo File

Gogo files are written in YAML.

See below a few command examples along with the corresponding YAML file.

Commands:

gogo start foo
gogo update
gogo cleanup conda
gogo cleanup conda -y
gogo cleanup foo

Gogo file:

cleanup:
  conda:
    cmd: conda clean --all
    help: Remove obsolete files in current conda env
  foo:
    cmd: example_command
    help: doing some other sort cleanups
start:
  foo:
    cmd: docker run -it --rm foo/foo:latest command_in_docker
    help: complicated docker command
update:
  cmd: apt-get update && apt-get upgrade
  help: updating software on ubuntu

Metadata

Release files for gogo-gadget 0.2.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for gogo-gadget 0.2.5
File Size Uploaded Provenance Actions
gogo-gadget-0.2.5.tar.gz 10.3 kB Without provenance Details for gogo-gadget-0.2.5.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for gogo-gadget 0.2.5
File Interpreter ABI Platform Actions
gogo_gadget-0.2.5-py2.py3-none-any.whl Python 2, Python 3 none any Details for gogo_gadget-0.2.5-py2.py3-none-any.whl

Total release size: 15.4 kB

Release files / gogo-gadget-0.2.5.tar.gz

Download URL gogo-gadget-0.2.5.tar.gz
Size 10.3 kB
Tags Source
SHA-256 checksum
How to use checksums
a6172beb42c62a03163c93c3b8c7db81463e4eafa386b970210cc1177ec3913b
BLAKE2b-256 checksum
How to use checksums
43111da1dc8643a4318f9c96934881fb5af09e4adeb5bbbe835b578728866a36
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.8.8

Release files / gogo_gadget-0.2.5-py2.py3-none-any.whl

Download URL gogo_gadget-0.2.5-py2.py3-none-any.whl
Size 5.1 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
34982f7c1f48f2334882d62d73b8fefac85c62952ed93ff50162c40960390ca5
BLAKE2b-256 checksum
How to use checksums
9014099f56d9309d0d405c2408ae061a5ade1a15609390cdd9b0b10fe2191544
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.8.8

Security for gogo-gadget 0.2.5

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page