ory-hermes
Ory Agent Security for the Hermes agent framework.
Wraps your Hermes tool registry so every call is authorized against Ory Permissions,
audited, and tied to the user → agent identity — built on
ory-argus.
pip install ory-hermes
Hermes drives its loop from a {name: callable} tool registry (model_tools).
Gate it before handing it to the agent:
from ory_hermes import guard_function_map
tools = guard_function_map(model_tools) # returns a gated copy of the registry
Tool objects (with a run / _run method) work too:
from ory_hermes import guard_tools
tools = guard_tools([search_tool, shell_tool])
In enforce mode a denied tool raises OryDenialError
before the tool body runs; Hermes surfaces the denial and the tool never executes. In
observe mode (default) the tool runs and a permission.observe_deny activity event is recorded.
Network / rate-limit errors fail open.
The integration is SDK-free: it wraps Hermes' plain Python registry by duck typing. Hermes is installed through its own bootstrap process and does not publish an installable Python SDK, so this package intentionally has no Hermes dependency or external real-SDK compatibility test.
Credentials come from the shared ~/.config/ory-agent-plugins/config.json, so a login
performed by any other Ory harness plugin or SDK integration is reused here.
Release files for ory-hermes 1.3.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ory_hermes-1.3.1.tar.gz | 6.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ory_hermes-1.3.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 11.4 kB
Release files / ory_hermes-1.3.1.tar.gz
| Download URL | ory_hermes-1.3.1.tar.gz |
|---|---|
| Size | 6.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
43623f09e5d004f167e65286a49e551e63c1239f3718c0563d29d87c8314f742
|
|
BLAKE2b-256 checksum How to use checksums |
23766599c691342ded1af91ffd14e2c749f4ed9e7b18832d08cdbf11651d2606
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.20 {"installer":{"name":"uv","version":"0.12.20","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 / ory_hermes-1.3.1-py3-none-any.whl
| Download URL | ory_hermes-1.3.1-py3-none-any.whl |
|---|---|
| Size | 5.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e5b356394704fb75bc963e839e59ab0f99d439aae6ebdc74007a48aa065d3780
|
|
BLAKE2b-256 checksum How to use checksums |
d3929b6c213c3f0bcc1938cf7e934782d40fafc2be1ee02855c289f1f0ba0cca
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.20 {"installer":{"name":"uv","version":"0.12.20","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}
|