Einträge mit dem Tag: [python]

Donnerstag Jan 24, 2013

Python: Exceptions mit Context Manager kapseln

Einen sehr schönen Blog-Post hat William Thompson verfasst. Dabei geht es darum, diese, den Lesefluß störenden try: ... except: ... Blöcke aus Python-Skripten rauszubekommen und mit Hilfe der Contextmanager und dem with-Statemant lässt sich das sehr schön lösen, wie ich meine.

Python Unit Testing Tutorial

Doug Hellman hatte in seinem Python Module Of The Week das unittest Modul (Python 2.6) ganz gut beschrieben. Corey Goldberg hat das Ganze für Python 3.3 neu aufgelegt.


Donnerstag Jan 17, 2013

PyQuery - JQuery in Python

Und weil wir vorher gerade bei HTTP-Requests waren: Wer HTML-Seiten manipulieren oder durchstöbern möchte, der tut das mit JavaScript oft mit JQuery. Gleiches geht auch mit Python mit PyQuery. Es wird leider nicht der komplette Funktionsumfang von JQuery unterstützt, aber es ist sehr viel dabei. Da kann man die meisten anderen HTML-Tools oftmals gleich in die Tonne treten ;-)

Python Requests HTTP Lib

Also wer mit Python HTTP-Requests machen möchte, der sollte sich mal unbedingt Requests anschauen und urllib2 gleich vergessen. Die Implementierung ist einfach super und sowas von elegant und effektiv, das sieht man nicht sehr oft. Beispiel gefällig?

>>> r = requests.get('https://api.github.com/user', auth=('user', 'pass'))
>>> r.status_code
200
>>> r.headers['content-type']
'application/json; charset=utf8'

>>> r.encoding
'utf-8'

>>> r.text
u'{"type":"User"...'

>>> r.json() 
{u'private_gists': 419, u'total_private_repos': 77, ...} 

>>> r = requests.get('https://github.com/timeline.json')
>>> r.text
'[{"repository":{"open_issues":0,"url":"https://github.com/...

Also wenn das nicht einfach und effektiv ist... :-)

Passed dazu gibt es dann noch requests-cache. Das ist ein transparenter Cache für die Requests-Lib. Ihn interessieren keine HTTP-Header, sondern er cached einen Seitenabruf solange man die Cachezeit angegeben hat. Sehr praktisch wenn man externe Resourcen während des Debuggens miteinbeziehen muss. Macht die Sache erheblich schneller.


Samstag Jan 12, 2013

MediaGoblin

MediaGoblin ist eine OpenSource Media Publishing Platform, die man sich als dezentralisierte Alternative zu Flickr, YouTube, SoundCloud, usw. vorstellen kann. Das Ganze ist in Python geschrieben und steht noch etwas am Anfang, aber man kann damit schon ganz gut arbeiten.


Donnerstag Dez 20, 2012

Flask und Redis

Wie man die NoSQL Redis zusammen mit dem Flask Framwork nutzt, zeigt dieses Snippet. Das Beispiel beschreibt wie man Online User zählt.


Mittwoch Nov 28, 2012

kdev-python für KDevelop

kdev-python ist ein Plugin für KDevelop. Damit kann man jetzt auch mit KDevelop Python Programme einfacher entwickeln. Für alle Python und KDE Entwickler gute Neuigkeiten. Unterstützt wird u.a. Code-Vervollständigung, Navigation widget um einfach im Code navigieren zu können, usw.

Twitter für Python - tweepy

Eine weitere Python Twitter API names tweepy ;-) Ist aber relativ einfach zu verwenden.


Freitag Nov 16, 2012

Python stdnet - Datenmanager für Redis

Prinzipiell kann stdnet auf verschiedene Datenbackends zugreifen, aber aktuell wird nur Redis unterstützt. Zugegriffen wird über einen leichtgewichtigen Object Data Mapper (ODM). Wie alle ODM's mapped stdnet Python Objekte in Daten in der Datenbank und umgekehrt, was eben den Vorteil hat, das man programmieren kann bzw. die Daten abfragen kann, wie man es gewohnt ist. 

Rake/Make für Python: Paver und Shovel

Shovel macht es einfach, Python Funktionen in Tasks zu verwandeln, die man von der Kommandozeile aus aufrufen und auf sie zugreifen kann. Sie können auch vom Browser aus angestoßen werden. In die gleiche Richtung geht Paver.


Montag Nov 05, 2012

ics/iCalender für Python

Mit der Internet Calendaring and Scheduling (iCalendar) for Python Lib kann man u.a. ics-Files (iCalender) erstellen und verwalten.


Mittwoch Okt 31, 2012

python-progressbar

Wenn ein Task mal länger läuft, dann hätte man ja gerne oft eine Fortschrittsanzeige. Mit der python-progressbar geht das sehr einfach. 17 Beispiele bzw. verschiedene Arten von Fortschrittsanzeigen sind schon dabei, weitere kann man selber hinzufügen.


Sonntag Okt 28, 2012

Realtime Analysen mit Redis und Python: bitmapist

Wer schnell Antworten auf 

Wie oft war User 123 heute, diese Wochen, diesen Monat online?
Hat User 123 Aktion X ausgeführt? 
Wie viele User waren aktiv dieses Monat? Diese Stunde?
usw.

braucht, der sollte sich bitmapist (github) anschauen und implementieren.


Montag Okt 22, 2012

Sentry Application Exception Tracking

Sentry ist ein Event Logging System, um das Handling von Fehlern und Exceptions, die in Applikationen auftreten, zu verbessern und zu zentralisieren. Sentry gibt es auf Github als Open Source oder auch als Hostinglösung. Konnektoren gibt es für div. Programmiersprachen wie Java, Python, PHP, Ruby, Go, Node.js, usw.

Freie Editoren für Programmierer

Hier mal eine Auflistung von freien Editoren, die mir in letzter Zeit über den Weg gelaufen sind. Eclipse ist mir inzwischen einfach zu groß und schwerfällig und man braucht das Zeug alles gar nicht, was da drin ist. Die folgenden Editoren haben - wie immer - alle ihre Stärken und Schwächen, aber jeder hat ja auch so seine Vorlieben ;-) 

Enki is a text editor for programmers
Ninja-IDE - Speziell (aber nicht nur) für Python-Entwickler mit Code Completion. Gefällt mir persönlich recht gut.
Sublime Text - Nicht OpenSource aber kann man so runterladen. Kostet 59$, wenn man ihn kauft, ansonsten kommt ab und an mal die Meldung, ob man das nicht tun will. Wenn man den Editor aufmacht, denkt man erstmal, was soll das denn sein? ;-) Ziemlich minimalistisch, aber wenn man eine Weile rum macht, sehr mächtig.
Geany - Basiert auf GTK2. Sehr klein und schnell, aber trotzdem schön damit zu arbeiten.
PyCharm - Kostet leider was ;-), aber das Teil ist schon recht gut und ziemlich flott (Python IDE in Java geschrieben - auch nicht schlecht ;-) ). Ist von JetBrains, die auch die Java IDE IDEA machen. Hier ist so ziemlich alles dabei, was das Herz begeehrt. 30 Tage kann man PyCharm kostenlos ausprobieren mit allen Features.
Aptana Studio - Eine ganz gute OpenSource IDE für HTML5, CSS3, JavaScript, Ruby, Rails, PHP and Python.
HTML5 Editoren - Eine Übersicht von 6 HTML5 Editoren.