Package: ldh-client
Liberty CLIproject|code|tracker|pypiLiberty CLIis a user-facing command-line client for interacting
with Librem One or another Liberty Deckplan Host (LDH).Dive intohttps://liberty.onefor LDH design and development.InstallationThe preferred way to install Liberty CLI is with your package
manager. The recommended package name isldh-client. For example:sudoaptinstallldh-client# Debian-basedorpipxinstallldh-client# Python-basedUsageThe following commands are available:# INFO
liberty show info

# TUNNEL
liberty setup tunnelFor instructions and options add--help, for example:libertysetuptunnel--helpPrototype quickstartTo install prototype components on PureOS or another Debian-based
system from scratch:sudoaptinstallpipx
pipxensurepath
pipxinstallldh-client
libertysetupdependencies# triggers sudo promptlibertysetupprototypeTo update the prototype:pipxupgradeldh-client# or pipx upgrade-alllibertysetupdependencies# triggers sudo promptlibertysetupprototypeTo remove the prototype:libertyremovedependencies# optional, triggers sudo promptlibertyremoveprototype
pipxuninstallldh-client
sudoaptremovepipx# optionalInstallation (from source)If you'd prefer to run from source...Install Python 3.x and pipenv. (Seehttps://docs.pipenv.org/install/for a tutorial.)Install prerequisites:sudo apt install gir1.2-goa-1.0 libcairo2-dev /
 libgirepository1.0-dev libssl-dev /
 network-manager-openvpn-gnome python3-devInstall optional prerequisites:sudo apt install rclone yadGet source:git clone https://source.puri.sm/liberty/tool/client.git ldh_clientInstall with pipenv:cd ldh_client
 pipenv install --dev -e .Usage (from source)cdldh_client
pipenvrunlibertyshowinfoPrototype quickstart (from source)Ensure that~/.local/binis on your$PATH:sudoaptinstallpipx
pipxensurepath# pipx is used only to set the path# you may prefer to modify your .bashrc or some other methodFollow the from-source instructions, then create theliberty-devexecutable as follows:cdldh_client/liberty-dev
./bootstrap# creates ~/.local/bin/liberty-dev and associated symlinks# re-run this any time you move the ldh_client folderNow install prototype components:liberty-devsetupdependencies
liberty-devsetupprototype--devNote thatsetup prototypealways overrides existing prototype
components. This means you can point to eitherlibertyorliberty-dev, never both.To remove the prototype components andliberty-dev:liberty-devremovedependencies# optional, triggers sudo promptliberty-devremoveprototypecdldh_client/liberty-dev
./removeTroubleshootingWhen debugging, troubleshooting or asking for help please include the
output of:libertyshowinfoorlibertyshowinfo--gui# the same information in a graphical window (supports copy-and-paste)Replacelibertywithpipenv run libertyorliberty-devas
appropriate.Build wheel package (and optionally upload)Follow these instructions to build Liberty CLI as a Python package:gitclonehttps://source.puri.sm/liberty/tool/client.gitldh_clientcdldh_client
pipenvinstall--dev
pipenvshell# optionally edit default.strict.yamlpythonsetup.pysdistbdist_wheelIf everything works as expected you should end up with the files:dist/ldh_client-<version>-py3-none-any.whldist/ldh_client-<version>.tar.gzYou can now optionally upload the created Python package to PyPI using
twine:twineuploaddist/*Sharing and contributionsLiberty CLI (LDH client)https://source.puri.sm/liberty/tool/clientCopyright 2018-2020 Purism SPCSPDX-License-Identifier: AGPL-3.0-or-laterShared 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 textCODE_OF_CONDUCT.md, full conduct textCONTRIBUTING.DCO.md, full origin text (git -s)