Skip to content
OAOpenAppPhysical Security as a Service
Login

Python SDK

The OpenApp Python SDK (openapp-sdk) is the official async-first Python client. It ships prebuilt native wheels for common platforms, with a pure-Python fallback based on httpx when no native wheel is available.

Package registryPyPI openapp-sdk
Source codeGitHub (python/)
READMEREADME.md on GitHub
ChangelogCHANGELOG.md
IssuesGitHub issues
Terminal window
pip install openapp-sdk

Requires Python 3.10+. Prebuilt wheels are published for:

  • Linux: manylinux2014 x86_64, aarch64
  • macOS: 13+ x86_64, 14+ arm64
  • Windows: x86_64

If no wheel exists for your platform, pip installs the sdist and the SDK transparently falls back to the pure-Python transport. Everything still works; you may see reduced throughput compared to the native wheel.

from openapp_sdk import Client
client = Client.connect(
api_key="https://api.openapp.house/api/v1_openapp_YOUR_SECRET",
)
print(client.status.get())
for org in client.orgs.list():
print(org["id"], org["name"])

For async code:

import asyncio
from openapp_sdk import AsyncClient
async def main():
async with await AsyncClient.connect(api_key="...") as client:
print(await client.status.get())
asyncio.run(main())

Both clients expose the same sub-clients and semantics; the sync one is a thin façade that runs the async one on a private event loop.

  • Authentication — API keys and base URLs.
  • Resources — the 15 sub-clients (orgs, devices, entities, OpenApp Scripting via client.scripting, …).
  • Errors — the typed exception hierarchy.
  • Async usageAsyncClient, context managers, and cancellation.
  • Typing & Pydantic — using the optional Pydantic models.
  • Observability — logging and tracing integration.
  • Migration — versioning policy and upgrade notes.

HTTP contract: API reference · OpenAPI JSON