Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

hol-cigar

hol-cigar provides local Rust context graphs and the compatible remote CIGAR SDK from HOL.org.

Beta: 0.10.0b1, Python 3.14. The platform wheel bundles the local context worker for macOS ARM64; it does not include the Honey daemon. Remote v1 APIs remain compatible with 0.9.4. Other native targets and production deployment are not qualified by this beta.

The Python 3.14 SDK exposes all 45 frozen CIGAR v1 operations through both AsyncCigarClient and CigarClient. Both facades provide bounded deadlines, typed problems, resumable streams, pagination, fixed idempotency keys, safe retry, and local semantic bundle/delta verification. The PyPI distribution is named hol-cigar; its stable Python import namespace remains cigar_sdk. The exported cigar_sdk.CONTEXT_ABI constant is the exact string cigar.context.v1.

python3.14 -m pip install ./hol_cigar-0.10.0b1-py3-none-macosx_11_0_arm64.whl

Verify the signed GitHub release assets before installation. Registry publication is separate; once listed on PyPI, use python3.14 -m pip install 'hol-cigar==0.10.0b1'.

Local context graph (no server or model required)

from cigar_sdk import LocalContextGraph

with LocalContextGraph("my-project") as graph:
    graph.replace_source("src/auth.py", [
        {"id": "authorize", "source": "src/auth.py", "text": "def authorize(user):\n    return user.active\n"}
    ])
    result = graph.compile({"query": "authorize", "max_tokens": 1024, "reserve_tokens": 128})
    context_text = result["rendered"]  # place in your prompt's DATA/context role
    assert result["snapshot"]["stats"]["rendered_tokens"] <= 896

The persistent worker retains incremental indexes and its bounded exact o200k_base cache. upsert, remove, link/unlink, atomic replace_source, line-preserving chunks, compile, verify, delta, apply_delta, stats, and clear_cache expose the Rust core. Input/request/snapshot types are exported as LocalDocument, LocalContextRequest, LocalContextSnapshot, etc. Local methods are synchronous and thread-serialized; the existing AsyncCigarClient remains the asynchronous remote client.

required IDs include their complete hard dependency/contradiction closure. Pass allowed on every call when source permissions differ ([] authorizes none; omission permits the whole caller-owned graph). excerpt_mode="query_windows" is opt-in; full text is the default. Source withdrawal preserves hard edges, so missing required evidence fails closed. Snapshot digests are integrity commitments, not signatures or authority. Deltas reduce transport/storage bytes, not stateless model prompt tokens. Token budgets include Rust-rendered citations but exclude the provider envelope; reserve that separately. This beta does not claim new answer-quality or token-reduction gains beyond the underlying Rust selector.

Use with or close() to release the worker. Each graph owns one process and privacy-local cache. Defaults: 30-second call timeout, 32 MiB request, 64 MiB response, 100k documents, 256 MiB indexed text, 1024 cache entries/8 MiB cached text. Customize limits and timeout. Cache clearing drops strings but does not guarantee memory zeroization. A LocalContextError has a content-free code; timeout/protocol/pipe failure closes the graph and never retries mutations. Invalid wire fields also close it. A lock-wait Busy error leaves the active call alone.

The portable source distribution and wheels built without native staging retain all SDK APIs, but local graphs require an explicit trusted absolute worker_path. Build it from the matching 0.10.0-beta.1 Rust source using Rust 1.92+:

cargo build --locked --release -p cigar-context --features bpe --bin cigar-context-worker

Pass the resulting executable to LocalContextGraph("my-project", worker_path="/absolute/path/to/cigar-context-worker"). No PATH discovery, install-time downloads, shell invocation, or automatic filesystem ingestion occurs. Bundled worker bytes are checked against their package manifest before launch; this is not a substitute for trusting the package publisher. The subprocess runs with your OS privileges and inherits its environment; it is not a security sandbox. It adds startup/IPC/memory overhead compared with embedding Rust directly. Reuse graphs to amortize initialization.

Compatible remote client

from cigar_sdk import AsyncCigarClient, TypedOperationRequest, create_idempotency_key, models

async with AsyncCigarClient("https://cigar.example", bearer_token=token_provider) as client:
    result = await client.compile_context_bundle(
        TypedOperationRequest(
            models.CompileContextBundleRequest(plan_id=plan_id),
            idempotency_key=create_idempotency_key("compile"),
        )
    )

Every nominal request and response is validated against the frozen payload schema. Mutating retries reuse the exact caller-provided key and bytes. Effect dispatch is always one attempt. Synchronous and asynchronous streams are explicit context managers so callers can close the underlying response deterministically.

Token providers accept the remaining call timeout in seconds. Injecting a custom HttpTransport requires trust_custom_transport=True; the default transport ignores ambient proxies and refuses redirects. The wheel and source distribution both include the shared fixture, so cigar-qualify-bundle works from a clean installation.

Honey distributions also install cigar-agent-b-handoff. It accepts an existing recipient-bound handoff, then records one typed, evidence-backed result with independent idempotency keys. The Agent B bearer token is read only from CIGAR_AGENT_B_TOKEN, never a command-line argument. Run cigar-agent-b-handoff --help for the required handoff, plan, base-commit, revision, claim, evidence, and caller-generated acceptance/result idempotency keys. The example requests no follow-up capability and never dispatches an effect.

Remote HTTPS construction requires an explicit bearer_token value or provider. The SDK never discovers credentials from the URL, environment, project configuration, proxy settings, or a redirect target. Explicit cleartext loopback mode remains available only for local development.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hol_cigar-0.10.0b1.tar.gz (99.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

hol_cigar-0.10.0b1-py3-none-macosx_11_0_arm64.whl (3.1 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

File details

Details for the file hol_cigar-0.10.0b1.tar.gz.

File metadata

  • Download URL: hol_cigar-0.10.0b1.tar.gz
  • Upload date:
  • Size: 99.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for hol_cigar-0.10.0b1.tar.gz
Algorithm Hash digest
SHA256 1759dbcb3bb49b9b352e3d9f4604c6e5442ced032078537b161554f5bbad70f6
MD5 c513889059099bdc06ee2c7eb2d16b7d
BLAKE2b-256 8608177c8704ebb07b61c1b5d501bfdfa1b719296b4f9c8190d70b00aab62eee

See more details on using hashes here.

Provenance

The following attestation bundles were made for hol_cigar-0.10.0b1.tar.gz:

Publisher: publish-hol-cigar.yml on hashgraph-online/hol-cigar

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hol_cigar-0.10.0b1-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for hol_cigar-0.10.0b1-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7f0595ab1121b8a77fd07a76fc1cda7174fba4101853e67f166534849979e004
MD5 74f561403c89bbfa65cefe09681f40f6
BLAKE2b-256 bde78bfd23dc94ec63cab2df0742afb8b58e25ae441873801cd7de105e6ad10e

See more details on using hashes here.

Provenance

The following attestation bundles were made for hol_cigar-0.10.0b1-py3-none-macosx_11_0_arm64.whl:

Publisher: publish-hol-cigar.yml on hashgraph-online/hol-cigar

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.10.0b1 This release

2 files

0.9.4

2 files

0.9.2

2 files

0.9.1

2 files

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