Metadata-Version: 2.4
Name: woodlark
Version: 0.1.5
Summary: Woodlark runtime adapters
Project-URL: Documentation, https://github.com/tunnelworks/woodlark#readme
Project-URL: Issues, https://github.com/tunnelworks/woodlark/issues
Project-URL: Source, https://github.com/tunnelworks/woodlark
Author-email: tunnelworks <git@tunnelworks.org>
License-Expression: Apache-2.0
License-File: LICENSE.txt
Keywords: codegen,database,postgresql,sql,type-safe
Classifier: Development Status :: 4 - Beta
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Requires-Python: >=3.11
Provides-Extra: psycopg
Requires-Dist: psycopg>=3; extra == 'psycopg'
Description-Content-Type: text/markdown

# woodlark

[![PyPI - Version](https://img.shields.io/pypi/v/woodlark.svg)](https://pypi.org/project/woodlark)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/woodlark.svg)](https://pypi.org/project/woodlark)

Woodlark runtime adapters.

## Installation

```console
pip install woodlark
```

## Usage

```python
from woodlark.adapters.psycopg import PsycopgAdapter, PsycopgAsyncAdapter
from generated.queries import GetUser, GetUserParams, CountUsers

def get_user(adapter: PsycopgAdapter, user_id: int) -> GetUserRow:
    return adapter.execute(GetUser, GetUserParams(id=user_id))

async def count_users(adapter: PsycopgAsyncAdapter) -> int:
    return await adapter.execute(CountUsers)
```

## License

`woodlark` is distributed under the terms of the [Apache-2.0](https://spdx.org/licenses/Apache-2.0.html) license.
