Metadata-Version: 2.5
Name: openriak
Version: 0.1.4
Summary: OpenRiak HTTP client
Project-URL: Homepage, https://github.com/f34nk/riak_clients
Project-URL: Repository, https://github.com/f34nk/riak_clients
Project-URL: Changelog, https://github.com/f34nk/riak_clients/blob/main/CHANGELOG.md
Author: OpenRiak
License-Expression: Apache-2.0
License-File: LICENSE
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.12
Classifier: Programming Language :: Python :: 3.13
Requires-Python: >=3.12
Requires-Dist: smithy-core~=0.5.0
Requires-Dist: smithy-http[aiohttp]~=0.4.0
Requires-Dist: smithy-json~=0.2.0
Description-Content-Type: text/markdown

# openriak

Python HTTP client for OpenRiak, generated from the OpenRiak Smithy model.

```shell
pip install openriak
```

```python
import asyncio
from openriak import Config, OpenRiak
from openriak.models import (
    GetDefaultObjectOperationInput,
    GetObjectInput,
    PutDefaultObjectOperationInput,
    PutObjectOperationInput,
)

async def main():
    client = OpenRiak(Config(endpoint_uri="http://127.0.0.1:8098"))
    body = b'{"message":"hello"}'

    # Default bucket path: /buckets/{bucket}/keys/{key}
    await client.put_default_object(PutDefaultObjectOperationInput(
        bucket="demo",
        key="hello",
        content_type="application/json",
        w="1",
        dw="1",
        body=body,
    ))
    default_out = await client.get_default_object(
        GetDefaultObjectOperationInput(bucket="demo", key="hello")
    )
    print(await default_out.body.read())

    # Typed bucket path: /types/{bucketType}/buckets/{bucket}/keys/{key}
    await client.put_object(PutObjectOperationInput(
        bucket_type="default",
        bucket="demo",
        key="hello-typed",
        content_type="application/json",
        w="1",
        dw="1",
        body=body,
    ))
    typed_out = await client.get_object(
        GetObjectInput(bucket_type="default", bucket="demo", key="hello-typed")
    )
    print(await typed_out.body.read())

asyncio.run(main())
```

`OpenRiak` is an async client. See `openriak.client` and `openriak.models` for the full API.
