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...
-
Install Python 3.x and pipenv. (See https://docs.pipenv.org/install/ for a tutorial.)
-
Install prerequisites:
sudo apt install libcairo2-dev libgirepository1.0-dev libssl-dev python3-dev
-
Install optional prerequisites:
sudo apt install rclone yad
-
Get source:
git clone https://source.puri.sm/liberty/tool/client.git ldh_client
-
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:
- COPYING.AGPL.md, full license text
- CODE_OF_CONDUCT.md, full conduct text
- CONTRIBUTING.DCO.md, full origin text (
git -s
)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for ldh_client-0.0.10-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 781b914aa11f7c5be30ad1e56b3f724b0e4a42eaee276d18475bcc762e6bc027 |
|
MD5 | 096b40be4c56c3fabc16474115c87177 |
|
BLAKE2b-256 | 1d98311c49070478ca77460e772d53f6665d922b4390e6a330503871712dcd87 |