|Welcome to issue 134 of Python Weekly. Let's get straight to the links this week.
Articles, Tutorials and Talks
Say "no" to import side-effects in Python
When you write Python code, please don't have side-effects in your module imports.
Build a Flask App in 30 Minutes
This post walks you through building your very first Flask web application! Just like the official Flask tutorial, you'll be building your very own micro blog: Flaskr. Unlike the official Flask tutorial -- you'll be speeding things up by using Stormpath to create and manage user accounts and data. This will dramatically speed up the development process! Let's get right to it.
The Need for Openness in Data Journalism
Do films that pass the Bechdel Test make more money for their producers? The author has replicated Walt Hickey's recent article in FiveThirtyEight to find out. The results confirm his own in part, but also find notable differences that point the need for clarification at a minimum. This case is illustrative of a larger need for journalism and other data-driven enterprises to borrow from hard-won scientific practices of sharing data and code as well as supporting the review and revision of findings. This admittedly lengthy post is a critique of not only this particular case but also an attempt to work through what open data journalism could look like.
Python names, bindings and namespaces
This post goes over the official documentation to try to explain how Python resolves the names we use in our code, and how to avoid the most common pitfalls.
Django 1.7 Migrations - An Introduction
See what it takes to use the new migrations system that has been integrated into Django 1.7. This video walks you through how to create migrations, and run them. Along with a few other key points you might want to know.
Python Multi-armed Bandits (and Beer!)
Loader and Writer, IPython nbextensions to easily edit your text
Evolutionary algorithm to find Quake III's fast inverse square hack
Using Flask-Login for User Management with Flask
The super stupid idiot's guide to getting started with Django, Pipeline, and S3
IronPython: A Quick WinForms Introduction
Interesting Projects, Tools and Libraries
Pyston is a new, under-development Python implementation built using LLVM and modern JIT techniques with the goal of achieving good performance.
Mailr is an Open Source webmail client with gmail like conversations.
The alerta monitoring tool was developed with the following aims in mind: distributed and de-coupled so that it is scalable, minimal configuration that easily accepts alerts from any source, quick at-a-glance visualisation with drill-down to detail
This repo contains a script to automatically test sites for vulnerability to the Heartbleed Bug (CVE-2014-0160). This repo also contains test results for the Alexa top 10,000 sites as of around April 8, 16:00 UTC. Websites listed as vulnerable may no longer be vulnerable. This list serves as a snapshot of vulnerable sites at the time of the scan.
This module acts as a dependency manager for caches and is ideal for instances where a program has many repeated computations that could be safely persisted. This usually entails a DB layer to house key value pairs. However, such a layer is sometimes overkill and managing a DB along with a project can be more effort than it's worth. That's where CacheMan comes in and provides an interface through which you can define savers, loaders, builders, and dependencies with disk-based defaults.
Baler is a Python-based tool that makes it easy to bundle and use resources (images, strings files, etc.) in an iOS static library. The card.io and PayPal iOS SDK projects use baler to include images and other non-code assets in their SDK static libraries. Developers only need to add the .h headers and .a archive, which includes all resources.
A simple Declarative Authentication DSL inspired by Ryan Bates' excellent cancan library.
PlanOut is a Python-based toolkit and language for online field experimentation. PlanOut was created to make it easy to run more sophisticated experiments and to quickly iterate on these experiments, while satisfying the constraints of deployed Internet services with many users.
Java Virtual Machine implemented in pure python.
pynsist is a tool to build Windows installers for your Python applications. The installers bundle Python itself, so you can distribute your application to people who don't have Python installed.
Morepath is an Python WSGI microframework. It uses routing, but the routing is to models. Morepath is model-driven and flexible, which makes it expressive.
Hello Web App: Intro to building web apps with Django
Learn to code your first web app! Tailored to non-programmers, written by a designer. Released both as an e-book and paperback.
Python Jobs of the Week
Sr. Software Engineer, Python at Pandora
Pandora is looking for an innovative, inspired Sr. Software Engineer with experience designing and developing using Python (bonus points for Django experience). As a member of our core engineering team you will participate in important design decisions and play a key role in the development of Pandora's services. This is a great opportunity for engineers looking to develop on the entire technology stack, with an emphasis on front-end applications. You will have the chance to take on complex and interesting problems as part of a highly collaborative and fun team.
Python Engineer at Spil Games
We're a group of Python hackers, and we mainly build internal products designed to have maximum business impact. We build tools and APIs (e.g., a highly available storage interface), some of which are open sourced. As a Python Engineer, you'll not only work on business-critical applications, but will also be encouraged to initiate innovative side projects.
This release continues to improve on the 0.12 refactor and contains numerous bug and regression fixes. There is also the introduction of CUDA support, which has long been available in NumbaPro. Numba 0.13 now has preliminary capabilities for writing CUDA kernels in Python using the cuda.jit and cuda.autojit decorators. NumbaPro will continue to have more advanced CUDA support like vectorize, guvectorize, and CUDA Library bindings.
Pyramid 1.5 final released
You can find what's new in Pyramid 1.5 here.
django CMS 3.0
Upcoming Events and Webinars
PyHou Meetup April 2014 - Houston, TX
PyLadies London First Meetup - London, United Kingdom
Baltimore Python Meetup April 2014 - Baltimore, MD
Share Python Weekly