Metadata-Version: 2.4
Name: datacrawl-sdk
Version: 0.1.0
Summary: DataCrawl Python SDK
Author: DataCrawl
License: Copyright (c) DataCrawl.
        
        All rights reserved.
        
        This package is provided for use under the terms of the applicable
        DataCrawl commercial or enterprise agreement.
        
Project-URL: Homepage, https://datacrawl.org
Project-URL: Repository, https://github.com/datacrawl/datacrawl
Keywords: ai,agents,authorization,policy,sdk
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: License :: Other/Proprietary License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: requests>=2.31.0
Dynamic: license-file

# DataCrawl Python SDK

Python client for DataCrawl agent authorization APIs.

## Install

Editable local install from this repository root:

```bash
pip install -e ./packages/sdk-python
```

Install from package index (after publish):

```bash
pip install datacrawl
```

## Quickstart

```python
from datacrawl import DataCrawl

client = DataCrawl(
    api_key="dc_live_xxx",
    base_url="https://datacrawl.org",
)

result = client.authorize(
    tool="gmail.send_email",
    payload={"to": "security@example.com", "subject": "Policy check"},
)

print(result.decision, result.reason, result.request_id)
```

## API Surface

- `DataCrawl.authorize(tool, payload, idempotency_key=None)`
- `DataCrawl.record(request_id, outcome, error_code=None, duration_ms=None)`
- `DataCrawl.protect(tool, overrides=None)`
- `DataCrawl.poll_approval(approval_id, poll_interval_s=2.0, timeout_s=60.0)`

## Local Validation

```bash
python -m pip install -e ./packages/sdk-python
python -c "from datacrawl import DataCrawl, DataCrawlError; print('ok')"
python -m pip show datacrawl
```

## Release (Optional)

```bash
cd packages/sdk-python
python -m pip install --upgrade build twine
python -m build
twine check dist/*
# twine upload dist/*
```
