For today's selection, here's what caught my eye:
- norman 0.7.1 by David Townshend -- a framework for advanced data structures in Python using a database-like approach. Designed to make it easy and efficient to implement any data structure more complex than a 'dict'. The structures are stored entirely in memory, and most operations on them are significantly faster than O(n), often O(log n). The documentation is available here.
- django-cleanup 0.1.6 by Ilya Shalyapin -- connects pre_save and post_delete signals to special functions so as to automatically deletes old (i.e. dereferenced) files for FileField, ImageField and subclasses. Looks useful for keeping your server's filesystem clean, if you deal with loads of user-uploaded content. Has the potential to do damage if you're using transactions that can be rolled back, but if you're not, it's just plug-and-play. Github repository is here.
- djorm-ext-expressions 0.4.2 by Andrey Antukh -- facilitates the use of complex SQL expressions in the Django ORM. For cases where you need to use custom-defiend database types or search operators that are not supported by Django look-ups. Also, when you need to make queries requiring the execution of some function in the WHERE clause. Github repository, with documentation can be found here.
- partpy 0.1.0 by Nekroze -- a collection of tools for hand-writing lexers and parsers in Python. There are many parser generators but there isn't much help for those who wish to roll their own parser/lexer as counter-intuitive as that may sound. By using partpy as the base for your own parser or lexer the hope is to provide you with an environment where you can dive straight into the language design, recognition and whatever else you need to do without having to figure out how string matching should be done or most of the error handling process. Can be compiled with Cython for extra speed. Examples and tutorials found on Github.
- nameparser 0.2.5 by Derek Gulbranson -- simple Python module for parsing human names into their individual components. Over 100 unit tests with example names. Fully customizable. You know you've always wanted to handle names like "Rev John A. Kenneth Doe III". Google Code homepage is here.
Hope you find these as useful and entertaining as I do. Subscribe to my Python feed to follow this series. Check-out some related articles below.