Session Proposals

Oliver Bestwalter

Der magische TestDreiSprung

CI mit pytest/devpi/tox

Johannes Hubertz

Python Testing Tutorial

Einführung ins Testen anhand von Beispielen

Nach Grundlagen geht es zur Praxis:

Mit einigen Beispielen werden doctests im Code gezeigt, Exaktheit, Vollständigkeit, unittests werden nur angerissen, dann folgt pytest, mit config,, markern und fixtures...

Dauer: 4 Zeit-Stunden, 1.Tag nachmittags

Hi Johannes, wenn Du auch schon was zu pytest erzählst, dann brauch ich ja nur noch tox und devpi abdecken :)
Oliver Bestwalter, 30.03.2017
Vielleicht wollt ihr das zusammen machen.
Nicco Kunzmann, 08.04.2017
Reimar Bauer

QT Applikation

ca. 8 min Vorstellung einiger Werkzeuge um eine QT Applikation zu erstellen, im Anschluss Diskussion mit anderen über Best Practises

Reimar Bauer

conda-forge

Anaconda ist die führende Python Plattform für wissenschaftliche Arbeiten. Noch nie war es so leicht eine Applikation für linux zu entwickeln und auf windows oder OSX auszuführen.

conda-forge ist eine git hub community und stellt eine Vielzahl von Werkzeugen für diese Platform zur Verfügung.

Der Beitrag möchte aufzeigen welchen Mehrwert ein Anwender durch diese Community gewinnt.

Reimar Bauer

Open DEV Tool Diskussion

Was nehmt ihr um euer Team zu informieren, auf dem aktuellem Stand der Entwucklung zu halten?

Ist es slack? jira?

Was gibt es noch?

Redmine. Wenn man sich an das UI gewöhnt hat, ist es gut ;)
Tobias Stenzel, 21.02.2017
Nicco Kunzmann

Python Programieren für Anfänger

Wie und wo kann man Python lernen?

Inhalt sind Tutorials, Organisationen und Veranstaltungen.

Thomas Fischer

Scapy 3 im Admin und Testeinsatz

Ein kleiner Crashkurs in die Netzwerkthematik und warum man dafür Pakete generieren soll.

Eine kleine einführung in Scapy 3.

Konkrete Test- und Adminaufgaben mit Scapy lösen und automatisieren.

Dauer ca. 1-3 Stunden (je nach Hands-On Anteil)

Effizientes Debugging mit Type-Annotations (Oder: Das berüchtigte PEP 484)

Es gibt viele Fälle, in denen Pythonaufrufe durch falsche Datentypen stillschweigend "schiefgehen". Typechecking kann solche Probleme direkt an der Wurzel abfangen. Seit PEP 484 gibt es eine genormte Notation für Datentypen in Python, die typbezogene Tests statisch oder zur Laufzeit ermöglicht. So kann nun vermieden werden, dass "stille" Fehler verschleppt werden und schließlich Probleme weit entfernt von ihrer Ursache auftreten.

Betrachtet wird u.A. auch die Anwendung von Type-Annotations in Python 2.7 (eigentlich ein Feature von Python >=3.5).

(20 min Vortrag/Einführung, ggf mit anschließendem Tutorial (1-3h) je nach Interesse)

Jython: Java API und die JVM mit Python steuern

In Jython fallen die Grenzen zwischen Java und Python. So verbindet man schnelles Python-Prototyping mit Java-Technologie. Java-API kann schnell "mal eben" ausprobiert werden (kein Java-Compiler erforderlich); ebenso kann man eine Aufgabe in Python lösen und nahtlos in ein Java-Framework einbinden. Sogar Python-Klassen können von Java-Klassen erben.

Python ohne GIL ist Zukunftsmusik? In Jython schreibt man bereits jetzt "wahrhaft" parallelen Pythoncode.

Mit Jython 2.7.1 wird die Kompatibilität stark verbessert, u.A. ist SymPy nun nutzbar unter Jython.

Auch C-Extensions wie NumPy lassen sich durch das Jython Native Interface (JyNI) benutzen wie in CPython (noch experimentell, eine Demo wird gegeben).

(20 min Vortrag/Einführung, ggf mit anschließendem Tutorial (1-3h) je nach Interesse)

Du hast nicht zufällig auch Ahnung, wie man das umgekehrt macht, also ein Python-API in Java verfügbar machen ;)?
Dominik George, 07.04.2017
Doch, das geht auch. Ich werde demonstrieren, wie man das mit Jython macht. Allerdings geht das nur mit Python-API, die unter Jython lauffähig ist. Sonst braucht man JEP oder Py4J; diese tools sind allerdings nicht im Scope der Session (ich kann ein paar Hinweise geben, hab aber dazu keine Demonstration parat).
Stefan Richthofer, 08.04.2017
Martin Christen

Type Hints im Jupyter Notebook

Seit PEP484 resp. Python 3.5 können wir bekanntlich Type-Hints verwenden. Diese unverbindlichen "Typen Hinweise" haben jedoch keinen Einfluss auf Performance oder Ausführung des Codes. In diesem kleinen Tutorial wird gezeigt, wie wir zur Laufzeit auch im Jupyter-Notebook Typen überprüfen können.

Reimar Bauer

python Applikation im Startmenu

Wenn man nicht nur Libraries schreibt sondern Anwendungen. ....

Dann möchte man eigentlich das die Anwendung auf allen Platformen in den entsprechenden Menüs auftaucht.

Welche Lösungsansätze gibt es?

Oliver Bestwalter

Wie wird aus ein paar Python Dateien ein richtiges Projekt?

Ich habe ein Lehrprojekt erstellt, mit dem ich (fortgeschrittenen) Einsteigern über das bloße Programmieren hinaus zeigen möchte, wie aus einem Python Modul/Paket ein richtiges Projekt wird, das gute (aus meiner Sicht), frei verfügbare Werkzeuge aus dem Python/OSS Ökosystem verwendet.

Hier ist ein Überblick, was das Prjekt enthält: http://oliver.bestwalter.de/mau-mau/#implementation-and-tools

Bei Interesse kann ich das gerne genauer vorstellen und Fragen dazu klären. Mich würde auch interessieren, ob so eine Beispielprojekt hilfreich für Lernende sein kann.

Code: https://github.com/obestwalter/mau-mau

Dokumentation: http://oliver.bestwalter.de/mau-mau/

Peter Jung

Das Python Machine Learning Stack

Ob Google, Facebook oder Microsoft, Python setzt sich zunehmend als Tool der Wahl für viele Anwendungen rund um Datenanalyse durch. In den letzten Jahren hat sich ein qualitativ sehr hochwertiges Ökosystem aus Open Source Bibliotheken in Python für den Data Scientist entwickelt, insbesondere im Bereich Deep Learning. Hier ein grober Überblick, ohne Anspruch auf Vollständigkeit. 30min bis 1h Vortrag. Option auf anschließende Hands-On Sessions.

Veripeditus AR Game Framework

Ein Python-Framework, mit dem jeder sein eigenes AR-Spiel entwickeln kann.

Mit Pokémon GO und Ingress haben Augmented-Reality-Spiele ("erweiterte Realität") an Beliebtheit gewonnen. Veripeditus macht es jedem möglich, selber AR-Spiele in Python zu programmieren. Bei der Entwicklung des Frameworks wurde vor allem auf Einsteigerfreundlichkeit geachtet, weshalb Veripeditus auch im Bildungsbereich benutzbar ist.
Deleted User, 07.04.2017
Dominik George

OSMAlchemy - e ganze Welt in SQLAlchemy

OSMAlchemy ist eine Erweiterung für SQLAlchemy, mit der sich die Live-Daten der OpenStreetMap sehr einfach und mit geringen Resourcen in Anwendungen, die SQLAlchemy benutzen, einbinden lassen. Dabei wird der Zugriff auf die OSM-Daten vollkommen transparent, als wäre der komplette Datenbestand lokal vorhanden.

Oliver Frietsch

Text-Jongleur: Jinja2-Templates auskosten

Irgendwann kommt man als Anfänger wohl immer an den Punkt, wo man ein paar Texte oder Textdateien "elegant" und modular erzeugen möchte - und bitte nicht mit String-"Additionen" im Code!

Ob das nun personalisierte Massen-Mailings, die HTML-Seite der WebApp, oder die Konfigurationsdateien im DevOps-Bereich sind.

In meiner Schublade (sorry, mehr ließ der Orga-Aufwand hier nicht zu) liegt noch eine Präsentation zu Jinja2-Templates mit Stand Ende des Jahres. Behandelt wird ausführlich die Template-Syntax, aber auch die Nutzung von der Python-Seite aus und die Vorzüge der Engine.

Übrigens findet sich die selbe Template-Syntax auch in Engines im PHP- oder JavaScript-Bereich wieder, aber das nur mal so angemerkt... ;-)

Nicco Kunzmann

Eigenes Python Package erstellen

Wie erstelle ich mein erstes eigenes Python Package und lade es auf Pypi hoch. Dann kann man es mit pip installieren.

Zusätzlich kann das Package auch von Github automatisch beim versionieren hochgeladen werden. Dazu kann der Continuous-Integration-Dienst "Travis" verwendet werden.

In order to be able to create or vote for proposals, you need to be logged in. you can log in and register here