Get Your Weekly Dose of Python
Welcome to issue 70 of Python Weekly. We have another jam packed issue this week. I hope you like it.

The Truth About HTML5 isn't just another book on how to program with HTML5 (though it will teach you that). Instead, it's a book that looks at the reasons and instances you should use the language. With this 260+ page eBook, you'll vastly improve your programming skills by knowing exactly which tools to implement and when. Get it now at 50% discount.

Articles, Tutorials and Talks

This post shows how you can use matplotlib's animation tools to create animated gifs based on Super Mario Bros in Python.
Last week, the first part covered the Basics of the OAuth 2.0 Authorization Flow. This second part will walk through how we used pyoauth2 to set up a minimal Authorization Provider for SHIFT. This post covers setting up endpoints for steps 2 and 5 from the overview.
In this presentation, Johan Euphrosine, Google Developer Program Engineer, shows Datastore pattern and Anti-pattern and how to optimize your App Engine App with Appstats.
Rmagic is  a package which allows you to run R code within the IPython interface. This post explains how it works. provides APIs to connect, process, and store any piece of content in your web application. For example if you are building an application that needs to send files or photos to your users via SMS, then you can use with Twilio to make this happen. Let's explore how to build this.
Versi is a clone of the Reversi game. The goal of the game is to capture more tiles than your enemy. You can capture the enemy's tiles by placing a new piece on the blank tile so that one or more of enemy pieces are enclosed on a line between your placed piece and one of your existing pieces.
The author collected the web-server statistic-data by connecting to random web-servers and asking it for its name. He was able to maintain 80'0000 concurrent connections on linux using tornados ioloop when he hit the limit of the upstream-bandwidth at home.
The goal of this post is to show you how to build a realtime chatroom using Django, Redis, and Socket.IO. At a high level this post will show you how you can convert your REST based app into a realtime web app. 
This post gives you an overview of the results of a survey conducted to find out what Python, Numpy, and Scipy versions the Scientists are using.
Slides from CodeMash 2013 Precompiler session, "Web Development with Python and Django", including a breezy introduction to the Python programming language and the Django web framework.  The example code repository is available here
Instead of replacing a series of bash commands with one Python script, it often is better to have Python do only the heavy lifting in the middle. This allows for more modular and reusable scripts, while also tapping into the power of all that Python offers. Using stdin as a file object allows Python to read input, which is piped to it from other commands, and writing to stdout allows it to continue passing the information through the piping system. Combining information like this can make for some very powerful programs. 
A post giving you an overview of pytet, a simple example, then throw pytest at my project. It also cover fixtures, test discovery, and running unittests with pytest.

Interesting Projects, Tools and Libraries

Are you a hack programmer? Do you find yourself constantly Googling for how to do basic programing tasks? Howdoi gives quick answers to many programming questions via the command line.
Do you waste your time in resolving merge conflicts with your favorite source code manager? Do you want to get rid of "Merge Hell"? Baboon is the solution for you! It's a lightweight daemon that detects merge conflicts before they actually happen. In fact, it detects them in real time.
ToPy solves the problem to obtain a 2D (or 3D, depending on the input file) solid-void (black and white) solution. The result is (a) an optimally stiff structure for minimum compliance problems, (b) an optimal distribution of two materials for heat conduction problems and (c) an optimal distribution of material for efficient mobility.
This lib implements many of the artificial intelligence algorithms described on the book "Artificial Intelligence, a Modern Approach", from Stuart Russel and Peter Norvig. We strongly recommend you to read the book, or at least the introductory chapters and the ones related to the components you want to use, because we won't explain the algorithms here.
Radon is a tool for Python that computes various metrics from the source code. 
Python module to rename media collections based on scrapes from CLI and GUI tools, too! 
pyelasticsearch is a clean, future-proof, high-scale API to elasticsearch.
A python module that lets you import a module or pip install it if it isn't found
A simple command-line utility (and Python module) to determine your current location.


Python Scripting for ArcGIS is a guide to help experienced users of ArcGIS for Desktop get started with Python scripting. This book teaches how to write Python code that works with spatial data to automate geoprocessing tasks in ArcGIS. Readers can thus learn the skill set needed to create custom tools.

Upcoming Events and Webinars

There will be following two presentations
  • Zipline - A new, BSD-licensed quantitative trading system which allows easy backtesting of investment algorithms on historical data.
  • Hython - A Lisp variant that's fully hosted on and fully interoperable (in both directions) with Python.
This month we'll be taking a look at security.  Our guide will be Levi Gross from Matasano. Most of the times security talks are boring. They speak about abstract topics like SQL injection and Cross Site Scripting however, rarely do they show you these bugs in the wild (due to the legal concerns). In this talk we will take a practical look at Django's security features and limitations.

Python Jobs of the Week

We're looking for an experienced developer to join our team and lead the design and implementation of high-throughput pipelines for processing, analyzing and querying data.  Our platform ingests and analyzes  billions of records every single day, the right candidate will help us take it to the next level.
You will be responsible for software development as a senior member of a project team. You will closely with subject matter experts, business analysts, quality analysts, and others to design, develop, and test software solutions to business problems in Python primarily on Google App engine.
YouView will change the way we watch TV for ever and transform the daily viewing experience of the television audience. We are currently recruiting for junior, mid-level and senior Python Software Engineers to join the team. The roles will give the opportunity to work alongside device software developers, and gain exposure of embedded software development.
You will be designing and developing a management server that customers deploy to manage Bromium software installations on clients. It needs to aggregate configuration and management information and provides near real-time attack information to the IT admins, allowing them to see what attacks Bromium is defending them from as they happen. You need to utilize modern robust web technologies fused with enterprise friendly deployment and management techniques. 

Get Your Weekly Dose of Python