Welcome to issue 22 of Python Weekly. If you are interested in contributing to core Python development, I would suggest joining Python Mentors
program. The goal of this program is to connect new people to a variety of mentors who can assist in guiding them through the contribution process, including discussions on lists such as python-dev, and python-ideas, the bug tracker, mercurial questions, code reviews, etc.
Articles, Tutorials and Talks
When asked about the plethora of web frameworks for Python the answer is often that it is way too easy to put together one in Python. So let's give it a shot, we'll pick some components and spend a couple hours seeing how far we can get building a web framework, which we'll call Robaccia.
This post discusses profiling Django applications through a case study in linkrdr's code. Through the use of profiling tools, the author was able to reduce the number of database queries a view was using from 1300 to 2.
After the first try using brute force search to solve the Hexiom puzzler, the author switched to an approach using constraint solving principles. It's not yet finished, but it's already working more or less as efficiently as the search version. This post highlights the findings.
This post shows you how to build a word cloud generator for your Facebook news feed.
The way bootstrap styles a form is what most people need when building or prototyping a web app. But, you need to be able to change some css classes and html elements in order to work. Doing this with django-uni-form is extremely easy. All we need to do is change the default field template.
The third and last part of this series is again just about testing. While the previous article focused on unit testing, this one is about testing complete PyZMQ processes.
Interesting Projects, Tools and Libraries
Pyro is a library that enables you to build applications in which objects can talk to each other over the network, with minimal programming effort. You can just use normal Python method calls, with almost every possible parameter and return value type, and Pyro takes care of locating the right object on the right computer to execute the method.
Haystack provides modular search for Django. It features a unified, familiar API that allows you to plug in different search backends (such as Solr, Elasticsearch, Whoosh, Xapian, etc.) without having to modify your code.
UltraMySQL is a fast MySQL driver written in pure C/C++ for Python. It is compatible with gevent through monkey patching.
Kivy is an open source library for rapid development of applications that make use of innovative user interfaces, such as multi-touch apps.
Pygithub3 is a wrapper to the Github API v3, written in Python.
Neo is a Python library for working with electrophysiology data, whether from biological experiments or from simulations. It has a support for reading a wide range of neurophysiology file formats.
This release brings a lot of bugfixes, together with performance and memory improvements over the 1.7 release. The main highlight of the release is the introduction of list strategies which makes homogenous lists more efficient both in terms of performance and memory.
Upcoming Events and Webinars
In this course, you'll learn how to program all the major systems of a robotic car, by the leader of Google and Stanford's autonomous driving teams.
In seven weeks, you will build your own search engine complete with a web crawler and way of ranking popular pages.
In this session, the Boston area speakers will practice their following Pycon 2012 presentations.
Stop Writing Classes
Pragmatic Unicode, or, How do I stop the pain?
Diversity in practice: How the Boston Python Meetup grew to 1000 people and over 15% women
This book covers the Pygame game library for the Python programming language. Each chapter gives you the complete source code for a new game and teaches the programming concepts from these examples.
Python Jobs of the Week
We are looking for Software Engineers, developing and maintaining Python web based applications run on Unix based open source platforms. Our software is utilized by over 100,000 customers on a 24/7 basis requiring well planned, robust implementations to streamline the user experience.
We are a digital agency that offers strategy and ideation, design and technology, and digital media services to forward thinking global brands. As a Software Engineer, you will be responsible for architecting and developing highly interactive websites, products, applications and other interactive projects.