Skip to main content

ory-argus (Python)

Ory Agent Security core for Python — the sibling of the TypeScript @ory/argus package.

It provides the shared primitives that the Ory Agent SDK integrations (LangChain, OpenAI Agents, Pydantic AI, Microsoft Agent Framework, CrewAI, LlamaIndex, Google ADK, AWS Strands, Google Antigravity, Hermes Agent) build on:

  1. Authenticate the session on startup (user PKCE login + injected or Talos runtime identity).
  2. Authorize every tool call against Ory Permissions (Zanzibar-style relation checks).
  3. Record every tool invocation as a privacy-safe structured activity event in the unified NDJSON log.
  4. Propagate identity through the user → agent → sub-agent delegation chain.

Interop with the TypeScript core

ory-argus reads and writes the same shared config file as every TS harness plugin — ~/.config/ory-agent-plugins/config.json (XDG / %APPDATA% aware). A user who logs in via a TS coding-agent harness has those credentials transparently reused by a Python SDK integration, and vice-versa. This package never invents a second config location; use get_data_dir() / get_config_path().

Install: pip install ory-argus · Console script: ory-argus

SPIFFE runtime authentication

Call create_spiffe_file_request_authenticator(generation_path=..., generation_file=..., expected_server_spiffe_id=...) for generated SPIFFE deployments. The expected ID must exactly match a URI SAN on the peer leaf; CA-chain verification remains enabled, while DNS SANs and other same-bundle workloads do not satisfy it. The authenticator uses TLS 1.3 mutual TLS and does not consume forwarded identity headers. The generation directory defaults to svid.pem, svid-key.pem, and bundle.pem; atomically switch its symlink to rotate a coherent set. If provided, generation_file is checked before and after each snapshot. Hosted Web-PKI servers must explicitly set verify_hostname=True instead of expected_server_spiffe_id; that mode reads the bundle as part of the material snapshot but uses system trust roots and ordinary HTTPS hostname verification. Server-SPIFFE mode trusts the workload bundle and requires the exact sole URI SAN. Exactly one identity mode is required. The legacy three-path form remains available but cannot guarantee a coherent snapshot. One request setup is retried if rotation races with certificate/key validation.

Administrator-preprovisioned headless Agents normally provide only ORY_AGENT_API_KEY (or an injected runtime authenticator such as SPIFFE) plus the project and Agent Security URLs. Before PKCE, Argus resolves the subject and opaque root from Agent Security and keeps them only in memory. ORY_AGENT_SUBJECT_ID and ORY_AGENT_ROOT_DELEGATION remain compatibility overrides; a complete legacy package skips the context request.

Metadata

Release files for ory-argus 1.4.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ory-argus 1.4.3
File Size Uploaded
ory_argus-1.4.3.tar.gz 185.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ory-argus 1.4.3
File Interpreter ABI Platform
ory_argus-1.4.3-py3-none-any.whl Python 3 none any Details

Total release size: 320.2 kB

Release files / ory_argus-1.4.3.tar.gz

Download URL ory_argus-1.4.3.tar.gz
Size 185.9 kB
Tags Source
SHA-256 checksum
How to use checksums
a7d820a8082e703524f1bb189c196dd5d9d265f1014f38b1343fe34d641c7287
BLAKE2b-256 checksum
How to use checksums
dd128f5b609135f7c8bb4356b9e0766b6ddb2fdb9807712e3b60d65cff343b4d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.22 {"installer":{"name":"uv","version":"0.12.22","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_argus-1.4.3-py3-none-any.whl

Download URL ory_argus-1.4.3-py3-none-any.whl
Size 134.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
266990a9bc99e1786c9c2535e6c906734f1b84a9941d1b943253094fabb6c3ae
BLAKE2b-256 checksum
How to use checksums
040448b03c1a6a20fb3ac36ba7d0dbcb81ca526e1ac73bdc235b4a27342cb405
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.22 {"installer":{"name":"uv","version":"0.12.22","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 history Release notifications | RSS feed

1.4.8

2 release files

1.4.7

2 release files

1.4.6

2 release files

1.4.5

2 release files

1.4.4

2 release files

This release

1.4.3 This release

2 release files

1.4.2

2 release files

1.4.1

2 release files

1.4.0

2 release files

1.3.1

2 release files

1.3.0

2 release files

1.2.4

2 release files

1.2.3

2 release files

1.2.2

2 release files

1.2.1

2 release files

1.2.0

2 release files

1.1.0

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.14.0

2 release files

0.13.9

2 release files

0.11.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page