Skip to main content

Stratis CLI

Project description

A CLI for the Stratis Project.

Introduction

stratis-cli is a tool that provides a command-line interface (CLI) for interacting with the Stratis daemon, stratisd. stratis-cli interacts with stratisd via D-Bus. It is written in Python 3.

stratis-cli is stateless and contains a minimum of storage-related logic. Its code mainly consists of parsing arguments from the command line, calling methods that are part of the Stratis D-Bus API, and then processing and displaying the results.

Installing

You can install stratis-cli directly from the stratis-cli project repo.

stratis-cli has a number of dependencies that may not already be installed. You may choose to allow the setup script to install any missing dependencies from PyPi, or you may prefer to install the dependencies using your distribution’s package manager. All stratis-cli’s direct dependencies are listed in stratis-cli’s setup.py file, in the install_requires field. If you choose to install the dependencies using your installation’s package manager, you should do so before you run the setup.py script.

Finally, run the setup.py script as:

> python setup.py install

Running

After installing, running requires invoking the script, as:

> stratis --help

or:

> stratis --version

To run without installing, check out the source, change to the top directory and set the PYTHONPATH environment variable to include library dependencies. For example (if using bash shell):

> export PYTHONPATH="src:../dbus-client-gen/src:../dbus-python-client-gen/src:../into-dbus-python/src:../dbus-signature-pyparsing/src"
> ./bin/stratis --help

Since stratis uses stratisd’s API, most operations will fail unless you are also running the Stratis daemon.

Testing

Various testing modalities are used to verify various properties of stratis. Please consult the README files in the tests subdirectory for further information.

The project has, and will continue to maintain, 100% code coverage.

Internal Software Architecture

stratis is implemented in two parts:

  • The parser package handles configuring the command line parser, which uses the Python argparse package.

  • The actions package receives valid commands from the parser package and executes them, invoking the D-Bus API as needed. The parser passes command-line arguments given by the user to methods in the actions package using a Namespace object.

Python Coding Style

stratis conforms to PEP-8 style guidelines as enforced by the black formatting tool.

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

stratis_cli-3.9.0.tar.gz (57.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

stratis_cli-3.9.0-py3-none-any.whl (84.2 kB view details)

Uploaded Python 3

File details

Details for the file stratis_cli-3.9.0.tar.gz.

File metadata

  • Download URL: stratis_cli-3.9.0.tar.gz
  • Upload date:
  • Size: 57.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for stratis_cli-3.9.0.tar.gz
Algorithm Hash digest
SHA256 296533497084c0f681b934108c73698c7ed86666859429cd1ed72040b096ece7
MD5 a57b8038e15cad9be404199c458ebb98
BLAKE2b-256 817d8a9e106d891e20a96d91fc9d88a9052467c02a53e7f9934afc29f3e6b528

See more details on using hashes here.

File details

Details for the file stratis_cli-3.9.0-py3-none-any.whl.

File metadata

  • Download URL: stratis_cli-3.9.0-py3-none-any.whl
  • Upload date:
  • Size: 84.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for stratis_cli-3.9.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e2a418ef1af7c6fdfccc2e7c718df0c61c06c65d968279c6ffa5f9eeb39a7010
MD5 5a1529ea2fdf7e409bcf1c587009bd56
BLAKE2b-256 b371c7b00c83275764dddea23e08428675b28db87f534d3906fd426fb871fbfb

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page