soh

Sleight of hand (soh) CLI tool.


Keywords
soh, cli, tool
License
MIT
Install
pip install soh==0.1.1

Documentation

soh (sleight-of-hand)

travis codecov pypi pyversions

Sleight of hand, or soh, is a command line tool that handles a lot of common tasks for developers. For the most part, it offers a convenient command line interface to a lot of standard library operations, such as base64 encoding, creating datetime strings, fetching system information, uuid generation, etc.

Installation

To install soh use pip.

pip install soh

You can also install using homebrew. To install use the command:

brew install crflynn/formula/soh

Usage

The entry point for all commands is

$ soh
Usage: soh [OPTIONS] COMMAND [ARGS]...

  Sleight of hand CLI commands.

  (+) indicates command group. Use the -c flag on most commands to copy
  output to clipboard

Options:
  -h, --help  Show this message and exit.

Commands:
  b64      + Base64 operations
  create   + Create files
  dt       + Datetimes
  epoch    + Epoch times
  json     JSON printing
  jwt      Display JWT contents
  secret   + Secrets generators
  serve    Simple http server at current directory
  sys      + System information
  uuid     Generate UUIDs
  version  soh CLI version

To get help on any command use the -h or --help flag.

$ soh uuid -h
Usage: soh uuid [OPTIONS]

  Generate UUIDs.

Options:
  -v, --version INTEGER  uuid version  [default: 4]
  -ns, --namespace TEXT  namespace (v3, v5) {dns, url, oid, x500}
  -n, --name TEXT        name (v3, v5)
  -u, --upper            use upper case
  -c, --clip             copy to clipboard
  -h, --help             Show this message and exit.

To copy the execution output of most commands to clipboard, use the -c or --clip command.

$ soh uuid -c
c64af300-8895-4dff-b005-15dcd4c72f24 (copied to clipboard 📋)

Developer Setup

To set up a local development environment follow these (or portions of these) steps.

# clone
git clone git@github.com:crflynn/soh.git
cd soh

# setup pre-commit
brew install pre-commit
pre-commit install

# setup pyenv and python 3
brew install pyenv
pyenv install 3.7.3
pyenv local 3.7.3

# setup poetry and install deps
curl -sSL https://raw.githubusercontent.com/sdispater/poetry/master/get-poetry.py | python
poetry install
poetry install --develop soh

pre-commit will enforce black code formatting to pass before committing. The configuration for black is in the pyproject.toml file.

To run tests,

pytest

The testing configuration is found in pytest.ini.