Skip to content

jevr

Native R client that sends a state and typed questions to TypeSafe or OpenRouter and returns structured probabilities in R.

Librarybeta

Overview

jevr is an R client for Jev and TypeSafe's System One API. You define questions with helpers such as jev_choice and jev_noul, pass them with a state to jev_ask(), and get back structured answers with choices, probabilities, confidence, usage and provider metadata that can be used directly in R. The question names become the answer IDs, so several questions can be sent in one request.

For many states, jev_map() evaluates each independently with bounded HTTP concurrency; the README is careful to note this is not model-level batching. The state can be a string or a named list representing a JSON object. Requests can go directly to TypeSafe or through OpenRouter, with keys read from .Renviron at call time and never included in returned objects. It also supports listing models and versioned question specifications. It is aimed at R users in data analysis and research who want typed classification in their pipelines.

What the decision model decides

TypeQuestionAnswers
ChoiceWhich team should handle this?billing · technical · sales
Yes / noDoes this request convey urgency?—

How it works

  1. Set TYPESAFE_API_KEY or OPENROUTER_API_KEY in .Renviron
  2. Define typed questions with jev_choice, jev_noul or score helpers
  3. Call jev_ask(state, questions) or jev_map(states, questions)
  4. Use returned choices and probabilities in R code

Strengths

  • Idiomatic R interface with named answers
  • Provider-independent: TypeSafe or OpenRouter
  • Keys never stored in result objects
  • R CMD check in CI

Caveats

  • Development version on GitHub; CRAN release pending
  • jev_map is concurrent requests, not batching
  • Requires a provider key

Getting started

pak::pak("simxnherrera/jevr"), set TYPESAFE_API_KEY in .Renviron, then call jev_ask(state, questions).

At a glance

Type
Library
Status
beta
Language
R
Runtime
R package
Has code
yes
Has tests
yes

Use cases and integrations

How curated lists describe it

Frequently asked questions

Which providers are supported?

TypeSafe directly and OpenRouter.

How do I classify many records?

Use jev_map(), which evaluates each state independently with bounded concurrency.

How does it relate to JevR by mountainmath?

They are separate R clients by different authors.

Related projects

  • Local service to define, test and publish versioned Jev judgment functions, callable over HTTP by backends and over MCP by agents.

    MCP serverbetaTypeScript
  • Ruby gem that stores Jev Noul, Choice and Score answers about a record's text as ordinary ActiveRecord columns you can query.

    LibrarybetaRuby
  • Unofficial Go client for TypeSafe System One with generics that bind each choice, score and noul answer to a declared Go type.

    ProjectbetaGo
  • Python dialect that adds a '~' operator and jev/case blocks so a branch can ask Jev a yes/no, scale or choice question.

    ProjectprototypePython
  • Provider-independent .NET decision engine with a separate TypeSafe Jev provider package mapping Choice, Score and Noul to /v1/systemone.

    LibrarybetaC#
  • Elixir/OTP library treating Jev as a peer process whose answers arrive as messages you pattern match in GenServer clauses.

    LibrarybetaElixir