Not Logged In

bag 0.3

Functions and classes for many purposes,
that I use all the time in multiple programs.

The fact that these are just bits and pieces does not prevent them from
having bugs, so they are under version control at
http://code.google.com/p/bag

The library is tested on Python 2.7 and 3.3.

Most important library contents

bag.csv2 – The infamous csv Python module does not support unicode;
problem solved.

bag.csv3 – In web apps, uploaded files come as byte streams,
so we provide a decoding generator. If you’d like the order of the
CSV columns not to matter, there is a header-based reader. There is
also a buffered CSV writer for outputting CSV in a web app.

bag.email_validator – The ultimate functions for email validation and
domain validation, as well as an email address harvester.

bag.file_id_manager – Use this to hash your files, store the hashes, and
know when you already have some file.

bag.web.pyramid.genshi – Use the Genshi templating language
with the Pyramid web framework.

bag.web.pyramid.kajiki – Use the Kajiki templating language
with the Pyramid web framework.

Less important library contents

bag.bytes_box – Wraps an Image in another object that can
instantiate it from a number of sources (bytes, files etc.) and then
copy, resize or write it. The interface is experimental but
seems to be very convenient.

bag.file_watcher – Watches a bunch of files and
when one of them is modified, runs a callback. Also useful for
reloading Python modules when they are altered.

bag.log – Convenient logging initialization.

bag.html – Encode and decode HTML and XML entities.

bag.memoize – Memoize decorator with a LRU (least recently used)
cache, which can take a keymaker function as an argument.