Metadata-Version: 2.4
Name: ciridae
Version: 0.1.1
Summary: Public Python clients, models, and project utilities for Ciridae
Project-URL: Repository, https://github.com/ciridae-ai/ciridae
Requires-Python: >=3.13
Requires-Dist: httpx>=0.28.1
Requires-Dist: pydantic>=2.11.7
Requires-Dist: pyyaml>=6.0.3
Description-Content-Type: text/markdown

# Ciridae

Public Python clients, models, and project utilities consumed by Ciridae
services, standalone projects, and templates.

The domain libraries remain the source owners in `libs/auth-client`,
`libs/mcp-access`, and `libs/project-yaml`. This directory only assembles
their `ciridae.*` namespaces into one public distribution.
The owner directories are virtual uv projects for scoped tests and tooling;
they do not build separate distributions. Internal consumers resolve `ciridae`
from the workspace, whose editable install links directly to those owner files.

`public-package-files.txt` is the reviewed artifact boundary. It approves the
three owned namespaces as public; sources outside those namespace patterns fail
the build.

The PyPI distribution is `ciridae`. Import from the relevant domain namespace:

```python
from ciridae.auth import AuthServiceAccessResponse, AuthServiceClient
from ciridae.mcp import CiridaeMcpClient, ProjectToolInventoryResponse
from ciridae.project import ProjectDefinition
```

Validate a `project.yaml` file with the same packaged contract:

```console
ciridae validate-project project.yaml
```

## Releasing

1. Update `version` in `pyproject.toml`.
2. Merge the change to `main`.
3. Push the matching tag, for example `ciridae-v0.1.0`.

Before 1.0, use a patch bump for backward-compatible fixes and a minor bump for
new or breaking APIs. After 1.0, use patch for fixes, minor for backward-compatible
additions, and major for breaking changes.

The tag publishes through PyPI Trusted Publishing. Releases are immutable;
change the version rather than replacing an existing artifact.
