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
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 92a395838ce3aa19c153833deaa5134b8b26a465decd5d77981b5c65f9033ef8 |
|
MD5 | f39cc3128d11d123636b16666224bab9 |
|
BLAKE2b-256 | bd0ad3a4be07029bfcf7ee0e72a1717f3872ef8554063d1e0239e97b31330899 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 781b914aa11f7c5be30ad1e56b3f724b0e4a42eaee276d18475bcc762e6bc027 |
|
MD5 | 096b40be4c56c3fabc16474115c87177 |
|
BLAKE2b-256 | 1d98311c49070478ca77460e772d53f6665d922b4390e6a330503871712dcd87 |