Einträge mit dem Tag: [python]

Donnerstag Okt 18, 2012

Unit-Tests für Python mit nose

nose vereinfacht das Unit-Tests unter Python etwas und bietet noch etwas mehr. So sammelt nose Tests automatisch, die durchgeführt werden sollen, solange man sich an ein gewisses Schema hält, wie man seine Libs und Code organisiert. Außerdem kann es durch div. Plugins gleich noch Code Coverage, Doctests, Profiling, usw. durchführen.

Python Interface für Apache Solr

Wer's etwas komfortabler haben möchte, wenn er von Python aus Solr ansprechen will, der kann das über diese API tun. Macht die Sache viel einfacher und komfortabler und man kann weiterhin die gewohnte Python-Syntax verwenden.


Mittwoch Okt 17, 2012

python-twitter

Twitter API über Python ansprechen mit python-twitter - Alternativ: Python Twitter Tools (Gentoo Paket: dev-python/twitter).


Freitag Okt 12, 2012

MongoKit - Dokumentenmapping mit Python und MongoDB

Will man Dokumente in MongoDB mit Python speichern, nimmt man PyMongo - oder MongoKit ;-) Letzterer setzt auf PyMongo auf und wenn man will, kann man auch direkt auf die PyMongo API durch greifen, wenn's pressiert... Aber mit MongoKit ist das Dokumentenhandling sehr schön gemacht. Man erzeugt eine Python-Klasse, die von Document vererbt und definiert dort seine Dokumentenstruktur. Zusätzlich kann man noch sog. Validators hinzufügen, die dafür sorgen, das Constraints eingehalten werden. Das sieht dann z.B. so aus:

def max_length(length):
    def validate(value):
        if len(value) <= length:
            return True
        raise Exception('%s must be at most %s characters long' % length)
    return validate

class User(Document):
    structure = {
        'name': unicode,
        'email': unicode,
    }

    validators = {
        'name': max_length(50),
        'email': max_length(120)
    }

    use_dot_notation = True
    def __repr__(self):
        return '<User %r>' % (self.name)

Webseiten bauen mit Python und Flask

Maxime Bouroumeau-Fuseau hat eine sehr gute Einführung geschrieben, wie man Webseiten in Python und mit Hilfe des kleinen, aber feinen Frameworks Flask baut. Alle wichtigen Infos auf eine Seite mit weiterführenden Links rund um's Thema. Sehr gut gemacht!


Mittwoch Sep 05, 2012

Continuous Integration für Open Source Projekte mit travis-ci.org

travis-ci.jpg Continuous Integration für Open Source Projekte bietet Travis CI an. Das Ganze ist mit Github verbunden und man kann Projekte direkt von dort kompilieren lassen.


Donnerstag Jul 26, 2012

Tornado Web Server

tornadoweb.org.jpg

Tornado ist ein OpenSource nicht blockierender Webserver, der u.a. bei FriendFeed verwendet wird. Besonders geeignet ist der Webserver für Realtime-Services und Anwendungen, die viele Verbindungen offen halten, da er mit kleinem Footprint einige tausend Verbindungen gleichzeitig verarbeiten kann.



Mittwoch Jul 25, 2012

Parallelisierter S3 Multipart Upload mit Python-boto

Wie man mit der Python boto Lib eine große Datei parallel in Amazon AWS S3 hochlädt, sieht man hier auf github.

Jinja2 Python Template Engine

jinja2.jpg

Jinja2 ist eine Template-Engine für Python mit Unicode Support und optionaler Sandbox Integration. Inspiriert wurde das Ganze vom Django Templating System.



Samstag Jul 14, 2012

Links 20120714 - Laserscanner, Finder Alternativen, Python IDE spyderlib

DAVID-Laserscanner 3D - Wer auf der Suche nach einem relativ günstigen 3D Scanner ist, der sollte sich mal hier umsehen. Ein Video gibt es hier bei focus.de bei Mattings Warentest zu sehen.
spyderlib: Spyder is the Scientific PYthon Development EnviRonment - Um meine Python-Programm nicht immer mit vim schreiben zu müssen, war ich auf der Suche nach einer guten OpenSource Pyhton-IDE. spyderlib fand ich dabei recht interessant. Hat Autovervollständigung, man kann Debuggen und Breakpoints setzen, ToDo Listen erstellen, Klassen- und Funktionenbrowser, pyflakes- (Fehlererkennung on the fly) und Pylint-Integration (Source-Qualität checken).
Mac OS X Finder Alternativen:
ForkLift 2: Also das Teil macht einen echt guten Eindruck. Kann sich u.a. mit FTP, SFTP, WebDAV, S3, iDisk, SMB, AFP und NIS verbinden, Terminal-Integration und x andere Features.
muCommander: Dual-Panel Interface und versteht sich mit FTP, SFTP, SMB, NFS, HTTP, Amazon S3, Hadoop HDFS und Bonjour
TotalFinder: Dual-Panel Interface und Tabs
Path Finder: Dual-Panel Interface, Tabs, Bookmarks, Source Control (Git, Subversion), Hex Editor


Dienstag Jul 10, 2012

Links 20120710 - Python rsync, Fernsehsuche

pyrsync - Implementiert den rsync-Algorithmus in puren Python, also kein Wrapper.
fernsehsuche.de - fernsehsuche.de bietet einen Überblick über die aktuellen Sendungen in den Mediatheken der privaten und öffentlich-rechtlichen Fernsehsender.


Donnerstag Jul 05, 2012

Links 20120705 - Python beschleunigen, Programmiergeschichte, Linux KVM mit USB

Pymothoa: JITing Python Over LLVM - Im Gegensatz zu anderen Projekten dieser Art (Python kompilieren, JIT, usw.) ändert Pymothoa nicht den Python Interpreter, sondern setzt auf Dekoratoren, um Funktionen zu kennzeichnen, die kompiliert werden sollen. Könnte ein interessanter Ansatz sein, wenn man rechenintensive Operationen in Python beschleunigen will, ohne gleich C-Erweiterungen schreiben zu müssen.
Kostenlose Programmierer-Geschichte von heise Developer - Eine Geschichte zur Gegenwart und Zukunft der IT.
KVM: USB redirection over the network - Wie man lokal angeschlossene USB Devices in KVM (Kernel Virtual Machine) über's Netz einhängt, beschreibt dieser Artikel.


Dienstag Apr 20, 2010

Links 20100419 - KVM, GlusterFS, Django, Tomcat, Eclipse SVN+SSH

Using KSM (Kernel Samepage Merging) with KVM - Seit Kernel 2.6.32 (am Besten mit glibc 2.10 und KVM 0.12.3) gibt es die Möglichkeit, das Speicherbereiche von KVMs sich Speicherblöcke "teilen" bzw. gleiche Speicherblöcke zusammengefasst werden. Das kann bei vielen Windows Gästen z.B. schon mal 60% RAM sparen. Dieser Artikel beschreibt, wie man das einsetzt.
Glusterfs Distributed File System on Amazon EC2 - GlusterFS ist ein verteiltes Dateisystem, das anders als die meisten Anderen auf FuSE basiert, also nicht im Kernel beheimatet ist. Man kann damit soz. ein RAID über Rechner hinweg aufbauen z.B. ein RAID 0 bzw. 1 mit zwei Rechnern oder ein RAID 10 mit vier Rechnern. Wenn die verteilten Daten hauptsächlich gelesen werden und wenig bis gar keine Wildcard-Queries (z.B. ls -R *blub*) laufen, funktioniert das ganz gut. Hier wird der Einsatz in Amazon's Cloud beschrieben.
Django CMS - Wie der Name schon sagt, ein interessantes CMS in Python und Django geschrieben. Hier ein Demo-Video.
HTML5 Web Sockets: A Quantum Leap in Scalability for the Web
TomcatExpert - Diese Knowledgebase wurde von den SpringSource Jungs aus der Taufe gehoben. Sind ein paar gute Artikel und Slides dabei.
Configure SVN+SSH with Subclipse on Windows - Wie man Subversion über SSH mit Keys und der Hilfe von Subclipse benutzen kann, beschreibt dieser Artikel.


Montag Okt 12, 2009

Links 20091012 - Verzeichnisse abgleichen, Python IDE, DJ Software, Fotobearbeitung

Lsyncd (Live Syncing (Mirror) Daemon) - Mit Lsyncd kann man lokale Verzeichnisse überwachen (das passiert über inotify). Änderungen werden sofort mittels rsyncd lokal oder auf einen entfernten Rechner kopiert. Der Artikel Live Sync with lsyncd zeigt einige Beispiele auf.
Pydev ist ein Plugin für Eclipse für Python, Jython und Iron Python. Das war bis vor kurzem kommerziell und ist jetzt OpenSource.
Open Source Photo Processing Comes of Age - Ein guter Überblick was in Bezug auf Photobearbeitung unter Linux heute alles so machbar ist.
xwax ist eine OpenSource Vinyl Emulation Software für Linux - Was für die DJs ;-)



Montag Jul 13, 2009

Links 20090713 - Python, Django, MySQL, Pinax, CouchDB

Open Web Tools Directory - Eine Seite für Webentwickler auf der div. Entwicklungstools bzw. deren Webseiten etwas aussergewöhnlich dargestellt werden und ein Beweis, das man dafür nicht unbedingt Flash braucht.
mysqlreport - Ein wichtiges Tool für MySQL Admins. Es wertet div. Status Variablen aus und kann so z.B. Cache/Hit-Ratios für den Buffercache usw. berechnen. Damit bekommt man sehr schnell einen Überblick, ob Variablen event. falsch eingestellt sind.
CouchDB - CouchDB ist keine relationale DB sondern speicher einfach nur Dokumente auf die per RESTful HTTP API zugegriffen wird. Die DB kann auch über mehrere Rechner repliziert werden.
Pinax - Pinax baut auf dem Python Framework Django auf und stellt div. Applikationen zur Verfügung. Ursprünglich für eine Social Network Site entwickelt, enthält es entsprechend viele Apps aus dem Bereich. Siehe dazu auch: Create a new social networking site in few hours using pinax platform (django)
Ein Django Fan oder warum Django benutzen: One Laptop Battery Later And I'm A Django Fan