Metadata-Version: 2.4
Name: skribble
Version: 0.1.2
Summary: Official-spec Skribble API v2 SDK (built from Skribble Postman collection)
Author-email: Farzam Mehdi <162793033+iamfarzam@users.noreply.github.com>
License: MIT
Project-URL: Homepage, https://github.com/iamfarzam/skribble-sdk
Project-URL: Source, https://github.com/iamfarzam/skribble-sdk
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: requests>=2.31.0
Requires-Dist: redis>=5.0.0
Dynamic: license-file

# Skribble SDK

A production-ready Python SDK for the **Skribble API v2**, generated from the official
Skribble Postman collection.

## Features

- Authentication via `/v2/access/login`
- Redis-based JWT access token caching (default TTL: 20 minutes, per Skribble docs)
- High-level clients for:
  - SignatureRequests
  - Documents
  - Seal
  - Send-to
  - User
  - Report (activities)
  - Monitoring (callbacks & system health)

## Installation

```bash
pip install skribble
```

## Usage
```python
import redis
from skribble import SkribbleClient

r = redis.Redis(host="localhost", port=6379, db=0)

client = SkribbleClient(
    username="api_demo_your_name",
    api_key="your_api_key",
    redis_client=r,
)

# Upload a document
doc = client.documents.upload(
    title="Example contract PDF",
    content="<BASE64_PDF>",
)

# Create a signature request using that document
sr = client.signature_requests.create(
    title="Example contract",
    signatures=[{"account_email": "john.doe@skribble.com"}],
    document_id=doc["id"],
)

# List signature requests
srs = client.signature_requests.list(page_size=50)
```
