Metadata-Version: 2.4
Name: ai-governance-sdk
Version: 2.0.0
Summary: AI Governance SDK for Python — governed AI orchestration
Author-email: Arelis AI <engineering@arelis.ai>
License-Expression: MIT
License-File: LICENSE
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Typing :: Typed
Requires-Python: >=3.10
Requires-Dist: httpx>=0.27
Requires-Dist: jsonschema>=4.20
Provides-Extra: all
Requires-Dist: alembic>=1.13; extra == 'all'
Requires-Dist: asyncpg>=0.29; extra == 'all'
Requires-Dist: boto3>=1.34; extra == 'all'
Requires-Dist: google-cloud-aiplatform>=1.40; extra == 'all'
Requires-Dist: huggingface-hub>=0.20; extra == 'all'
Requires-Dist: openai>=1.10; extra == 'all'
Requires-Dist: opentelemetry-api>=1.20; extra == 'all'
Requires-Dist: opentelemetry-sdk>=1.20; extra == 'all'
Provides-Extra: aws-bedrock
Requires-Dist: boto3>=1.34; extra == 'aws-bedrock'
Provides-Extra: azure-openai
Requires-Dist: openai>=1.10; extra == 'azure-openai'
Provides-Extra: dev
Requires-Dist: build>=1.0; extra == 'dev'
Requires-Dist: mypy>=1.8; extra == 'dev'
Requires-Dist: pytest-asyncio>=0.23; extra == 'dev'
Requires-Dist: pytest-cov>=4.1; extra == 'dev'
Requires-Dist: pytest>=8.0; extra == 'dev'
Requires-Dist: ruff>=0.2; extra == 'dev'
Provides-Extra: google-vertex
Requires-Dist: google-cloud-aiplatform>=1.40; extra == 'google-vertex'
Provides-Extra: huggingface
Requires-Dist: huggingface-hub>=0.20; extra == 'huggingface'
Provides-Extra: otel
Requires-Dist: opentelemetry-api>=1.20; extra == 'otel'
Requires-Dist: opentelemetry-sdk>=1.20; extra == 'otel'
Provides-Extra: postgres
Requires-Dist: alembic>=1.13; extra == 'postgres'
Requires-Dist: asyncpg>=0.29; extra == 'postgres'
Description-Content-Type: text/markdown

# AI Governance SDK for Python

Unified Python SDK for governed runtime orchestration and platform governance APIs.

## Installation

```bash
pip install ai-governance-sdk
```

### Optional Extras

```bash
pip install "ai-governance-sdk[google-vertex]"    # Google Vertex AI / Gemini
pip install "ai-governance-sdk[aws-bedrock]"      # Amazon Bedrock
pip install "ai-governance-sdk[azure-openai]"     # Azure OpenAI
pip install "ai-governance-sdk[huggingface]"      # Hugging Face Inference
pip install "ai-governance-sdk[otel]"             # OpenTelemetry tracing
pip install "ai-governance-sdk[postgres]"         # PostgreSQL storage
pip install "ai-governance-sdk[all]"              # Everything
```

Requires Python 3.10+.

## Quickstarts

### Runtime Surface (`ArelisClient`)

```python
from arelis import ClientConfig, create_arelis_client

client = create_arelis_client(
    ClientConfig(
        model_registry=my_model_registry,
        policy_engine=my_policy_engine,
        audit_sink=my_audit_sink,
    )
)
```

### Platform Surface (`ArelisPlatform`)

```python
from arelis import create_arelis_platform

platform = create_arelis_platform(
    {
        "baseUrl": "https://api.arelis.digital",
        "apiKey": "ak_test",
    }
)

summary = platform.usage.get()
print(summary)
```

### Unified Factory (`create_arelis`)

```python
from arelis import ClientConfig, create_arelis

sdk = create_arelis(
    {
        "runtime": ClientConfig(
            model_registry=my_model_registry,
            policy_engine=my_policy_engine,
            audit_sink=my_audit_sink,
        ),
        "platform": {
            "baseUrl": "https://api.arelis.digital",
            "apiKey": "ak_test",
        },
    }
)

runtime = sdk["runtime"]
platform = sdk["platform"]
```

## Platform Method Groups

`ArelisPlatform` exposes:
- `events`
- `proofs`
- `risk`
- `replay`
- `graphs`
- `governance`
- `apiKeys`
- `usage`
- `jobs`
- `organization`
- `quotas`
- `billing`
- `metering`
- `telemetry`
- `exports`
- `namespaces`
- `approvals`
- `aiSystems`
- `mcpServers`

## Naming Compatibility

All factory constructors support both naming styles:
- Snake case: `create_arelis_client`, `create_arelis_platform`, `create_arelis`
- Camel case: `createArelisClient`, `createArelisPlatform`, `createArelis`

## Migration

See `/docs/migration-unified-sdk.md` for runtime-only to unified migration.

## Development

```bash
pip install -e ".[dev]"
ruff check src/ tests/
ruff format --check src/ tests/
mypy src/arelis
pytest
```

## License

MIT
