Metadata-Version: 2.5
Name: softprobe
Version: 0.1.0
Summary: Softprobe LLM observability SDK for Python
Project-URL: Homepage, https://docs.softprobe.ai/en/agent-qa/
Project-URL: Documentation, https://docs.softprobe.ai/en/agent-qa/langchain
Project-URL: Repository, https://github.com/softprobe/softprobe-py
Project-URL: Issues, https://github.com/softprobe/softprobe-py/issues
Author: Softprobe
License: Apache-2.0
License-File: LICENSE
Requires-Python: >=3.10
Requires-Dist: openai>=1.40.0
Requires-Dist: opentelemetry-api>=1.30.0
Requires-Dist: opentelemetry-exporter-otlp-proto-http>=1.30.0
Requires-Dist: opentelemetry-sdk>=1.30.0
Requires-Dist: opentelemetry-semantic-conventions>=0.51b0
Provides-Extra: dev
Requires-Dist: langchain-core>=0.3.0; extra == 'dev'
Requires-Dist: mypy>=1.14.0; extra == 'dev'
Requires-Dist: openai>=1.40.0; extra == 'dev'
Requires-Dist: pytest-asyncio>=0.25.0; extra == 'dev'
Requires-Dist: pytest>=8.3.0; extra == 'dev'
Requires-Dist: ruff>=0.9.0; extra == 'dev'
Provides-Extra: langchain
Requires-Dist: langchain-core>=0.3.0; extra == 'langchain'
Provides-Extra: openai
Requires-Dist: openai>=1.40.0; extra == 'openai'
Description-Content-Type: text/markdown

# softprobe (Python)

Softprobe **Agent QA** Python SDK — LLM / agent observability via OTLP to Softprobe Explorer.

```bash
pip install softprobe
# LangChain:
pip install 'softprobe[langchain]'
```

Docs: [Agent QA → LangChain](https://docs.softprobe.ai/en/agent-qa/langchain) · [Quick start](https://docs.softprobe.ai/en/agent-qa/getting-started)

## Examples

| Script | Path |
|--------|------|
| Basic `from_env()` | [`examples/basic.py`](examples/basic.py) |
| LangChain best path | [`examples/langchain_agent.py`](examples/langchain_agent.py) |

See [`examples/README.md`](examples/README.md).

```bash
export SOFTPROBE_PUBLIC_KEY="spk_…"
export SOFTPROBE_BASE_URL="https://explorer.softprobe.ai/api/thelake"
python examples/basic.py
```

## Develop

```bash
uv sync --extra langchain --extra openai --extra dev
uv run pytest -q
uv run mypy src/softprobe
```

## Publish

Create a GitHub Release with tag `vX.Y.Z`. The [release workflow](.github/workflows/release.yml) publishes to PyPI via Trusted Publishing (OIDC).

> **Note:** The older public repo [`softprobe/softprobe-python`](https://github.com/softprobe/softprobe-python) (Hybrid/replay SDK) is **archived**. This repo is the Agent QA / LLM package.
