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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
|