Skip to main content

A CLI application automating spawning of terminals and executing commands in them.

Project description

PYDOER - CLI Application

PyDoer is a CLI application aiming to automate executing multiple commands in different terminal applications.

CircleCI Codecov
Production Version Python Wheel Supported Python versions GitHub commits on branch, since tagged version
Better Code Hub Codacy Maintainability Code Climate technical debt Scrutinizer code quality

Featuring

  • Terminal Configuration as code

  • Design Menu and commands using json config

  • Launch/Close commands

Overview

  • Free software: GNU General Public License v3.0

Prerequisites

You need to have Python, Bash and gnome-terminal installed.

Installation

Install PyDoer in virtual environment:

  1. Get the code

    git clone git@github.com:boromir674/doer.git

  2. Install in a python virtual environment

    cd doer

    virtualenv env –python=python3 source env/bin/activate

    pip install python-doer

  3. Make pydoer cli available in path

    Assuming ~/.local/bin is in $PATH

ln -s $PWD/env/bin/pydoer ~/.local/bin/pydoer
  1. (Optional) Define useful aliases

Assuming you cloned the code in directory ‘/data/repos/doer’

alias doer='/data/repos/doer/env/bin/pydoer menu /data/repos/doer/python-doer/menu_entries.json'
alias close-doing='/data/repos/doer/env/bin/pydoer close-doing'

Install PyDoer for user:

  1. Get the code

    git clone git@github.com:boromir674/doer.git

  2. Install for user

    cd doer

    pip install –user python-doer

The pydoer cli should now be (automatically) in $PATH

  1. (Optional) Define useful aliases

alias doer='pydoer menu /data/repos/doer/python-doer/menu_entries.json'
alias close-doing='pydoer close-doing'

Usage

To run, simply execute (either from within the virtual env or if you installed with user/global scope):

pydoer

Basically you have 2 commands:
  1. show interactive menu

    pydoer menu </path/to/menu.json>

    The program parses the entries defined in json formatted file defined by the user json’ file and renders an interactive “Menu” in the terminal, waiting for the user to make a selection. Each selection, generates a ‘do’ script which is responsible for opening/spawning one or more terminal applications. For each terminal application, a ‘launch’ script is generated which is responsible for running certain commands on that terminal.

  2. close windows spawned from previous activity

    pydoer close-doing

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

pydoer-1.0.2.tar.gz (36.5 kB view details)

Uploaded Source

Built Distribution

pydoer-1.0.2-py3-none-any.whl (27.7 kB view details)

Uploaded Python 3

File details

Details for the file pydoer-1.0.2.tar.gz.

File metadata

  • Download URL: pydoer-1.0.2.tar.gz
  • Upload date:
  • Size: 36.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.0 importlib_metadata/4.8.1 packaging/21.0 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.10

File hashes

Hashes for pydoer-1.0.2.tar.gz
Algorithm Hash digest
SHA256 ad4679b41bf7ce8cb7184a9d2c7486e5bc5e562473fbb606e1c5b21cd83348ac
MD5 689a46f386c4eb2f70a1d7bf35ab4d8b
BLAKE2b-256 aae3c8211e68eed3be42fb8f57db03a97a85d9b2e55ee7092c9add7e3825e088

See more details on using hashes here.

File details

Details for the file pydoer-1.0.2-py3-none-any.whl.

File metadata

  • Download URL: pydoer-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 27.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.0 importlib_metadata/4.8.1 packaging/21.0 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.10

File hashes

Hashes for pydoer-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 d674cb20499e283aa5bd9314739a145d14c8e5efc1298d705bd996835acc978f
MD5 dd3739677d0e8c6042badf68d572f483
BLAKE2b-256 eee129d7f32632330435524baa8b11e394caecbbaefe732ea63261238a2d7867

See more details on using hashes here.

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