This release is a pre-release and may not be stable for production use.
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:
- seven2one-questra-authentication – OAuth2-Authentifizierung
- seven2one-questra-data – Datenmodell & Datenzugiffe
- seven2one-questra-automation – Workflow-Automatisierung
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
- Vollständige Dokumentation: https://pydocs.[questra-host.domain]
- Support: support@seven2one.de
License
Proprietary - Seven2one Informationssysteme GmbH
Release files for seven2one-questra 4.3.0rc1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| seven2one_questra-4.3.0rc1.tar.gz | 3.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| seven2one_questra-4.3.0rc1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 6.9 kB
Release files / seven2one_questra-4.3.0rc1.tar.gz
| Download URL | seven2one_questra-4.3.0rc1.tar.gz |
|---|---|
| Size | 3.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
895379ce2e2e239a01e651183c52f22dac59534e0534d76c3b70dad0b5ed7fb4
|
|
BLAKE2b-256 checksum How to use checksums |
5e932ac427c3fd8d428c96ff1bfba5475643fa85e559fdfcc034916cda035a56
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","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}
|
Release files / seven2one_questra-4.3.0rc1-py3-none-any.whl
| Download URL | seven2one_questra-4.3.0rc1-py3-none-any.whl |
|---|---|
| Size | 3.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
48a349cfb8fe67f3a8db367a392e1509b6ef89defce92a8bb7ca526121548780
|
|
BLAKE2b-256 checksum How to use checksums |
9472adf87d0501b25815e878643cc5c34ead225e01e8bd182a5cf1274108a1fe
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","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}
|