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:
- base URL: https://api2.tigoenergy.com/api/v3/
- token auth from
users/login - documented systems, objects, sources, and data endpoints
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
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 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d7665def6547bf54502e75bf435697205f66cd9d565895bac6153c3f19a36657
|
|
| MD5 |
1842d9e8f60cd00e7023632ac9d0d36d
|
|
| BLAKE2b-256 |
c193e242d6d5de128bc08e73998c84760ac01b3a38cc1ae6a12b0a5c1f32ad37
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dc48a2b024fc82f23003b762ffe8d65fbad685a71ec800b669d3205278e4a1da
|
|
| MD5 |
b73d85eb0079ed8d869406e3728ca54a
|
|
| BLAKE2b-256 |
7a493e923e838022c98679a5a2f3974a464f55916e12bfc747a04f1dc02a9070
|