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.0.tar.gz (3.2 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.0-py3-none-any.whl (3.2 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for seven2one_questra-4.1.0.tar.gz
Algorithm Hash digest
SHA256 0c2f69d56add3b7f25b54e54cd94ac0020a876dbca516c4d54a8d00b22d0c7f9
MD5 e878ec31bf986c3fee45dd0554f5211c
BLAKE2b-256 5150b9a0331d6dcdc12c9418b16501cd467ba35fabf1f1b477226eb9ab77ad96

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for seven2one_questra-4.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f65df3f34715969d9c9bd4cdd07249fe056b9d4441cc46fd6ea1aead84e35341
MD5 772ea4a4557117da7f51543c2d258618
BLAKE2b-256 d01f69630574db6c1c1a4e46a5a8ac1496fd3f7b63202404aa9753e0703fe92f

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