Skip to main content

DeadBolt Python client

n11-deadbolt-client connects a trusted Python executor to a separately installed DeadBolt local sidecar. Each protected callback gets a fresh admission decision; a denial leaves its body uncalled. The base client has no runtime dependencies.

Version and installation

This source builds Python client 2.0.1.post1, paired with engine 2.0.1. The postrelease corrects package documentation only. Its three Python runtime modules are byte-identical to client 2.0.1. There is no new engine version, behavior change or state migration. Existing 2.0.1 artifacts remain immutable. Source preparation does not publish a package; check the exact version on PyPI before installing.

In your application's virtual environment, once this version is published:

python -m pip install 'n11-deadbolt-client==2.0.1.post1'
# Optional SDK adapter, Python 3.10+:
python -m pip install 'n11-deadbolt-client[openai-agents]==2.0.1.post1'

Base client support starts at Python 3.9. The optional extra pins openai-agents==0.23.1. Installing either route makes no model requests and requests no API credentials. Your application configures its own provider.

Install engine 2.0.1 separately using the checksum-verified native archive, Cargo or Homebrew route in installation. The wheel contains no engine, starts no sidecar and protects no unwrapped route. Verify the engine with deadbolt --version (expect deadbolt 2.0.1) and deadbolt drill (expect deadbolt drill ok). No registry account is needed to install.

The already-published 2.0.1 wheel has the correct runtime modules and package version, but its frozen long description recommends 2.0.0. The postrelease corrects that documentation without replacing either version's bytes. A pinned 2.0.1 application does not need a behavior migration for this metadata correction.

Connect one protected callback

After trusted operator setup starts the sidecar and issues a scoped admission credential, configure DEADBOLT_SOCK and DEADBOLT_ADMISSION_TOKEN in your executor. Keep operator/supervisor credentials and private state outside model-facing processes. The operator configures tools, destinations and required approvals before protected dispatch.

import deadbolt_client as deadbolt

result = deadbolt.dispatch("run-001", "write_note", lambda: write_reviewed_note())
if not result["executed"]:
    show_denial(result["decision"])

write_reviewed_note and show_denial are application functions. Never cache an allow or execute after a denial or transport failure. Use exact-action wrappers where approval must bind to content rather than just a tool name. ensure confirms record presence, not a live admission grant.

Fresh version 2 roots default to supervisor renewal. Provision a separate trusted heartbeat before idle expiry, or deliberately select activity mode. Neither mode extends a fixed deadline or revives killed/expired state. Existing leases retain their stored mode; installing a client does not migrate them.

Limits

Only execution routes that call DeadBolt are protected. Destination policy is not OS network interception. The executor owns cancellation of already running work. The optional deadbolt_supervisor.run_owned POSIX reference needs Python 3.13+ and its required wait interface; it refuses unsupported hosts, including Windows, before execution. Ordinary callback wrappers do not cancel running bodies.

Build and verify

A reviewed checkout of this postrelease source builds client 2.0.1.post1; the older v2.0.1 tag retains client 2.0.1. Record the exact source revision. The engine remains 2.0.1 in both. The package acceptance script builds the sdist, builds its wheel outside the checkout, checks metadata and installs without optional dependencies to test unavailable-sidecar denial. Publication additionally requires runtime-module equality with the checksum-pinned original 2.0.1 wheel.

python -m build --outdir release-artifacts/python
python tests/python_package_acceptance.py

Build/check tooling is separate from runtime requirements; see the repository's contribution and release instructions. A local wheel is not publication evidence.

Guides and support

Maintained by NextEleven LLC, licensed Apache-2.0. Support: nextelevenstudios@gmail.com. Never include credentials or private application data in public issues or support reports.

Metadata

Release files for n11-deadbolt-client 2.0.1.post1

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

Source distribution (sdist)

Source distribution for n11-deadbolt-client 2.0.1.post1
File Size Uploaded Provenance Actions
n11_deadbolt_client-2.0.1.post1.tar.gz 150.0 kB With provenance Details for n11_deadbolt_client-2.0.1.post1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for n11-deadbolt-client 2.0.1.post1
File Interpreter ABI Platform Actions
n11_deadbolt_client-2.0.1.post1-py3-none-any.whl Python 3 none any Details for n11_deadbolt_client-2.0.1.post1-py3-none-any.whl

Total release size: 170.7 kB

Release files / n11_deadbolt_client-2.0.1.post1.tar.gz

Download URL n11_deadbolt_client-2.0.1.post1.tar.gz
Size 150.0 kB
Tags Source
SHA-256 checksum
How to use checksums
63580cb25c8955129056a2028f27d9454270ad9216fd08a5d72f23a072812868
BLAKE2b-256 checksum
How to use checksums
af794cb9617c1f772cb129cec9fb5b77018ed26f396fc38399e84096ade6bd9f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 4, 2026.

Transparency log

Release files / n11_deadbolt_client-2.0.1.post1-py3-none-any.whl

Download URL n11_deadbolt_client-2.0.1.post1-py3-none-any.whl
Size 20.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9eec06ee05210ea5b96a7c65ecc08ceec3f4c3e5a2b9f55211c3141a6ba7f481
BLAKE2b-256 checksum
How to use checksums
01bff6fbcd7173eff31db71e5d00806a1ac3f3a03df41061bfb40ac54d4529ce
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 4, 2026.

Transparency log

Security for n11-deadbolt-client 2.0.1.post1

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.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for n11_deadbolt_client-2.0.1.post1.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 4, 2026.

Transparency log

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.

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