Antodis

Seshat Python SDK

TR | EN

Python SDK (Önizleme)

Erken önizleme; arayüzler diğer SDK'larla hizalanacaktır.

Kurulum

pip install seshat-sdk

PyPI

Paket bilgisi alınıyor…

İstemci Başlatma

from seshat_sdk import SeshatClient

client = SeshatClient(
  api_key="<key>", secret="<secret>",
  host="localhost"  # seshat sunucusu
)
print(client.sensors.find())

Sensörler

res = client.sensors.find(name="temp", tag="critical", page=1, limit=50)
for s in res.get("data", []):
  pass

Dönüşler

Sensör alanları (Python)

FindOptions parametreleri

Makineler

mo = client.machines.find_opts().tag_is("production").all_pages(True)
client.machines.find_each_page(mo, lambda items, total, page, limit: (
    print(f"page={page} machines={len(items)} total={total}") or True
))
# Tek sayfa
y = client.machines.find(tag="edge", page=1, limit=50)
print(y.get("total", 0))

Dönüşler

Machine alanları (Python)

Sayfalama yardımcıları

fo = client.sensors.find_opts().name_is("temp").tag_is("critical").all_pages(True)
client.sensors.find_each_page(fo, lambda items, total, page, limit: (
    print(f"page {page}: {len(items)}") or True
))

IoT Verisi (builder)

q = client.sensors.iot_query_options() \
  .sensor_id("sensor123") \
  .per_page_count(50) \
  .sort_date_desc()
resp = client.sensors.iot_data(q)
for item in resp.get("items", []):
  _ = item.get("value")

Dönüşler

Canlı

Veri Tipleri (type id → Python)

for batch in client.sensors.live(["sensor1", "sensor2"], limit=25):
    for item in batch:
        handle(item)

Bağlantılar

item = {"value": True, "type": 16, "parameters": [{"key": "topic", "value": b"67333c8d615f8c6cd6f07c38/67333c8d615f8c6cd6f07c39"}]}
client.connections.write_items("mqtt://0.0.0.0:8888", [item])

Olaylar

resp = client.events.trigger("rebuild-cache", {"fast": True})
list_ = client.events.list()