# solarwinds/orionsdk-python architecture

> Architecture diagram of the GitHub repository solarwinds/orionsdk-python, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-29). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/solarwinds/orionsdk-python
- Repository: https://github.com/solarwinds/orionsdk-python

## Overview

Orion SDK for Python is a client library for querying and automating SolarWinds Orion. A caller imports the package and uses either the low-level SWIS client or the higher-level SolarWinds helper; SWIS operations are sent to the Orion Information Service and return results to the caller. The helper covers node and interface operations, groups, and integrations such as NCM; sample names also indicate alert and NTA use cases. The excerpts do not expose all helper methods, so those capabilities are summarized rather than mapped as separate call paths.

Main entry points: [`orionsdk/swisclient.py`](https://github.com/solarwinds/orionsdk-python/blob/master/orionsdk/swisclient.py) (SWIS client), [`orionsdk/__init__.py`](https://github.com/solarwinds/orionsdk-python/blob/master/orionsdk/__init__.py) (Public exports), [`orionsdk/solarwinds.py`](https://github.com/solarwinds/orionsdk-python/blob/master/orionsdk/solarwinds.py) (SolarWinds helpers)

## Diagram (Mermaid)

```mermaid
flowchart TD

node_caller(("SDK caller"))
node_package["Public exports<br/>[__init__.py]"]
node_helpers["SolarWinds helpers<br/>[solarwinds.py]"]
node_client["SWIS client<br/>[swisclient.py]"]
node_orion["Orion Information Service"]

node_caller -->|"imports"| node_package
node_package -->|"exports"| node_helpers
node_package -->|"exports"| node_client
node_caller -->|"calls helpers"| node_helpers
node_caller -->|"calls operations"| node_client
node_helpers -->|"delegates SWIS"| node_client
node_client -->|"sends HTTPS requests"| node_orion
node_orion -->|"returns responses"| node_client

click node_package "https://github.com/solarwinds/orionsdk-python/blob/master/orionsdk/__init__.py"
click node_helpers "https://github.com/solarwinds/orionsdk-python/blob/master/orionsdk/solarwinds.py"
click node_client "https://github.com/solarwinds/orionsdk-python/blob/master/orionsdk/swisclient.py"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_caller,node_orion toneIndigo
class node_package,node_helpers toneTeal
class node_client toneBlue
```

## Components

### Other components

- **SDK caller**
- [Public exports](https://github.com/solarwinds/orionsdk-python/blob/master/orionsdk/__init__.py): `orionsdk/__init__.py`
- [SolarWinds helpers](https://github.com/solarwinds/orionsdk-python/blob/master/orionsdk/solarwinds.py): `orionsdk/solarwinds.py`
- [SWIS client](https://github.com/solarwinds/orionsdk-python/blob/master/orionsdk/swisclient.py): `orionsdk/swisclient.py`
- **Orion Information Service**

## Connections

- SDK caller → Public exports: imports
- Public exports → SolarWinds helpers: exports
- Public exports → SWIS client: exports
- SDK caller → SolarWinds helpers: calls helpers
- SDK caller → SWIS client: calls operations
- SolarWinds helpers → SWIS client: delegates SWIS
- SWIS client → Orion Information Service: sends HTTPS requests
- Orion Information Service → SWIS client: returns responses
