import this

der Python Podcast

IPython und Jupyter

interaktives Python in Shell und Web - Januar 3, 2016

IPython ist als interaktive Python Shell auf Steroiden gestartet. Dort wo die Python REPL (Read-eval-print loop) endet, fängt IPython erst an. Diese interaktive Shell läuft aber nicht nur im Terminal sondern auch im Web, Jupyter Notebook genannt. Dabei unterstützt sie auch viele weitere Programmiersprachen.

In diesem Podcast reißen wir die IPython Features kurz an. Im Sendezentrum auf dem 32C3 hatten wir eine Stunde aufnehmen können. Wir hoffen Euch zumindest so neugierig gemacht zu haben, dass Ihr etwas in der Doku stöbert und IPython/Jupyter selbst ausprobiert.

Links:

Softwaretests mit py.test

Drum prüfe automatisch, was Du programmierst ... - November 28, 2013

Den Wert automatischer Softwaretests begreift man spätestens, wenn diese Bugs vor den Usern lokalisieren. Sie helfen aber auch den eigenen Code zu überdenken und ergänzen letztlich z. T. die Dokumentation. D. h. sie stellen eine vertrauensbildende Maßnahme zum Code dar.

Das Schreiben und Ausführen dieser Tests sollte so einfach wie möglich sein. Die Batterien in der Python Standardlib haben lange Zöpfe. Wir unterhalten uns mit Holger Krekel über das automatische Testen von Software generell und sprechen im 2. Teil speziell über sein Testframework py.test und ergänzende Tools wie z. B. dem Metatestrunner tox.

Wir danken Holger, der bis zur letzten Schwingung seiner Stimmbänder diese Episode mit interessantem Wissen und Erfahrungen rund um das Softwaretesten bereichert hat.

Links

CLI Parameter mit Docopt und Schema

simplel und pythonic - Oktober 9, 2013

import docopt

"""

CLI Parameter mit Docopt und Schema

Gerade für CLI Tools ist Python oft eine gute Wahl. Es verbindet die Geschwindigkeit von Shell-Programmierung mit Features einer durchdachten Sprache.

Eine der ersten Zeilen Code ist sys.argv[] zu parsen. Die Standardlib bringt da mit optparse oder seit Python (2.7|3) argparse sehr umfangreiche Packages mit. Umfangreich heißt leider auch etwas zeitintensiv zu nutzen, wenn man die Doku nicht auswendig gelernt hat.

Komplett von der anderen Seite zäumt Docopt [0] dieses Problem auf. Man schreibt einfach seinen Hilfetext in einen String und wirft ihn diesem Modul vor. Genau, das war alles.

In der Natur der Sache liegt, dass Docopt nicht weiß, wie es die CLI Optionen und Argumente validieren soll. Da kommt z. B. Schema [1] des selben Autors ins Spiel. Dieses Modul bietet ein simples Interface beliebige Datenstrukturen zu validieren. Damit ist es nicht nur ein perfekter Kompagnon für ...

Das SCM Mercurial

verteilte Versionskontrolle mit Mercuial aka hg - März 17, 2013

Mercurial ist ein verteiltes Versionskontrollsystem.

Da es unabhängig vom einem Server arbeitet kann jeder lokal und auch ohne Internetverbindung Dokumente oder Quellcode damit verwalten. Trotzdem kann man mit Mercurial die Repositories untereinander austauschen und so auch über weite Entfernungen zusammen arbeiten.

Viele bekannte Open Source Projekte und Firmen setzen Mercurial ein. So zum Beispiel Atlassian, Dovecot, Gajim, Google, Facebook, Mozilla, OpenOffice, OpenSolaris, Python, PyPy, RabbitMQ, Unity, Vim oder Xen.

Links

PyCon DE 2012

Die deutschsprachige Python Konferenz - Dezember 11, 2012

Ende Oktober fand die 2. Python Konferenz für den deutschsprachigen Raum in Leipzig statt. Auch wenn man sich im Netz und z. B. in lokalen Gruppen gut über diese Sprache austauschen kann, so ist das auf einer Konferenz wesentlich intensiver. Wir geben einen Rückblick auf dieses gelungene Event und hoffen Interesse für die mittlerweile veröffentlichten Vorträge wecken zu können.

Shownotes:

Sphinx

der Dokumentationsgenerator nicht nur für Python - Oktober 9, 2012

Dokumentation gehört zu Software dazu. Das Erstellen dieser ist aber oft nicht so spannend. Deshalb sollte es wenigstens gute Tools geben, die diesen Prozess so schmerzfrei wie möglich machen. Genau so eines stellen wir in dieser Episode vor: Sphinx.

Shownotes:

PyPy

The fast, compliant alternative implementation of the Python language. - Juli 12, 2012

Clearly, PyPy is more than a just faster alternative to the standard Python implementation CPython with a JIT and an experimental Software transactional memory implementation. Some people even use it to implement their own programming languages.

We took the opportunity to catch the two core members Armin and Maciej of the PyPy project at a Sprint in Leipzig. They talk about the project, what they achieved so far, what's boiling at the moment, and what else you can achieve with the RPython toolchain.

You will have noticed it by now, we fell back to the least common denominator English as the interview language. We applolgise in advance for the restricted recording environment.

As a side note, this podcast now is also available via bittorrent from Bitlove.org.

Shownotes:

Django 1.4

die neuen Features - Mai 15, 2012

Django ist eines der weit verbreiteten in Python geschriebenen Webframeworks. Am 23. März wurde die Version 1.4 released. In dieser Folge stellen wir die großen und einige der kleinen Features vor.

Mit der Audioqualität sind wir auch nicht zufrieden. Wird ab der nächsten Folge wieder besser.

Shownotes

Logging

Mit print debuggt man nicht. - Mai 10, 2012

Während ein Programm läuft, fallen Informationen aller Art an. Praktisch ist das für Debugausgaben aber auch für Infos über die Umgebung, Zustände oder was gerade so mit den Daten passiert. Diese Nachrichten will man möglichst komfortabel auf die Konsole, in eine Datei, per E-Mail, oder und oder schicken.

Diese Episode beschäftigt sich mit Anforderungen an das Logging, geht Schwerpunktmäßig auf das Modul der Standardlib ein und streift etwas zwei Alternativen.

Shownotes

Virtualenv

reale gekapselte Pythonumgebungen - April 24, 2012

Pythonprogrammierer profitieren vom unendlichen Quell an Modulen, welche im Geiste des Sharing is Caring die eigenen Codingaufgaben erleichtern.

Doch wie kann man 3rd Party Module einfach mal ausprobieren ohne sich die eigene Pythoninstallation zuzumüllen? Wie kann man eine neue Version eines Moduls testen, gerade mit unterschiedlichen Interpretern (auch PyPy)? Wie kann man ein bestimmtes Set an Modulen zusammen nutzen? Wie kann man sich solche Umgebungen im eigenen home-Verzeichnis einrichten?

Man wünscht sich also eine gekapselte Umgebung für die zusätzlichen Module. Genau das leistet Virtualenv, was wir Euch in dieser Episode vorstellen möchten.

Kommentare zur Sendung könnt Ihr bitte direkt. auf der Seite zum Podcast posten.

Shownotes:

Zeitrechnungen

in der Zeit vor und zurück - April 13, 2012

Mit Zeitpunkten kommt man im täglichen Programmieralltag ziemlich oft in Berührung. Diese will man bestimmen, vergleichen, ausgeben, speichern auf sie warten oder ihren Abstand berechnen. Was zunächst relativ einfach klingt, wird schnell komplex. Da existieren verschiedene Kalender, Zeitzonen, variable Zeiteinheiten wie das Jahr und und und.

Python bietet umfangreiche Unterstützung für diese Aufgaben bereits in der Standardlibrary. Wenn das nicht ausreichen sollte, gibt es weitere Module.

Viel Spaß beim zuhören.

Shownotes:

Vorstellung

Intro zum Podcast - April 12, 2012
Wie der Titel schon verrät, erzählen wir kurz was wir so in diesem Podcast vor haben.
Links zur Sendung: