Sail Knowledgebase

Installing Sail CLI

In this article we will cover installing Sail CLI using the Homebrew package manager, as well as some alternative methods.

Using Homebrew

The easiest and preferred way to install Sail CLI and keep it up to date, is through the Homebrew package manager. This works on macOS, Linux, and Windows (via WSL):

brew install sail

If you have already installed Sail through Homebrew and would like to upgrade to the latest version, use:

brew update
brew upgrade sail

If you're not using Homebrew yet, you can download and install it from here.

From PyPI

Every Sail CLI release is pushed to the official Python Package Index (PyPI) and could be installed using pip3:

pip3 install sailed.io

Once the package is installed, it can be upgraded with:

pip3 install sailed.io --upgrade

Note, that installing Python packages globally on the system may cause broken dependencies. To avoid this, it is recommended to use virtual environments:

mkdir /path/to/sail && cd /path/to/sail
python3 -m venv .env
.env/bin/pip install sailed.io
ln -s .env/bin/sail /usr/local/bin/sail

This way sail can be used globally, but all binaries and dependencies will live in a virtual environment in a dedicated directory. Upgrading must be performed from the virtual environment as well:

cd /path/to/sail
.env/bin/pip install sailed.io --upgrade

Building from Source

You will need Python 3.6+ with pip and setuptools available. Download the source files from GitHub with git clone, install dependencies and run the Sail installation. Just like with PyPI, it is recommended to use a virtual environment for this method.

mkdir /path/to/sail && cd /path/to/sail
git clone git@github.com:kovshenin/sail.git .
python3 -m venv .env
.env/bin/pip install -r requirements.txt
.env/bin/python setup.py install
ln -s .env/bin/sail /usr/local/bin/sail

To upgrade simply pull the latest sources from GitHub and run the installation again:

cd /path/to/sail
git pull
.env/bin/pip install -r requirements.txt
.env/bin/python setup.py install

Was this article helpful?

This helps us improve our knowledgebase.

Thanks!