Shared constants and utilities for OTS operations tools
Project description
ots-shared
Shared constants, taxonomy, and utility libraries for the OneTimeSecret operations tooling family (rots, lots, pots).
This package is not intended for end-user consumption. It is published to PyPI so the downstream operator-facing CLIs can pin a single, versioned source of truth for:
- exit codes and error taxonomy
- command history records
- environment marker / scaffold helpers
- SSH connection and executor protocols
- Hetzner Cloud (
hcloud) configuration, network, and server defaults
Install
pip install ots-shared
# with optional SSH dependencies (paramiko)
pip install "ots-shared[ssh]"
Layout
src/ots_shared/
cli.py # init sub-app exposed by downstream CLIs
exit_codes.py # canonical exit codes
history.py # command history serialization
init.py # environment scaffold helpers
taxonomy.py # error taxonomy
hcloud/ # Hetzner Cloud config, networks, server defaults
ssh/ # connection + executor protocols
Development
uv sync --extra dev --extra test --extra ssh
uv run pytest tests/
uv run ruff check src/
uv run pyright src/
Releasing
Tag a vX.Y.Z commit on main. The Release workflow builds the wheel and sdist,
creates a GitHub release with auto-generated notes, and publishes to PyPI via Trusted
Publisher. The PyPI environment in the workflow must match the project on
pypi.org/p/ots-shared.
License
MIT — see LICENSE.
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
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