Skip to main content

Unified Python Client für Questra Platform - Umbrella Package für Authentication und Data API

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
  • High-Level API: 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

High-Level API 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-0.7.1.tar.gz (6.7 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-0.7.1-py3-none-any.whl (3.2 kB view details)

Uploaded Python 3

File details

Details for the file seven2one_questra-0.7.1.tar.gz.

File metadata

  • Download URL: seven2one_questra-0.7.1.tar.gz
  • Upload date:
  • Size: 6.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","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-0.7.1.tar.gz
Algorithm Hash digest
SHA256 32ff4cf62779a48181d47323e04577767a87d9982d27e1cda26507ca35c6f8b2
MD5 938dfbc8cd2532f0a0c1cf978dc67d7b
BLAKE2b-256 3d02648fc66aef334b6c8ea2b9d97866962622ce436e88a7b954ad483118097e

See more details on using hashes here.

File details

Details for the file seven2one_questra-0.7.1-py3-none-any.whl.

File metadata

  • Download URL: seven2one_questra-0.7.1-py3-none-any.whl
  • Upload date:
  • Size: 3.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","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-0.7.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6366d64bdb3179500ab96444921178d7a14eabb2cd50244356875ccec475aecc
MD5 e7e323d7d5c325383e75bdb54efa7293
BLAKE2b-256 5c5f0f42bef6a2d6b234a922ef1491baa1aa36c45003c9dfcc3594e37eef9ba5

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