Metadata-Version: 2.4
Name: zenitya-artifacts
Version: 0.1.0a1
Summary: Build structured Zenitya Artifacts reports from Python.
Keywords: agents,artifacts,reports,zenitya
Author: Zenitya
License-Expression: Apache-2.0
License-File: LICENSE
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.14
Classifier: Typing :: Typed
Requires-Dist: httpx>=0.28.1,<1
Requires-Dist: pydantic>=2.13.4,<3
Requires-Python: >=3.14
Project-URL: Homepage, https://zenitya.com
Project-URL: Documentation, https://github.com/Zenitya/zenitya-artifacts-python#readme
Project-URL: Issues, https://github.com/Zenitya/zenitya-artifacts-python/issues
Project-URL: Source, https://github.com/Zenitya/zenitya-artifacts-python
Description-Content-Type: text/markdown

# Zenitya Artifacts for Python

Build structured reports from scripts, agents, and scheduled jobs.

This first alpha includes validated Pydantic models, block helpers, and matching synchronous and asynchronous HTTP clients. The client reads `ZENITYA_API_KEY`, pins the Artifacts API version, and returns typed report objects.

## Install

```shell
pip install --pre zenitya-artifacts
```

## Create a report

```python
from zenitya import Artifacts, blocks as b

with Artifacts() as zen:
    report = zen.reports.create(
        title="Pipeline health",
        expires_in="24h",
        blocks=[
            b.metric("Rows loaded", 184_203),
            b.callout("Three checks need attention", tone="warning"),
            b.actions(
                "Next actions",
                ["Retry the EU import", "Review two schema changes"],
            ),
        ],
    )

print(report.url)
```

The asynchronous client has the same surface:

```python
from zenitya import AsyncArtifacts, blocks as b

async with AsyncArtifacts() as zen:
    report = await zen.reports.create(
        title="Nightly checks",
        blocks=[b.markdown("All checks passed.")],
    )
```

## Status

`0.1.0a1` is an intentional alpha. It covers report creation and the core block types while the wider SDK surface is being built alongside the Artifacts API.

## Development

```shell
uv python install
uv sync --locked --dev
uv run pytest
uv run ruff check .
uv build --no-sources
```

The project pins Python 3.14 in `.python-version` and uses uv for Python installation, dependency locking, local environments, builds, smoke tests, and publishing.

## License

Apache-2.0
