% Python Commons
% Yang Zhang
% gmail:yaaang

[documentation](doc) | [download 0.6 egg] | [download 0.6 src tgz] | [PyPI page] | [browse svn] | [home page]

[download 0.6 egg]: http://pypi.python.org/packages/2.5/p/python-commons/python_commons-0.6-py2.5.egg
[download 0.6 src tgz]: http://pypi.python.org/packages/source/p/python-commons/python-commons-0.6.tar.gz
[PyPI page]: http://pypi.python.org/pypi/python-commons/
[more downloads]: http://code.google.com/p/assorted/downloads/list
[browse svn]: http://assorted.svn.sourceforge.net/viewvc/assorted/python-commons/trunk/
[home page]: http://assorted.sf.net/python-commons/

Overview
--------

Python Commons is a general-purpose library for Python. To get a sense of
what it provides, please glance over the [documentation](doc).

Requirements
------------

- [Python](http://python.org/) 2.5
- [setuptools](http://peak.telecommunity.com/DevCenter/setuptools) 0.6

Certain sub-modules have extra requirements:

- `async` requires [Twisted](http://twistedmatrix.com/trac/) 2.5
- `files` requires [path](http://www.jorendorff.com/articles/python/path/) 2.2

This library has only been tested on Linux.

Setup
-----

To install, run `easy_install python-commons`, or download the source tarball
and run `python setup.py install`.

Related Work
------------

- [ASPN Cookbook]: a valuable repository of Python snippets
- [AIMA Utilities]: accompaniment to a popular AI textbook

[ASPN Cookbook]: http://aspn.activestate.com/ASPN/Cookbook/Python
[AIMA Utilities]: http://aima.cs.berkeley.edu/python/utils.py

Changes
-------

version 0.6, 2008-10-??

- to strs added unwrap, indent, unindent, remove_empty_lines, underline,
  dos2unix, quotejs, unicode2html, html2unicode, nat_lang_join, or_join,
  and_join
- to misc added sendmail, days, settimeout, run, TerminalController
- imported and updated jorendorff's path.py
- to startup added command_name
- to files added read_file, write_file, write_or_rm, is_nonempty_file
- added sqlhash and sqlhash backend for shelf
- to structs added dicts2structs, structs2dicts; FreeStruct renamed to
  free_struct
- to seqs added span, group_as_subseqs
- decs.pickle_memoized uses protocol 2
- general tweaks; epydoc fixes
- python 2.6-ready
- released for [Mailing List Filter], [MIT 6.00] courseware

[Mailing List Filter]: http://assorted.sourceforge.net/mailing-list-filter/
[MIT 6.00]: http://web.mit.edu/~6.00/

version 0.5, 2008-05-14

- added `cp1252_to_unicode()`
- made `setup()` more flexible
- released for
  [gbookmark2delicious](http://gbookmark2delicious.googlecode.com/)

version 0.4, 2008-05-08

- removed extraneous debug print statements
- added `logout()` context manager
- added `seq()`, `default_if_none()`
- fixed missing `import` bug
- released for [Mailing List
  Filter](http://assorted.sf.net/mailing-list-filter/)

version 0.3, 2008-04-30

- added versioned guards
- added file memoization
- added retry with exp backoff
- added `countstep()`
- released for
  [gbookmark2delicious](http://gbookmark2delicious.googlecode.com/)

version 0.2, 2008-02-04

- added `clients`, `setup`
- released for [icedb](http://cartel.csail.mit.edu/icedb/)

version 0.1, 2007-03-24

- initial release

License
-------

Python Commons is released under the [PSF License], the same as Python's license.

[PSF License]: http://www.python.org/psf/license.html

Contact
-------

Copyright 2008 [Yang Zhang].  
All rights reserved.

Back to [assorted.sf.net].

[Yang Zhang]: http://www.mit.edu/~y_z/
[assorted.sf.net]: http://assorted.sourceforge.net/

