|Welcome to issue 75 of Python Weekly. We have a jam packed issue this week. Enjoy it!
From Our Sponsor
There is a company in the UK that is trying to trademark the use of the term "Python" for all software, services, servers... pretty much anything having to do with a computer. This is the first time the PSF has to take legal action to protect Python's intellectual property. Please do consider helping the PSF in any way you can. The threat is real and can potentially harm your business in Europe, especially if you are in the web hosting business and provide Python as part of your hosting plans.
This PEP describes a built-package format for Python called "wheel". A wheel is a ZIP-format archive with a specially formatted file name and the .whl extension. It contains a single distribution nearly as it would be installed according to PEP 376 with a particular installation scheme. Although a specialized installer is recommended, a wheel file may be installed by simply unpacking into site-packages with the standard 'unzip' tool while preserving enough information to spread its contents out onto their final paths at any later time.
Christian Heimes announced the release of his defusedxml and defusedexpat packages to address XML-related security issues which were reported to email@example.com over the last several months. The results of an attack on a vulnerable XML library can be fairly dramatic. With just a few hundred Bytes of XML data an attacker can occupy several Gigabytes of memory within seconds. An attacker can also keep CPUs busy for a long time with a small to medium size request. Under some circumstances it is even possible to access local files on your server, to circumvent a firewall, or to abuse services to rebound attacks to third parties.
Articles, Tutorials and Talks
This post will help you understand what's happening behind the scenes when you do common things like creating a variable or calling a function. As a result, you'll write cleaner, more comprehensible code. You'll also become a better (and faster) code reader. All that's necessary is to forget everything you know about programming...
The Lorenz Equations are a system of three coupled, first-order, nonlinear differential equations which describe the trajectory of a particle through time. The system was originally derived by Lorenz as a model of atmospheric convection, but the deceptive simplicity of the equations have made them an often-used example in fields beyond atmospheric physics. This post shows how to use matplotlib for animating the Lorenz system in 3D.
In a previous post on Building a Raspberry Pi Cluster
, I wrote about how we built a cluster using several Raspberry Pis. This cluster was used for hosting the WSO2Con App. In this post we will take a look at the finishing touches & some interesting information from WSO2Con 2013.
If you have a Dream Cheeky brand USB missile launcher (though it wouldn't take much work to support other brands of missile launchers), a compact webcam, and a desire to build your very own defense system for your home or workplace, check out this post.
Creating documentation can be a drag, and creating pretty documentation can be even more of a drag, more time consuming than writing the code in the first place. Thankfully there are utilities out there that will help with creating documentation. Using sphinx, much of the documentation can be auto-generated based on existing code. It works with python docstrings in a way that can be PEP257 compatible. It takes very little setup to get from nothing to decent looking documentation.
A list of pretty useful python small command line oneliners available out of the box. That means if you already have installed python on your system (most Linux, *BSD, including OSX) then you can use it even if you are not python developer.
This tutorial introduces the core concepts of TDD, and provides examples in Python, using the nosetests unit-testing package. It additionally offers some alternative packages that are also available within Python.
The part 2 of this series shows how to scale a Python linear optimization horizontally by combining Pyomo with the Tornado web server, and using RabbitHQ as the message bus between the layers.
The part 3 of this series presents some hands-on examples of investment analysis and statistical analysis using IPython and pandas.
Sentiment Analysis in Python
Interesting Projects, Tools and Libraries
Eye tracking with Python, OpenCV, Glumpy + Hardware prototype.
Crowy is a communication dashboard which supports multiple group communications services, including Twitter (with hashtag support), Facebook profile/page/group, Yammer, LinkedIn, Cybozu Live and youRoom.
A function decorator that automatically creates instance variables from function arguments.
Class-based email views for the Django framework, including a message previewer.
crython is a python implementation of cron which can schedule tasks (functions) from standard cron expressions or python objects.
A small Reddit client made in python. Follow Reddit from the command line.
Tools for doing data analysis, exploration and machine learning in python using pandas and scikit-learn.
A simple flask app that runs on heroku and demonstrates HTML Server-Sent Events (EventSource) protocol.
Django SimpleStatic is an opinionated Django app which makes it very simple to deal with static media, with extremely minimal configuration.
An automated SVG map maker built with Python and d3.js
This book will make you a more effective and efficient GIS professional by showing you how to use the Python programming language with ArcGIS Desktop to automate geoprocessing tasks, manage map documents and layers, find and fix broken data links, edit data in feature classes and tables, and much more.
The Django team had issued multiple releases -- Django 1.3.6, Django 1.4.4, and Django 1.5 release candidate 2 -- as part of the security process. These security releases fix four issues: one potential phishing vector, two denial-of-service vectors, and an information leakage issue.
Python Jobs of the Week
Are you passionate about web development? Looking for a way to have impact on millions of users every day? Eager to learn new technologies? We're looking for developers with an adventurous mindset who want to be part of Spil Games' journey through the changing world of online gaming. We're building a platform that exposes our rich social architecture to game developers to help build their games faster and make the user experience richer.
A SAAS company is seeking a Python Django Developer. We are tackling complex application development and looking to find similar highly capable developers.
Wizmunk aims to be a pioneer in the social gifting space in India. We are building our website in Python (+Django), and are currently looking to hire full time python developers.
The National Geographic Society Technology team is seeking a Senior Application Developer to lead development of online applications and web interfaces in a exciting and changing industry. Want to help people learn about the world and work on interesting technology? We're not about buzz words, we're about doing interesting things that make sense. This is fun and we have 125 years of amazing stories to share with the world.
Upcoming Events and Webinars
A Django sprint is an excuse for people to focus their undivided attention, for a set time frame, on improving Django. It's a focused, scheduled effort to test, fix bugs, add new features and improve documentation. Anybody, anywhere around the world, can participate and contribute. Most contributors will be at their own homes/schools/workplaces, but a number of people will gather together in person for camaraderie, improved communication and the other benefits of face-to-face interaction.
Since PyCon US is coming up quickly, anyone giving a talk at PyCon US is invited to give a draft of their presentation in front of a live audience. The talk won't be recorded which means it's a chance to have a live audience review your material. Currently Scheduled Talks:
Advanced Django Forms Usage
Why you should use Python 3 for text processing
The talk will show you how to build an automated email system for Django based website hosted on Amazon Web Services. This system sends out email reminders for important life events, such as birthdays, holidays and important life events. The technologies covered can be used to send automated emails of all types to website visitors with a truly personalized message that will really resonate.
In preparation for their presentations at PyCon US, Jessica and Nate will rehearse with us!
Jessica McKellar: Keynote
Nate Aune: Deploy your Python app in 5 min with a PaaS
In preparation for their presentations at PyCon US, Ned, David, and James will rehearse with us!
Ned Batchelder: Loop like a native
David Malcolm: Death by a thousand leaks: what statically-analysing 370 Python extensions looks like
James Tauber: Music Theory and Performance Analysis with Sebastian and Czerny
Four teams wanted to see how four frameworks would handle the creation of a to-do list app. They have been working for a month on their projects and will demo them along with discussing what they learned.
There will be following talks
Python and Hadoop @ Spotify
Basic data exploration with Python
Python Messaging @ Spotify