Page | created at | |
---|---|---|
Twisted Orchestration Language in Launchpad | Nov. 10, 2010, 11:10 a.m. | |
Twisted Orchestration Language in Launchpad - und jemand hat die Orc-Kombinatoren nach Python portiert, unter Benutzung von Twisted. Allerdings finde ich persönlich Twisted eher eklig zu programmieren, aber wers mag ... | ||
Programmierung, Python | ||
Tornado Web Server Documentation | Nov. 8, 2010, 2:14 p.m. | |
Tornado Web Server Documentation - muss mir doch mal Tornado näher angucken. Hab jetzt für ein Nebenprojekt einen Webservice mit web.py gebaut, was erschreckend simpel (und schmutzig) ging. Tornado baut auf einem sehr ähnlichen Konzept auf, schmeisst Django-ähnliche Templates in den Mix und bietet gleich noch einen guten asynchronen Server und Unterstützung für asynchrone sockets und http requests. Könnte gerade für Webservices eine gute Alternative sein, die wenig Resourcen braucht. | ||
Programmierung, Python | ||
Eventlet Networking Library | Nov. 2, 2010, 2:16 p.m. | |
Eventlet Networking Library - muss ich mir mal näher angucken, das monkey-Patching von Standardbibliotheken um diese trivial in einer asynchronen Umgebung zu nutzen sieht sehr interessant aus. | ||
Programmierung, Python | ||
Coffee on the Keyboard » Bleach, HTML sanitizer and auto-linker | Oct. 25, 2010, 3:33 p.m. | |
Coffee on the Keyboard » Bleach, HTML sanitizer and auto-linker - Library von Mozilla die white-list basiertes HTML Cleaning anbietet. Die Mozilla-Leute wissen meistens was sie tun, von daher könnte diese Bibliothek tatsächlich brauchbar sein. | ||
Programmierung, Python | ||
robhudson's django-debug-toolbar at master - GitHub | Oct. 25, 2010, 11:47 a.m. | |
robhudson's django-debug-toolbar at master - GitHub - ok, dieses Werkzeug ist ganz offiziell hugo-approved. Schlichtweg genial, liefert genau die richtige Menge an Informationen für Django-Entwicklung und beisst sich nicht mit vorhandenen Layouts (jedenfalls bei mir hats bei Experimenten gut geklappt). | ||
Django, Programmierung, Python | ||
postgres 9 streaming replication and django balancer | Oct. 21, 2010, 9:49 a.m. | |
postgres 9 streaming replication and django balancer - Santana läuft zwar noch nicht mit Django 1.2, aber der Balancer für Datenbankzugriffe kombiniert mit PostgreSQL Replikation klingt nach einer netten Methode um Django-Systeme hochzuskalieren wenn die normalen Mittel mit einer Datenbank nicht mehr ausreichen. Muss mir vielleicht mal eine Spielinstallation anlegen. | ||
Django, Programmierung, Python | ||
Fuzzy Mathematics with FuzzPy (Part 1) | Mad Python | Oct. 19, 2010, 8:06 p.m. | |
Fuzzy Mathematics with FuzzPy (Part 1) | Mad Python - wenn es nicht nur um unscharfe Zahlen oder Fehlerpropagation geht, sonder auch unscharfe Mengen oder Graphen von Interesse sind, könnte dieses Modul weiterhelfen. | ||
Programmierung, Python | ||
buckingham - Project Hosting on Google Code | Oct. 18, 2010, 10:11 a.m. | |
buckingham - Project Hosting on Google Code - interessantes Projekt das nicht nur Fehlerpropagation bei Berechnungen mitführt (hatten wir ja schon mal vor kurzem), sondern auch Einheiten berücksichtigen kann und Konvertierung zwischen Einheiten beherrscht. | ||
Programmierung, Python | ||
Camelot - See it | Oct. 8, 2010, 11:24 a.m. | |
Camelot - See it - eigentlich naheliegend: man nehme Python und einen ORM (hier SQLAlchemy) und mache daraus eine 4G Sprache zur Datenbankprogrammierung mit QT als Grafikoberfläche. Das ganze hier als GPL Projekt für das man auch kommerzielle Lizenzen bekommen kann, wenn man kommerzielle Programme damit erstellen will. | ||
Programmierung, Python | ||
uncertainties Python package v1.7.0 documentation | Oct. 8, 2010, 11:11 a.m. | |
uncertainties Python package v1.7.0 documentation - sehr interessantes Modul für Python mit dem man Floats mit Unsicherheiten in Funktionen benutzen kann. Besonders interessant für die Situationen wo man die Fehlerpropagation in Berechnungen mitverfolgen muss (z.B. Planzahlen oder Messdaten). | ||
Programmierung, Python | ||
santhoshtr's pypdflib at master - GitHub | Oct. 6, 2010, 4:05 p.m. | |
santhoshtr's pypdflib at master - GitHub - könnte ich vielleicht mal brauchen, speziell da ein Sample dabei ist mit dem eingeschränktes HTML nach PDF gerendert wird. | ||
Programmierung, Python | ||
Filtering Dropdown Lists in the Django Admin — Stereoplex | Oct. 2, 2010, 10:24 a.m. | |
Filtering Dropdown Lists in the Django Admin — Stereoplex - weil es immer wieder gebraucht wird und weil hier einige gute Wege beschrieben sind. | ||
Django, Programmierung, Python | ||
arskom's soaplib at 1_0 - GitHub | Oct. 1, 2010, 9:46 a.m. | |
arskom's soaplib at 1_0 - GitHub - und noch eine SOAP Library. Diese kann die Services als WSGI-Applikationen bereitstellen, dadurch kann ich eigentlich das ganze Serverhandling vom Toolserver wegwerfen und durch normale WSGI-Server wie Apache mod_wsgi oder FLUP ersetzen. | ||
Programmierung, Python | ||
Using the ElementTree Module to Generate SOAP Messages | Oct. 1, 2010, 9:44 a.m. | |
Using the ElementTree Module to Generate SOAP Messages - und noch eine SOAP Library, diese baut auf dem netten ElementTree Parser auf. Und ist vom effbot gebaut, das lässt auch einiges erhoffen (der kann XML). | ||
Programmierung, Python | ||
pysimplesoap - Project Hosting on Google Code | Oct. 1, 2010, 9:43 a.m. | |
pysimplesoap - Project Hosting on Google Code - da ich immer noch so ein Arbeitsprojekt offen habe meinen Toolserver zu modernisieren, das hier könnte da in Frage kommen für die Ablösung des doch arg veralteten (und seit Jahren buggy) SOAPpy. | ||
Programmierung, Python | ||
dcramer's django-sentry at master - GitHub | Sept. 28, 2010, 9:49 a.m. | |
dcramer's django-sentry at master - GitHub - leider nur Django 1.2 (mein eigenes internes Framework das auf Django aufbaut ist leider derzeit nicht mit 1.2 kompatibel), aber sehr interessant um Fehlermeldungen aus Django in der Datenbank zu sammeln zwecks späterer Auswertung. Natürlich kann man auch die Fehler sich als Mail schicken lassen, das geht schon mit Bordmitteln, aber gerade wenn mehrere Leute ein System betreuen kann die Speicherung in der Datenbank deutlich bequemer sein. | ||
Django, Programmierung, Python | ||
README - copperhead - Project Hosting on Google Code | Sept. 21, 2010, 11:07 a.m. | |
README - copperhead - Project Hosting on Google Code - interessante Idee, mit Dekoratoren und Introspection in Python eine embedded Language für die Programmierung auf der GPU zu bauen. Oder um es verständlicher zu sagen: Python-Code (eingeschränkter Sprachumfang) in GPU Maschinensprache umsetzen. | ||
Programmierung, Python | ||
octopy - Project Hosting on Google Code | Sept. 15, 2010, 10:40 a.m. | |
octopy - Project Hosting on Google Code - und noch eine kleine und einfache Implementation von mapreduce in Python. | ||
Programmierung, Python | ||
home | Disco Project | Sept. 15, 2010, 10:39 a.m. | |
home | Disco Project - gestern hatte ich schon mincemeat, disco ist ähnlich aber ausgebauter wenn das einfache Modell von mincemeat mal nicht reicht. | ||
Programmierung, Python | ||
mincemeat.py: MapReduce on Python | Sept. 14, 2010, 2:31 p.m. | |
mincemeat.py: MapReduce on Python - stupidly simple map-reduce framework. Einfach ein Python-File und minimaler Code und schon hat man einen map-reduce-cluster. | ||
Programmierung, Python | ||
NodeBox for OpenGL | City in a Bottle | Sept. 13, 2010, 1:14 p.m. | |
NodeBox for OpenGL | City in a Bottle - baut auf Pyglet auf und liefert eine 2D Animationsbibliothek für Python. | ||
Programmierung, Python | ||
pyglet | Sept. 13, 2010, 1:12 p.m. | |
pyglet - interessante kleine Grafikbibliothek für Python. Schaut nett aus und ist multi-plattform und soll einfach zu installieren sein (keine Abhängigkeiten). | ||
Programmierung, Python | ||
objgraph - Drawing Python object reference graphs | Sept. 13, 2010, 11:05 a.m. | |
objgraph - Drawing Python object reference graphs - will ich mir wohl mal angucken, auch wenn ich fürchte meine Speicherstrukturen sind einfach zu wild um sie in grafische Darstellungen zu bringen (viele solche Tools gehen davon aus das alles komplexere sowieso in Objekten gekapselt ist, aber bei einem mehr funktionalen Programmieransatz werden Standarddatenstrukturen viel stärker eingesetzt). Einen Versuch wäre es aber allemal wert. | ||
Programmierung, Python | ||
Plac | Sept. 6, 2010, 11:01 a.m. | |
Plac - sehr nette Optionsparser für Kommnadozeilentools. Das besondere: die Parameter werden einfach aus den Funktionsdefinitionen ermittelt und das ganze funktioniert von Python 2.3 aufwärts (mit Abstrichen in der Syntax, da es bei Python 2.3 noch keine Dekoratoren gab und erst mit Python 3 Annotationen existieren). Scheint eine gute Möglichkeit zu sein Tools zu bauen die auf mehreren Python-Versionen laufen sollen (denn sonst bleibt nur getopt und das ist wirklich sehr primitiv). | ||
Programmierung, Python | ||
Python Datastructures Backed by Redis @ Irrational Exuberance | Sept. 6, 2010, 10:43 a.m. | |
Python Datastructures Backed by Redis @ Irrational Exuberance - Redis selber ist schon sehr interessant, weil es nicht einfach ein simpler Key-Value-Store ist, sondern als Value strukturierte Daten (Listen, Sets) erlaubt sind. Und mit dieser Library werden Redis Strukturen als normale Python-Datentypen erreichbar und damit die Programmierung mit Redis nochmal vereinfacht. Kombiniert mit der Replikation in Redis könnte das sehr interessant in Clusterumgebungen sein. | ||
Programmierung, Python | ||
Paver: Easy Scripting for Software Projects | Sept. 2, 2010, 3:08 p.m. | |
Paver: Easy Scripting for Software Projects - interessanter kleiner Ersatz für Make. Speziell im Zusammenhang mit Python Projekten klingt es sehr nützlich. | ||
Programmierung, Python | ||
Pysistence | Sept. 2, 2010, 3:04 p.m. | |
Pysistence - gerade mal geguckt ob es sowas gibt oder ob ich es selber schreiben sollte. Pysistence implementiert funktionale persistente Datenstrukturen für Python. Bedeutet in diesem Fall dass es keine seiteneffekte gibt, sondern dass jede Funktion darauf eine neue Version der Daten liefert, wobei gemeinsame Teilstrukturen in verschiedenen Versionen miteinander geteilt werden (um effizient damit arbeiten zu können sowohl was Laufzeit als auch Platzbedarf angeht). Muss ich mir unbedingt mal angucken, denn in vielen Fällen hat mich das fehlen vernünftiger Implementationen von funktionalen Datenstrukturen in Python gestört. | ||
Programmierung, Python | ||
The Official web2py Book | Sept. 1, 2010, 4:48 p.m. | |
The Official web2py Book - bin zwar Djangonaut, aber hier gibts ein web2py Buch online. Und schadet ja nicht mal über den Horizont zu gucken. | ||
Programmierung, Python, Webservices | ||
Meliae python memory analysis in Launchpad | Aug. 27, 2010, 10:18 a.m. | |
Meliae python memory analysis in Launchpad - klingt sehr interessant, mal für spätere Probleme geblogmarkt, könnte bei dem einen oder anderen Problem helfen. Installation übrigens recht einfach über pip install meliae oder easy_install meliae, es ist auch auf pypi gelistet. | ||
Programmierung, Python | ||
[Cython] ANN: Cython 0.13 released! | Aug. 26, 2010, 2:11 p.m. | |
[Cython] ANN: Cython 0.13 released! - bei Cython (ehemals PyRex) gibts wieder ein neues Release. Und die Sprache für Python-Erweiterungen wird immer vollständiger. Damit ist die Erstellung von performance-kritischen Teilen des Codes deutlich einfacher, weil man in einer sehr Python-ähnlichen Sprache arbeiten kann. | ||
Programmierung, Python | ||
Scribes - Simple And Powerful Text Editor for GNOME | July 30, 2010, 12:43 a.m. | |
Scribes - Simple And Powerful Text Editor for GNOME - interessantes Projekt, ein Editor der in Python erweiterbar ist. Da ich auffe Arbeit in Linux schaffe, könte ich mir das nach dem Urlaub mal angucken. | ||
Programmierung, Python | ||
PEP 380 -- Syntax for Delegating to a Subgenerator | July 27, 2010, 11:52 p.m. | |
PEP 380 -- Syntax for Delegating to a Subgenerator - ein sehr interessanter Punkt zur Erweiterung von Python. So interessant, dass Guido sich vorstellen könnte diesen PEP am Moratorium vorbei schon jetzt zu implementieren. Generatoren in Python entwickeln sich für mich zu einem sehr angenehmen Sprachfeature - Code wird sehr oft deutlich kompakter und lesbarer für mich. Wenn nur endlich Django auch auf Python 3 verfügbar wäre könnte ich auch einige der dort vorhandenen Neuerungen benutzen. Python 2.7 lindert allerdings den Schmerz etwas. | ||
Programmierung, Python | ||
saucelabs's monocle at master - GitHub | July 27, 2010, 11:47 p.m. | |
saucelabs's monocle at master - GitHub - interessantes Paket zur einfacheren Programmierung von asynchronen Routinen in Python. Besonders interessant: es unterstützt neben Twisted auch Tornado. | ||
Programmierung, Python | ||
Valued Lessons: Monads in Python (with nice syntax!) | July 26, 2010, 1:23 p.m. | |
Valued Lessons: Monads in Python (with nice syntax!) - sehr interessanter Hack, der durchaus auch praktischen Nutzen haben kann. Gefunden beim Schockwellenreiter. | ||
Programmierung, Python | ||
Python IDE with Django support : JetBrains PyCharm | July 23, 2010, 12:22 a.m. | |
Python IDE with Django support : JetBrains PyCharm - die JetBrains Leute (von denen IntelliJ ist) haben jetzt eine reine Python IDE auf der Basis von IntelliJ gebaut und die hat eine Menge interessanter Features. Müsste ich mir mal angucken, zumal die auch Unterstützung für Django und Google App Engine drin hat. | ||
Programmierung, Python | ||
Lightweight Approach to AOP in Python | July 17, 2010, 12:05 a.m. | |
Lightweight Approach to AOP in Python - und da wir gerade bei AOP sind: gibts auch als library für Python. | ||
Programmierung, Python | ||
jessenoller.com - PEP 3148 Accepted: “futures – execute computations asynchronously” | July 12, 2010, 1:40 p.m. | |
jessenoller.com - PEP 3148 Accepted: “futures – execute computations asynchronously” - der PEP ist mir ein bischen zu sehr an der Java Welt orientiert, eine schlankere und mehr Python-spezifische Implementierung wäre mir lieber gewesen, aber immerhin. Besonders interessant die Überlegungen die Concurrency Sachen mal durchzugucken und neu zu sortieren. | ||
Programmierung, Python | ||
Dropbox API | July 4, 2010, 9:22 p.m. | |
Dropbox API - und das könnte für die nächste Zeit ein recht wichtiges Spielzeug für mich werden - eine API für Dropbox. Klar, meistens muss ich nur Files hin- und herschicken, da reicht es einfach Dropbox zu benutzen. Aber für manche Sachen wäre eine API zum Zugriff auf die Metadaten auf Dropbox durchaus interessant (eines meiner schon länger auf Halde liegenden Projekte wäre eine Umsetzung des Simpletext.ws Dienstes von Google App Engine auf einen normalen Python-Dienst mit Dropbox als Backend zum Beispiel). | ||
Programmierung, Python | ||
Python 2.7 Release | July 4, 2010, 9:19 p.m. | |
Python 2.7 Release - einige gute Sachen drin, speziell die set und dictionary comprehensions mag ich - bisher habe ich mir mit Generator-comprehensions beholfen, aber gerade die dict-comprehensions sehen einfach besser und lesbarer aus. Aufgrund diverser Abhängigkeiten bin ich auf der Arbeit wohl noch auf längere Zeit an Python2 gebunden, da ist es schön, dass einige der Python3 Features auch in Python2 verfügbar werden. Allerdings bin ich einer derjenigen, die wirklich Python3 wollen - allein schon das deutlich aufgeräumtere Stringhandling mit Unicode als Default. Aber solange Django nicht auf Python3 läuft, bleib ich notgedrungen auf Python2. | ||
Programmierung, Python | ||
jessemiller's HamlPy | June 27, 2010, 11:53 a.m. | |
jessemiller's HamlPy - muss ich mir mal angucken, eine Implementation von HAML (im Prinzip eine Kurznotation für HTML) mit Integration für Django. Gerade für die vielen kleinen internen Templates könnte das interessant sein, denn die werden von Programmierern und nicht Designern gemacht. Allerdings müsste ich mir dann erstmal angucken wie gut (oder wie schlecht) ich damit JavaScript integriert bekomme. Aber sicherlich interessant - HTML ist nicht wirklich Diff/Merge-freundlich und schlichtweg nervig zu schreiben und zu lesen. | ||
Django, Programmierung, Python | ||
Nicholas Piël » ZeroMQ an introduction | June 23, 2010, 12:10 p.m. | |
Nicholas Piël » ZeroMQ an introduction - kurzer Überblick wie asynchrones Messaging mit ZeroMQ und Python aussieht und wie die verschiedenen Messaging-Szenarien abgebildete werden können. Sollte ich mir mal genauer angucken, denn es ist sowas wie ein deconstructed Framework für Messaging - also nur die Bausteine um ein eigenes, optimal auf das Problem zugeschnittenes, Messaginng System bauen zu können. | ||
Programmierung, Python | ||
PyFilesystem 0.3 released | June 20, 2010, 9:16 p.m. | |
PyFilesystem 0.3 released - schaut interessant aus, Dateisysteme in und mit Python. Man kann FUSE Dateisysteme in Python schreiben oder einfach auch nur auf Amazon S3 oder FTP mit dem gleichen Code zugreifen. | ||
Programmierung, Python | ||
PyPy Status Blog: A JIT for Regular Expression Matching | June 17, 2010, 8:31 p.m. | |
PyPy Status Blog: A JIT for Regular Expression Matching - sowas ist der Grund, warum ich durchaus glaube, dass die Zukunft von Python PyPy heisst (oder etwas vergleichbares) und warum ich sowas wie PyPy haben will. Eine Umgebung, in der alle Sprachelemente auf eine gemeinsame Basis zurückgeführt werden, in der ich auf allen Abstraktionsebenen arbeiten kann - notfalls auch auf der Ebene der Codegenerierung. Das bietet wesentlich angenehmere Optimierungsmöglichkeiten als das Modell von CPython, wo höhere Performance ab einem Punkt nur durch C-Erweiterungen machbar ist. Allerdings komme ich auch von Lisp, wo es völlig üblich ist, von High-Level-Sprachelementen bis runter auf die Codegenerierung mit einer Sprachfamilie zu arbeiten. Meine Xerox Lisp Maschine hatte einen TCP/IP Stack in einem Subset von Interlisp geschrieben - das ist durchaus mit der Situation von PyPy und RPython vergleichbar. | ||
Programmierung, Python | ||
nutshell — Lettuce v0.1.2 (barium release) documentation | June 16, 2010, 1:20 p.m. | |
nutshell — Lettuce v0.1.2 (barium release) documentation - lettuce ist cucumber für Python. cucumber ist BDD für Ruby. BDD ist behaviour driven development - zuerst schreibt man BDD stories, dann schreibt man dazu den Code und ein kleines Python-Modul, welches die Story mit dem Code verbindet. Daraus ergibt sich dann automatisch der Testcode. Sieht auf den ersten Blick etwas albern aus, aber hat einfach den Vorteil, dass sich Testfälle tatsächlich an spezifiziertem Verhalten orientieren und nicht einfach abstrakt in den Wald programmiert werden. In Kombination mit testcase-pro-bugreport liefert das eine recht brauchbare Testumgebung. | ||
Programmierung, Python | ||
Python Package Index : Baker 1.1 | June 4, 2010, 2:05 p.m. | |
Python Package Index : Baker 1.1 - und noch eine weitere Alternative eines mehr deklarativen Kommandozeilenparsers. | ||
Programmierung, Python | ||
Plac: Parsing the Command Line the Easy Way | June 4, 2010, 2 p.m. | |
Plac: Parsing the Command Line the Easy Way - interessante Bibliothek zum Parsen von Parametern für Python-Tools. Deutlich kompakter als andere Bibliotheken. Parameter werden per inspect automagisch aus definierten Funktionen abgeleitet. | ||
Programmierung, Python | ||
Aeracode :: On Django And Migrations | June 3, 2010, 12:25 p.m. | |
Aeracode :: On Django And Migrations - South core libraries wandern in der nächsten Zeit möglicherweise in den Django core (vielleicht mit Target Django 1.4). I approve. Die Basis für Migrationen schon im Django core zu haben wäre nicht nur für Migrationen hilfreich, sondern auch für Projekten in denen höhere Dynamik in den Datenmodellen gefordert ist - mein derzeitiger Hack mit sqldiff und einigem selbstgestrickten ist eben nur genau das: ein Hack. Wird wohl Zeit mir South mal genauer anzugucken (bisher nur grob reingeschaut, aber was ich gesehen habe gefiel mir) und zu überlegen, ob ich nicht schon jetzt meinen Hack auf eine etwas leistungsfähigere Basis stelle. | ||
Django, Programmierung, Python | ||
HackageDB: berp-0.0.1 | May 31, 2010, 1:19 p.m. | |
HackageDB: berp-0.0.1 - jemand programmiert einen Python 3 Compiler und Interpreter in Haskell. Zumindestens rein intellektuell ganz interessant. | ||
Programmierung, Python | ||
Spring Python | May 27, 2010, 9:45 a.m. | |
Spring Python - keine Ahnung was es wert ist, ich hab bisher Spring unter Java nicht benutzt (naja, benutze ja Java sowieso eigentlich nie, höchstens mal die JVM), aber man liest ne Menge positive Kommentare über Spring. Hier hat jemand die Ideen nach Python übertragen - gibt sogar ein Buch darüber. Ich weiss allerdings nicht, ob ein Framework für eine bondage-and-discipline Sprache sich so gut auf eine hoch-dynamische Sprache wie Python portiert. Könnte man sich in einer ruhigen Stunde aber mal angucken. | ||
Programmierung, Python | ||
python-daemon 1.5.5 | May 27, 2010, 9:43 a.m. | |
python-daemon 1.5.5 - und der zweite der üblichen Verdächtigen (der hier ist schon fast sowas wie offiziell, zumindestens orientiert er sich an einem PEP) zum Schreiben von Unix-Daemonen mit Python. | ||
Programmierung, Python | ||
daemon 1.0 | May 27, 2010, 9:42 a.m. | |
daemon 1.0 - der erste der üblichen Verdächtigen für Unix-Daemonen mit Python. | ||
Programmierung, Python | ||
Turkmenbashi 1.0.0 | May 27, 2010, 9:42 a.m. | |
Turkmenbashi 1.0.0 - eine Library um Unix-Daemonen zu schreiben. Bringt ein paar mehr Features mit als die anderen üblichen Verdächtigen (daemon und python-daemon). | ||
Programmierung, Python | ||
pyquery: a jquery-like library for python | May 27, 2010, 9:39 a.m. | |
pyquery: a jquery-like library for python - unbedingt mal angucken, denn das ist etwas das mich schon die ganze Zeit nervt, die Libraries zum Zugriff auf XML-Daten in Python sind etwas primitiv. Und jQuery mag ich sehr, dessen Zugriffsmuster find ich einfach ausgesprochen praktikabel. | ||
Programmierung, Python | ||
PyPy Status Blog: Running wxPython on top of pypy | May 5, 2010, 11:18 a.m. | |
PyPy Status Blog: Running wxPython on top of pypy - PyPy macht wirklich riesen Schritte in Richtung brauchbar. Schneller als CPython ist es schon in einigen Fällen und jetzt laufen auch größere C-Erweiterungen wie wxPython. Cool. | ||
Programmierung, Python | ||
Zoolander | May 5, 2010, 11:15 a.m. | |
Zoolander - eine kleine Python-Library, mit der man Python als DSL für die Erzeugung von CSS benutzen kann. Klingt erstmal unsinnig, aber wenn man CSS dynamisch produzieren will oder muss, und das ganze dann in ein Webframework einbettet, kann es ganz praktisch sein. | ||
Programmierung, Python | ||
parsedatetime | May 5, 2010, 11:12 a.m. | |
parsedatetime - sehr praktische Library, die "normale" Datumsangaben (leider nur in Englisch soweit ich sehe) in Python datetime Objekte umsetzt. | ||
Programmierung, Python | ||
django-pagination | April 27, 2010, 10:40 a.m. | |
django-pagination - muss ich mir mal genauer angucken, sieht interessant aus. Pagination ist zwar nicht wirklich schwierig, aber lästig jedesmal selber zu bauen - und die bordeigenen Mittel von Django sind nicht immer optimal dafür (besonders bei großen Datenmengen). | ||
Django, Programmierung, Python | ||
Markdoc | April 22, 2010, 9:25 a.m. | |
Markdoc - interessantes Projekt, ein simples Wiki mit einer Besonderheit: es wird nicht über das Web editiert, sondern über ein DVCS wie Mercurial oder Git. Also einfach normale Texteditoren, als Format Markdown und ein DVCS für die Versionierung, rsync für die Verteilung der generierten - statischen! - Inhalte auf den Server und fertig. Und ist in Python geschrieben. | ||
Python, Webservices | ||
Writing a non-relational Django backend - Django nonrel / NoSQL blog - All buttons pressed | April 7, 2010, 12:29 p.m. | |
Writing a non-relational Django backend - Django nonrel / NoSQL blog - All buttons pressed - bin ja nicht so der Fan von NoSQL (meiner Meinung nach spiegeln viele NoSQL-Ansätze eher das Unverständnis von relationalen Datenbanken wieder als tatsächliche Mängel oder Schwächen der relationalen Datenbanken), aber wenn schon NoSQL, dann doch am liebsten über den Django-ORM, denn den kann ich ganz gut leiden. Und hier wird gezeigt, wie man mit relativ geringem Aufwand einen Django-ORM-Wrapper für NoSQL-Datenbanken bauen kann. | ||
Programmierung, Python | ||
NLTK Home (Natural Language Toolkit) | March 12, 2010, 4:42 p.m. | |
NLTK Home (Natural Language Toolkit) - und wenn es etwas leistungsfähiger und flexibler werden soll, das hier ist sozusagen der Bauchladen für Parser. Fokus liegt auf der Analyse natürlicher Sprachen, daher auch so Sachen wie Stemmer (Stammfindung für Wortformen) enthalten. Könnte aber für einfache eingebettete Sprachen dann doch eher Overkill sein. | ||
Programmierung, Python | ||
Python Package Index : Esrapy 0.5 | March 12, 2010, 4:40 p.m. | |
Python Package Index : Esrapy 0.5 - ein Parser und Lexer Toolkit komplett in Python. Könnte später mal interessant werden in einigen Projekten, zumindestens für kleinere Konfigurationssprachen. | ||
Programmierung, Python | ||
Building Skills in Python | March 10, 2010, 12:10 a.m. | |
Building Skills in Python - Online-Buch über Python für Programmierer, die einfach die Sprache noch nicht kennen. Sieht sehr gut gemacht aus, auf den ersten Blick. | ||
Programmierung, Python | ||
clojure-python | March 7, 2010, 3:32 p.m. | |
clojure-python - interessantes Projekt das die Interoperabilität zwischen Jython und Clojure vereinfachen will und auf einen ähnlichen Level heben will, wie sie zwischen Clojure und Java schon ist. Besonders interessant für mich, weil es mir dann erlauben würde, stärker auf Clojure als Alternative zu setzen - Jython ist schon geplanter Baustein der Werkzeugkiste, hat aber einige Performance-Probleme die Clojure durch direktere Java-Integration nicht hat. Ausserdem schreib ich lieber kompakten Lisp-Code als geschwätziges Java ... | ||
Clojure, Lisp, Programmierung, Python | ||
Bottle: Python Web Framework | March 7, 2010, 3:15 p.m. | |
Bottle: Python Web Framework - super-simples Python-Web-Framework das als ein einzelnes Python-File daherkommt. Keine Abhängigkeiten außer von der Standardbibliothek. Kein integrierter ORM, aber dafür sehr schlank und vielleicht gerade für Projekte interessant bei denen man eh keine Datenbank braucht oder will (oder das Dateisystem als Datenbank benutzt). | ||
Programmierung, Python | ||
digg's lazyboy at master - GitHub | March 2, 2010, 10:12 a.m. | |
digg's lazyboy at master - GitHub - weil key-value-datastores im Moment total der Hype sind (und weil sie wirklich für manche Sachen praktischer sind als klassische Datenbanken), werd ich mir wohl Cassandra angucken. Einfach weil es nach Berichten im Web die besten Skalierungsmöglichkeiten bietet. Und weil es in einigen großen Websites im Einsatz ist - speziell zum Beispiel bei Digg (das ich als Site zwar doof finde, aber hey, die haben ordentlich traffic und laufen relativ stabil) mit lazyboy als Python-Anbindung. | ||
Programmierung, Python | ||
rfc1437 / lazypy / source — bitbucket.org | March 1, 2010, 4:27 p.m. | |
rfc1437 / lazypy / source — bitbucket.org - und noch ein Projekt von mir (wieder) online. Lazypy ist eine kleine Bibliothek die lazy evaluation und futures (thread und process basiert) für Python verfügbar macht. Sehr praktisch für die einfache Programmierung von Nebenläufigkeit. Ok, man kann alles auch von Hand machen, aber ich mag halt den etwas funktionaleren Ansatz lieber. Ist eigentlich aus 2004, aber ich habs mal modernisiert (die prozess-basierten Futures zur Umgehung des GIL) und neu hochgeladen. | ||
Programmierung, Python | ||
17.6. multiprocessing | March 1, 2010, 2:20 p.m. | |
17.6. multiprocessing - viel besser als externe module für Prozess-Kommunikation sind die seit Python 2.6 mitgelieferten Tools in multiprocessing. | ||
Programmierung, Python | ||
Semanchuk.com - Python IPC Modules | March 1, 2010, 1:30 p.m. | |
Semanchuk.com - Python IPC Modules - inter-prozess-Kommunikation mit Python. | ||
Programmierung, Python | ||
LinuxTuples | Feb. 28, 2010, 10:58 p.m. | |
LinuxTuples - ein Tuple-Space Server für Linux, in C geschrieben, aber mit Python-API. Sollte ich mir mal näher angucken, könnte interessant für verteilte Apps sein. Wobei ich ja lieber eine python-lokale Implementation auf Basis von Standard-Prozess-Kommunikationsmitteln hätte, um vernünftiger mit multiprocessing in Python arbeiten zu können. Gerade für einfache Tools oder Webapps wäre es einfacher manche Sachen direkt vom dort zu forken und dann über TupleSpaces zu kommunizieren. Aber dafür immer gleich einen extra Server zu starten, das ist es irgendwie auch nicht. | ||
Programmierung, Python | ||
Johnny Cache v0.1 documentation | Feb. 28, 2010, 8:53 p.m. | |
Johnny Cache v0.1 documentation - unbedingt mit einem Projekt in der Firma mal ausprobieren, denn das Modell ist ziemlich heftig und ich könnte damit ein paar der Probleme elegant lösen für die ich derzeit Sonderlösungen habe. Ist auch ziemlich ähnlich zu meinem ersten Ansatz für dieses Problem (allerdings habe ich die grössten Performance-Probleme jetzt durch redundante Datenhaltung und automatische Updates an Objekten ebenfalls recht elegant gelöst). | ||
Django, Programmierung, Python | ||
rfc1437 / django-standalone / overview — bitbucket.org | Feb. 28, 2010, 6:59 p.m. | |
rfc1437 / django-standalone / overview — bitbucket.org - da ich immer mal wieder auf bitbucket, github oder google code verweise, hier mal der Verweis auf ein eigenes kleines Paket das ich selber auf bitbucket jetzt habe: django-standalone. Entstanden weil ich für kleine Scripte und Tools immer mal wieder einen ORM brauchen könnte, aber ich dafür möglichst wenig Umstand haben will - nicht ein ganzes Django-Projekt aufsetzen, sondern einfach ein paar Modelle in meinem Script definieren und per Parameter die DB initialisieren und danach benutzen. Möglichst auch mit sqlite3. Mit der Lib hier geht das ganz wunderbar und ich kann mal wieder eines meiner Dauerprojekte - "schreibe einen simplen ORM für simple Scripte selber" - von der ToDo-Liste streichen. | ||
Django, Programmierung, Python | ||
PiCloud | Cloud Computing. Simplified. | Feb. 28, 2010, 12:44 p.m. | |
PiCloud | Cloud Computing. Simplified. - sehr interessanter Dienst: triviales verteilen von Python-Code (mit Zugriff auf C/C++ Bibliotheken für Numbercrunching und anderes, z.B. auch Bildbearbeitung, sogar eigene C/C++ Bibliotheken sind möglich) auf ein vom Anbieter gemanagetes EC2-Grid. Der Programmierer schreibt nur noch seinen Python-Code, testet lokal, wenn alles mit kleinen Sets gut läuft, Basisdaten hochladen, import, Funktionsaufruf und warten bis die Ergebnisse da sind - bezahlt wird nach Benutzungszeit. Durchaus mal im Auge behalten, falls mal größere Datenmengen durchzuwühlen sind - sowas kann durchaus günstiger sein als sich die nötigen Ressourcen selber bereitzuhalten. | ||
Programmierung, Python, Sysadmin | ||
iphone-backup-decoder - Project Hosting on Google Code | Feb. 27, 2010, 1:16 p.m. | |
iphone-backup-decoder - Project Hosting on Google Code - das gleiche nochmal als Kommandozeilen-Script in Python. Eventuell für mich sogar noch interessanter als das GUI Tool. | ||
Python, Software, iPhone | ||
dajaxproject.com - easy to use ajax library for django | Feb. 24, 2010, 10:24 a.m. | |
dajaxproject.com - easy to use ajax library for django - sollte ich mir vielleicht mal angucken, das aktuelle Projekt wird unter Umständen recht viel Ajax benutzen und wenn man den Anteil JavaScript reduzieren kann wär das ja durchaus erstrebenswert. | ||
Django, JavaScript, Programmierung, Python | ||
IronPython hammers CPython when not mutating class attributes | Feb. 22, 2010, 11:45 a.m. | |
IronPython hammers CPython when not mutating class attributes - weitere Informationen zu dem Performanceproblem. Hier bezogen auf IronPython - scheinbar sind Klassenvariablen unter Umständen problematisch, da darüber sich die Klassen selber ändern und dadurch Just-in-Time-Compiler Informationen verworfen werden müssen (wegen der recht statischen Struktur der VM sowohl bei der JVM als auch bei der CLI warscheinlich sehr ähnliches Problem), wodurch der JIT-Compiler dann alles neu durchnudeln muss und damit nicht nur Performance-Vorteile verloren gehen, sondern potentiell sogar kontraproduktiv sein können. | ||
Programmierung, Python | ||
IronPython 2.0 and Jython 2.5 performance compared to Python 2.5 | Feb. 22, 2010, 11:36 a.m. | |
IronPython 2.0 and Jython 2.5 performance compared to Python 2.5 - word of warning: sowohl Jython als auch IronPython sind in vielen Situationen deutlich (und ich mein deutlich deutlich) langsamer als CPython. Der Overhead wird bei Jython bei sehr großen Datenstrukturen irgendwann besser als bei CPython, aber für normalen Einsatz siehts nicht so richtig toll aus. | ||
Programmierung, Python | ||
DreamPie: The Python shell you've always dreamed about! | Feb. 21, 2010, 7:18 p.m. | |
DreamPie: The Python shell you've always dreamed about! - eine weitere interessante alternative Python-Shell, diese hier als GTK Fenster. Das öffnet ganz neue Möglichkeiten, wie z.B. echte Popups als kleine grafische Fenster und direkter grafischer Output. Allerdings ist py-gtk für OS X noch eher wackelig (wie alles GTK-Zeugs derzeit, ist halt noch Alpha) und eigentlich habe ich lieber ähnliche Umgebungen unter OS X und Linux. | ||
Programmierung, Python | ||
bpython interpreter | Feb. 21, 2010, 7:16 p.m. | |
bpython interpreter - unbedingt mal in der Firma mit spielen, zu Hause machte diese alternative Python-Shell einen echt guten Eindruck. In einigen Punkten besser als ipython und das ist schon sehr gut (aber meiner Meinung nach zu sehr auf eigene Features ausgerichtet und weg von der Python-Philosophie, wärend bpython mehr pythonisch wirkt) | ||
Programmierung, Python | ||
ZODB - a native object database for Python — ZODB v3.9.0 documentation | Feb. 19, 2010, 1:56 p.m. | |
ZODB - a native object database for Python — ZODB v3.9.0 documentation - weil ichs immer wieder vergesse: die ZODB gibts auch standalone, ohne das Monster Zope oben drüber. Und bei direktem Zugriff von Python bietet ZODB einige sehr interessante Features. Immer noch eine der am weitesten ausgebauten echten Objekt-Datenbanken für Python (aber leider immer noch keine allgemeine Query-Language auf die Datenbank zur effizienteren Behandlung von Objektmengen). | ||
Programmierung, Python | ||
django-piston | Feb. 13, 2010, 2:38 p.m. | |
django-piston - muss ich mir auch mal näher angucken, es soll gerade den Bau von Web-APIs mit Django erleichtern. Und einige meiner Firmenprojekte könnten davon profitieren. | ||
Django, Programmierung, Python | ||
maven-jython-plugin - Maven Jython Plugin | Feb. 12, 2010, 9:48 p.m. | |
maven-jython-plugin - Maven Jython Plugin - hmm, der Jython-Support für Maven ist ziemlich veraltet - das Artifact geht nur gegen 2.2.1 und auch das Plugin geht nur auf 2.2.1. Da fehlt dringend wohl ein bischen Updaten. | ||
Java, Programmierung, Python | ||
Front Range Pythoneering: Realizing Jython 2.5 | Feb. 12, 2010, 9:44 p.m. | |
Front Range Pythoneering: Realizing Jython 2.5 - da stehts weiter unten drin. Jython hat ein GIL als witziges Easteregg im future Modul (das mit dem zukünftige Sprachfeatures als "Beta" verfügbar gemacht werden). Also kein GIL, sondern nur ein Joke. Hätte mich auch anders stark verdutzt. | ||
Java, Programmierung, Python | ||
Interactive Python GIL Visualization [dabeaz] | Feb. 12, 2010, 9:41 p.m. | |
Interactive Python GIL Visualization [dabeaz] - sehr interessante Auswertung der Auswirkungen des GIL in multithreaded Python Projekten. Ob Jython (kein GIL, threading auf Basis der Java-Standards) da eine Aushilfe ist? | ||
Programmierung, Python | ||
Presenting django-devserver, a better runserver. | Feb. 10, 2010, 9:52 a.m. | |
Presenting django-devserver, a better runserver. - interessante Idee, eine Erweiterung des runserver die SQL Statements logged und Cache-Informationen liefert. Das könnte für mein derzeitiges Django-Projekt recht interessant sein, da ich dort zeitweilig etwas komplexeres SQL produziere. (und ja, ich hacke wieder mit Django herum, eventuell kommt ja sogar was veröffentlichbares dabei raus - ist aber primär ein Arbeitsprojekt). | ||
Django, Programmierung, Python | ||
Faster or Lazier Pagination | Feb. 6, 2010, 10:43 a.m. | |
Faster or Lazier Pagination - interessanter Ansatz, einfach nicht die Menge der Sätze ermitteln, sondern stattdessen eine Anzahl Seiten annehmen und diese aktualisieren wenn man auf spätere Seiten zugreift. Ein bischen ähnlich zu manchen Websites die nur einen Ausschnitt der Seitenliste als Navigation anbieten - dafür braucht man dann nicht wissen wie viele Seiten es wirklich sind. Google mogelt ja auch, in dem die Seitenanzahl maximal beschränkt wird. Für große Datenmengen mit langsamem count(*) sicherlich sehr sinnvoll und evtl. könnte man das auch kombinieren mit gecachten maximalen Seitenzahlen für verschiedene Queries, so das beim nächsten Mal die Vermutung über die Menge schon präziser ist. | ||
Django, Programmierung, Python | ||
mongoengine | Feb. 4, 2010, 8:50 p.m. | |
mongoengine - Python-API für Zugriff auf MongoDB mit einer an den Django-ORM angelehnten Struktur. | ||
Programmierung, Python | ||
The Definitive Guide to Jython — Jython Book v0.91 documentation | Feb. 2, 2010, 8:39 p.m. | |
The Definitive Guide to Jython — Jython Book v0.91 documentation - ist drin was drauf steht. Bezieht sich auf Jython 2.5.1 und gibts auch als (aktualisiertes mit zusätzlichen Inhalten, die Open Source Version des Buches ist noch nicht voll aktualisiert) totes Holz von APress. | ||
Programmierung, Python | ||
django-extensions | Jan. 27, 2010, 6:08 p.m. | |
django-extensions - sehr nützliche Tools für Django die sich in den Manage mit einhängen. Zum Beispiel ein Diff für SQL. | ||
Django, Programmierung, Python | ||
IronPython in Action: Front Page | Jan. 25, 2010, 11:15 a.m. | |
IronPython in Action: Front Page - garnicht mitbekommen, es gibt mitlerweile ein Buch über IronPython, die Version von Python die in Microsofts .NET Umgebung läuft. Könnte für einige Firmenprojekte interessant werden, vor allem da es die ersten Erfolge von Django auf IronPython ja schon 2008 gab ... | ||
Programmierung, Python | ||
Trellis | Jan. 24, 2010, 11:18 a.m. | |
Trellis - Library zur eventgesteuerten Programmierung in Python. Die Idee ist, statt handgedengelter Callbacks einfach Regeln zu formulieren, die auf Objekte angewendet werden und bei entsprechenden Änderungen werden automatisch diese Regeln ausgeführt. Dabei sorgt das System für saubere Trennung dieser Events, so das keine Deadlocks auftreten. | ||
Programmierung, Python | ||
django-history-tables | Jan. 23, 2010, 11:36 a.m. | |
django-history-tables - könnte für ein Projekt in der Firma interessant werden, dort gibt es auch die Anforderung einer Historie von Datenänderungen. | ||
Django, Programmierung, Python | ||
pylint (analyzes Python source code looking for bugs and signs of poor quality.) (Logilab.org) | Jan. 20, 2010, 5:54 p.m. | |
pylint (analyzes Python source code looking for bugs and signs of poor quality.) (Logilab.org) - für die Kollegen geblogmarkt, denn wenn Code-Standards entworfen werden, ist es ja auch nett wenn man wenigstens einen Teil davon automatisch prüfen kann. Ausserdem kann pylint (eingeschränkte) statische Analyse von Python code machen und komisch aussehende Teile als Warnungen auswerfen. | ||
Programmierung, Python | ||
stream – Lazily-evaluated, parallelizable pipeline | Jan. 15, 2010, 11:40 p.m. | |
stream – Lazily-evaluated, parallelizable pipeline - interessante kleine Bibliothek für Python mit der Streams als lazy evaluation lists für bessere Parallelisierbarkeit von Code benutzt werden können. Und da Python ja durch das GIL bei Threads etwas limitiert ist, werden hier auch gleich Modelle für die Nutzung von Multiprocessing angeboten (durch unabhängige Prozesse lassen sich auch bei Python mehrere Cores effizient nutzen, allerdings zum Preis von Kommunikationsoverhead zwischen den Prozessen). Sicherlich wegen diverser Gründe mit Vorsicht einzusetzen - massive Parallelität sollte man damit eher vermeiden, denn da Systemthreads und Systemprozesse benutzt werden, ists nix mit tausenden von parallelen Abläufen (wie es z.B. mit Microthreads ja durchaus möglich wäre). Aber trotzdem für manche Probleme sicherlich sinnvoll nutzbar. | ||
Programmierung, Python | ||
ReusableAppResources - Django - Trac | Jan. 15, 2010, 2:33 p.m. | |
ReusableAppResources - Django - Trac - genereller Startpunkt wenn man Django-Apps suchen will, von hier wird auf die verschiedenen Vergleichslisten verwiesen. | ||
Django, Programmierung, Python | ||
matthiask's feincms | Jan. 15, 2010, 2:31 p.m. | |
matthiask's feincms - erweiterbares CMS für Django. Sieht sehr interessant aus, speziell die recht kompakte Erweiterbarkeit um eigene Content-Typen. | ||
Django, Programmierung, Python | ||
entrian.com - goto for Python - goto for Python | Jan. 11, 2010, 4:03 p.m. | |
entrian.com - goto for Python - goto for Python - goto und comefrom für Python. Ja, war ein Aprilscherz, tuts aber trotzdem. | ||
Programmierung, Python | ||
Nullege: A Search Engine for Python source code | Jan. 9, 2010, 11:23 a.m. | |
Nullege: A Search Engine for Python source code - ganz nützlich, wenn man zu einem API gucken will wie es verwendet wird in verschiedenen Projekten. Manchmal sind Dokumentationen etwas unklar und Beispielsource angucken macht die Sache klarer. | ||
Programmierung, Python | ||
Python Package Index : promise 0.2.1 | Jan. 6, 2010, 10:59 a.m. | |
Python Package Index : promise 0.2.1 - ziemlich cooler bytecodehack für Python der mittels Dekoratoren Funktionen als "pure" oder "constant" deklariert (oder ein paar andere) und dadurch Optimierungen von Python-Code ermöglicht. Speziell teure Lookups können so vermieden werden wenn man dem Compiler zusichert, das innerhalb einer Funktion z.B. Builtins oder benamste Funktionen sich nicht dynamisch ändern sondern konstant bleiben. | ||
Programmierung, Python | ||
MetaPython Documentation | Jan. 5, 2010, 2:06 p.m. | |
MetaPython Documentation - eine der Sachen die mich immer wieder von Python zu Lisp bringen sind die netten Lisp Makros, mit denen man elegant embedded DSLs für verschiedene Zwecke bauen kann, die sich gut in die Hostsprache einbinden. Mit MetaPython kann man sowas vielleicht mit Python hinbekommen. Zumindestens sind alle Bauteile da. | ||
Programmierung, Python | ||
generator_tools | Jan. 5, 2010, 1:52 p.m. | |
generator_tools - weil man immer mal wieder auf die Situation stößt Generatoren in Python wegspeichern zu wollen (z.B. wenn man Continuations oder Coroutinen mittels Generatoren simuliert und diese als State eines laufenden Webworkflows in einem Webframework benutzt), mit diesem Modul (hack auf Bytecode-Introspection aufbauend) geht es eingeschränkt. Alleine schon interessant wegen der Einblicke die in den Interpreter gegeben werden. | ||
Programmierung, Python |