code0-hercules (Python)
Python SDK for the hercules action runner — the counterpart to the TypeScript
@code0-tech/hercules package. Define data types, functions, and events, and
connect them to aquila.
Install
pip install code0-hercules
Requirements:
- Python 3.10+
- Node.js — data-type schemas are converted to/from TypeScript via a bundled
Node helper (
hercules/_tsgen). Its npm dependencies are installed automatically on first use.
Develop
This project uses uv.
uv sync # create .venv + install (incl. dev deps)
npm ci --prefix hercules/_tsgen # install the Node schema helper
uv run pytest # run the tests
The runnable example lives in examples/simple-example-py.
Built-in definitions
The built-in data types / functions in hercules/definitions/ are generated
(not committed) from a code0-definition
release:
uv run python scripts/build_definitions.py --version def-0.0.38
Build & release
Packages are built with uv build and published to PyPI from CI:
build.ymlbuilds and tests the package on every push.publish.ymlruns on a pushed git tag: it sets the package version from the tag, regenerates the definitions, builds, and publishes to PyPI via trusted publishing (OIDC — no token).
To cut a release, push a PEP 440 version tag (e.g. 0.1.0):
git tag 0.1.0 && git push origin 0.1.0
The code0-definition release used for the built-in definitions is controlled by
the HERCULES_DEFINITIONS_VERSION repository variable (default def-0.0.38).
Build locally:
uv build # -> dist/*.whl and dist/*.tar.gz
Release files for code0-hercules 1.6.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| code0_hercules-1.6.0.tar.gz | 68.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| code0_hercules-1.6.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 238.2 kB
Release files / code0_hercules-1.6.0.tar.gz
| Download URL | code0_hercules-1.6.0.tar.gz |
|---|---|
| Size | 68.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ef26b37d7911d2823e114f33cee95c841ecdf884afbd872f0dacf5c0bf9b1789
|
|
BLAKE2b-256 checksum How to use checksums |
a687b327ae2a768cd691c8536768b8cadf02d0358431515ec8d4490911e97459
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.18 {"installer":{"name":"uv","version":"0.12.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / code0_hercules-1.6.0-py3-none-any.whl
| Download URL | code0_hercules-1.6.0-py3-none-any.whl |
|---|---|
| Size | 169.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
353d558e1ea7c9dad4cedc0b8188ae7dabc45d06071d4f01f0cec4966cb50d85
|
|
BLAKE2b-256 checksum How to use checksums |
da1a59584e36d31549e9dedeef87fb1d975d9d56dd5060f99c150d48dcbbebd4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.18 {"installer":{"name":"uv","version":"0.12.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|