Seminar Flask Erweiterungen entwickeln und integrieren

Flask-Erweiterungen können Projekte beschleunigen, erhöhen aber zugleich Abhängigkeit und Wartungsrisiko. Eine professionelle Nutzung beginnt deshalb mit Auswahlkriterien und endet bei Kompatibilitätstests und geregelten Releases.

Neben der fundierten Integration bestehender Pakete wird eine eigene Erweiterung nach dem init_app-Muster entwickelt, paketiert, dokumentiert und gegen mehrere Anwendungsinstanzen sowie Versionen getestet.

Inhaltsübersicht

  1. Application Factory und mehrfache Instanzen
  2. Konfiguration und Erweiterungsinitialisierung
  3. Erweiterungen auswählen und bewerten
  4. Eigene Erweiterung mit init_app entwickeln
  5. Paketierung, Dokumentation und Veröffentlichung
  6. Kompatibilität, Tests und Wartung von Erweiterungen
  7. pytest-Struktur und Fixtures
  8. Continuous Integration und Qualitätsgates
  9. Secrets, Abhängigkeiten und sichere Bereitstellung
  10. Praxisprojekt und Wissenssicherung

Lernziele

  • Erweiterungen nach belastbaren technischen Kriterien auswählen.
  • Erweiterungen ohne globalen anwendungsspezifischen Zustand integrieren.
  • Eine eigene init_app-basierte Erweiterung entwickeln.
  • Ein installierbares Paket mit Dokumentation und Versionierung erstellen.
  • Kompatibilität und Wartung über Testmatrix und CI absichern.

Zielgruppe

Erfahrene Flask- und Python-Entwickler, Bibliotheksverantwortliche sowie Teams, die wiederverwendbare Komponenten entwickeln oder fremde Erweiterungen bewerten.

Voraussetzungen

Gute Flask- und Python-Kenntnisse, Erfahrung mit Application Factory und automatisierten Tests. Grundlagen zu Python-Paketen sind hilfreich.

Seminarinhalte

1. Application Factory und mehrfache Instanzen

Die Anwendung wird in einer Fabrikfunktion zusammengesetzt, damit Konfiguration, Tests und Varianten beherrschbar bleiben.

  1. Schritt 1: create_app mit klarer Reihenfolge für Konfiguration, Erweiterungen, Blueprints und Hooks aufbauen.
  2. Schritt 2: Testkonfiguration als Mapping übergeben und Dateizugriffe während des Imports vermeiden.
  3. Schritt 3: Mehrere Anwendungsinstanzen mit getrennten Einstellungen innerhalb eines Prozesses erzeugen.
  4. Schritt 4: Factory-Erkennung über die Flask-Kommandozeile und Produktionsserver prüfen.

2. Konfiguration und Erweiterungsinitialisierung

Umgebungsabhängige Werte und Erweiterungen werden früh, eindeutig und ohne Importseiteneffekte eingerichtet.

  1. Schritt 1: Defaults, Umgebungsvariablen und geheime Werte in einer nachvollziehbaren Rangfolge laden.
  2. Schritt 2: Konfigurationsschlüssel mit Namensräumen versehen und beim Start validieren.
  3. Schritt 3: Erweiterungsobjekte ungebunden erzeugen und erst in create_app initialisieren.
  4. Schritt 4: Fehlende oder widersprüchliche Einstellungen mit einem kontrollierten Startabbruch behandeln.

3. Erweiterungen auswählen und bewerten

Zusatzpakete werden nach Wartbarkeit, Kompatibilität, Sicherheitslage und tatsächlichem Nutzen ausgewählt.

  1. Schritt 1: Funktionale Lücke beschreiben, bevor nach einer Erweiterung gesucht wird.
  2. Schritt 2: Releaseaktivität, unterstützte Flask-Versionen, Tests und Abhängigkeiten prüfen.
  3. Schritt 3: Konfigurations- und Lock-in-Risiken mit einer kleinen Spike-Implementierung bewerten.
  4. Schritt 4: Entscheidung, Alternativen und Ausstiegsstrategie im Projekt festhalten.

4. Eigene Erweiterung mit init_app entwickeln

Wiederverwendbare Funktionalität wird ohne anwendungsspezifischen globalen Zustand gekapselt.

  1. Schritt 1: Öffentliche API, Konfigurationsnamensraum und Lebenszyklus der Erweiterung definieren.
  2. Schritt 2: Erweiterungsobjekt ungebunden erzeugen und über init_app registrieren.
  3. Schritt 3: Zustand in app.extensions ablegen und Zugriff über Kontextobjekte kontrollieren.
  4. Schritt 4: Mehrere Anwendungsinstanzen und unterschiedliche Konfigurationen parallel testen.

5. Paketierung, Dokumentation und Veröffentlichung

Die Erweiterung wird als installierbares Python-Paket mit klarer Versionierung und belastbarer Dokumentation bereitgestellt.

  1. Schritt 1: Paketmetadaten, Abhängigkeiten und optionale Extras in pyproject.toml definieren.
  2. Schritt 2: Öffentliche Klassen, Typinformationen und minimale Anwendungsbeispiele dokumentieren.
  3. Schritt 3: Wheel und Source Distribution bauen und in einer sauberen Umgebung installieren.
  4. Schritt 4: Version, Changelog und Freigabeprozess mit automatisierten Prüfungen verbinden.

6. Kompatibilität, Tests und Wartung von Erweiterungen

Unterstützte Python- und Flask-Stände werden in einer Testmatrix nachweisbar abgesichert.

  1. Schritt 1: Einheiten-, Integrations- und Beispielanwendungstests getrennt strukturieren.
  2. Schritt 2: Mehrere Konfigurationen und fehlende optionale Abhängigkeiten abdecken.
  3. Schritt 3: Deprecations früh als Fehler behandeln und Migrationshinweise vorbereiten.
  4. Schritt 4: Sicherheitsupdates und Abhängigkeitsänderungen mit geregelten Releases ausliefern.

7. pytest-Struktur und Fixtures

Tests erhalten wiederverwendbare, klar begrenzte Setups für Anwendung, Client, CLI und Daten.

  1. Schritt 1: Testverzeichnisse und Benennung nach pytest-Konventionen anlegen.
  2. Schritt 2: App-Fixture mit TESTING-Konfiguration und sauberem Teardown erstellen.
  3. Schritt 3: Client-, Runner- und Daten-Fixtures aus der App-Fixture ableiten.
  4. Schritt 4: Fixture-Sichtbarkeit und Scope so klein wie möglich halten.

8. Continuous Integration und Qualitätsgates

Jede Änderung durchläuft reproduzierbare Prüfungen, bevor sie zusammengeführt oder ausgeliefert wird.

  1. Schritt 1: Installation aus Lockfile beziehungsweise definierten Abhängigkeiten in sauberer Umgebung durchführen.
  2. Schritt 2: Formatierung, Linting, Typprüfung, Tests und Sicherheitsprüfung in getrennten Schritten ausführen.
  3. Schritt 3: Testmatrix für unterstützte Python- und Flask-Stände festlegen.
  4. Schritt 4: Abbruchkriterien, Artefakte und nachvollziehbare Berichte als Merge-Gate konfigurieren.

9. Secrets, Abhängigkeiten und sichere Bereitstellung

Sicherheitsniveau umfasst Quellcode, Pakete, Konfiguration und Betriebsweg gemeinsam.

  1. Schritt 1: Secrets aus Repository und Image entfernen und Rotation vorbereiten.
  2. Schritt 2: Abhängigkeiten sperren, regelmäßig prüfen und Sicherheitsupdates priorisiert einspielen.
  3. Schritt 3: Debug-Modus und Entwicklungsserver in Produktion technisch ausschließen.
  4. Schritt 4: Build-Artefakt, Konfiguration und Laufzeitrechte in der CI kontrollieren.

Praxisprojekt

Eine reale Funktionslücke wird zunächst gegen vorhandene Erweiterungen bewertet. Danach entsteht eine eigene wiederverwendbare Erweiterung, die als Paket gebaut und in mehreren Beispielanwendungen sowie einer CI-Matrix geprüft wird.

Methodik

Kurze fachliche Einordnungen wechseln mit Demonstrationen, geführten Umsetzungen, Fehleranalysen und eigenständigen Übungen. Jede größere Änderung wird durch einen Test, eine Diagnose oder eine betriebliche Prüfroutine abgesichert. Die Arbeitsstände werden schrittweise zu einem durchgängigen Beispielprojekt zusammengeführt.

Fachbereichsleitung / Trainerteam / Ansprechpartner

Seminardetails

   
Dauer: 3 Tage ca. 6 h/Tag, Beginn 1. Tag: 10:00 Uhr, weitere Tage: 09:00 Uhr
Preis: Öffentlich oder Live Stream: € 1.797 zzgl. MwSt.
Inhaus: € 5.100 zzgl. MwSt.
Teilnehmeranzahl: min. 2 - max. 8
Teilnehmer: Erfahrene Flask- und Python-Entwickler, Bibliotheksverantwortliche sowie Teams, die wiederverwendbare Komponenten entwickeln oder fremde Erweiterungen bewerten.
Voraussetzungen: Gute Flask- und Python-Kenntnisse, Erfahrung mit Application Factory und automatisierten Tests. Grundlagen zu Python-Paketen sind hilfreich.
Standorte: Stream Live, Inhaus/Firmenseminar, Berlin, Bremen, Darmstadt, Dresden, Erfurt, Essen, Flensburg, Frankfurt, Freiburg, Friedrichshafen, Hamburg, Hamm, Hannover, Jena, Kassel, Köln, Konstanz, Leipzig, Luxemburg, Magdeburg, Mainz, München, Münster, Nürnberg, Paderborn, Potsdam, Regensburg, Rostock, Stuttgart, Trier, Ulm, Wuppertal, Würzburg
Methoden: Vortrag, Demonstrationen, praktische Übungen am System
Seminararten: Öffentlich, Webinar, Inhaus, Workshop - Alle Seminare mit Trainer vor Ort, Webinar nur wenn ausdrücklich gewünscht
Durchführungsgarantie: ja, ab 2 Teilnehmern
Sprache: Deutsch - bei Firmenseminaren ist auch Englisch möglich
Seminarunterlage: Dokumentation auf Datenträger oder als Download
Teilnahmezertifikat: ja, selbstverständlich
Verpflegung: Kalt- / Warmgetränke, Mittagessen (wahlweise vegetarisch)
Support: 3 Anrufe im Seminarpreis enthalten
Barrierefreier Zugang: an den meisten Standorten verfügbar
  Weitere Informationen unter + 49 (221) 74740055

Seminartermine

Die Ergebnissliste kann durch Anklicken der Überschrift neu sortiert werden.

Seminar Startdatum Enddatum Ort Dauer
Inhaus / Firmenseminar 3 Tage
Sankt Gallen 3 Tage
Basel 3 Tage
Winterthur 3 Tage
Zürich 3 Tage
Stream live 3 Tage
Stream gespeichert 3 Tage
Luzern 3 Tage
Bern 3 Tage
Bern 3 Tage
Luzern 3 Tage
Inhaus / Firmenseminar 3 Tage
Sankt Gallen 3 Tage
Basel 3 Tage
Winterthur 3 Tage
Zürich 3 Tage
Stream live 3 Tage
Stream gespeichert 3 Tage
Stream gespeichert 3 Tage
Luzern 3 Tage
Bern 3 Tage
Inhaus / Firmenseminar 3 Tage
Sankt Gallen 3 Tage
Basel 3 Tage
Winterthur 3 Tage
Zürich 3 Tage
Stream live 3 Tage
Stream live 3 Tage
Stream gespeichert 3 Tage
Luzern 3 Tage
Bern 3 Tage
Inhaus / Firmenseminar 3 Tage
Sankt Gallen 3 Tage
Basel 3 Tage
Winterthur 3 Tage
Zürich 3 Tage
Zürich 3 Tage
Stream live 3 Tage
Stream gespeichert 3 Tage
Luzern 3 Tage
Nach oben
Seminare als Stream SRI zertifiziert
© 2026 www.seminar-experts.ch All rights reserved.  | Kontakt | Impressum | Nach oben