Metadata-Version: 2.5
Name: jeval
Version: 0.1.0
Summary: Evaluate JSON values against expected checks.
Project-URL: Homepage, https://pypi.org/project/jeval/
Project-URL: Issues, https://pypi.org/project/jeval/
Author-email: Gabriel Tinoco <gabriel@openlayer.com>
License-Expression: MIT
Keywords: assertions,eval,evaluation,json,testing
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development :: Testing
Requires-Python: >=3.10
Description-Content-Type: text/markdown

# jeval

Evaluate a JSON value against expected checks. One case, one result.

```bash
pip install jeval
```

```python
from jeval import Case, Check, evaluate

result = evaluate(
    Case(
        id="order-total",
        checks=[Check(path="total", op="eq", value=21)],
    ),
    actual={"total": 21, "currency": "USD"},
)
assert result.ok
```

```bash
jeval examples/case.json --actual '{"total": 21}'
```

A case with no `checks` defaults to deep equality against `expected`.

See **jevals** if you want to run a directory or file of cases and get a score.
