building blocks for with-statement-related hackery
withhacks: building blocks for with-statement-related hackery
This module is a collection of useful building-blocks for hacking the Python “with” statement. It combines ideas from several neat with-statement hacks I found around the internet into a suite of re-usable components:
By subclassing the appropriate context managers from this module, you can easily do things such as:
- skip execution of the code inside the with-statement
- set local variables in the frame executing the with-statement
- capture the bytecode from inside the with-statement
- capture local variables defined inside the with-statement
Building on these basic tools, this module also provides some useful prebuilt hacks:
WithHacks makes extensive use of Noam Raphael’s fantastic “byteplay” module; since the official byteplay distribution doesn’t support Python 2.6, a local version with appropriate patches is included in this module.
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.