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
Metadata
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 | Provenance | Actions |
|---|---|---|---|---|
| code0_hercules-1.6.0.tar.gz | 68.5 kB | Without provenance | Details for code0_hercules-1.6.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| code0_hercules-1.6.0-py3-none-any.whl | Python 3 | none | any | Details for code0_hercules-1.6.0-py3-none-any.whl |
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}
|
Security for code0-hercules 1.6.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.