Skip to content

Jevaro

Python batching proxy that asks the same Jev questions about many states and streams answers back as Apache Arrow tables.

Proxyprototype

Overview

Jevaro is an experiment in bulk inference with Jev. The TypeSafe API evaluates one state per request; Jevaro lets a client ask the same questions about many independent states in one request, either making the underlying calls concurrently or packing several states into each call with a rows_per_call option. It converts the JSON answers into an Apache Arrow IPC stream in input order, where the schema arrives first, each state becomes a row and each question a column.

Arrow extension types preserve the meaning of Choice, Noul and Score results, with shared labels and legends stored once in the schema, so the data can go straight into pandas, Polars, DuckDB and other Arrow tools. The project ships a Python server (jevaro-server) and readers for Python (sync and async) and JavaScript (browser and Node), all on PyPI or npm. A quickstart evaluates three customer messages and reads the results back with only PyArrow. Each evaluation uses the TypeSafe API at normal charges. It comes from Columnar.

What the decision model decides

TypeQuestionAnswers
OtherCaller-defined Choice, Noul and Score questions applied to many states—

How it works

  1. Run jevaro-server with a TypeSafe key
  2. Client sends many states and one question set
  3. Server fans out or packs states into calls
  4. Answers stream back as ordered Arrow rows and columns

Strengths

  • Bulk evaluation without per-item client code
  • Typed Arrow output for data tools
  • Python and JavaScript readers

Caveats

  • Experimental
  • Normal TypeSafe charges apply per evaluation

Getting started

pip install jevaro-server jevaro, export TYPESAFE_API_KEY, run jevaro-server, then `python jevaro-python/example.py --output jevaro-results.arrows`.

At a glance

Type
Proxy
Status
prototype
Language
Python
Runtime
Proxy server + Python/JS readers
Has code
yes

Use cases and integrations

How curated lists describe it

  • Python batching proxy that asks the same Jev questions about many states and streams the answers back as Apache Arrow, one row per state and one column per question, with Python and JavaScript readers.

    MrJev/awesome-jev

Frequently asked questions

Why Arrow?

So results go directly into pandas, Polars, DuckDB and other Arrow tools with types preserved.

Does it batch inside Jev calls?

It can run calls concurrently or pack several states per call with rows_per_call.

Which languages can read the output?

Python and JavaScript readers are provided.

Related projects

  • Command-line tool for Laya typed decisions with presets, batch streaming, shortlisting, evaluation and a resident daemon.

    CLIbetaPython
  • Go harness for System One models: hosted Jev, open Kev in-process via llama.cpp, and Cloudflare Clef, with typed helpers and a CLI.

    ServicebetaGo
  • TypeScript library for one-line local decisions with open models (kev-0.6b, kev-4b, open-jev), no API keys or cloud.

    ProjectbetaTypeScript
  • Swift 6 bridge that runs System One decision models behind Apple's Foundation Models API, on device with Laya or via hosted endpoints.

    ProjectbetaSwift
  • PHP library, extracted from LLPhant, for typed Jev Noul, Choice and Score calls, also usable with a Laya endpoint.

    LibrarybetaPHP
  • Unofficial Rust gateway routing /v1/systemone requests to TypeSafe, Vercel, OpenRouter or local Laya via an editable DAG.

    ProxybetaRust