Metadata-Version: 2.4
Name: vaultik-api-client
Version: 1.1.0
Summary: Official Python client for Vaultik AI Authentication API
Home-page: https://github.com/vaultik/api-client-python
Author: Vaultik
Author-email: support@vaultik.com
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Python: >=3.8
Description-Content-Type: text/markdown
Requires-Dist: requests>=2.28.0
Provides-Extra: dev
Requires-Dist: pytest>=7.0.0; extra == "dev"
Requires-Dist: black>=22.0.0; extra == "dev"
Requires-Dist: mypy>=1.0.0; extra == "dev"
Requires-Dist: flake8>=6.0.0; extra == "dev"
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: provides-extra
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

# vaultik-api-client

Official Python client for Vaultik AI Authentication API.

## Installation

```bash
pip install vaultik-api-client
```

## Quick Start (Images-only)

```python
from vaultik import VaultikClient

client = VaultikClient(api_key='vaultik_...')

# Analyze product (images only); optionally skip photo challenges
result = client.analyze(
    image_paths=['watch1.jpg', 'watch2.jpg'],
    metadata=None,
    skip_photo_challenges=True
)

print(f"Certificate ID: {result['certificateId']}")
```

## Features

- ✅ Type hints throughout
- ✅ Streaming (SSE) helper
- ✅ Automatic polling
- ✅ Photo challenge handling
- ✅ Progress callbacks
- ✅ Comprehensive error handling
- ✅ Python 3.8+

## Streaming (SSE)

```python
def handle_msg(evt):
    print('event:', evt.get('event'), 'data:', evt.get('data'))

client.stream_job(job_id='your_job_id', on_message=handle_msg)
```

## Documentation

Full documentation: https://app.vaultik.com/dashboard/developer/docs

## License

MIT
