1Password Agent Broker SDK
A typed, bounded mTLS client for the separately deployed 1Password Agent Broker. Service clients install this distribution to request key operations without installing the broker server, its 1Password integration or its database adapters.
Install
Requires Python 3.12 or newer, excluding 3.14.1. After the SDK release is published:
python -m pip install 1password-agent-broker-sdk
Import CryptoClient, Binding and Request from agent_broker_sdk. Construct
CryptoClient(url, ca, cert, key) using operator-provided paths, then pass a typed
Request to invoke. The returned bytes may contain a transient data key: keep
them inside the trusted service and out of logs, agent context and persistent
storage. See the key service contract for request
fields and operator setup.
Inputs and authority
| Input | Meaning |
|---|---|
url |
Fixed HTTPS broker origin; no path, credentials, query or fragment |
ca |
Path to the trusted broker certificate authority |
cert, key |
Paths to the workload's scoped TLS certificate and private key |
Request |
Opaque grant, task, authority, policy and key identifiers, immutable record binding and operation payload |
The client holds no 1Password service token or custodial private key. The broker checks current policy for each operation. SDK validation checks wire shape; it does not grant permission. A small dependency set does not limit the authority of an overprivileged certificate.
Compatibility and failures
The SDK owns protocol-version-one models and schemas. The server imports these
same contracts. Its original agent_broker.crypto.client.CryptoClient import
remains available with the original runtime exception boundary.
The SDK requires TLS 1.3, verifies server identity, presents a client certificate,
limits messages to 4 KiB and decoded results to 1 KiB, and uses a 30-second socket
timeout. It raises a fixed BrokerError without reflecting payloads or policy.
Calls have no implicit retry; callers retain the exact request UUID and payload
when explicitly recovering a request. No admin, provider or policy-edit API is
included.
Development and publication
The repository's root lockfile owns the SDK test environment. Both distributions use the same release version and immutable source tag. CI tests the SDK's isolated wheel and real mTLS transport before publishing signed archives and both PyPI packages. The SDK has no server dependency; the server depends on its exact SDK version. Local Poetry development resolves that dependency from this directory, while wheel metadata names the versioned registry distribution.
Metadata
Release files for 1password-agent-broker-sdk 0.4.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 | |
|---|---|---|---|
| 1password_agent_broker_sdk-0.4.0.tar.gz | 10.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 1password_agent_broker_sdk-0.4.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 23.7 kB
Release files / 1password_agent_broker_sdk-0.4.0.tar.gz
| Download URL | 1password_agent_broker_sdk-0.4.0.tar.gz |
|---|---|
| Size | 10.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c4a6ecf49431ae2a5d3625b8303258cbaefd372777277d5580e5f176bd9d8207
|
|
BLAKE2b-256 checksum How to use checksums |
e18dfbfab9848b8040459fc8729e5e47704cded31e2ebc1c5561207e5a48844d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / 1password_agent_broker_sdk-0.4.0-py3-none-any.whl
| Download URL | 1password_agent_broker_sdk-0.4.0-py3-none-any.whl |
|---|---|
| Size | 13.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a957b9a9ea06b7d9db9da330bbcc89452c818d895d9ac0bc20270cd5182f8556
|
|
BLAKE2b-256 checksum How to use checksums |
c6bd847dc1b79d093a974a39b68a6ff8cc3272c2626cd9216479db04aa9f6c58
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|