A package that provides tools for guerilla (monkey)-patching.
Project description
Overview
Provides tools for guerilla (monkey)-patching.
The package provides two methods, patch and wrap, that are used to decorate the patch method.
Patching is only allowed if a signature on the original method is provided. Multiple signatures can be provided corresponding to various bona fide versions of the method.
Usage
>>> from monkey import patch, wrap
A patch completely replaces the original method.
>>> @patch(Module.existing_method, *method_signatures) ... def some_patch(*args): ... pass>>> Module.existing_method = some_patch
A wrap gets the original method passed as the first argument.
>>> @wrap(Module.existing_method, *method_signatures) ... def some_wrap(func, *args): ... pass>>> Module.existing_method = some_wrap
See the inline doctests for more information.
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
monkey-0.1.tar.gz
(2.6 kB
view details)
File details
Details for the file monkey-0.1.tar.gz
.
File metadata
- Download URL: monkey-0.1.tar.gz
- Upload date:
- Size: 2.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 549761aac2a1af46b6470efcb0023b3ca5449c854f97d7ac26edbd748a2d66e8 |
|
MD5 | a19888a3e3fe507d67a6dc094077ac8f |
|
BLAKE2b-256 | 6fe4bf774e5a7511763bb06cd30beeabbd2ad3235b62f0197a404f59e9044fc1 |