Skip to main content

novant-python

Python SDK for the Novant API.

Full documentation at docs.novant.io/sdk/python.

Installation

pip install novant

Quick Start

from novant import NovantClient

client = NovantClient(api_key="ak_xxx")

# Get project info
proj = client.project()
print(proj.city)        # "Richmond, VA"
print(proj.tz)          # "New_York"

# List assets
for asset in client.assets():
    print(asset.name, asset.type)

# Read current values
for v in client.values(source_id="s.2"):
    print(v.id, v.val, v.status)

# Get trend data
for row in client.trends(point_ids=["s.2.4", "s.2.5"], date="2026-03-09"):
    print(row.ts, row.values)

Organization Keys

Project keys (ak_xxx) are bound to a single project. Organization keys (ak_org_xxx) can access any project in the organization, and must specify which project to act on with proj_id:

client = NovantClient(api_key="ak_org_xxx")

# List all projects in the organization
for p in client.org_projects():
    print(p.proj_id, p.proj_name)

# Pass proj_id per call
zones = client.zones(proj_id=4821)

# Or set a default proj_id for all calls
client = NovantClient(api_key="ak_org_xxx", proj_id=4821)
zones = client.zones()

All responses from project endpoints include the proj_id they were served from:

print(zones.proj_id)    # 4821

Development

git clone https://github.com/novant-io/novant-python.git
cd novant-python
python3 -m venv .venv
source .venv/bin/activate
pip install --upgrade pip
pip install -e ".[dev]"

The dev extra installs pytest, build, and twine — everything needed for testing and publishing.

Testing

Tests are integration tests that run against the live Novant API. Place a test project's API key at secret/test.key, then:

pytest

Tests are skipped automatically if secret/test.key is missing.

Organization key tests additionally require an org key at secret/test.org_key, for an organization that contains the test project. These tests are skipped if the key is missing.

Release files for novant 0.6.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for novant 0.6.0
File Size Uploaded
novant-0.6.0.tar.gz 24.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for novant 0.6.0
File Interpreter ABI Platform
novant-0.6.0-py3-none-any.whl Python 3 none any Details

Total release size: 40.4 kB

Release files / novant-0.6.0.tar.gz

Download URL novant-0.6.0.tar.gz
Size 24.9 kB
Tags Source
SHA-256 checksum
How to use checksums
90d13654bdc00015c16edf96bcae0f2147baf5bfea7e120c92393ec222adb343
BLAKE2b-256 checksum
How to use checksums
944f4b62a7bf604aaa7f2e64869286caa3087279380c96e0b283e970ca5a033a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.20

Release files / novant-0.6.0-py3-none-any.whl

Download URL novant-0.6.0-py3-none-any.whl
Size 15.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8f12ac9db9bd6b399979227ed64f3afbb70f8fabbcf6c6c119a162c9461453dc
BLAKE2b-256 checksum
How to use checksums
eb8c9504c45094a5eaf63ffd1b2ddd06771592e69ea39b7830830ae6cf315a73
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.20

Release history Release notifications | RSS feed

This release

0.6.0 This release

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page