Metadata-Version: 2.4
Name: clearscribe-sdk
Version: 0.1.0
Summary: Python client for the ClearScribe API
Author: ClearScribe
License-Expression: Apache-2.0
Project-URL: Homepage, https://clearscribeai.com/developer
Project-URL: Repository, https://github.com/nagib37/clearscribe-ai
Project-URL: Issues, https://github.com/nagib37/clearscribe-ai/issues
Keywords: clearscribe,transcription,speech-to-text,meetings,api,sdk
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: httpx<1,>=0.27
Dynamic: license-file

# ClearScribe Python SDK

Requires Python 3.10 or newer.

Install from PyPI:

```bash
pip install clearscribe-sdk
```

Keep your Developer Dashboard API key in the server environment as `CLEARSCRIBE_API_KEY`.

Import `ClearScribeClient` from `clearscribe_sdk`. Create it with `ClearScribeClient(os.environ["CLEARSCRIBE_API_KEY"])` and close it with a `with` block.

For example, call `client.get_usage()` to read usage or `client.transcribe("meeting.wav")` to upload audio. The client also supports jobs, summaries, action items, meeting minutes, transcript questions, exports, and meetings.

API failures raise `ClearScribeApiError` with `status` and `code`. Requests that may consume credits are not retried automatically.

## Quick start

Set `CLEARSCRIBE_API_KEY` in your server environment:

```python
import os
from clearscribe_sdk import ClearScribeClient, ClearScribeApiError

try:
    with ClearScribeClient(os.environ["CLEARSCRIBE_API_KEY"]) as client:
        result = client.summarize(
            "Alex will send the revised plan on Friday.",
            output_language="en",
        )
        print(result["summary"])
except ClearScribeApiError as error:
    print(error.status, error.code, str(error))
```

Upload audio by passing a file path:

```python
import os
from clearscribe_sdk import ClearScribeClient

with ClearScribeClient(os.environ["CLEARSCRIBE_API_KEY"]) as client:
    result = client.transcribe("meeting.wav")
    print(result["transcript"])
```

For longer recordings, `create_transcription_job` returns a job ID.
Check progress with `get_transcription_job`, then call
`get_transcription_job_result` after its status is `completed`.
