Skip to main content

Unified Python Client for Questra® Platform - Umbrella Package for all other Questra® Clients

Project description

Questra Python Client

Der offizielle Python Client für die Questra Platform – vereinfachter Zugriff auf benutzerdefinierte Datenmodelle, Zeitreihen und Automatisierungen.

Motivation

Die Questra Platform bietet flexible GraphQL- und REST-APIs für Dynamic Objects, TimeSeries und Automatisierungen. Dieses Package bündelt alle spezialisierten Client-Libraries, damit Sie mit einer einzigen Installation sofort produktiv arbeiten können:

  • Schnelle Integration: Eine Installation, alle APIs verfügbar
  • Typsichere Entwicklung: Vollständige Type Hints für IDE-Unterstützung
  • Data Client: Intuitive Schnittstellen für häufige Operationen
  • Produktionsbereit: OAuth2-Authentifizierung, Error Handling, Logging

Installation

# Standard-Installation
pip install seven2one-questra

# Mit pandas-Unterstützung (empfohlen für Data Science)
pip install seven2one-questra[pandas]

Dies installiert automatisch alle Questra-Client-Libraries:

Schnellstart

1. Authentifizierung einrichten

from seven2one.questra.authentication import QuestraAuthentication

auth = QuestraAuthentication(
    url="https://auth.ihr-questra-server.de",
    username="ServiceUser",
    password="IhrPasswort"
)

2. Daten verwalten

from seven2one.questra.data import QuestraData

# Client initialisieren
client = QuestraData(
    graphql_url="https://ihr-questra-server/data/graphql/",
    auth_client=auth
)

# Inventory Items auflisten
items = client.list_items(
    inventory_name="Stromzaehler",
    namespace_name="Energie",
    properties=["_id", "standort", "seriennummer"]
)

# Neues Item erstellen
new_items = client.create_items(
    inventory_name="Stromzaehler",
    namespace_name="Energie",
    items=[{"standort": "Gebäude A", "seriennummer": "SN-12345"}]
)

3. Zeitreihen-Daten abrufen

from datetime import datetime

# TimeSeries-Werte laden
result = client.list_timeseries_values(
    inventory_name="Stromzaehler",
    namespace_name="Energie",
    timeseries_properties="messwerte_Verbrauch",
    from_time=datetime(2024, 1, 1),
    to_time=datetime(2024, 1, 31)
)

# Optional: Als pandas DataFrame konvertieren
df = result.to_df()  # Requires pandas installation

4. Automatisierungen verwalten

from seven2one.questra.automation import QuestraAutomation

# Automation Client initialisieren
automation_client = QuestraAutomation(
    graphql_url="https://api.ihr-questra-server.de/automation/graphql",
    auth_client=auth
)

# Workflows auflisten
workflows = automation_client.list_workflows()

Enthaltene Packages

Dieses Umbrella-Package installiert automatisch:

seven2one-questra-authentication

OAuth2-Authentifizierung für alle Questra-APIs.

from seven2one.questra.authentication import QuestraAuthentication

auth = QuestraAuthentication(url="...", username="...", password="...")

seven2one-questra-data

Data Client für Dynamic Objects und TimeSeries. Unterstützt GraphQL und REST, optionale pandas-Integration.

Features:

  • CRUD-Operationen für benutzerdefinierte Inventare
  • Zeitreihen-Verwaltung mit effizientem Batch-Loading
  • Typsichere Dataclasses für Inventory-Schemas
  • Optional: pandas DataFrames für Analyse-Workflows
from seven2one.questra.data import QuestraData

client = QuestraData(graphql_url="...", auth_client=auth)
items = client.list_items(
    inventory_name="Sensoren",
    namespace_name="IoT",
    properties=["_id", "name"]
)

Siehe Dokumentation auf PyPI für Details zu GraphQL/REST-Queries, Batch-Operationen und pandas-Integration.

seven2one-questra-automation

GraphQL-Client für Workflow-Automatisierung und Event-Driven Architectures.

Features:

  • Workflow-Management (erstellen, starten, überwachen)
  • Event-basierte Trigger
  • Task-Orchestrierung
from seven2one.questra.automation import QuestraAutomation

automation = QuestraAutomation(graphql_url="...", auth_client=auth)
workflows = automation.list_workflows()

Siehe Dokumentation auf PyPI für Workflow-APIs und Event-Handling.

Weitere Ressourcen

License

Proprietary - Seven2one Informationssysteme GmbH

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

seven2one_questra-4.1.0rc1.tar.gz (3.6 kB view details)

Uploaded Source

Built Distribution

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

seven2one_questra-4.1.0rc1-py3-none-any.whl (3.2 kB view details)

Uploaded Python 3

File details

Details for the file seven2one_questra-4.1.0rc1.tar.gz.

File metadata

  • Download URL: seven2one_questra-4.1.0rc1.tar.gz
  • Upload date:
  • Size: 3.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for seven2one_questra-4.1.0rc1.tar.gz
Algorithm Hash digest
SHA256 8aeb75ce599a37f2bb8433a54e3d1870eee6aeec1f4fa506ad24bb7993e80eed
MD5 5962895281df1035ed1ccff7d1a5b185
BLAKE2b-256 5cc8b093ce0d7347141d733b7416e08ddec0b6cb180142405dd8938e308130eb

See more details on using hashes here.

File details

Details for the file seven2one_questra-4.1.0rc1-py3-none-any.whl.

File metadata

  • Download URL: seven2one_questra-4.1.0rc1-py3-none-any.whl
  • Upload date:
  • Size: 3.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for seven2one_questra-4.1.0rc1-py3-none-any.whl
Algorithm Hash digest
SHA256 14855ab8393297c6458f3085133560a55c57e5e75f3fedf12ea4fde637afd75c
MD5 d5395a0fe407b825c621542bb80898e4
BLAKE2b-256 c187bea7f329f4c4b858220b21e1a7fd018f0b9ccd969845531c75645fcf41e8

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