Shared code and tools for various Radical Group (http://radical.rutgers.edu) projects.
Project description
This Python package contains shared code and tools for various [Radical Group](http://radical.rutgers.edu) projects. Sometimes we call it the Radical Kitchen Sink.
The radical.utils package contains the following things:
A [URL class](https://github.com/saga-project/radical.utils/blob/master/radical/utils/url.py) (A SAGA-compliant url parser class)
A [Plugin manager](https://github.com/saga-project/radical.utils/blob/master/radical/utils/plugin_manager.py) (A simple yet flexible plugin manager and loader)
A [Config parser](https://github.com/saga-project/radical.utils/tree/master/radical/utils/config) (Config file reader writeer parser)
A [Logger](https://github.com/saga-project/radical.utils/tree/master/radical/utils/logger) (Support for color log output and tracing)
An [Object cache](https://github.com/saga-project/radical.utils/blob/master/radical/utils/object_cache.py) (Well, an object cache)
A [Type checking module](https://github.com/saga-project/radical.utils/blob/master/radical/utils/signatures.py) (Type checking for python call signatures)
A [Singleton metaclass](https://github.com/saga-project/radical.utils/blob/master/radical/utils/singleton.py) (Implements the Sigleton pattern)
A [Thread wrapper](https://github.com/saga-project/radical.utils/blob/master/radical/utils/threads.py) (A thin convenience wrapper around threading.Thread)
A [Call tracer](https://github.com/saga-project/radical.utils/blob/master/radical/utils/tracer.py) (Support for call tracing / debugging)
A [‘which’ function](https://github.com/saga-project/radical.utils/blob/master/radical/utils/which.py)(Simliar to the ‘which’ command line tool)
The package should in general be compatible with Python 2.6.
License
This software is released under the [MIT License](http://opensource.org/licenses/MIT).
Installation
You can install the latest radical.utils directly from [PyPi](https://pypi.python.org/pypi/radical.utils/):
pip install –upgrade radical.utils
You can also install the latest development version (which might be broken) from GitHub directly:
pip install -e git://github.com/saga-project/radical.utils.git#egg=radical.utils
If you want to use radical.utils in your own project, include it in your setup.py file:
‘install_requires’: [‘radical.utils’]
Documentation
You can generate the documentation yourself with [Sphinx](http://sphinx-doc.org/)
pip install sphinx make docs
The resulting documentation will be in open docs/build/html/index.html.
Version 0.7.10 release 2014-12-11
fixed lease manager debug output
Version 0.7.9 release 2014-12-02
fix to json comment parsing
att flexible pylint util
support append / overwrite mode for log targets
add daemonize class
fix leaking logs
reduce lease manager logging noise
log python version on startup
add reporter class for nice demo output etc
add namespace for object_cache, backward compatible
fix bson/json/timestamp mangling
json support for json writing
Version 0.7.8 release 2014-10-29
For a list of bug fixes, see https://github.com/radical-cybertools/radical.utils/issues?q=is%3Aissue+is%3Aclosed+sort%3Aupdated-desc
For a list of open issues and known problems, see https://github.com/radical-cybertools/radical.utils/issues?q=is%3Aissue+is%3Aopen+
implemented lease manager (manage finite set of resources with finite lifetime over multiple threads)
implemented DebugHelper class (prints stack traces for all threads on SIGUSR1
implement decorator for class method timings
cache configuration settings on logger creation, which significantly speeds up logging over different log objects
remove deepcopy from configuration management (improves performance)
add wildcard expanstion on dict_merge
make pymongo and nose dependencies optional
Version 0.7.7 release 2014-08-27
lease manager which handles resource leases (like, leases ssh connections to saga adaptors)
fixes on deepcopy, logging and config handling
Version 0.7.5 release 2014-07-22
Some small bug fixes.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.