jev-lite
OpenAI-style Python client for TypeSafe Jev (System One).
Jev does not generate text. Send state plus typed questions; get structured
decisions with probabilities. This first release (v0.0.1) is the official
TypeSafe HTTP client — sync and async, same shape as the OpenAI Python SDK.
pip install jev-lite
# or: uv add jev-lite
Python 3.11+. Set TYPESAFE_API_KEY. Docs: https://docs.typesafe.ai/
Usage
from jev_lite import Choice, Noul, Score, TypeSafe
client = TypeSafe() # TYPESAFE_API_KEY
result = client.system_one.create(
state="I was charged twice. Please fix this ASAP.",
questions={
"billing": Noul(instructions="Is this ticket about billing?"),
"tone": Choice(
instructions="What is the customer's tone?",
criteria={"calm": None, "frustrated": None, "angry": None},
),
"urgency": Score(
instructions="How urgent is this ticket?",
criteria=["can wait", "this week", "today"],
),
},
)
print(result.nouls["billing"].noul)
print(result.choices["tone"].choice)
print(result.scores["urgency"].score)
print(result.elapsed_ms, result.request_id, result.usage)
print(client.models.list()) # GET /v1/models
Async is the same surface with await:
from jev_lite import AsyncTypeSafe, Noul
async with AsyncTypeSafe() as client:
result = await client.system_one.create(
state="I was charged twice. Please fix this ASAP.",
questions={"billing": Noul(instructions="Is this ticket about billing?")},
)
models = await client.models.list()
Pin the model with TypeSafe(model="jev-1.13.0") (or TYPESAFE_DEFAULT_MODEL);
jev-latest moves. Prefer one system_one.create with many questions over a
loop of calls.
Tracing
Off by default. Opt in and pick the destination:
from jev_lite import instrument
instrument(endpoint="http://127.0.0.1:4318") # local Grafana LGTM
Or set OTEL_EXPORTER_OTLP_ENDPOINT and call instrument(), or install your
own TracerProvider first (Logfire, etc.). Spans record prompt, result, and
latency.
Develop
uv sync --dev
uv run ruff check . && uv run pytest
The supported public API is the TypeSafe client. Optional local engines live
under jev_lite.engine (pip install 'jev-lite[ml]'). See
docs/.
License
Apache-2.0
Release files for jev-lite 0.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| jev_lite-0.0.1.tar.gz | 432.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| jev_lite-0.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 497.7 kB
Release files / jev_lite-0.0.1.tar.gz
| Download URL | jev_lite-0.0.1.tar.gz |
|---|---|
| Size | 432.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b94e0df6b2ff2e16dd4bd5903868e5e290c1af1c5b8ad04156fb4f082e76cb25
|
|
BLAKE2b-256 checksum How to use checksums |
7a24f655782862a8bd0148b24344c92615907d4263c774bb6626c9e32b79adf3
|
| 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 Sep 21, 2026.
Transparency logRelease files / jev_lite-0.0.1-py3-none-any.whl
| Download URL | jev_lite-0.0.1-py3-none-any.whl |
|---|---|
| Size | 65.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
871d35b0d5cdd8883c43846d031c685f755237607f2573b5df69d35dc8dcc252
|
|
BLAKE2b-256 checksum How to use checksums |
56234030deef2f71ddb2e2d3c73e22bd6435b22c88d4a5302e22ce266b9e7baf
|
| 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 Sep 21, 2026.
Transparency log