Skip to main content

jammi-ai-platform

Python SDK for the Jammi AI Platform — the commercial managed audit-native AI platform. Talks to a Jammi SaaS endpoint via gRPC with bearer-token authentication.

Install

pip install jammi-ai-platform

Wheel-only distribution. Python 3.9+ on Linux / macOS / Windows.

Quickstart

import jammi_ai_platform as jap

with jap.Connection(url="https://api.jammi.cloud", api_key="jt_…") as conn:
    print(conn.tenant_id)         # resolved via WhoAmI at connect time
    print(conn.token_label)       # label of the bearer in use

    registry = jap.Registry(conn)
    model_id = registry.register_model("recall-q4", task="embedding")
    version_id = registry.register_version(
        model_id,
        jammi_model_id="bge-small-en-v1.5",
        source=jap.ManualSource(metric_name="recall_at_k", metric_value=0.92),
    )

    jap.Gate(conn).check(
        version_id,
        jap.GateConfig(
            gate_name="ship-gate",
            source_id="patents",
            golden_set="golden-1",
            k=10,
            rule=jap.ThresholdRule(
                metric_name=jap.MetricName.RECALL_AT_K,
                threshold=0.85,
                op=jap.ThresholdOp.GE,
            ),
        ),
    )

Use http://… / grpc://… instead of https://… / grpcs://… for local insecure development.

Configuration is typed

Every control-plane config is a typed builder, not an untyped dict: enums for the *_type/direction/op fields (so an invalid value is a construction error), and tagged-union variants dispatched by type — MaxIterationsBudget / WallClockBudget / NoImprovementBudget for an ExperimentConfig budget, EmbeddingTarget / InferenceTarget for a MonitorConfig target, ThresholdRule / RangeRule / WelchTTestRule / MannWhitneyURule / ParetoDominatesRule / CompoundRule for a gate Rule, and ExperimentIterationSource / ManualSource for a registry version source. The open JSON/Struct payloads — an experiment's search_space, a validation's perturbation_params, an evidence config_json — stay plain dicts.

Data plane (composed from jammi-ai)

connect, RemoteDatabase, and BearerCredentials are re-exported from jammi (the jammi-ai client): the embed / search / sql data plane comes from there, the control plane lives here, and both ride jammi's bearer transport.

The data plane and the control plane open separate sessions. A jap.Connection is bearer-scoped — it resolves a tenant via WhoAmI and vends the control-plane handles. jap.connect(target, credentials=...) opens its own RemoteDatabase session (jammi-session-id scoped) for the data plane. They are two independent connections, not one shared channel; open each explicitly.

Surface

  • Connection — control-plane gRPC channel + bearer auth, calls WhoAmI at connect
  • connect / RemoteDatabase — re-exported jammi data plane (embed / search / sql)
  • Registry — model + version + evidence catalog
  • Gate — quality-gate checks
  • Monitor — embedding / inference / divergence monitors + run streaming
  • Experiment — Bayesian / Grid / Random experiments
  • DeploymentBlocks — block / unblock sources from production traffic
  • Resilience — perturbation-based validation runs
  • Auth — issue / revoke / list API keys; WhoAmI
  • Tenants — read-only tenant directory lookup

Errors

status_to_exception (in jammi_ai_platform.errors) maps every gRPC status code to a typed Python exception. The hierarchy:

  • PlatformException
    • NotFoundError
    • AlreadyExistsError
    • TransitionNotAllowedError
    • TenantUnboundError
    • ConfigError
    • PermissionDeniedError

Docs

Full docs at https://docs.jammi.cloud.

Metadata

Release files for jammi-ai-platform 0.8.0

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

Built distribution (wheel)

Table of built distributions (wheels) for jammi-ai-platform 0.8.0
File Interpreter ABI Platform
jammi_ai_platform-0.8.0-py3-none-any.whl Python 3 none any Details

Release files / jammi_ai_platform-0.8.0-py3-none-any.whl

Download URL jammi_ai_platform-0.8.0-py3-none-any.whl
Size 110.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9ecbe04a802442abdc8130de1025b01e711ae2b689b84c17d64154848383c243
BLAKE2b-256 checksum
How to use checksums
25d73a8d5068d58b68fabbc2ff2540a2ad7409125063363af81f5956386e6807
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 11, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.8.0 This release

1 release file

0.7.0

1 release file

0.6.0

1 release file

0.5.0

1 release file

0.4.0

1 release file

0.3.0

1 release file

0.2.0

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