I'm pleased to announce the first public release of `aspectlib`. It's on PyPI at https://pypi.python.org/pypi/aspectlib
`aspectlib` is an aspect-oriented programming, monkey-patch and decorators library. It is useful when changing behavior of existing code is desired.
I've mainly created `aspectlib` because I needed:
* An easy way to instrumenting existing code for debugging, profiling and other measurements. * An easy way to write tests for and mock behavior in less flexible code.
import aspectlib import aspectlib.debug aspectlib.weave( ('socket.socket', 'socket._fileobject'), aspectlib.debug.log(stacktrace=6), # show 6 frames on_init=True )
This makes debugging socket based protocols and apps a snap.
There are many other use cases. `aspectlib` is under development - any feedback is welcome !
Thanks, Ionel Cristian Mărieș