Metadata-Version: 2.5
Name: rhesis
Version: 0.18.0
Summary: Rhesis - Testing and validation platform for LLM applications
Project-URL: Homepage, https://rhesis.ai
Project-URL: Repository, https://github.com/rhesis-ai/rhesis
Project-URL: Documentation, https://docs.rhesis.ai
Project-URL: Bug Tracker, https://github.com/rhesis-ai/rhesis/issues
Author-email: Engineering Team <engineering@rhesis.ai>, Harry Cruz <harry@rhesis.ai>, Nicolai Bohn <nicolai@rhesis.ai>
License: MIT
License-File: LICENSE
Keywords: ai,llm,machine-learning,testing,validation
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.12
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Software Development :: Testing
Requires-Python: >=3.12
Requires-Dist: pydantic>=2.0.0
Requires-Dist: requests>=2.31.0
Requires-Dist: tenacity>=8.2.0
Provides-Extra: all
Requires-Dist: opentelemetry-api>=1.32.1; extra == 'all'
Requires-Dist: opentelemetry-exporter-otlp-proto-http>=1.32.1; extra == 'all'
Requires-Dist: opentelemetry-sdk>=1.32.1; extra == 'all'
Requires-Dist: rhesis-sdk; extra == 'all'
Provides-Extra: sdk
Requires-Dist: rhesis-sdk; extra == 'sdk'
Provides-Extra: telemetry
Requires-Dist: opentelemetry-api>=1.32.1; extra == 'telemetry'
Requires-Dist: opentelemetry-exporter-otlp-proto-http>=1.32.1; extra == 'telemetry'
Requires-Dist: opentelemetry-sdk>=1.32.1; extra == 'telemetry'
Description-Content-Type: text/markdown

# Rhesis

**Testing and validation platform for LLM applications**

`rhesis` is the lightweight Rhesis package. It ships `rhesis.telemetry`: the tracing primitives
(semantic-convention attributes, conversation context, token extraction, the OTLP exporter and
tracer provider) shared by the SDK and its framework integrations. Pick an extra:

| Install | What you get |
|---|---|
| `pip install "rhesis[telemetry]"` | `rhesis.telemetry` with its OpenTelemetry dependencies, for sending traces to Rhesis without the full SDK |
| `pip install "rhesis[sdk]"` | The full [`rhesis-sdk`](https://pypi.org/project/rhesis-sdk/) |
| `pip install "rhesis[all]"` | Both |

`rhesis.telemetry` needs the `telemetry` extra (or the SDK, which brings OpenTelemetry with it) to
import.

## Usage

Tracing without the SDK (`rhesis[telemetry]`):

```python
from rhesis.telemetry import build_tracer_provider

provider = build_tracer_provider(
    service_name="my-app",
    api_key="rh-...",
    base_url="https://api.rhesis.ai",
    project_id="your-project-id",
    environment="development",
)
```

With the full SDK (`rhesis[sdk]`):

```python
from rhesis.sdk import RhesisClient

client = RhesisClient()
```

## Documentation

- **Full Documentation**: [docs.rhesis.ai](https://docs.rhesis.ai)
- **API Reference**: [docs.rhesis.ai/api](https://docs.rhesis.ai/api)
- **Getting Started Guide**: [docs.rhesis.ai/getting-started](https://docs.rhesis.ai/getting-started)

## Links

- [Website](https://rhesis.ai)
- [GitHub](https://github.com/rhesis-ai/rhesis)
- [PyPI - rhesis](https://pypi.org/project/rhesis/)
- [PyPI - rhesis-sdk](https://pypi.org/project/rhesis-sdk/)

## License

MIT License - see [LICENSE](LICENSE) for details.
