Metadata-Version: 2.4
Name: mloda-plugin-jev
Version: 0.2.2
Summary: mloda plugin that runs Jev: typed answers about a text column as feature columns
Author-email: Tom Kaltofen <tomkaltofen@mloda.ai>
License-Expression: Apache-2.0
Project-URL: Homepage, https://github.com/mloda-ai/mloda-plugin-jev
Project-URL: Documentation, https://github.com/mloda-ai/mloda-plugin-jev#readme
Project-URL: Issues, https://github.com/mloda-ai/mloda-plugin-jev/issues
Project-URL: Changelog, https://github.com/mloda-ai/mloda-plugin-jev/releases
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
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: Programming Language :: Python :: 3.14
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: mloda<0.15.0,>=0.13.0
Requires-Dist: typesafe-sdk>=0.7.0
Requires-Dist: httpx2>=2.0.0
Requires-Dist: tomli>=2.0; python_version < "3.11"
Provides-Extra: observability
Requires-Dist: mloda-community-otel>=0.4.7; extra == "observability"
Requires-Dist: mloda-community-openlineage>=0.4.7; extra == "observability"
Provides-Extra: dev
Requires-Dist: tox; extra == "dev"
Requires-Dist: tox-uv; extra == "dev"
Requires-Dist: uv>=0.11.6; extra == "dev"
Requires-Dist: pytest; extra == "dev"
Requires-Dist: ruff; extra == "dev"
Requires-Dist: mypy; extra == "dev"
Requires-Dist: bandit; extra == "dev"
Requires-Dist: mloda-testing[openlineage,otel]>=0.4.7; extra == "dev"
Requires-Dist: pandas; extra == "dev"
Requires-Dist: polars; extra == "dev"
Requires-Dist: pyarrow; extra == "dev"
Provides-Extra: demo
Requires-Dist: marimo>=0.24.2; extra == "demo"
Provides-Extra: mcp
Requires-Dist: fastmcp>=4.0.3; extra == "mcp"
Requires-Dist: fastapi>=0.141.1; extra == "mcp"
Requires-Dist: uvicorn>=0.52.4; extra == "mcp"
Dynamic: license-file

# mloda-plugin-jev

An [mloda](https://github.com/mloda-ai/mloda) plugin that runs [Jev](https://docs.typesafe.ai) as a FeatureGroup: ask typed questions about a text column and get the answers back as feature columns.

## Install

```bash
pip install mloda-plugin-jev
export TYPESAFE_API_KEY=...
```

## Example

```python
from mloda.user import Feature, Options, PluginLoader, mloda
from mloda_plugins.compute_framework.base_implementations.python_dict.python_dict_framework import PythonDictFramework

PluginLoader.all()

urgent = {"type": "noul", "instructions": "The message conveys urgency"}

result = mloda.run_all(
    [Feature("ticket__jev_urgent", Options(context={"jev_question": urgent}))],
    compute_frameworks={PythonDictFramework},
    api_data={"Tickets": {"ticket": ["I was charged twice, please fix ASAP", "The login page is broken"]}},
)
print(result[0]["ticket__jev_urgent"])  # for example [0.97, 0.12]: the probability of yes per row
```

The full documentation, including the `mloda` command line, is in the [README on GitHub](https://github.com/mloda-ai/mloda-plugin-jev#readme).
