Get Your Weekly Dose of Python
Welcome to issue 50 of Python Weekly. Let's get straight to the links this week.  

This "JavaScript Madness" eBook Bundle from SitePoint is comprised of three info-packed eBooks that will arm you with all the tools necessary to bring your code to a new level. Get 57% Discount on Yours Now


This is a Kickstarter project to create a video series (and accompanying code samples) to show people new to the Django framework how to get up and running quickly, avoid costly mistakes, and make good choices on packages, environments, and processes.
PyCon Ukraine 2012 is the biggest regional python-related conference in the ex-USSR countries with about 300 participants previous year, 2 days of talks, tutorials, lightning talks, open space activities and poster session. PyCon Ukraine 2012 is looking for speakers and now accepting talk proposals by the email

Articles, Tutorials and Talks

Behavior Driven Development is an excellent process to follow in software development. With testing often a practice that is pushed aside to the last minute (or ignored, entirely), baking the process into your daily workflow can prove to be hugely beneficial to the quality of your code. The structure and design of the tests, coupled with the Gherkin syntax makes tests easy to read - even for team members with non-technical backgrounds.
"Pythonic" is a vague concept, but not necessarily that much more vague than concepts like "intelligence" or "life", which, when you try to actually define them, tend to be slippery. That they're hard to define doesn't mean that they're useless though; humans work well with messy definitions. "Pythonic" means something like "idiomatic Python", but now we'll need to describe what that actually means.
This is a quick guide to using in a (semi-)production environment with lighttpd.
The App Engine NDB documentation does a good job of explaining the benefits of the new interface, but it doesn't really have anything for application developers who want to upgrade their existing models. This post is refined plan of attack, distilled into a field guide that you can use to transition over your own application.
This post describes how Pytolab was designed to process Tweets related to the 2012 French presidential election, in real-time. It also goes over some of the statistics computed over a period of 9 months.
Solr is a very powerful search tool and it is pretty easy to get the basics, such as full text search, facets, and related assets up and running pretty quickly. We will be using haystack to do the communication between Django and Solr.
Halfband filters are interesting because every even coefficient, except 0, is 0. Those multiplications do not need to be performed, additional calculation reduction can be gained by implementing a folded FIR. Only 1/4 the multiplies are required for a straight-forward implementation.  Also, polyphase implementations reduce the required number of multiplications even further. This post shows how to design a half band filter using the remez function in the Python scipy.signal package.
This post looks at ZeroMQ "devices" and how you can integrate ZeroMQ with Gevent so you can combine the easy networking topologies of ZeroMQ with the cooperative multitasking of ZeroMQ.

Interesting Projects, Tools and Libraries

Numba is a NumPy-aware optimizing compiler for Python. It uses the remarkable LLVM compiler infrastructure to compile Python byte-code to machine code especially for use in the NumPy run-time and SciPy modules.
Image Drawer lets you select an image (either by using the google image search api or an local image on your pc) and then redraws it. Python takes control of your mouse in order to redraw the chosen picture.
Django Report Tools aims to take the pain out of putting charts, graphs and tables into your Django projects. It provides a nice class-based framework to restore a little bit of elegance to your application's complex data views.
An extended version of python's SimpleHTTPServer that supports https, authentication, rate limiting, and download resuming.
pycrc is a free, easy to use Cyclic Redundancy Check (CRC) calculator and source code generator.
Static memory-efficient Trie structures for Python (2.x and 3.x). String data in a MARISA-trie may take up to 50x-100x less memory than in a standard Python dict; the raw lookup speed is comparable; trie also provides fast advanced methods like prefix search.

New Releases

Upcoming Events and Webinars

Chris McDonough will present on API Design for Libraries. Diane Mueller from ActiveState will tag-team a presentation with DCpython regular, Chris Shenton, on deploying Python apps to the Stackato PaaS and others (title TBD).
Come work on Python projects, get programming help, help others, and hang out. Bring your own project or work on one of the suggested projects.


If you want to learn how to program, working with Python is an excellent way to start. This hands-on guide takes you through the language one step at a time, beginning with basic programming concepts before moving on to functions, recursion, data structures, and object-oriented design.

Python Jobs of the Week

You'll maintain and develop new features for our gameplay engine, e-commerce website, and content-management system, all built in Django.  One week you'll be developing a customer account panel, the next reporting on data or developing a traveling-salesman algorithm: you'll never lack for variety.  You'll be just our fourth technical hire, and will have tons of say in where we take our product.

Get Your Weekly Dose of Python