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.0.0rc0.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.0.0rc0-py3-none-any.whl (3.2 kB view details)

Uploaded Python 3

File details

Details for the file seven2one_questra-4.0.0rc0.tar.gz.

File metadata

  • Download URL: seven2one_questra-4.0.0rc0.tar.gz
  • Upload date:
  • Size: 3.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.1 {"installer":{"name":"uv","version":"0.11.1","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.0.0rc0.tar.gz
Algorithm Hash digest
SHA256 4322ac05d9c2cf45b8d46e7eda79630d6109f999df790533c9d9bc1e2598a689
MD5 7363c9d8fe46113473ea5cd80acca3de
BLAKE2b-256 b07e69960fd47f7e02f0bb36cc6bd0d48a8b315fa1af0b1358a12e4a4cd86797

See more details on using hashes here.

File details

Details for the file seven2one_questra-4.0.0rc0-py3-none-any.whl.

File metadata

  • Download URL: seven2one_questra-4.0.0rc0-py3-none-any.whl
  • Upload date:
  • Size: 3.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.1 {"installer":{"name":"uv","version":"0.11.1","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.0.0rc0-py3-none-any.whl
Algorithm Hash digest
SHA256 fdb6ce2b2a7c24cdb5d3d9ac08f57844f7a5a0e9d1286288aa591100c4e0f34c
MD5 0b5113026de2efd6f86ce01b4d2b51b8
BLAKE2b-256 7543abaa2524750222aa2a030885e8e0e759cd6da1b034d71072d0331f32b385

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