Krytsia
Developer/Python SDK

Python SDK

Обгортка над httpx для CPython 3.11+. Працює у скриптах, Jupyter та FastAPI-сервісах.

packages/sdk-py на GitHub

Встановлення

pip install krytsia-sdk
# або
poetry add krytsia-sdk
# або
uv add krytsia-sdk

Ініціалізація клієнта

Використовуйте контекстний менеджер — він автоматично закриває HTTP-сесію.

from krytsia_sdk import KrytsiaClient

with KrytsiaClient(
    base_url="http://localhost:8000",
    tenant_id="11111111-1111-1111-1111-111111111111",
) as client:
    ...

Приклади

Перерахувати активи

Отримати всі активи у портфелі тенанта.

"""List all assets in the demo portfolio."""
import os
from krytsia_sdk import KrytsiaClient

with KrytsiaClient(
    base_url=os.environ.get("KRYTSIA_API", "http://localhost:8000"),
    tenant_id=os.environ.get("KRYTSIA_TENANT", "11111111-1111-1111-1111-111111111111"),
) as client:
    assets = client.assets()
    print(f"Знайдено {len(assets)} активів:")
    for a in assets:
        print(f"  {a['code']:<20} {a['display_name']:<30} {a['asset_class']:<8} {a['capacity_mw']:>7} МВт")

Завантажити ціну РДН

Отримати погодинні ціни Ринку «на добу наперед».

"""Fetch one day of РДН prices and summarise."""
import os
from krytsia_sdk import KrytsiaClient

with KrytsiaClient(
    base_url=os.environ.get("KRYTSIA_API", "http://localhost:8000"),
    tenant_id=os.environ.get("KRYTSIA_TENANT", "11111111-1111-1111-1111-111111111111"),
) as client:
    rdn = client.market_rdn(date_start="2026-05-12", date_end="2026-05-12")
    prices = [float(r["price_uah_mwh"]) for r in rdn]
    capped = sum(1 for r in rdn if r["is_capped"])

    print(f"РДН на 2026-05-12: {len(rdn)} годин")
    print(f"  максимум:    {max(prices):.2f} грн/МВт·год")
    print(f"  мінімум:     {min(prices):.2f} грн/МВт·год")
    print(f"  капнуто:     {capped} годин")

Запитати AI-агента

Класифікувати намір, повернути відповідь з evidence.

"""Ask the dispatcher analyst a question."""
import os
from krytsia_sdk import KrytsiaClient

with KrytsiaClient(
    base_url=os.environ.get("KRYTSIA_API", "http://localhost:8000"),
    tenant_id=os.environ.get("KRYTSIA_TENANT", "11111111-1111-1111-1111-111111111111"),
) as client:
    res = client.agents_query(
        "dispatcher_analyst",
        "що сьогодні з виробництвом?",
    )
    print(f"→ {res['answer']}")
    print(f"  intent: {res['intent']}, confidence: {res['confidence']}")
    for e in res.get("evidence", []):
        print(f"  · {e['label']}: {e['value']}")