Metadata-Version: 2.3
Name: neobot-storage
Version: 1.0.0a6
Summary: Storage layer for NeoBot — SQLAlchemy + Alembic
Author: wsrsq, tangtian
Author-email: wsrsq <wsrsq001@163.com>, tangtian <a14b@126.com>
Requires-Dist: sqlalchemy[asyncio]>=2.0
Requires-Dist: aiosqlite>=0.20.0
Requires-Dist: alembic>=1.15.0
Requires-Dist: neobot-contracts
Requires-Python: >=3.13
Description-Content-Type: text/markdown

# neobot-storage

SQLAlchemy 2.0 async storage layer for NeoBot. Implements the repository and unit-of-work ports defined in `neobot-contracts`.

## Usage

```python
from neobot_storage import create_engine, make_uow_factory

engine = create_engine("sqlite+aiosqlite:///neobot.db")
uow_factory = make_uow_factory(engine)

async with uow_factory() as uow:
    await uow.messages.save_message(msg)
    await uow.commit()
```

## Migrations

```bash
cd packages/storage
alembic upgrade head
```
