Skip to main content

Liberty CLI is a user-facing command-line client for interacting with Librem One or another Liberty Deckplan Host (LDH).

Project description

Liberty CLI

project | code | tracker | pypi

Liberty CLI is a user-facing command-line client for interacting with Librem One or another Liberty Deckplan Host (LDH).

Dive into https://liberty.one for LDH design and development.

Installation

The preferred way to install Liberty CLI is with your package manager. The recommended package name is ldh-client. For example:

sudo apt install ldh-client  # Debian-based

or

pipx install ldh-client  # Python-based

Usage

The following commands are available:

# INFO
liberty show info

# TUNNEL
liberty setup tunnel

For instructions and options add --help, for example:

liberty setup tunnel --help

Prototype quickstart

To install prototype components on PureOS or another Debian-based system from scratch:

sudo apt install pipx
pipx ensurepath
pipx install ldh-client
liberty setup dependencies  # triggers sudo prompt
liberty setup prototype

To update the prototype:

pipx upgrade ldh-client  # or pipx upgrade-all
liberty setup dependencies  # triggers sudo prompt
liberty setup prototype

To remove the prototype:

liberty remove dependencies  # optional, triggers sudo prompt
liberty remove prototype
pipx uninstall ldh-client
sudo apt remove pipx  # optional

Installation (from source)

If you'd prefer to run from source...

  1. Install Python 3.x and pipenv. (See https://docs.pipenv.org/install/ for a tutorial.)

  2. Install prerequisites:

     sudo apt install libcairo2-dev libgirepository1.0-dev libssl-dev python3-dev
    
  3. Install optional prerequisites:

     sudo apt install rclone yad
    
  4. Get source:

     git clone https://source.puri.sm/liberty/tool/client.git ldh_client
    
  5. Install with pipenv:

     cd ldh_client
     pipenv install --dev -e .
    

Usage (from source)

cd ldh_client
pipenv run liberty show info

Prototype quickstart (from source)

Ensure that ~/.local/bin is on your $PATH:

sudo apt install pipx
pipx ensurepath
# pipx is used only to set the path
# you may prefer to modify your .bashrc or some other method

Follow the from-source instructions, then create the liberty-dev executable as follows:

cd ldh_client/liberty-dev
./bootstrap
# creates ~/.local/bin/liberty-dev and associated symlinks
# re-run this any time you move the ldh_client folder

Now install prototype components:

liberty-dev setup dependencies
liberty-dev setup prototype --dev

Note that setup prototype always overrides existing prototype components. This means you can point to either liberty or liberty-dev, never both.

To remove the prototype components and liberty-dev:

liberty-dev remove dependencies  # optional, triggers sudo prompt
liberty-dev remove prototype
cd ldh_client/liberty-dev
./remove

Troubleshooting

When debugging, troubleshooting or asking for help please include the output of:

liberty show info

or

liberty show info --gui
# the same information in a graphical window (supports copy-and-paste)

Replace liberty with pipenv run liberty or liberty-dev as appropriate.

Build wheel package (and optionally upload)

Follow these instructions to build Liberty CLI as a Python package:

git clone https://source.puri.sm/liberty/tool/client.git ldh_client
cd ldh_client
pipenv install --dev
pipenv shell
# optionally edit default.strict.yaml
python setup.py sdist bdist_wheel

If everything works as expected you should end up with the files:

  • dist/ldh_client-<version>-py3-none-any.whl
  • dist/ldh_client-<version>.tar.gz

You can now optionally upload the created Python package to PyPI using twine:

twine upload dist/*

Sharing and contributions

Liberty CLI (LDH client)
https://source.puri.sm/liberty/tool/client
Copyright 2018-2020 Purism SPC
SPDX-License-Identifier: AGPL-3.0-or-later

Shared under AGPL-3.0-or-later. We adhere to the Community Covenant 1.0 without modification, and certify origin per DCO 1.1 with a signed-off-by line. Contributions under the same terms are welcome.

For details see:

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

ldh_client-0.0.10.tar.gz (32.9 kB view details)

Uploaded Source

Built Distribution

ldh_client-0.0.10-py3-none-any.whl (24.2 kB view details)

Uploaded Python 3

File details

Details for the file ldh_client-0.0.10.tar.gz.

File metadata

  • Download URL: ldh_client-0.0.10.tar.gz
  • Upload date:
  • Size: 32.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.0.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.7

File hashes

Hashes for ldh_client-0.0.10.tar.gz
Algorithm Hash digest
SHA256 92a395838ce3aa19c153833deaa5134b8b26a465decd5d77981b5c65f9033ef8
MD5 f39cc3128d11d123636b16666224bab9
BLAKE2b-256 bd0ad3a4be07029bfcf7ee0e72a1717f3872ef8554063d1e0239e97b31330899

See more details on using hashes here.

File details

Details for the file ldh_client-0.0.10-py3-none-any.whl.

File metadata

  • Download URL: ldh_client-0.0.10-py3-none-any.whl
  • Upload date:
  • Size: 24.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.0.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.7.7

File hashes

Hashes for ldh_client-0.0.10-py3-none-any.whl
Algorithm Hash digest
SHA256 781b914aa11f7c5be30ad1e56b3f724b0e4a42eaee276d18475bcc762e6bc027
MD5 096b40be4c56c3fabc16474115c87177
BLAKE2b-256 1d98311c49070478ca77460e772d53f6665d922b4390e6a330503871712dcd87

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