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

Articles, Tutorials and Talks

Code objects represent byte-compiled executable Python code, or bytecode. This is a great post by Dan Crosta in which he explores python code objects.
 
This tutorial explores the ins and outs of building a Computer Vision-based game bot in Python, which will be able to to play the popular Flash game Sushi Go Round. You can use the techniques taught in this tutorial to create bots for automatically testing your own web games.
 
The goal of this article is to discuss what it means to be callable in Python, approaching the concept from the lowest possible level - the implementation details of the CPython virtual machine. 
 
This post documents the process of making a Twitter bot in Python using the python-twitter module (which runs on Python 2, not Python 3), and then running the bot from the server.
 
In this talk, Jesse Davis reviews the state of the art for Tornado and MongoDB, and demonstrate building a real-time web app.
 
Reddit is implemented in Python and it is open sourced. This post examines how Reddit's default story and comment rankings work. The first part of this post focuss on story ranking, i.e. how are Reddit stories ranked? The second part of this post focuses on comment ranking, which does not use the same ranking as stories (unlike Hacker News)
 
The Robot Framework is a generic test automation framework. The goal of this first article, in series of articles, is to provide more of a high-level overview of the used concepts to have a solid foundation for the forthcoming articles.

The Django tutorial is a great easy introduction to writing web apps with Django but it doesn't always demonstrate best practices. In this quick tutorial, Simeon Franklin demonstrates using virtualenv and easy_install to install Django and recommend a trick to avoid hard-coding absolute file paths in your settings.py file.
 
 
 
Interesting Projects, Tools and Libraries

RQ (Redis Queue) is a simple Python library for queueing jobs and processing them in the background with workers. It is backed by Redis and it is designed to have a low barrier to entry. You can also read an introductory post about rq.
 
CLPython is an open-source implementation of Python written in Common Lisp. It bridges the Python and Lisp worlds, so you can:
  • Access Python libraries from Lisp
  • Access Lisp libraries from Python
bpython is a fancy interface to the Python interpreter for Unix-like operating systems. It has various features that will make you productive.
 
This is the software that runs http://scrumbu.gs/. It allows you to manage sprints backed by Bugzilla data.
 
The Volatility Framework is a collection of tools for the extraction of digital artifacts from volatile memory (RAM) samples. The extraction techniques are performed completely independent of the system being investigated but offer unprecedented visibilty into the runtime state of the system. The framework is intended to introduce people to the techniques and complexities associated with extracting digital artifacts from volatile memory samples and provide a platform for further work into this exciting area of research.
 
Mycelium is a high performance web crawler which uses asyncrhonous IO through libevent so it can handle thousands of connections; addresses the C10K problem
 
Flask-Split is a Flask extension for A/B testing your web application. It is a port of Andrew Nesbitt's excellent Split A/B testing framework to Python and Flask.
 
Avalanche is a Python web-framework built on top of webapp2. It uses Jinja2 as a default template system and does not includes any persistence layer.
 

New Releases

Django 1.4 has been released. There's plenty of cool stuff in this release and you can find all the deatils in the release notes.
 
 
Upcoming Events and Webinars

This course aims to provide students with an understanding of the role computation can play in solving problems. It also aims to help students, regardless of their major, to feel justifiably confident of their ability to write small programs that allow them to accomplish useful goals. The class will use the Python programming language.
 
We're hosting our first open project night for the NYC Python community! This is an informal event for Python developers of all levels to collaborate and learn from one another. You can bring your own project, or you can chose from several suggested projects. 
 
Matthew Makai will talk about a Python API for using Urban Airship to send push notifications to iOS, Android, and BlackBerry.
 
 
 
Books

Are you interested in creating a scalable social application, real-time analytics engine, or RESTful API--all with the power and simplicity of Python? This book shows you why Tornado is fantastic choice for writing powerful applications that are simple to create, extend, and deploy.

 
Python Jobs of the Week

You'll be part of a rapidly growing team building tools and libraries that create scalable abstractions managing bits in production. These tools will make it easier for an engineer to build almost any kind of scalable backend service.
 
We're a pre-IPO start-up and looking for people with top-notch software design and coding skills with "agile" in their DNA and who do continuous integration and find creative ways to test complex systems.

 
Python Weekly Special

For Python Weekly readers, we have a special 50% discount on Wing IDE. You can use the discount code "pyweekly" during checkout to get 50% off your license. The code is valid through 4/6/2012, so make sure to take advantage of this offer before that.
 
 

Get Your Weekly Dose of Python