Metadata-Version: 2.4
Name: netorca-sdk
Version: 1.0.12
Summary: A Python SDK for interacting with the NetOrca API
Home-page: https://gitlab.com/netorca_public/netorca_sdk/
Author: Scott Rowlandson
Author-email: scott@netautomate.org
License: MIT
Keywords: netorca,orchestration,netautomate,network,automation
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Build Tools
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: requests>=2.28.0
Requires-Dist: beautifultable>=1.0.0
Requires-Dist: ruamel.yaml>=0.17.0
Requires-Dist: gitpython>=3.1.50
Requires-Dist: pyyaml==6.0.3
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: keywords
Dynamic: license
Dynamic: license-file
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

# NetOrca SDK

The official Python SDK for the [NetOrca](https://netorca.io) API. Build automation pipelines, manage services, and integrate NetOrca into your CI/CD workflows with a clean, fully typed Python interface.

---

## Installation

```bash
pip install netorca-sdk
```

**Requirements:** Python 3.8+

---

## Client Initialisation

```python
from netorca_sdk import NetOrcaClient

client = NetOrcaClient(
    fqdn="https://your-instance.netorca.io/v1",
    api_key="YOUR_API_KEY",
)
```

The `context` parameter controls which point-of-view the client operates from:

```python
# Service owner context (default)
client = NetOrcaClient(fqdn="...", api_key="...", context="serviceowner")

# Consumer context
client = NetOrcaClient(fqdn="...", api_key="...", context="consumer")
```

| Parameter | Type | Default | Description |
|---|---|---|---|
| `fqdn` | `str` | required | Base URL of your NetOrca instance |
| `api_key` | `str` | required | Your NetOrca API key |
| `context` | `str` | `"serviceowner"` | Point-of-view: `"serviceowner"` or `"consumer"` |
| `verify_ssl` | `bool` | `True` | Verify SSL certificates on requests |
| `verify_auth` | `bool` | `True` | Validate the API key on initialisation |

---

## Available Resources

| Property | Description |
|---|---|
| `client.services` | Service catalogue |
| `client.service_items` | Service item instances |
| `client.deployed_items` | Deployed item records |
| `client.change_instances` | Change requests and lifecycle events |
| `client.service_configs` | Service configuration snapshots |
| `client.charges` | Billing and charge records |
| `client.applications` | Consumer applications |
| `client.submissions` | Submission records |
| `client.healthchecks` | Service healthcheck endpoints |
| `client.webhooks` | Webhook registrations |
| `client.ai_processors` | AI processor definitions |
| `client.ai_documents` | AI context documents |
| `client.pack_profiles` | Pack profile configurations |
| `client.llm_models` | LLM model registrations |

---

## Full Documentation

[docs.netorca.io/sdk_guide/introduction](https://docs.netorca.io/sdk_guide/introduction/)

---

## License

[MIT License](https://gitlab.com/netorca_public/netorca_sdk/-/blob/main/LICENSE)
