Archive for the 'Django' Category

Loads of new Django-based FOSS components from Washington Post

Friday, February 20th, 2009

As you know, several of the core Django developers went to the Washington Post to work, and they just announced several open source components that look promising, quoting them:

  • django-projectmgr it is a source code repository manager and issue tracking application. It allows threaded discussion of bugs and features, separation of bugs, features and tasks and easy creation of source code repositories for either public or private consumption. (Looks like an alternative to Trac, but in Django.)
  • django-supertagging, an interface to the Open Calais service for semantic markup.
  • django-massmedia, a multi-media management application. It can create galleries with multiple media types within, allows mass uploads with an archive file, and has a plugin for fckeditor for embedding the objects from a rich text editor.
  • django-clickpass, an interface to the clickpass.com OpenID service that allows users to create an account with a Google, Yahoo!, Facebook, Hotmail or AIM account.

The source code is released under the permissive Apache License, version 2.0.

(Thanks to Mike for making me aware of this!)

Great interview with Greg Stein

Tuesday, April 8th, 2008

FLOSS Weekly is really on fire! The last episode of the podcast has a really interesting interview with Greg Stein, previous chairman of the Apache Software Foundation, co-founder of the Python Software Foundation, creator of mod_dav and lots of other open source projects. They touch on the disappearence of proprietary software, Google Code, how Microsoft was shipping Python as part of their e-commerce and SiteServer suites, and so on. Highly recommended.

Wrap-up of Django sprint at Exoweb offices

Sunday, December 2nd, 2007

On occasion of the second world-wide Django sprint we got together 12 people to sprint at Exoweb’s office yesterday.

(more…)

Django sprint at Exoweb offices

Tuesday, November 27th, 2007

If you’re in Beijing, know Python, have played around with Django, and want to roll up your sleeves and contribute some code to open source, then feel free to join as at the Exoweb office Saturday Dec 1st from 11:30 until 24:00 for the Django sprint.

If you want to come, please post a comment to this blog and put your name on the Django sprint wiki page under the Beijing section, so that we can gauge how many are coming and keep informed if there are any updates.

(See also Exoweb planet for more information on Exoweb and our office.)

Public wifi - how could it get so bad?

Thursday, October 4th, 2007

Warning: This is a rant.

With wifi came the promise of being online (almost) anywhere, but due to incompetent or misdirected implementation and management, it’s pretty much a patchwork of extremely unreliable networks. My experience is that there’s a 30-40% chance of actually being able to get online at an access point.

(more…)

Python 3000 alpha 1 released!

Saturday, September 1st, 2007

Guido just announced it :) Time to experiment.

Blueprint, a CSS framework

Monday, August 13th, 2007

Tired of fighting with browsers on CSS issues regarding layouts, styling of buttons, or generating print versions? Then you’d probably be interested in the Blueprint CSS Framework which I discovered via Mark Boulton. It’s getting great reviews, looks to have a lot of promise… and by a fellow Norwegian to top it off. Check the tutorial for a good introduction.

Finding Python packages

Saturday, July 28th, 2007

Although easy_install might be sufficient to install a Python package (aka egg) onto your system, it doesn’t help you find available packages or see what you have on your system. Most package managers does, so this was a bit surprising. I was frustrated enough that I started looking at what it would take to make one. I came so far as to create a little utility built on top of setuptools that downloaded the Python Package Index (aka cheeseshop, aka PyPI) using httplib2 with caching.

Searching for pypi using this utility I saw a couple of packages, including one called yolk that promised to be a “Command-line tool querying PyPI and Python packages installed on your system.” Great! Saved me a lot of work. :)

Yolk not only allows you to search PyPI using yolk -S <name>, it also gives you a way to query the packages that you have installed on your system using yolk -l. I’ve NEVER seen this before for Python eggs, so it was quite fun. Yolk doesn’t cache stuff from the PyPI, however, so that’s a bit of a downer for us living in bandwidth-challenged areas like China.

If you wonder, yolk is a word play on “egg yolk“, which is the yellow part of the egg. Python packages as done by setuptools are called eggs, thus the name.

By the way, httplib2, although not part of the standard library, is quite a bit better than urllib2 or httplib, and apparently the only way to easily make HTTP requests that use HTTP methods besides GET and POST; i.e., PUT, DELETE, HEAD, etc, as required by REST. It also exposes a very feature-complete client-side cache, so you can do:


  h = httplib2.Http(".cache")
  # don’t refetch until 7200 seconds old
  resp, content = h.request("http://www.exoweb.net/",
    headers={‘cache-control’:‘ public, must-revalidate, max-age=7200′})
  print content
 

I hope the standard library cleanup project that is planned for Python 3000 includes this module, and updates it so that it can support file-like interface to reading, not just returning a string like it does now. A compatibility module with the old http/url modules would be cool too. ;)

Update! Flávio blogs about this too, includes a script for updating Python packages, and in a comment mentions enstaller, an alternative package manager for Python eggs which can do similar things to yolk, but also upgrading of packages. Mikeal also blogs about this and includes a simpler script for updating Python packages.

Slides from “Django Master Class” at OSCON

Wednesday, July 25th, 2007

At OSCON 2007 Jacob Kaplan-Moss, Simon Willison, and Jeremy Dunck held a Django Master Class. Jacob just posted the slides on the web, and it contains a few goodies, like:

  • testing strategies
  • testing support in Django
  • dumpdata
  • templatetags introduction
  • custom model fields
  • OpenID (which seems to be on Simon’s mind a lot lately)
  • a cool example using jQuery to do Ajax-style client-side form validation based on conditions set in the Django model(!)
  • deployment options for high-performance sites
  • Geo Django + PostGIS for geo-coordinate manipulation

RESTful Web Services, a book review

Monday, July 23rd, 2007

After hearing about it on an ITC podcast (also mentioned in previous post) I ordered the “RESTful Web Services” book from Amazon (and got into an argument with Sam Ruby regarding Python pain points; he seems to be a Ruby-convert these days). It arrived last week, and I spent a lot of this weekend browsing through the book, and this is a review of sorts.

This book has a star rating of 5 out of 5 on Amazon, and I agree it’s worth it. It covers a lot of ground and includes material rarely found elsewhere.

The first part covers REST basics, like the meaning and usage of the HTTP methods GET, PUT, DELETE, POST, as well as HEAD. I’m pretty familiar with that part of REST and HTTP, but people that don’t know the basic premise of REST, and haven’t heard of conditional GETs, partial GETs, caching, content negotiation, compression, and the various HTTP return codes should read the first part carefully; the whole premise of REST is to use HTTP the way it was designed, so you’d better know HTTP. The REST Wikipedia entry gives a good basic intro to REST. I find many web site optimization sites give a good introduction to HTTP features.

The authors also show how to use existing best-practice web services such as Amazon’s S3 and Google.

The meat of the book is in the middle where the authors show how to design a read-only and read-write web application in a RESTful way. There were a few new and interesting things for me:

  1. A step-by-step guide to designing a RESTful web services app
  2. A discussion of URI design conventions
  3. An overview of hypermedia formats (e.g., XML and microformats) that can be used to represent state
  4. Discussions about the tricky situations where REST just doesn’t seem to fit, e.g., when you need transactions

I’ll summarize the first three.

(more…)


tracker