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

Uploaded Python 3

File details

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

File metadata

  • Download URL: seven2one_questra-2.0.0rc1.tar.gz
  • Upload date:
  • Size: 3.5 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-2.0.0rc1.tar.gz
Algorithm Hash digest
SHA256 3e333598fee8c0ff4f9e4c5731021982e82b3c44e949cf815b01fe8019fa4db3
MD5 3aa970f19a1f166ca2e3839d0f762dfd
BLAKE2b-256 b239af5d51251dadc95437149af3db89802e201b892ad46c7cf93206c77c687f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: seven2one_questra-2.0.0rc1-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-2.0.0rc1-py3-none-any.whl
Algorithm Hash digest
SHA256 e955d04c63497f12bd047ddcc2b5e8c05daf24b98297f5e3998df00de0d1b9d8
MD5 dab95ea85a039b3328daa2000b0a3ccd
BLAKE2b-256 c4e952a41f477edf7cb46852a8bb97e6d2fa2ff9305094c783c7694caa5a9696

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