Command Line Interface for Hesperides
Project description
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
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())'
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
File details
Details for the file hesperides-cli-0.5.1.tar.gz
.
File metadata
- Download URL: hesperides-cli-0.5.1.tar.gz
- Upload date:
- Size: 22.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/50.3.0 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.7.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4e92e3a6ac97ef75df3e8d09fdae8058faa9a1f1b010ee0352f24d43b06c3ae7 |
|
MD5 | afe58cc6f588f88d115b0f6974e6c166 |
|
BLAKE2b-256 | 0d9c769d6f4f43f08f923e208b138615cf24cd926eee10cea072b5df74424803 |