Wrapping modules with attribute hooks
Project description
modulehooks
modulehooks is a Python module used to wrap another
module with various hooks that trigger when a variable
is assigned to (for example, sys.excepthook
). Currently
there is only one type of hook, FunctionHook
, which
adds the function to a callback list that all gets called
when the hook is called.
This is particularly useful
with attributes such as sys.excepthook
that could
be overwritten by any other script, and with a
FunctionHook
all functions that were assigned to it
will be stored and called when needed.
Example
import sys
from modulehooks import ModuleWrapper, FunctionHook
class SysWrapper(ModuleWrapper):
excepthook = FunctionHook(sys.excepthook)
_names = ["excepthook"]
_restricted = ["__excepthook__"]
wrapper = SysWrapper.create(sys)
sys.modules["sys"] = wrapper
sys = wrapper
_names
is used to declare all hooks that are defined,
_restricted
is used to declare attributes that cannot
be modified or deleted and create
creates a wrapper
around the specified module. Remember to modify
sys.modules
as well otherwise import
will load the
default Python module and not your custom wrapper.
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.
Source Distribution
Built Distribution
File details
Details for the file modulehooks-1.0.0.tar.gz
.
File metadata
- Download URL: modulehooks-1.0.0.tar.gz
- Upload date:
- Size: 3.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.11.0 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 34b063d68f3e55bce45cead92fa9f4ae36313084785409a4efa27e427af21bf8 |
|
MD5 | a79888cf18d6a9811d4efc1f8fee9995 |
|
BLAKE2b-256 | d6e183c7eaf2fc0ee0940f51d12e16be9a9faa75bce19a4280ea8a45c62f710b |
File details
Details for the file modulehooks-1.0.0-py3-none-any.whl
.
File metadata
- Download URL: modulehooks-1.0.0-py3-none-any.whl
- Upload date:
- Size: 3.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.11.0 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 58cd6c7edf7b8c2a2cb99289f2cb45cb830e584810b54af64533215f184a0119 |
|
MD5 | c39e57755945029d7e779594e7470ef2 |
|
BLAKE2b-256 | 11d519722722e95ce6848aa483802a168045c26750ea085c58e1765b0adc9084 |