hesperides-cli 0.5.1

Creator: bradpython12

Last updated:

Add to Cart

Description:

hesperidescli 0.5.1

HESPERIDES CLI

Python 3 lib & CLI (Command Line Interface) for Hesperides
A changelog is available here: CHANGELOG.md
Installation
hesperides-cli is published on Pypi. It can be installed simply with pip:
pip install hesperides-cli

Developper environment installation
After cloning this repo and optionally creating a virtualenv:
pip install -e .

Releasing a new version
With a valid ~/.pypirc:

update CHANGELOG.md
bump version in hesperidescli/hesperidescli.py & git commit & git push
python setup.py sdist
twine upload dist/*
perform a release on GitGub, including the description added to CHANGELOG.md

Usage
hesperides [OPTIONS] COMMAND [ARGS]

To get all hesperides commands, just type:
hesperides

Configure
This client configuration is stored locally in ~/.hesperides/:
To set up your environment and create a local user profile by answering to a few questions:
hesperides set-conf [PROFILE_NAME]

If you have multiple profiles, you can switch between them with:
hesperides use-profile [PROFILE_NAME]

To try your configuration, type one of these commands:
hesperides get-versions
hesperides get-user

Usage with Docker
You can using the following Dockerfile as a starting point:
FROM python:3
RUN pip install hesperides-cli
ARG USERNAME
ARG PASSWORD
RUN hesperides set-conf --username $USERNAME --password $PASSWORD --hesperides-endpoint https://hesperides.example --ignore-ssl-warnings
ENTRYPOINT ["hesperides"]

The resulting Docker image will contain some secret credentials, which is not a good practice,
but makes it really easy to use for demos:
docker build --build-arg USERNAME=... --build-arg PASSWORD=... -t hesperides-cli .
docker run --rm hesperides-cli get-versions

If your goal is instead to generate files in your Docker image at startup time,
you can start by putting something like this in your ENTRYPOINT:
hesperides write-files --app $APP --ptf $PTF

Exporting properties as environment variables
For this use case, you can use get-properties --export.
Here is an example of usage, that could be included in a Gitlab CD/CI step for instance:
tmp_file=$(mktemp) && hesperides get-properties --app APP --ptf PTF --path '#ROOT#test-module#1.1#WORKINGCOPY' --export > $tmp_file && source $tmp_file && rm $tmp_file

Local files generation with zero calls to the backend API
cf. hesperidescli.local
Warning for Windows bash users
When using this tool with a Python version installed through Windows,
in combination with a Linux-like shell environment (e.g. Git Bash),
the files generated by write-files may not be written were you expect,
because your Python executable will interpret Unix path like /var/tmp as relative to your current drive (C:, D:...).
In this situation, use this command to find out where is the location of your root (/) for Python:
python -c 'import os; os.chdir("/"); print(os.getcwd())'

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.