Python Threading and Queues – and why it’s awesome

I’ve done quite a bit of work doing web development with Django, and one thing that doesn’t really come up when doing standard CRUD work is that mostly all web sites are linear – take a request, process it and spit out a response. Sure you’re underlying architecture uses threading, but that’s invisible to the(…)

Writing a basic plugin framework in Python

While working on the initial version of DjangoSVN, I realised that one of the coolest things I could do with the DjangoSVN command interpreter was to make it pluggable. The idea was simple: You can set up a DjangoSVN server anywhere, then write your own custom plug-ins that you can just drop into the plug-in(…)

A Quick Guide on Python Remote Objects (PYRO)

Recently I have been contemplating client-server applications, how these can eventually be tied into a web app and how best to write all of this in Python. This post will outline the usage of one of the more awesome XMLRPC libraries and also discuss why it’s better than what else is out there…

Announcing PyTranscode

PyTranscode is a set of classes that control and report from FFMPEG. They also make using FFMPEG from python very very simple.

Things you can do with PyTranscode:

  • Transcode videos from format a to b using presets stored in another file
  • Extract splash images from a video file (actually extracts a series of splash images at user-defined intervals)
  • Objectify video files – create a VideoObject form a file and it will provide you with all the details of the file from framerate to duration to formats used in both audio and video
  • Runner – run FFMPEG command and trap the output, reporting back percentage complete of any action

Amazon RDS and Django

Amazon has recently released a long-awaited feature addition to it’s Web Services infrastructure: Relational Databases. Having for a long time only had SimpleDB on offer (non-relational and weird to implement), it’s always been something of a struggle to get MySQL running on EC2. Traditionally one would have to set up a block storage device, mount(…)

IMPY – A Python Wrapper for InvoiceMachine

A while back I coded this little gem because I didn’t want to have to create an invoicing app for one of my projects, instead I thought it easiest to just export that functionality to a service.

My service of choice (and a great one for freelancers everywhere) is InvoiceMachine – a really simple, really pretty invoice manager.

So here I present IMPY – a python wrapper for invoice machine.

Django file upload progress bar – without Flash

So I was facing a little problem – I had massive file uploads to contend with and there’s nothing worse than not knowing what stage an upload is at, particularly for an impatient user. I looked around for solutions to file uploads and didn’t like anything I saw, most were flash based and cumbersome –(…)

Django API’s – Seeking Simplicity

This is a small piece of code I’ve found myself usingh quite often when building API’s – what it does, and all it’s meant to do is validate a POST or GET request and return errors and values back to the API function. I was tired of writing endless “if x in request.POST/GET” lines (particularly(…)

Customising the Django Admin

One of my favourite features of Django is the auto-created admin, if you’re like me and hate having to create UI and validate froms, then Django’s back office comes like a saviour from the heavens. Unfortunately, sometimes it’s just necessary to have more control over how the admin looks and operates, the following tutorial will(…)