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.
Metadata
Release files for ots-shared 0.4.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ots_shared-0.4.2.tar.gz | 127.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ots_shared-0.4.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 193.9 kB