Metadata-Version: 2.4
Name: model-registry-client
Version: 0.1.0
Summary: Python client for the Kubeflow Model Registry REST API
Keywords: kubeflow,mlops,model-registry,machine-learning
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Typing :: Typed
Requires-Python: >=3.9
Description-Content-Type: text/markdown
Requires-Dist: httpx>=0.28.0
Requires-Dist: requests>=2.31.0
Provides-Extra: dev
Requires-Dist: pytest>=8.0; extra == "dev"
Requires-Dist: responses>=0.25; extra == "dev"
Provides-Extra: docs
Requires-Dist: mkdocs>=1.5; extra == "docs"
Requires-Dist: mkdocs-material>=9.5; extra == "docs"
Requires-Dist: mkdocstrings[python]>=0.24; extra == "docs"
Provides-Extra: llm-docs
Requires-Dist: pydoc-markdown>=4.8; extra == "llm-docs"

# Model Registry Client

Python client for the Kubeflow Model Registry REST API.

## Installation

```bash
pip install -e ./model_registry_client
pip install "git+https://example.com/your-org/mlops-model-registry.git#subdirectory=model_registry_client"
```

## Usage

```python
from model_registry_client import ModelRegistryClient

registry = ModelRegistryClient(
    base_url="http://mlops-edgemodule.model-registry.svc.cluster.local:80/model-registry/api",
)

model = registry.register_model(
    "my-model",
    "/path/to/model-artifacts",
    version="2.0.0",
    description="Experiment checkpoint",
    metadata={"framework": "pytorch"},
    artifact_type="weights",
)

print(model.id)
print(model.model_name)
print(model.versions)
```

All resource responses are typed objects with attribute access and a
`to_dict()` method for raw JSON-style data.

## Documentation

The package includes MkDocs documentation generated from code docstrings and
type annotations:

```bash
cd model_registry_client
pip install -e ".[docs]"
mkdocs serve
```

Build the static site with:

```bash
mkdocs build
```

## LLM Markdown Reference

Generate a single Markdown API reference for LLM prompts or retrieval:

```bash
cd model_registry_client
pip install -e ".[llm-docs]"
pydoc-markdown pydoc-markdown.yml
```

The generated file is written to `llm_docs/api_reference.md`.
