Skip to content

JevR

R client for TypeSafe's Jev with tidy helpers to run noul, choice and score questions over vectors and data frames.

Librarybeta

Overview

JevR (mountainmath) is an R client for TypeSafe's Jev System One API. You build questions with jev_noul, jev_choice and jev_score, ask them about a state with jev(), and get a response object showing p(yes), the chosen option with its confidence and the expected score position. Helpers such as jev_tidy() flatten answers into one row and jev_probabilities() return a full distribution.

States can be strings or named lists or one-row data frames, and questions can refer to fields by name in backticks. jev_map() runs the same questions over a character vector, list or data frame rows and returns one tidy row per record, keeping failed requests as NA rows with the error message. The README example classifies dentist reviews for cost and pain complaints and overall sentiment, illustrating use in survey, review or document analysis. All questions in one call are evaluated in parallel against the same state. It is aimed at R data analysts.

What the decision model decides

TypeQuestionAnswers
Yes / noDoes this convey urgency?—
ChoiceWhat is this message about?payments · account · other
ScoreHow does the writer feel?Calm · Frustrated · Very angry

How it works

  1. Set TYPESAFE_API_KEY in ~/.Renviron
  2. Define questions with jev_noul, jev_choice and jev_score
  3. Call jev() on one state or jev_map() over a data frame
  4. Tidy results with jev_tidy() and bind back to the data

Strengths

  • Tidy, data-frame-friendly output
  • Failed requests kept as NA rows with errors
  • Field references in questions via backticks

Caveats

  • Installed from GitHub, not CRAN
  • Requires a TypeSafe key
  • Personal project with limited documentation of tests

Getting started

remotes::install_github("mountainMath/JevR"), set TYPESAFE_API_KEY in ~/.Renviron, then res <- jev(text, questions).

At a glance

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

Use cases and integrations

How curated lists describe it

Frequently asked questions

How do I score a whole data frame?

Use jev_map(data, questions); it returns one tidy row per record.

What happens on errors?

Failed requests become NA rows with the message in .error.

Is it on CRAN?

The README installs it from GitHub or a local path.

Related projects

  • pandas and Polars .jev accessor for classifying, sentiment-scoring and grading DataFrame rows with Jev probabilities.

    DemobetaPython
  • Hack Club's lightweight LLM proxy, listed for adding a Jev forwarding endpoint behind its auth, limits and usage logging.

    MCP serverproductionTypeScript
  • Ax, a DSPy-style multi-language LLM framework, listed with a native TypeSafe provider for Boolean, Choice, Score and raw Jev questions.

    PluginproductionTypeScript
  • Effect TypeScript library whose @effect/ai-typesafe package maps classify, probability and rating operations to Jev questions.

    ProjectproductionTypeScript
  • PHP monorepo whose Polyglot module adds a TypeSafe driver for typed Noul, Choice and Score decisions alongside LLM inference.

    ProjectproductionPHP
  • Go MCP server giving any client typed Jev decisions via OpenRouter or TypeSafe, with validated answers and no paid retries.

    MCP serverproductionGo