LeTTo Doc

Referenz-Plugin (Python)

Das Projekt plugin-demo-python ist eine Referenzimplementierung eines LeTTo-Plugin-Services in Python (FastAPI). Es ist eine Portierung des Referenz-Plugins (Java) und implementiert dieselbe REST-Schnittstelle. Als Beispiel enthält es das Plugin UhrPy – ein Uhrblatt, auf dem eine Uhrzeit eingestellt und mit der Musterlösung verglichen wird. Das Plugin dient nur zur Veranschaulichung und ist nicht für den Unterricht gedacht.

Allgemeines

Technische Daten

Eigenschaft Wert
Sprache Python 3.12
Framework FastAPI 0.115, Server uvicorn 0.34, DTOs mit Pydantic 2.10
Bilderzeugung Pillow 10.4
HTTP-Client (Registrierung) httpx 0.28
Debugger debugpy
Docker-Image lettohub/letto-plugin-demopython:latest (Basis python:3.12-slim)
Servicepfad im Demo /plugindemopython (Umgebungsvariable SERVICEPATH)
Service-Name letto-plugindemopython, Version 1.0
Plugin-Typ UhrPy

Python oder Java?

  Java Python
Aufbau Spring Boot, Klassen je Aufgabe, BasePlugin als Basisklasse eine Datei app/main.py, Plugin-Klasse PluginDemo
Neues Plugin anlegen Script setpluginname.bat Konstanten und Konfigurationsdateien von Hand anpassen
Bild wird in Java gezeichnet (paint) wird mit Pillow gezeichnet
Konfigurationsdialog im iframe (CONFIGMODE_URL) implementiert nicht implementiert
Tests – pytest, ohne Docker und ohne LeTTo lauffähig

Inhalt

Plugins