Metadata-Version: 2.4
Name: dspu
Version: 0.0.4
Summary: Modern data science utilities library with type safety and extensibility
Project-URL: Homepage, https://github.com/deepsaia/dspu
Project-URL: Documentation, https://deepsaia.github.io/dspu
Project-URL: Repository, https://github.com/deepsaia/dspu
Project-URL: Issues, https://github.com/deepsaia/dspu/issues
Project-URL: Changelog, https://github.com/deepsaia/dspu/blob/main/CHANGELOG.md
Author-email: DSPU Team <team@example.com>
License: Apache-2.0
Keywords: async,data-science,ml,type-safe,utilities
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Typing :: Typed
Requires-Python: >=3.11
Requires-Dist: pydantic-settings>=2.0
Requires-Dist: pydantic>=2.0
Requires-Dist: pyhocon>=0.3.60
Requires-Dist: python-dotenv>=1.0
Requires-Dist: pyyaml>=6.0
Requires-Dist: rich>=14.2.0
Requires-Dist: structlog>=23.0
Requires-Dist: typing-extensions>=4.5
Provides-Extra: all
Requires-Dist: anyio>=4.0; extra == 'all'
Requires-Dist: cloudpathlib>=0.16; extra == 'all'
Requires-Dist: cryptography>=41.0; extra == 'all'
Requires-Dist: fsspec>=2023.1; extra == 'all'
Requires-Dist: grpcio-tools>=1.59; extra == 'all'
Requires-Dist: grpcio>=1.59; extra == 'all'
Requires-Dist: httpx>=0.25; extra == 'all'
Requires-Dist: hvac>=1.2; extra == 'all'
Requires-Dist: msgpack>=1.0; extra == 'all'
Requires-Dist: numpy>=1.24; extra == 'all'
Requires-Dist: orjson>=3.9; extra == 'all'
Requires-Dist: pandas>=2.0; extra == 'all'
Requires-Dist: protobuf>=4.25; extra == 'all'
Requires-Dist: pyjwt>=2.8; extra == 'all'
Requires-Dist: s3fs>=2023.1; extra == 'all'
Provides-Extra: async
Requires-Dist: anyio>=4.0; extra == 'async'
Requires-Dist: httpx>=0.25; extra == 'async'
Provides-Extra: grpc
Requires-Dist: grpcio-tools>=1.59; extra == 'grpc'
Requires-Dist: grpcio>=1.59; extra == 'grpc'
Requires-Dist: protobuf>=4.25; extra == 'grpc'
Provides-Extra: io
Requires-Dist: cloudpathlib>=0.16; extra == 'io'
Requires-Dist: fsspec>=2023.1; extra == 'io'
Requires-Dist: msgpack>=1.0; extra == 'io'
Requires-Dist: orjson>=3.9; extra == 'io'
Requires-Dist: s3fs>=2023.1; extra == 'io'
Provides-Extra: ml
Requires-Dist: numpy>=1.24; extra == 'ml'
Requires-Dist: pandas>=2.0; extra == 'ml'
Provides-Extra: security
Requires-Dist: cryptography>=41.0; extra == 'security'
Requires-Dist: hvac>=1.2; extra == 'security'
Requires-Dist: pyjwt>=2.8; extra == 'security'
Description-Content-Type: text/markdown

# DSPU

Modern data science utilities library with type safety, extensibility, and async-first design.

## Features

- Type-Safe: Full type hints with runtime validation using Pydantic
- Async-First: Modern async APIs with sync wrappers when needed
- Extensible: Plugin architecture for easy customization
- Zero Bloat: Minimal dependencies, optional extras for features
- Fast: Built with UV, 10-100x faster package management
- Batteries Included: Config, I/O, async utils, security, ML, observability

## Installation

```bash
# Install core package
uv pip install dspu

# Install with extras
uv pip install dspu[io,async,security]

# Install everything
uv pip install dspu[all]
```

## Quick Start

```python
from pydantic import BaseModel
from dspu.config import Config, ConfigSource
from dspu.io import Storage
from dspu.observability import get_logger

# Type-safe configuration
class AppConfig(BaseModel):
    database_url: str
    max_workers: int = 4

config = Config.load(
    AppConfig,
    sources=[
        ConfigSource.file("config.yaml"),
        ConfigSource.env(prefix="APP_"),
    ]
)

# Unified storage interface
storage = Storage.from_uri("s3://my-bucket/data")
data = await storage.read("file.json")

# Structured logging
logger = get_logger(__name__)
logger.info("processing_started", count=len(data))
```

## Development

```bash
# Clone and setup
git clone https://github.com/yourorg/dspu
cd dspu
uv sync --all-extras

# Run tests
uv run pytest

# Run linting
uv run ruff check .

# Type check
uv run pyrefly check src/dspu
```

## Documentation

- [Design Document](docs/design.md)
- [Implementation Plan](docs/plan.md)

## Requirements

- Python 3.11+
- UV (recommended) or pip

## Status

Current Version: 0.1.0 (Alpha)
