Get Your Weekly Dose of Python
Welcome to issue 65 of Python Weekly. I would like to thank our sponsor this week, ActiveState, for their support. Be sure to try out their Komodo IDE for free.

From Our Sponsor

Komodo IDE is a professional Python developer suite. All-in-one Editing, Code Completion, Graphical Debugging & Code Profiling. Support for multiple languages and web dev, including HTML, JavaScript & CSS. Save $50 through Dec. 31. Try Komodo IDE or Komodo Edit (Free).


Alfred P. Sloan foundation has announced $1.15M grant to IPython that will support IPython development for the next two years.
Articles, Tutorials and Talks

When we define our own data types (classes) we also tend to come up with our own ways to manipulate and consume our data. One of the nice things in python, is that we don't have to. We can use "underscore methods" to make our classes compatible with the built-in functions and operators. This makes our code easier to use and does a better job of hiding our nasty, complex implementation from the user. More importantly, it makes our code more intuitive. This means that in many cases our API will just do what the user expected it to do. 
This series of tutorials demonstrates how to deploy a basic app (web form), from start to finish, so that you can learn the basics in order to move on to more advanced apps.
This post shows you how to implement minesweeper at its most stripped-down level using matplotlib.
Read preferences are a new feature in MongoDB 2.2 that lets you finely control how queries are routed to replica set members. With fine control comes complexity, but fear not: this post explains how to use read preferences to route your queries with PyMongo.
Using doit you can easily add some nice features to external tools or leverage its power in the tools you are the author! doit has a very flexible dependency system that can be used to perform tasks much more complex than simple static checkers.
This is another post on showing what a few lines of matplotlib can produce.
SciPy contains two methods to compute the singular value decomposition (SVD) of a matrix: scipy.linalg.svd and scipy.sparse.linalg.svds. This post compares both methods for the task of computing the full SVD of a large dense matrix.
A post describing the Gephi/Python library.

Interesting Projects, Tools and Libraries

Jedi is an awesome autocompletion library for python.
Flask-MoreSQL is an extension to Flask that allows developers to easily build RESTful APIs on top of PostgreSQL databases. In other words, it is a thin layer of glue between Python web applications and PostgreSQL stored procedures.
PyML is an interactive object oriented framework for machine learning written in Python. PyML focuses on SVMs and other kernel methods. 
tswss is a Twisted Static & WebSocket Server. That is, it's a web server in Twisted (Python) that: 1. serves up initial static app content, and 2. communicates with that app via websockets thereafter.
Exam is a Python toolkit for writing better tests. It aims to remove a lot of the boiler plate testing code one often writes, while still following Python conventions and adhering to the unit testing interface.
A graphite dashboard unlike any other. It is a highly interactive dashboard to satisfy varying ad-hoc information needs across a multitude of metrics by using templates.
FreezeGun is a library that allows your python tests to travel through time by mocking the datetime module.
Parcel is a suite of classes and helper functions designed to be used in conjunction with Fabric for building and deploying Python web applications using native packages.


This book shows you how to run experiments on your website using A/B testing and then takes you a huge step further by introducing you to bandit algorithms for website optimization. Author John Myles White shows you how this family of algorithms can help you boost website traffic, convert visitors to customers, and increase many other measures of success. You'll learn about several simple algorithms you can deploy on your own websites to improve your business including the epsilon-greedy algorithm, the UCB algorithm and a contextual bandit algorithm. All of these algorithms are implemented in easy-to-follow Python code and be quickly adapted to your business's specific needs.
The first section of the book gets you up and running; after the first chapter the reader will have installed the operating system, will have an understanding of all the hardware features of the Pi, and will have set up the small computer with the correct power source and peripherals. This is followed by a quick start user guide, with enough context and examples of commands to get around the computer. The book also provides instructions for getting started with programming in Scratch and Python, and examples of using the general purpose input and output interface. Finally, the reader is guided through two hands on hardware hacking projects.

New Releases

Django team has issued multiple releases -- Django 1.3.5, Django 1.4.3, and Django 1.5 beta 2 -- as part of our security process. All users are encouraged to upgrade Django immediately.

Upcoming Events and Webinars

In this session you'll...
  • Develop a system where your customers will be able to call your phone number and be placed in a waiting cue 
  • Alert your employees that there are customers waiting on the line (in the order the calls were received) 
  • Have some fun with the waiting experience. (Because it's your startup, and while your customers are on hold they shouldn't be forced to listen to easy-listening Muzak. Unless you want to be ironic, then sure, we get it).
Python Jobs of the Week

Do you like doing linux administration, deploying VM's, and tweaking Python code? Do you want a great, supportive environment where you can learn new packages and technologies? Do you want to work at the forefront of energy efficiency? Successful applicants for our Operations Enigeer position will be responsible for the implementation and support of our production and development environments and will support the development of web applications that implement our state-of-the-art energy efficiency programs.
To extend our young, fun loving, international team we are looking for a motivated Python Software Developer to help us grow. As part of the Engineering team you will be responsible for developing core parts of our PALLADION software, parsing and analyzing network protocols. PALLADION is built using modern software technologies and an agile development approach. 
The Providence Plan is looking for a Web App Developer to join our team and support our mission of democratizing data for the City of Providence and the state of Rhode Island.

Get Your Weekly Dose of Python