🐍 · Universalwerkzeug

Python: Die Lingua Franca der Automatisierung und KI

Python ist dort wo KI, Automatisierung und Datenverarbeitung aufeinandertreffen die erste Wahl. Lesbare Syntax, riesiges Ökosystem und direkte Integration mit praktisch jedem KI-Framework – kein anderes Werkzeug deckt so viel ab.

SkripteFastAPIrequestspandasvenv

Python für Automatisierung: Was du wirklich brauchst

Python hat ein riesiges Ökosystem – aber für Automatisierungen und KI-Projekte reichen wenige Pakete:

  • requests / httpx: HTTP-Aufrufe, API-Integrationen. `httpx` für async wenn parallele Anfragen wichtig sind.
  • pydantic: Datenvalidierung mit Typen – die Basis für FastAPI und viele KI-Frameworks
  • python-dotenv: `.env`-Dateien laden, Konfiguration aus Umgebungsvariablen
  • schedule / APScheduler: Aufgaben zeitgesteuert ausführen ohne Cron
  • ollama / openai: Direkte Integration mit LLMs – beide bieten ein kompatibles API
# Typisches Python-Skript-Setup from pathlib import Path import httpx, json from dotenv import load_dotenv import os load_dotenv() API_KEY = os.getenv("API_KEY") with httpx.Client() as client: r = client.get("https://api.example.com/data", headers={"Authorization": f"Bearer {API_KEY}"}) r.raise_for_status() data = r.json()

FastAPI: Eigene APIs in Minuten

Wenn Services Daten teilen sollen, ist FastAPI die modernste Lösung. Automatische Dokumentation, Typ-Validierung und async-Support out of the box:

  • Swagger-UI unter /docs sofort verfügbar – keine manuelle Dokumentation
  • Pydantic-Models für Request/Response-Validierung – falsche Daten werden automatisch abgewiesen
  • Async-Endpoints für I/O-intensive Operationen (DB-Abfragen, API-Calls)
  • Deployment als Docker Container mit einem Dockerfile in 5 Zeilen

Typischer Einsatz: Eigener Endpoint der Ollama wrapping und zusätzliche Logik hinzufügt – n8n ruft den Endpoint auf statt direkt mit Ollama zu sprechen.

Virtuelle Umgebungen und Paketverwaltung

Dependency-Management ist in Python wichtig um Konflikte zwischen Projekten zu vermeiden:

  • venv: Standard – python -m venv .venv && source .venv/bin/activate. Für jedes Projekt eine eigene Umgebung.
  • uv: Neues, extrem schnelles Tool – ersetzt pip und venv. uv init, uv add requests, fertig. Empfehlung für neue Projekte.
  • requirements.txt vs. pyproject.toml: `requirements.txt` für einfache Skripte, `pyproject.toml` mit uv für echte Projekte mit klarer Versionsverwaltung
  • In Docker: Base Image `python:3.12-slim`, Dependencies im Dockerfile installieren, kein venv nötig (Container ist bereits isoliert)

Häufige Fragen zu Python

Ausschließlich Python 3 – Python 2 ist seit 2020 End-of-Life. Für neue Projekte: Python 3.11 oder 3.12 verwenden. Der Befehl ist oft noch `python3` auf Linux-Systemen, mit uv oder pyenv kann man die Version pro Projekt festlegen.

Für Skripte: eine Datei reicht. Für größere Projekte: src/-Layout mit Paket, tests/ für Tests, pyproject.toml für Metadaten. Konfiguration aus Umgebungsvariablen via python-dotenv, kein Hardcoding von Secrets.

Drei Optionen: Cron (klassisch), Systemd-Service (für dauerlaufende Prozesse), oder als Docker Container mit Restart-Policy. Für geplante Jobs ist ein Systemd-Timer die stabilste Lösung auf Linux-Servern.

Async für I/O-gebundene Operationen (viele parallele HTTP-Requests, Datenbank-Calls) – dort ist der Vorteil enorm. Für CPU-gebundene Berechnungen bringt async nichts (dort: multiprocessing). Für einfache Skripte: synchron, einfacher zu lesen und debuggen.