Metadata-Version: 2.4
Name: readydata-sdk-py
Version: 0.1.7
Summary: Python SDK for ReadyData asset management
Project-URL: Homepage, https://github.com/readydata/sdk
Project-URL: Repository, https://github.com/readydata/sdk.git
Project-URL: Issues, https://github.com/readydata/sdk/issues
Author-email: ReadyData Team <team@readydata.com>
License: MIT
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
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.9
Requires-Dist: google-cloud-storage>=2.10.0
Requires-Dist: pydantic>=2.5.0
Requires-Dist: python-dotenv>=1.0.0
Requires-Dist: typing-extensions>=4.0.0
Provides-Extra: dev
Requires-Dist: black>=23.0.0; extra == 'dev'
Requires-Dist: datamodel-code-generator>=0.25.0; extra == 'dev'
Requires-Dist: isort>=5.12.0; extra == 'dev'
Requires-Dist: mypy>=1.0.0; extra == 'dev'
Requires-Dist: pytest-asyncio>=0.21.0; extra == 'dev'
Requires-Dist: pytest-cov>=4.0.0; extra == 'dev'
Requires-Dist: pytest>=7.0.0; extra == 'dev'
Description-Content-Type: text/markdown

# ReadyData Python SDK

Python SDK for ReadyData asset management with cross-language validation consistency.

## Installation

```bash
pip install readydata-sdk-py
```

## Usage

```python
from readydata import AssetClient, MemoryAdapter

# Create client with in-memory adapter
client = AssetClient(MemoryAdapter())

# Store an asset
await client.put('s3://bucket/asset.jpg', asset_data)

# Retrieve an asset  
asset = await client.get('s3://bucket/asset.jpg')

# List all assets
uris = await client.list()
```

## Features

- **Type Safety**: Pydantic models with full validation
- **Cross-Language**: Compatible with TypeScript SDK
- **Extensible**: Support for meta fields and structured extensions
- **Validation**: Registry-driven extension validation
- **Testing**: Comprehensive test suite with golden examples

## Asset Types

- **Image**: JPEG, PNG, WebP, SVG with dimensions and size limits
- **Document**: PDF, DOCX, TXT, HTML, MD with page counts and language detection  
- **Dataset**: CSV, JSON, Parquet, Arrow with row/column counts and schema information

## Development

```bash
# Install in development mode
pip install -e ".[dev]"

# Run tests
pytest tests/ -v

# Type checking
mypy src/readydata/
```

Part of the ReadyData cross-language SDK foundation.