Skip to content
Zoran Simic edited this page Jul 13, 2021 · 1 revision

Overview

pickley allows to easily install python CLIs such as tox, twine, etc, and have them automatically stay up-to-date.

Here's a quick primer. First, let's get pickley installed (default location: ~/.local/bin):

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/codrsquad/pickley/master/get-pickley)"

Then, let's double-check that it installed itself OK:

# which pickley
~/.local/bin/pickley

# pickley diagnostics
             base : ~/.local/bin
   invoker python : /usr/bin/python3 [cpython:3.7.3, invoker]
...
Available pythons from PATH:
/usr/local/bin/python3 [cpython:3.9.6]
/usr/bin/python3 [cpython:3.7.3]
/usr/bin/python [cpython:2.7.16]

Now, let's install an example python CLI:

# pickley install cowsay
Installed cowsay v4.0 in 2 seconds 507 ms

# which cowsay
~/.local/bin/cowsay

# cowsay moo
  ___
| moo |
  ===
   \
    \
      ^__^
      (oo)\_______
      (__)\       )\/\
          ||----w |
          ||     ||

See how pickley keeps the installed CLIs up-to-date

# less `which cowsay`
#!/bin/bash

# Wrapper generated by https://pypi.org/project/pickley/

if [[ -x ~/.local/bin/pickley ]]; then
    nohup ~/.local/bin/pickley auto-upgrade cowsay &> /dev/null &
fi
if [[ -x ~/.local/bin/.pickley/cowsay/cowsay-4.0/bin/cowsay ]]; then
    exec ~/.local/bin/.pickley/cowsay/cowsay-4.0/bin/cowsay "$@"
else
    echo "~/.local/bin/.pickley/cowsay/cowsay-4.0/bin/cowsay is not available anymore"
    echo ""
    echo "Please reinstall with:"
    echo "~/.local/bin/pickley install -f cowsay"
    exit 1
fi

See what we have currently installed with pickley

# pickley list
| Package              | Version |
-----------------------|----------
| asciinema            | 2.0.2   |
| cowsay               | 4.0     |
| tox                  | 3.23.1  |
| virtualenv           | 20.5.0  |

Finally, let's uninstall something for example:

# pickley uninstall cowsay
Uninstalled cowsay
Clone this wiki locally