|Welcome to issue 62 of Python Weekly. This week's issue is packed with lot of great content; enjoy it. If you celebrate it, Happy Thanksgiving!
Black Friday Sale! $1.99 .COM! $7.99 additional .Com's
Articles, Tutorials and Talks
This tutorial aims to put forth an opinionated and specific pattern to make trouble-free packages for community use. It doesn't describe the only way of doing things, merely one specific approach that works well.
This tutorial offers an introduction to the fields of machine learning and statistical data analysis, and their application to several problems in the field of astronomy. These learning tasks are enabled by the tools available in the open-source package scikit-learn.
This post demonstrates how to parse and calculate an arithmetic expression a general-purpose parser. The motivation is to provide a simple and fun lesson in parsing and formal grammars, as well as to show-case PlyPlus, a parser interface.
This tutorial outlines how to create a tournament simulation program for the Zombie Dice game in Python. With this tournament program, you can also code your own AI bots to play Zombie Dice against each other. You can quickly test out how the different strategies the bots use compare against each other over thousands of simulated games.
Django Class-Based View Mixins: Part 2
This post shares some mixins that are useful for adding functionality to the generic ListView - sorting and filtering.
This article shares some of the pitfalls experienced while working on a fairly large code base built upon a service-oriented architecture.
Python's import system is powerful, but also quite complicated. Until the release of Python 3.3, there was no comprehensive explanation of the expected import semantics, and even following the release of 3.3, the details of how sys.path is initialised are still somewhat challenging to figure out. This essay only officially covers Python versions back to Python 2.6.
Abstract Syntax Trees, ASTs, are a powerful feature of Python. You can write programs that inspect and modify Python code, after the syntax has been parsed, but before it gets compiled to byte code. That opens up a world of possibilities for introspection, testing, and mischief. The official documentation for the ast module is good, but somewhat brief. Green Tree Snakes is more like a field guide (or should that be forest guide?) for working with ASTs.
Django form wizard does a very good job at handling the use case it was designed for. Even though the documentation is not perfect, the implementation is clear, concise and flexible enough to handle a variety of scenarios.
This post walks you through the steps to deploy Mezzanine, a popular Django-based blogging and content management system (CMS).
Interesting Projects, Tools and Libraries
Simple task distribution for Python. MyCloud requires no prior setup; if you can SSH to your machines, then it will work out of the box. MyCloud currently exports a simple mapreduce API with several common input formats; adding support for your own is easy as well.
This package provides a sessions implementation and decorator class for views to allow for forms to maintain state without using cookies by posting the session id between forms, or via urls.
Labyrinth is a lightweight mind-mapping tool, written in Python using Gtk and Cairo to do the drawing. It is intended to be as light and intuitive as possible, but still provide a wide range of powerful features.
A Django admin theme using Twitter Bootstrap. It doesn't need any kind of modification on your side, just add it to the installed apps.
A blogging engine for Dropbox based on Markdown.
A GUI for Django ORM. Build custom queries and display results. Targets sys admins and capable end users who might not be able to program or gain direct interactive shell access.
Inspired by Requests and great date / time libraries in other languages (such as moment.js), Arrow aims to provide a fast, simple way to manipulate dates & times, timezones and timestamps in Python.
pyramid_promosite - is not CMS, this is a module that helps you quickly create a website. Pyramid_promosite is similar to django flatpages, but written in pyramid and more features.
Upcoming Events and Webinars
Join us for our November project night! Work on Python projects, get programming help, work through tutorials, help others, hang out with other Pythonistas, and have fun.
BrightonPi is back at the Build Brighton Hackspace for the 3rd Brighton Raspberry 'Jam'. This time round we've teamed up with the lovely people at Brightons Python user group for a special Py vs Pi event! As the evening features a set of talks, there's no need to bring along, or even own, a Raspberry PI.