Shared Python integrations for UiO infrastructure services.
Project description
osp-uio-integrations
Shared Python integration package for UiO-specific infrastructure systems such as MREG and Nivlheim.
This repository is the concrete API-glue layer for external UiO systems. It is meant to keep authentication, request/response handling, error mapping, and small normalization helpers in one place so providers and transitional orchestrator code do not duplicate that plumbing.
For maintainer-facing internals and invariants, see src/README.md.
Scope
- Reusable Python clients for UiO infrastructure services
- Shared transport/auth/session glue
- API-specific response parsing and error translation
- Small stable normalized helper types where duplication would otherwise grow
Current focus
The first concrete integration is a small sync MREG library with:
- explicit transport and auth handling
- optional interactive login for token bootstrap
- request metadata headers such as
User-AgentandX-Correlation-ID - a host-focused surface covering queries, lifecycle, history, addressing, contacts, CNAMEs, and explicit DNS record modules
- host-policy role/atom helpers, including batched role lookup for many hosts
- VLAN host membership lookup with optional host-policy enrichment that avoids per-host API calls
- room to grow into further MREG areas without flattening everything into one module
For concrete usage examples and a translation table from supported mreg-cli
commands to this library API, see
docs/mreg-cli-command-map.md.
Non-goals
- Provider workflow or execution logic
- Ownership, approval, or placement policy
- Orchestrator/provider wire contracts
- Provider-specific planning decisions
Install
pip install osp-uio-integrations
Development
env -u VIRTUAL_ENV uv sync --extra dev
hatch shell
hatch run dev:check
hatch run dev:build
hatch run dev:verify
Release
See docs/release.md for the manual tag and publish flow.
Create and push the annotated release tag from the checked-in release notes:
hatch run dev:tag-push
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file osp_uio_integrations-0.2.0.tar.gz.
File metadata
- Download URL: osp_uio_integrations-0.2.0.tar.gz
- Upload date:
- Size: 156.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
05f0c19dabad90bf8f0ce6f2fae3ea23d3bc1bb0264a1d485399622c52cbe9b6
|
|
| MD5 |
d12e10a093257faf83f38bacd8a7f32c
|
|
| BLAKE2b-256 |
945ebf54e9737a0e8154cdd39dbd86317bfceffda63b8c8844452c571f3fd57b
|
File details
Details for the file osp_uio_integrations-0.2.0-py3-none-any.whl.
File metadata
- Download URL: osp_uio_integrations-0.2.0-py3-none-any.whl
- Upload date:
- Size: 122.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b6d06f6895dff5bfe94196b2a7672ddd32cb6f6e408bbc9153c91fe0b16fca45
|
|
| MD5 |
37ef5906b92e0a800f6c9f135994ee18
|
|
| BLAKE2b-256 |
38d0ef79c93621b923229f57e4f20bc39371b2cd754c2548f5e58373fa4cab0f
|