My personal library collecting some useful snippets.
This is my personal collection of snippets that I use in multiple projects. Each one feels a bit to small to merit it’s own library.
So what does it include?
- memoize decorator (caching)
- a storage class wrapping a dict.
- unittest assert functions.
- Functions for handling large JSON documents.
- list_dir(path) –> (dirnames, filenames)
- PID file locking
- A synchronization decorator
Feedback and getting involved
Send feedback and bug reports by email to hcs at furuvik dot net.
- Code Repository: http://gitorious.org/hcs_utils
Release date: 2011-05-31
- Memoize: bugfixes
Release date: 2011-05-17
- ItemStore: fixed bugs in rename and move
Release date: 2011-04-26
- Memoize: Added support for instance methods
Release date: 2011-04-11
- Added timeout to lockfile
Release date: 2011-04-06
- Added locking to itemstore
- Added a file change watcher
- Some bugfixes
- PEP8 cleanup
Release date: 2011-02-11
- Optimized Store.__contains__
- memoized functions can now be recursive
- 1.3 will only support Python 2.6 and 2.7
- Testing using py.test instead of nose
- added hcs_utils.path.walkfiles() recursive file generator
- hcs_utils.itemstore Kind of on disk object/file/directory store
- some smaller functionality
- bunch of fixes
Release date: 2010-11-30
- unittest.eq_json, sorted output so that it can be used with dicts.
- unittest switched place on ndiff arguments
Release date: 2010-06-15
- Dropped support for Python 2.5
- Added hcs_utils.collections.ListBuilder, a nice way to manually build lists.
- Added hcs_utils.lock.Lock, Interprocess locking using a PID symlink.
- Added hcs_utils.path.scan_for_new_files()
- Added hcs_utils.path.tempdir context.
- Added hcs_utils.storage.Storage.__contains__ and __iter__
- Added hcs_utils.storage.json* Storage vs. json helpers
- Added hcs_utils.threading.synchronization decorator.
- Memoize is now thread safe.
- hcs_utils.path.list_dir now returns a namedtuple
Release date: 2010-04-22
- Fixed unpickeling of Storage objects.
Release date: 2010-04-18
- Initial release