Simon Willison’s Weblog


937 items tagged “python”

The Python programming language.


Python 3.0a1 released. Wow, that was a pretty fast turnaround. Betas are planned for 2008, with a final release scheduled for August.

# 31st August 2007, 8:36 pm / python3, python

Satchmo 0.5 Release. Django powered e-commerce application, “the webshop for perfectionists with deadlines”.

# 22nd August 2007, 10:36 pm / django, satchmo, releases, python

The Shrinking Python Web Framework World. Python used to suffer from a paradox of choice with regards to Web frameworks; today things are considerably easier for new developers.

# 22nd August 2007, 10:06 pm / python, ian-bicking

BabelDjango. Tools for integrating Christopher Lenz’s Babel i18n framework with Django.

# 20th August 2007, 2:59 pm / christopher-lenz, django, babel, python, i18n

Django on the iPhone. Jacob got it working. The next image in his photostream shows the Django admin application querying his phone’s local database of calls.

# 19th August 2007, 7:58 am / jacob-kaplan-moss, django, python, iphone, apple

The Python docs have been redesigned for 2.6. They’re beautiful. The docs for a module are on a single page now (rather than splitting over multiple pages), they’ve added unobtrusive permalinks to individual sections and the whole thing is built on ReST rather than LaTeX.

# 18th August 2007, 12:39 pm / rest, latex, documentation, python

Changeset 5925. You can now register custom commands for your application with Django’s script. More sensible than littering your application’s root directory with shell scripts.

# 18th August 2007, 11:06 am / django, python, managepy

DictMixin. I wasn’t aware of this Python class (part of the UserDict module): lets you implement __get__, __set__, __del__ and keys() and provides the other dictionary methods for you.

# 17th August 2007, 10:34 am / dictmixin, dictionaries, ian-bicking, python, userdict, stdlib

AuditTrail. Add change tracking and history to a Django model with a single line of code. Doesn’t handle relationships though, which is definitely the toughest part of this problem.

# 15th August 2007, 1 pm / django, orm, history, audittrail, python

Finding Lookup Items that Are Not Used. How to do left outer joins (and other custom SQL) using the Django ORM.

# 13th August 2007, 5:08 pm / django, orm, sql, michaeltrier, python

Ubuntu -- python-django. Sweet, Django 0.96 is packaged for Ubuntu Gutsy.

# 11th August 2007, 8:47 am / django, python, ubuntu, gutsy

Atom Models. Building Python classes that act as utility wrappers around data stored in an lxml DOM object.

# 7th August 2007, 4:02 pm / lxml, dom, xml, python, ian-bicking, atom

A nice example of when to use reduce in python. As a shortcut for assembling a large OR query using the Django ORM.

# 2nd August 2007, 11:51 pm / orm, django, reduce, python

Cabochon event server. Written in Python (on top of SQLObject and Paste), uses JSON for messages, allows event consumers to subscribe with a callback URL.

# 2nd August 2007, 8:36 am / callbacks, python, sqlobject, paste, cabochon, events, json A Python client library for accessing ActiveMQ using the STOMP protocol. Pleasantly simple API for both sending and accepting messages.

# 1st August 2007, 1:50 pm / python, activemq, messaging, stomp

Django, iCal and vObject. Easy iCal generation for Django using vObject.

# 1st August 2007, 11:09 am / vobject, derek-willis, django, python, ical

Thread Synchronization Mechanisms in Python. Locks, RLocks, Semaphores, Events and Conditions as explained by Fredrik Lundh.

# 29th July 2007, 9:32 pm / fredrik-lundh, effbot, locks, rlocks, threading, semaphores, events, conditions, tutorial, python

The recent announcement that Mozilla's next JavaScript engine, Tamarin, will also be a container for functionality written in Python and Ruby (and, one assumes, beyond) is proof that JavaScript is the new Parrot.

Aaron Straup Cope

# 29th July 2007, 9:17 pm / javascript, aaron-straup-cope, mozilla, python, ruby, tamarin, parrot

mod_wsgi 1.0 Release Candiate Available. mod_wsgi is shaping up to be an excellent alternative to mod_python.

# 26th July 2007, 8:21 pm / modwsgi, modpython, python, django

Mozilla and IronPython: IronMonkey. Interesting to note that all three new Mozilla projects are being lead by experienced Python developers.

# 26th July 2007, 8:07 pm / python, javascript, mozilla, ironpython, ironmonkey, voidspace

Instant Django. Portable Django environment for Windows, no installation required. Can also be run from a USB thumb drive.

# 24th July 2007, 6:49 pm / instantdjango, django, usb, windows, python

Django Master Class. Notes and slides from the OSCON tutorial I gave yesterday with Jacob Kaplan-Moss and Jeremy Dunck.

# 24th July 2007, 3:20 pm / oscon, jeremy-dunck, django, jacob-kaplan-moss, oscon07, speaking, tutorial, python

Undelete in Django. Inspired by the conversation about undo the other day, Nathan Ostgard created a simple solution based around custom managers and a trashed_at model field.

# 20th July 2007, 6:54 pm / orm, custommanagers, django, nathan-ostgard, undelete, undo, python

Announcing Babel. Impressive new Python i18n / l10n package, with improved message extraction and a huge amount of bundled locale data.

# 20th July 2007, 12:20 pm / babel, christopher-lenz, python, i18n, internationalisation, l10n, localisation, locale, unicode, cldr

Logic in Templates. I don’t think it would hurt Django to have a bit more support for conditional logic in templates, but I wouldn’t go as far as supporting the ability to call Python functions directly.

# 19th July 2007, 8:35 am / templates, logic, christopher-lenz, python, django

ThingDB. Another extensible key/value pair data store, constructed for the Open Library based on Aaron Swartz’s Infogami technology.

# 17th July 2007, 10:21 am / infogami, openlibrary, aaron-swartz, thingdb, python, postgresql

Python Tuples are Not Just Constant Lists. “The index in a tuple has an implied semantic”.

# 17th July 2007, 7:53 am / python, tuples, james-tauber

lwqueue. Lightweight cross-language message queue system, written in Perl with client libraries in Perl, Python and Ruby.

# 16th July 2007, 10:04 am / perl, python, ruby, queue, lightweight, lwqueue, peter-cooper

Partial OpenID provider implementation from It’ll take a while to package up provider support for django-openid, but in the meantime here’s some partial, incomplete, poorly documented example code ripped from Hopefully this will give people trying to figure out the JanRain Python library a bit of a leg up.

# 12th July 2007, 6:48 pm / idproxy, openid, django, python, partial, europython, europython07

gSculpt. Powerful open source modelling software, written in Python and demonstrated (to much applause) as the last lightning talk of EuroPython 2007.

# 11th July 2007, 11:48 pm / python, 3d, modelling, opensource, europython, europython2007, gsculpt