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:
- xargs:
call a function with additional arguments defined in the body of the with-statement
- xkwargs:
call a function with additional keyword arguments defined in the body of the with-statement
- namespace:
direct all variable accesses and assignments to the attributes of a given object (like “with” in JavaScript or VB)
- keyspace:
direct all variable accesses and assignments to the keys of of a given object (like namespace() but for dicts)
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.
Metadata
Release files for withhacks 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| withhacks-0.1.1.tar.gz | 18.0 kB | Details |
Release files / withhacks-0.1.1.tar.gz
| Download URL | withhacks-0.1.1.tar.gz |
|---|---|
| Size | 18.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
75c87de051d61dde59bc7e7f861fdf1687c495a79cf3cf8ee2d70243403576e2
|
|
BLAKE2b-256 checksum How to use checksums |
16857483d29784c086e07c313df1a659a0450a8cb6ff4c34630656484c72c87c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |