A SMERSH command-line client
Project description
smersh-cli

smersh-cli is a command line client for the SMERSH API fully written in Python. It is an easy to use interactive command line made with CRUD in mind.
Usage
To run smersh-cli, you simply have to invoke the main.py script with your SMERSH API url has single argument:
python main.py <smersh api url>
You will then be asked to enter your credentials before having an interactive command line interface (see below for an example).
Commands
smersh-cli implements every single builtin cmd2 command (see the cmd2 documentation
for more information about these commands). However, please think twice before using commands like py or ipy because
you can easily break something.
In addition to these commands, smersh-cli implements the following ones:
- show
- use
- assign
- save
- delete
- exit
Please note that every command is documented. The documentation can be shown with the help command.
Commands and contexts
Some commands require a 'context' to be used. This is the case for the assign, save and delete commands. A context
is used to tell the program about which object the operation you want to perform refers to. To change the context you
need to use the use command. You can see at any time which context is active thanks to the prompt of the interactive
command line. In order to exit the active context, use the exit command (warning: every unsaved modification will
be lost).
Installation
Via Docker
This project includes a Dockerfile that you can build using the following command:
cd <project folder>
docker image build -t smershcli:v1.0 .
Once the image is built, you can simply run smersh-cli using the following command:
docker run -it <container id> <smersh api url>
Via Pip
You can also install the latest release directly from PyPI using the following command:
pip install smersh_cli
Manually
smersh-cli requires at least Python 3.5 because of the usage of typing (see PEP 484 for more information). However, we recommend Python 3.8 to avoid using a hack to get the project working (see issue #12). If you have an older Python version, you will need to upgrade as we won't support any version below 3.5.
smersh-cli also depends on the following libraries:
- rich
- cmd2
- requests
- dataclasses_json
- pydantic
- importlib_metadata
If you have setuptools installed you can use the following command to install all dependencies and the package at once:
python setup.py install
You can then use smersh-cli simply by using the command smersh-cli.
Internationalization
smersh-cli supports internationalization through the gettext library. This library will automatically detect and use
your system language. If, however, you want to use (force) another language you can prefix the usual command by
LC_MESSAGES=<desired_two_letters_language_code>.
Currently supported languages:
- English (default)
- Français (100%)
Feel free to create a pull request with a translation file for your language.
License
The license has no yet been chosen. We will update this section when we know which license to use.
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file smersh_cli-1.0.2.tar.gz.
File metadata
- Download URL: smersh_cli-1.0.2.tar.gz
- Upload date:
- Size: 92.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3f1379e28d2555782acfed824a8f6a4f2c8fa0454e4c18f98a6926118d2cbdda
|
|
| MD5 |
41560987f4f992191e1a34c7fa1c902d
|
|
| BLAKE2b-256 |
58c35377ef6b1c0d7363a9e476442c3ab4ef7de78db303662ea33332e6fe806e
|
File details
Details for the file smersh_cli-1.0.2-py3-none-any.whl.
File metadata
- Download URL: smersh_cli-1.0.2-py3-none-any.whl
- Upload date:
- Size: 26.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
448ff37db836f9eaa576643824d3c3630ef75041aa9a29194b32359e7260916d
|
|
| MD5 |
72a163ccd38de3a8d0846fca5b60929d
|
|
| BLAKE2b-256 |
dd83e30ae01c17ef6739fec6b39b4fe9b3d7f3f146085cff1ba5645b3ba467b7
|