Simon Willison’s Weblog

Subscribe
Atom feed for python Random

1,275 posts tagged “python”

The Python programming language.

2008

This Week in Django podcast. Michael Trier’s been doing a really fantastic job putting together a Django podcast. The most recent episode (number 4) includes an update on the newforms-admin branch and a couple of handy tips.

# 1st January 2008, 10:44 am / django, django-admin, michael-trier, podcasts, python, thisweekindjango

2007

django-mptt (via) Jonathan Buchanan’s simple utility for performing Modified Preorder Tree Traversal (efficient tree operations in SQL) on Django models.

# 29th December 2007, 11:33 am / django, djangoorm, jonathan-buchanan, models, modifiedpreordertreetraversal, mptt, python, sql

I definitely like Python 3K's Unicode support better [...] In fact, I think I prefer Ruby 1.8's non-support for Unicode over Ruby 1.9's "support". The problem is one that is all to familiar to Python programmers. You can have a fully unit tested library and have somebody pass you a bad string, and you will fall over.

Sam Ruby

# 28th December 2007, 7:05 pm / python, rubi18, ruby, ruby19, sam-ruby, testing, unicode

Django and Comet. How to build a chat application using Django and the Orbited comet server. Orbited can be set up to proxy most requests through to a Django backend while handling any comet requests itself.

# 26th December 2007, 9:05 pm / comet, django, javascript, orbited, python

IPy. Handy Python module for manipulating IP addresses—use IP(ip_addr).iptype() == ’PUBLIC’ to check that an address isn’t in a private address range.

# 24th December 2007, 1:19 pm / ip, ipaddresses, ipy, networking, python, security

Size Is The Enemy. Jeff Atwood: “I’ve started a cottage industry mining Steve [Yegge]’s insanely great but I-hope-you-have-an-hour-to-kill writing and condensing it into its shorter form points.” Lots of verbose static typing apologists in the comments.

# 24th December 2007, 10:50 am / dynamic-languages, java, jeff-atwood, python, static-typing, steve-yegge

WebOb. WebOb is “an extraction and refinement of pieces from Paste”—provides a very nice request and response object, clearly inspired partly by Django. The documentation includes the differences between the WebOb API and that of other frameworks.

# 23rd December 2007, 10:22 am / django, frameworks, ian-bicking, paste, python, webob

Pvote (via) Electronic voting machine software in 460 lines of highly readable Python (using Pygame), implemented by Ka-Ping Yee for his doctoral dissertation. Demonstrates prerendering, where as much of the UI as possible is defined in a separate ballot definition file.

# 22nd December 2007, 1:04 pm / electronicvoting, evoting, ka-ping-yee, pvote, pygame, python

Using Unipath to Keep Things Portable. Django tip to avoid hard-coding full paths. I usually set a global called OUR_ROOT in settings.py using os.path.dirname(__file__) and use os.path.join with it to construct any other paths that I need.

# 21st December 2007, 10:45 am / django, michael-trier, python, settings, unipath

Misapplying book terms, Pylons, and the ’end-user’. Ben Bangert responds to Adam Gomaa’s claim that Pylons lacks “conceptual integrity”.

# 19th December 2007, 11:09 am / adam-gomaa, ben-bangert, pylons, python

Frameworks Exist for Conceptual Integrity. (Internet Archive) Adam Gomaa just taught me a bunch of interesting things about Django's underlying philosophy. Looks like I need to re-read the Mythical Man-Month.

# 17th December 2007, 1:58 pm / adam-gomaa, conceptual-integrity, django, frameworks, mythicalmanmonth, python

The future of web standards. Nice analysis from James Bennett, who suggests that successful open source projects (Linux, Python, Perl etc) could be used as the model for a more effective standards process, and points out that Ian Hickson is something of a BDFL for the WHAT-WG.

# 17th December 2007, 1:16 pm / bdfl, ian-hickson, james-bennett, linux, open-source, perl, python, standards, w3c, web-standards, whatwg

Chapter 7: Form Processing. The chapter on newforms I contributed to “The Definitive Guide to Django” is now online, along with the rest of the published book.

# 16th December 2007, 9:44 pm / django, django-book, newforms, python, writing

stompserver. I think this is the lightweight message queue I’ve been looking for: written in Ruby and EventMachine, easy to set up (thanks to gems), interoperates perfectly with stomp.py.

# 14th December 2007, 4:40 pm / eventmachine, gems, lightweight, message-queues, messaging, python, ruby, stomp

Two-Faced Django. Excellent Django tutorial by Will Larson that shows how to build a polling application with an interface both on the Web and in Facebook. Also touches on unit testing and Ajax using jQuery.

# 14th December 2007, 2:44 pm / ajax, django, facebook, javascript, jquery, pyfacebook, python, tutorial

Updates to template_utils. James Bennett’s Django template_utils library now provides tags for consuming external RSS and Atom feeds. Combine with template fragment caching for an instant mashup written just using templates.

# 10th December 2007, 3:25 pm / atom, django, feeds, james-bennett, python, rss, templateutils, universalfeedparser

Django snippets: Authenticate against Active Directory. Uses a custom authentication backend with the Python ldap module. If Django hasn’t seen the user before a new Django user account is created with data from ldap.

# 10th December 2007, 8:40 am / activedirectory, authentication, django, ldap, python

Django Basic Apps. Nathan Borror has released a suite of simple, reusable Django applications: Basic Blog, Basic Places, Basic People, Basic Library and Basic Profiles.

# 5th December 2007, 3:30 pm / django, nathan-borror, python

xkcd: Python. Just type “import antigravity”.

# 5th December 2007, 6:09 am / antigravity, flying, funny, python, xkcd

Datejs—A JavaScript Date Library. Building a date API around chaining—Date.today().next().thursday()—is a neat concept. I’d like to see that adapted for Python’s datetime library.

# 3rd December 2007, 9:01 pm / chaining, datejs, datetime, javascript, python

If you only remember one thing about handling non-HTML output via Django: know that you can use the HttpResponse object as if it were a file. Writing to such an object and returning it will give you the output you wrote. It's a very simple concept, but one that translates well to third-party libraries.

Alex de Landgraaf

# 3rd December 2007, 8:44 pm / alex-de-landgraaf, django, httpresponse, python, views

First Notes on Django. Cool, the IETF are developing internal tools with Django.

# 3rd December 2007, 11:38 am / django, ietf, python

Oxford Geek Night 4. Tomorrow night, usual venue. Topics include mySociety, Pylons, MythTV and more.

# 27th November 2007, 9:04 pm / events, mysociety, mythtv, oxford-geek-nights, pylons, python

sorl-thumbnail. This looks like a decent attempt at a generic Django thumbnailing service, but I’m always wary of code that allows URL hackers to create large numbers of files that will be cached to disk. UPDATE: My mistake, thumbnail creation can only be caused by template authors.

# 27th November 2007, 7:17 pm / django, pil, python, thumbnails, urls

Using django.newforms with Pylons. It’s always good to see Django components used outside of the framework itself. For the record, you can avoid the DJANGO_SETTINGS_MODULE environment variable entirely using django.conf.settings.configure (search for it).

# 27th November 2007, 3:01 pm / django, newforms, pylons, python, settings

Eventlet—Second Life Wiki. Seriously powerful non-blocking IO library for Python, currently maintained by Linden Lab as part of the server architecture used for Second Life.

# 26th November 2007, 3:21 pm / eventlet, io, lindenlab, python, secondlife

Newforms, part 1. James Bennett provides a detailed description of Django’s newforms (not so new now though, they’ve been around for over a year), complete with attractive diagrams.

# 23rd November 2007, 11:54 pm / django, james-bennett, newforms, python

Mock—Mocking and Test Utilities (via) New mocking library for Python based on the “action ... assertion” pattern (as opposed to the more common “record ... replay”).

# 20th November 2007, 11:30 pm / mocking, python, testing

Professional Python Frameworks: Web 2.0 Programming with Django and Turbogears. Apparently published by Wrox in October 2007, beating the “official” Django book by just over a month. Has anyone seen this on bookshelves yet?

# 16th November 2007, 9:16 pm / books, django, python, web2, web-frameworks, wrox