Bereits bei den vorangegangenen Veranstaltungen gab es hin und wieder Berührungspunkte zum Thema Python. Vor einiger Zeit stellte Jan Hagemeister seine Experimente mit KI Modellen unter Python vor und berichtete von Auswertungen, die er mit der Bibliothek Pandas unter Python durchführt. Im Dezember dann zeigte Marcel Moré, die von ChatGPT+ generierten Python-Scripte, mit deren Hilfe eine komplexe Auswertung von Transaktionsdaten direkt aus einer Excel-Datei erstellt wurde. Grund genug, nun einmal tiefer in das Thema Python einzutauchen und ein paar Grundlagen näher kennen zu lernen.
Pyhton Installation und Tools
Martin Gattermann erklärte sich im Vorfeld bereit, diesen Part zu übernehmen und nahm die Teilnehmer des FileMaker Stammtischs mit auf eine Reise durch die Python-Welt, in der auf allerhand Feinheiten zu Entwicklungswerkzeugen, Bibliotheken und Code-Beispielen eingegangen wurde. Martin erläuterte die Vorzüge und zahlreichen Funktionen der IntelliJ IDE von JetBrains. Neben dem eigentlichen Editor bietet IntelliJ eine nahtlose Integration der Versionierungsverwaltung git, eine virtualisierte Modulverwaltung um Konflikte mit installierten Bibliotheken zwischen unterschiedlichen Projekten zu vermeiden, Funktionen zur Dokumentation, Terminal-Integration sowie zahlreiche Plugins, z.B. für den Chat mit einem KI-Assistenten.
Beeindruckend war die Verwendung des Jupyter Notebooks, in der Code-Fragmente einzeln zusammengestellt, getestet und dokumentiert werden können. Die jeweiligen Module lassen sich einzeln interaktiv ausführen und speichern definierte Variablen und Objekte persistent ab, Ergebnis-Ausgaben können direkt im Notebook sichtbar gemacht werden. Damit ist es möglich, Schritt für Schritt auch komplexe Programm-Abläufe interaktiv zu entwickeln und debuggen.
Workingdays Demo in Python
Martin zeigte eine kleine Beispiel-Anwendung, mit der er einige Varianten der auf dem November-Stammtisch präsentierten Workingdays-Demo zur Berechnung von Arbeitstagen in Python neu umgesetzt hatte. Der zugehörige Python-Code wurde detailliert erläutert und die eingesetzten Bibliotheken kurz vorgestellt. Somit wurde deutlich, wo die Stärken von Python liegen. Insbesondere die Möglichkeit, sehr mächtige Funktions-Abfolgen mit wenigen sehr kurzen Kommandos umzusetzen. Beispielhaft sei hier die Abfrage von APIs oder die Verwendung und Ansteuerung von zahlreichen Datenbank-Engines genannt. Martin zeigte dazu eine kleine Demo, wo Daten über das REST-API von Workingdays abgefragt und direkt in einer SQLite Datenbank gespeichert wurden. Für das Anlegen der Datenbank und das Speichern der Datenstruktur wurden lediglich zwei einfache Code-Zeilen benötigt.
Q&A und Links
Die Teilnehmer hatten anschließend Gelegenheit, Fragen zu stellen und Martin gab die Möglichkeit, auf Details aus den Demos noch näher einzugehen.
IntelliJ IDEA
https://www.jetbrains.com/de-de/idea/
Jupyter Notebook
https://jupyter.org
Workingdays Python Demo auf github
https://github.com/martingattermann/working_days