Skip to main content

Python client for the documented Tigo REST API v3

Project description

pytigo

pytigo is a Python client for the documented Tigo REST API v3. It is focussed on near-real time monitoring (for time-series systems like Prometheus).

It is centered on the official API described in Tigo-API-V3.pdf, using:

Supported official API areas:

  • users/login
  • users/logout
  • users/get
  • systems/list
  • systems/view
  • systems/layout
  • objects/system
  • objects/types
  • sources/system
  • data/summary
  • data/aggregate
  • data/combined
  • alerts/system
  • alerts/types

Install

pip install pytigo

Quick start

from pytigo import TigoClient

client = TigoClient(username="you@example.com", password="super-secret")
auth = client.login()

systems = client.list_systems()
system = systems[0]

layout = client.get_layout(system.system_id)
objects = client.get_objects(system.system_id)
sources = client.get_sources(system.system_id)
summary = client.get_summary(system.system_id)
aggregate = client.get_aggregate(
    system.system_id,
    start="2026-03-31T00:00:00",
    end="2026-03-31T23:59:59",
    level="day",
    param="Pin",
)
combined = client.get_combined(
    system.system_id,
    start="2026-03-31T00:00:00",
    end="2026-03-31T23:59:59",
    agg="day",
)
alerts = client.get_alerts(system.system_id, limit=10)
alert_types = client.get_alert_types()

print(auth.user_id)
print(system.name)
print(layout.inverters[0].label if layout.inverters else None)
print(len(objects))
print(sources[0].serial if sources else None)
print(summary.daily_energy_dc)
print(aggregate.rows[0].values)
print(combined.rows[0].values)
print(alerts[0].title if alerts else None)
print(alert_types[0].title if alert_types else None)

Notes

The library returns typed Python models for JSON endpoints and a parsed table model for CSV-style telemetry endpoints like data/aggregate and data/combined.

data/aggregate and data/combined are especially useful for exporter/monitoring use cases because they preserve timestamped telemetry in a table-shaped format that is easy to flatten for Prometheus, Grafana, or ETL pipelines.

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

pytigo-0.3.0.tar.gz (13.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pytigo-0.3.0-py3-none-any.whl (9.4 kB view details)

Uploaded Python 3

File details

Details for the file pytigo-0.3.0.tar.gz.

File metadata

  • Download URL: pytigo-0.3.0.tar.gz
  • Upload date:
  • Size: 13.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for pytigo-0.3.0.tar.gz
Algorithm Hash digest
SHA256 d7665def6547bf54502e75bf435697205f66cd9d565895bac6153c3f19a36657
MD5 1842d9e8f60cd00e7023632ac9d0d36d
BLAKE2b-256 c193e242d6d5de128bc08e73998c84760ac01b3a38cc1ae6a12b0a5c1f32ad37

See more details on using hashes here.

File details

Details for the file pytigo-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: pytigo-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 9.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for pytigo-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 dc48a2b024fc82f23003b762ffe8d65fbad685a71ec800b669d3205278e4a1da
MD5 b73d85eb0079ed8d869406e3728ca54a
BLAKE2b-256 7a493e923e838022c98679a5a2f3974a464f55916e12bfc747a04f1dc02a9070

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page