This is the 3rd issue of my regular selection of interesting Python and Django modules that were recently uploaded or updated on PyPI (the Python Package Index). We'll begin with a couple of updates:
- partpy by Nekroze, the collection of tools for hand-writing lexers and parsers, which I covered two days ago, has been updated to version 0.2.1. The changelog mentions internal cleanup and refactoring, as well as added examples.
- nameparser by Derek Gulbranson, which I also covered in the first issue of this series, has been updated to version 0.2.7. This is a module for parsing human names into their components. What's new in the latest version is mainly bugfixes, as well as the ability to handle legal and crown titles.
Here's what else is noteworthy in the cheeseshop. The focus today is on web services and REST APIs:
- django-tastypie 0.9.12 by Daniel Lindsley. A flexible and capable API layer for Django. This module has been available since 2010, and while it's currently in beta, it has been actively used in production on multiple sites. I've personally used it in several different projects and I can confirm that it's stable and gets the work done. Allows you to easily (almost auto-magically) create an API for your Django app that is RESTful and uses HTTP well. Good support for deep relationships. No need to write your own serializer to make the output right. If you are using Tastypie in a commercial environment, paid support is available from the author. The project's Github repository can be found here.
- slumber 0.5.3 by Donald Stufft. Slumber is a Python library that provides a convenient, yet powerful object-oriented interface to RESTful APIs. It acts as a wrapper around the excellent requests library and abstracts away the handling of URLs, serialization, and processing requests. The project's website (with examples of usage) is here.
- curling 0.2 by Andy McKay. A REST client that wraps slumber to provide a nice interface to consume tastypie APIs in Django. Usage is almost identical to that of slumber, but provides some convenience post-processing to make it easier to handle the returned results. Git repository is here.
More goodness in the next issue. Make sure to subscribe to my Python feed. As usual, below are some related interesting articles: