2007-04-15

Python is one of my favorite programming languages due to its terseness and amazing flexibility.

See also Django for more.

My Stuff:

Sushy

my current wiki engine.

Yaki

my previous wiki engine.

rss2imap

The way I used read my news in 2015

MailArchive

a quick hack to file web pages as MIME compliant e-mail messages.

IMAP Backup

another quick hack that apparently filled a long-standing need.

Growl native protocol implementation

this spawned numerous variants, including a proxy.

PicoRendezvous.py

a minimalist (and dumb) Bonjour / Rendezvous client.

PNGCanvas

a native Python PNG creation module.

PicoStats

a minimalist Apache log parser.

The Python Grimoire

which I converted into TiddlyWiki format

newspipe

which I used daily for a couple of years and occasionally contributed to

Resources:

Category

Link

Notes

Interpreters & Compilers

Js2Py

A JavaScript interpreter written in pure Python

Hope

A specialized JIT compiler

Nuitka

An interesting batch compiler.

tinypy

Python in 64K of code.

Skulpt

Some interesting twists on using Python on the way to JavaScript.

Pyjamas

Web Application Frameworks

Moya

a new(ish), template-centric web framework with some interesting twists

django-micro

A lightweight wrapper to use Django as you would Bottle

Wagtail

Another Django-based CMS framework.

wid.gy

A Django-based CMS framework.

pecan

Based on object dispatching

wheezy.web

A high-performance framework that seems to get along well with PyPy

sandman

A simple RESTful wrapper

eve

Another RESTful foundation framework

Bottle

Tiny, flexible, awesome. My favorite since 2011.

Tornado

non-blocking, which is pretty interesting.

Django

The new hotness.

Snakelets

A minimalistic app server, my old web platform of choice.

Draco

Old and busted, to various extents.

medusa

CherryPy

Karrigell

Twisted

Zope

Machine Learning

discomll

A ML framework for Disco

Debugging Tools

Eww

Insert a REPL into a running application

lptrace

A pretty amazing single-file strace-like tool for Python

pudb

A console debugger

assertEquals

a testing framework with a great screencast

Hypothesis

A very nice testing framework

Pycallgraph

Generate a program flow graph via Graphviz

REPLs

ptpython

The Python Prompt Toolkit

bpython

My favorite REPL

Concurrency

aioprocessing

asyncio equivalents of the multiprocessing library

offset

ports of the Go concurrency model

goless

OpenReplica

A coordination service that provides replication and synchronization support for large-scale distributed systems

Pulsar

Another actor-based multiprocessing library with async IO support and a fair degree of network transparency

Pykka

An implementation of the Actor model, with gevent support

Celery

My current go-to library for task queueing

Littleworkers

Parallel job management without the hassles.

python-rq

A simpler queueing library

Console

click

A very nice way to do composable CLI tools

fabulous

Totally awesome. PRINT IMAGES TO CONSOLE!

plumbum

Another command wrapper, with SSH support.

pbs

A nice, simple and consistent generic command wrapper.

Clint

A great module for developing CLI applications.

Colorama

Making ANSI color sequences work across platforms (see also this gist).

Functional Programming

pyrsistent

A persistent data structure library

Toolz

A functional complement to the standard library.

Hy

An awesome LISP dialect that sits atop the runtime.

funcy

A nice, fairly complete functional library

Data Handling

Schematics

A validation/schema handling library.

voluptuous

A data schema validation library.

xlwings

An Excel plugin

fuzzywuzzy

A fuzzy string matching library

snakebite

A native HDFS client to access the Hadoop datastore.

Happy

A Hadoop library to run map-reduce jobs via Jython

PyCascading

A better way to write Hadoop jobs.

Graphics

Vapory

A library to generate photorealistic renderings using POV-Ray

Cropmap

Face-aware image cropping.

Pygal

An SVG charting library with a variety of built-in formats.

pyprocessing

A Processing clone in Python.

smc.freeimage

A wrapper for the freeimage library that can handle various TIFF and fax formats as well as ICC color profiles

Graphite

a real-time graphing system similar to RRDTool.

SciPy

scientific (including plotting) libraries for Python. Most impressive.

Pyx

Oldie, but goodie.

Skip’s Python Bits

lots of useful snippets

pygame

a game-oriented library with SDL support

Database

Peewee

A small, very flexible ORM

tinydb

A (very) lightweight document oriented database

Goatfish

An even smaller schemaless ORM

SQLAlchemy

See tutorial

Sybase module

I’ve used all of these at any one time, and pymssql worked out better for me.

FreeTDS

pymssql

GIS

reverse-geocoder

A fast offline reverse geocoder

geopy

an amazingly flexible geocoding library.

GUI Stuff

PySide

A recent Qt binding (up to and including 4.7) with QML support

kivy

A sophisticated UI/UX library with Android support

pyglet

a cross-platform windowing and multimedia library with OpenGL support

PythonCard

A bit basic, but interesting.

urwid

A curses based library for building console UIs

winGuiAuto.py

for Windows automation.

VPython

3D OpenGL libraries for quick visualization.

Networking

ThriftPy

A pure Python implementation of Apache Thrift

pyrobuf

a Cython implementation of Google’s protobuf library

SleekXMPP

A more modern XMPP library

pyxmpp2

another one, probably more interesting.

pyvnc

ctypes interface to the VNC libraries

pyapns

An Apple Push Notification Service provider based on Twisted.

gunicorn

A WSGI server for UNIX that supports a number of different worker daemons and is highly customizable.

uwsgi

A C application container that speaks WSGI (and seems seriously kick-ass).

msnlib

An MSN protocol implementation

ircutils

A relatively modern IRC framework that uses asyncore

IMAPClient

An IMAP wrapper library

Python smtplib progress indication

Might come in useful some day.

RPyC

an awesome RPC library

Eventlet

Amazing event-oriented framework

dpkt

packet creation and parsers

Pcapy

a packet manipulation library

Tftpy

a pure Python TFTP library, useful for implementing UDP file transfer testbeds.

ftputil

a high-level interface to the ftplib module

telnetscript

a simple module to do scripted telnet sessions.

FAPWS

a very fast asynchronous web server with a small codebase.

simple non-blocking HTTP server

another simple server.

PuSSH

SSH wrapper.

POP

a POP3 class with neat semantics.

PyRendezvous

neat little Bonjour module I use a lot.

IPy

an IP address manipulation library.

Data formats

biplist

A library that can manage Mac binary .plist files

xlwt

a library to parse Excel documents (cheatsheet).

pyparsing

a handy, flexible parser library that does away with lex/yacc.

Unicode

Unidecode

Does character transliterations.

Reporting

Relatorio

A very neat reporting library with multiple output formats

HTML and XML

BeautifulSoup

The most powerful HTML parser out there.

pholcidae

A web crawler library.

squeezeit

A CSS and JavaScript bundler and minifier.

mxTidy

HTML Tidy for Python

pygments

Python syntax highlighter able to handle multiple nested languages

pyquery

A jQuery-like library for manipulating documents.

cssutils

a CSS Cascading Style Sheets parser.

Mechanize

a programmatic web browser for screen scraping.

Gnosis Utilities

all sorts of XML goodies.

lxml

a different libxml binding.

PDF

xhtml2pdf

Aalternatives to PrinceXML for generating formated PDF docs.

WeasyPrint

PDFMiner

a parser and text renderer that can identify location of text on a page and do basic rendering to HTML

PyPdf

a PDF toolkit

Kiva

a Display PDF library.

ReportLab Toolkit

a pure Python PDF library that includes a presentation tool.

Media

subliminal

A library for looking up movie subtitles in various languages.

Tools

pydown

An HTML presentation generator

Techniques

daemon.py, an example daemon script.

Pydoc – built-in Web help, anytime, anywhere

How to Write a Spelling Corrector – an interesting technique that can come in handy to fix/suggest search terms, etc.

Python Webcam Color Track

Python webcam fun – motion detection

Notable Apps:

Date

Link

Notes

2014

<td style="min-width: 80px

Show more