Metadata-Version: 2.4
Name: use-lightcurve
Version: 0.3.0
Summary: Python SDK for Lightcurve voice-agent sandbox tests, Lightcurve rooms, and experiment suites.
Project-URL: Homepage, https://uselightcurve.com
Project-URL: Dashboard, https://app.uselightcurve.com
Project-URL: Repository, https://github.com/uselightcurve/Lightcurve-Platform
Author-email: Lightcurve <admin@uselightcurve.com>
License: Proprietary
Keywords: evals,lightcurve,livekit,sandbox,testing,voice-ai
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.9
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.9
Description-Content-Type: text/markdown

# Lightcurve Python SDK

Python client for running Lightcurve voice-agent sandbox tests from CI,
notebooks, or backend automation.

Install:

```bash
pip install use-lightcurve
```

Basic usage:

```python
from lightcurve import Lightcurve, providers

lc = Lightcurve(
    base_url="https://app.uselightcurve.com",
    api_key="lc_..."  # or LIGHTCURVE_API_KEY
)

result = lc.run_suite(
    name="booking-agent-release-gate",
    scenario_ids=["email-capture-001", "booking-reschedule-1570"],
    **providers.agent_replica(
        instructions="Confirm dates, guest count, room choice, and final price before booking."
    ),
)

print(result["mos"], result["taskCompletion"])
```

Create a Lightcurve room test:

```python
room_test = lc.create_lightcurve_room_test(
    name="one-off-room-check",
    scenario_ids=["email-capture-001"],
)

print(room_test["room"]["roomName"])
print(room_test["room"]["liveKitUrl"])
print(room_test["room"]["agentToken"])
```

Phone-realism check through a customer-owned Vapi account:

```python
result = lc.run_suite(
    name="failed-cases-phone-check",
    scenario_ids=["refund-angry-001"],
    **providers.phone_realism_vapi(
        agent_phone_number="+14155550123",
        outbound_caller_number_id="vapi-phone-number-uuid",
        api_key="customer-vapi-api-key",
    ),
)
```

Environment variables:

- `LIGHTCURVE_API_KEY`: server-side Lightcurve API key.
- `LIGHTCURVE_BASE_URL`: defaults to `https://app.uselightcurve.com`.

This package is intentionally small and uses only Python's standard library.
