Skip to main content

jammi-ai

The Python client (import jammi) for a Jammi engine — one connect(target) for local (embedded) and remote targets.

jammi-ai is the base client: a universal py3-none-any wheel that links no candle/ML stack — just grpcio + protobuf + pyarrow — for production where the engine runs behind a server. It also discovers the compiled in-process engine as an OPTIONAL backend: pip install jammi-ai[embedded] pulls jammi-ai-native, and then connect("file://…") resolves the local target to an in-process engine (direct FFI) through the SAME front door. Absent the extra, the base stays native-free and a file:// target raises a truthful NoEmbeddedEngineError.

One front door

import jammi

db = jammi.connect("https://engine.example.com")
db.add_source("patents", url="s3://corpus/patents.parquet", format="parquet")
db.generate_embeddings(source="patents", model="local:tiny_bert",
                       columns=["abstract"], key="id", modality="text")
q = db.encode_query(model="local:tiny_bert", query="quantum computing")
hits = db.search("patents", query=q, k=5)   # -> pyarrow.Table

connect(target) is the Python mirror of the Rust Jammi::open(Target): transport is config, not a code path.

Authenticated channels

A bearer-protected endpoint is reached by attaching credentials to the channel — the bearer rides the channel (attached once at connect), not threaded through every call:

from jammi import connect, BearerCredentials

db = connect("https://engine.example.com", credentials=BearerCredentials(token))

The same works on a plaintext grpc:// target for local development. The bearer covers the typed gRPC verbs (on the channel) and db.sql() (the Flight SQL lane, per call) alike.

target transport
https://host / grpcs://host:8081 secure remote
http://host / grpc://host:8081 plaintext remote
file:///data in-process engine (direct FFI) with the [embedded] extra installed; otherwise raises NoEmbeddedEngineError pointing at pip install jammi-ai[embedded]

Scaling local→remote is an env flip (connect(os.environ["JAMMI_TARGET"])) with no code change. The lean deploy build and the embedded build are ONE package — the same import jammi, connect unchanged — differing only by whether the [embedded] extra is present.

Generated from the canonical proto

The wire stubs under jammi/_generated/ are generated from the same jammi.v1 proto the engine, npm client, and embed wheel speak — one source, no parallel schema. Regenerate after a proto change:

pip install -e '.[dev]'
make generate

Metadata

Release files for jammi-ai 0.54.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 0.54.0
File Interpreter ABI Platform
jammi_ai-0.54.0-py3-none-any.whl Python 3 none any Details

Release files / jammi_ai-0.54.0-py3-none-any.whl

Download URL jammi_ai-0.54.0-py3-none-any.whl
Size 199.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7ce0315960436d78765846fed7f7a7d3549139500bb3087b3827c843bc7e8532
BLAKE2b-256 checksum
How to use checksums
6bede1de4184cabfcfd4edab98e7b98519cbc81a3e69abdfd4c583476faafc44
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 3, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.54.0 This release

1 release file

0.53.0

1 release file

0.52.0

1 release file

0.51.0

1 release file

0.50.0

1 release file

0.49.1

1 release file

0.49.0

1 release file

0.48.0

1 release file

0.47.0

1 release file

0.46.0

1 release file

0.45.0

1 release file

0.44.0

1 release file

0.43.0

1 release file

0.42.0

1 release file

0.41.0

1 release file

0.40.0

1 release file

0.39.0

1 release file

0.38.0

1 release file

0.37.0

1 release file

0.36.0

1 release file

0.35.0

1 release file

0.34.0

1 release file

0.32.0

3 release files

0.31.0

3 release files

0.30.0

3 release files

0.29.0

3 release files

0.28.0

3 release files

0.26.5

3 release files

0.26.4

3 release files

0.26.3

3 release files

0.26.2

3 release files

0.26.1

3 release files

0.26.0

3 release files

0.12.1

3 release files

0.12.0

3 release files

0.11.0

3 release files

0.10.0

3 release files

0.9.0

3 release files

0.8.0

3 release files

0.7.0

3 release files

0.5.9

3 release files

0.5.8

3 release files

0.5.7

3 release files

0.5.4

3 release files

0.5.0

3 release files

0.3.0

3 release files

0.2.0

3 release files

0.1.9

3 release files

0.1.8

3 release files

0.1.7

3 release files

0.1.6

3 release files

0.1.5

3 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release 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