Skip to main content

jev-checker

A Python semantic checker that adds Jev powered review diagnostics alongside Ruff and Pyrefly. Install from PyPI:

python -m pip install jev-checker

Quick start

Jev loads a .env file from the current directory or a parent directory. Put one provider key in that file; shell environment variables take precedence:

# .env
TYPESAFE_API_KEY=...
# Or use OPENROUTER_API_KEY=... and pass --provider openrouter

# Run with TypeSafe
jev check .

# Run with OpenRouter
jev check . --provider openrouter

The jev-checker check executable is an alias for jev check.

Check committed changes against the merge base of a branch:

jev check . --diff origin/main

--diff reviews commits only. It does not include uncommitted working tree changes. The source excerpts selected for review are sent to the chosen provider after credential pattern redaction. Redaction cannot identify every secret; review your provider's data policy before using the checker on sensitive code.

Diagnostics

The default output resembles other checkers:

src/auth.py:42:5: error: a protected operation may lack authorization [JEV201]

1 error, 0 warnings, 0 infos

error fails the check; warnings and infos do not unless --warnings-as-errors is set. Configure rule levels in pyproject.toml:

[tool.jev]
provider = "typesafe"
select = ["JEV1", "JEV2", "JEV3", "JEV4", "JEV5", "JEV6", "JEV7"]

[tool.jev.levels]
JEV305 = "warning"
JEV601 = "error"
JEV704 = "info"
JEV503 = "off"

The checker keeps diagnostic level, Jev probability, confidence, and impact score as separate values. Use --output-format full for evidence details, --show to print every screening score and follow-up decision, or json for a machine readable report including screening scores. Supported formats are concise, full, json, and github. Exit codes are 0 for no errors, 1 for blocking diagnostics, and 2 when the requested analysis cannot be completed. --exit-zero affects only code 1. JSON reports also distinguish supported, dismissed, context-limited, and incomplete candidates while omitting raw source excerpts.

Built-in rules

  • JEV1 correctness, JEV2 security, JEV3 reliability, JEV4 compatibility
  • JEV5 test evidence, JEV6 performance, JEV7 observability

Security, correctness, reliability, and compatibility rules default to errors. Test, performance, and observability rules default to warnings. Use --select, --ignore, and --rule-level RULE=LEVEL to adjust the run.

Checker pipeline

Run each tool as a separate step so its result stays visible:

ruff check .
ruff format --check .
pyrefly check
jev check . --diff origin/main --output-format json > jev-report.json

Provide the diff base in the CI checkout. Keep provider credentials in the CI secret store and run authenticated reviews only in trusted jobs. jev check . --dry-run reports file and region counts without using credentials or the network. The default run allows up to 100 API attempts and 20 evidence follow-ups, with at most three concurrent requests. The local SQLite cache lasts 24 hours for pinned models; mutable aliases such as jev-latest bypass it. Use --no-cache to disable it for a run. The provider controls request pricing and rate limits.

Development

python -m pip install -e '.[dev]'
ruff check .
ruff format --check .
pyrefly check
pytest
pytest --cov=jev_review --cov-report=term-missing

The tests use simulated providers and do not make paid API calls. See docs/judgment-catalog.md for rule prompts and evidence criteria, and docs/implementation-plan.md for the implementation checklist and remaining release work.

Metadata

Release files for jev-checker 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for jev-checker 0.1.1
File Size Uploaded
jev_checker-0.1.1.tar.gz 112.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for jev-checker 0.1.1
File Interpreter ABI Platform
jev_checker-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 147.3 kB

Release files / jev_checker-0.1.1.tar.gz

Download URL jev_checker-0.1.1.tar.gz
Size 112.9 kB
Tags Source
SHA-256 checksum
How to use checksums
35025bf06d645fee57391e9ddb75d15c410e3c1c427b831ad880f59552824e7f
BLAKE2b-256 checksum
How to use checksums
d4ced3cc2c42ac2ec0aa3fedc03b98fae8347e5f1149a8804ae5912d8547231c
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 6, 2026.

Transparency log

Release files / jev_checker-0.1.1-py3-none-any.whl

Download URL jev_checker-0.1.1-py3-none-any.whl
Size 34.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
cb49a652b2222732d4e5e69d05edfba84686b2ab28435d16a243d8aee4be2965
BLAKE2b-256 checksum
How to use checksums
1a37fe9ac328c62b3ac44ec7533864acf7025527865734d49189f8ee656fedc2
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 6, 2026.

Transparency log

Release history Release notifications | RSS feed

0.2.0

2 release files

0.1.2

2 release files

This release

0.1.1 This release

2 release files

0.1.0

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