A Python library at allows you to interface with the Smallstep API.
Project description
smallstep-python
smallstep-python is a Python library at allows you to interface with the Smallstep API.
We use openapi-python-client to generate a low level Python client that is located in smallstep/api_client/
. See the smallstep/README.md
for more information on using this generated library. We built a wrapper library on top of smallstep/api_client
that is located in api.py
. This adds a handful of helper features. At this time smallstep/api.py
only supports a few API endpoints. See smallstep/api.py
for details.
Requirements
- Python 3.9
- Smallstep Account
- A very strong desire to allow a cute snake to manage your Smallstep account
Installation
We publish this package to https://pypi.org/project/smallstep-python/ and it can be installed via pip.
pip install smallstep-python
Development
Configuration
Create a .env
file in the project root and add the following lines:
# Not needed unless you are using our run anywhere offering
# SMALLSTEP_API_HOST="https://gateway.smallstep.com/api"
SMALLSTEP_API_TOKEN="your_smallstep_api_token"
Adjust them to your needs. See config.py
for configuration details. We use Pydantic Settings for easy settings management. Below is the order of precedence for configuration settings:
- Arguments passed to the Settings class initialiser.
- Environment variables, e.g. SMALLSTEP_MY_CONFIG_SETTING as described above.
- Variables loaded from a dotenv (.env) file.
- Variables loaded from the secrets directory.
- The default field values for the Settings model.
See the Pydantic Settings field value priority section for more information.
With Poetry
Install Poetry on your system with this.
Run this from the repo directory:
poetry install
Enter the Poetry shell with this:
poetry shell
pre-commit install
With venv
export VIRTUAL_ENV=${PWD}/.venv
python3 -m venv $VIRTUAL_ENV
export PATH="$VIRTUAL_ENV/bin:$PATH"
pip install wheel
pip install -r requirements.txt
. .venv/bin/activate
pre-commit install
Adding packages
Add packages to Poetry and then run pre-commit which will generate a requirements.txt file for you.
Development:
poetry add --group=dev rich
pre-commit
Production:
poetry add rich
pre-commit
License
Copyright 2023 Smallstep Labs Inc.
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
File details
Details for the file smallstep_python-0.1.1.tar.gz
.
File metadata
- Download URL: smallstep_python-0.1.1.tar.gz
- Upload date:
- Size: 68.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.11.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e486b0ab7287c2806aca8812c3f2489c6991d61e5cd819cfc7cdb9ce8f378b13 |
|
MD5 | 57894fd571ff3802456ccd2926675267 |
|
BLAKE2b-256 | 460e05652c704791b8bbb447dd92d7185237d3bab084448fbd053ef41c902260 |
File details
Details for the file smallstep_python-0.1.1-py3-none-any.whl
.
File metadata
- Download URL: smallstep_python-0.1.1-py3-none-any.whl
- Upload date:
- Size: 198.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.11.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 76ae5406812562d55c1de3c4a1852aa3e80c0784ba6bf6110aba0f7e28ea7c9d |
|
MD5 | bdb1294f02ad2fede9a3f1bdbe209d0a |
|
BLAKE2b-256 | 47efcb9413e869d788dfcfd44d6aa080020d13c6a79eb2d4e3899af6ccffcb9d |