Zope hookable
Project description
zope.hookable
This package supports the efficient creation of “hookable” objects, which are callable objects that are meant to be optionally replaced.
The idea is that you create a function that does some default thing and make it hookable. Later, someone can modify what it does by calling its sethook method and changing its implementation. All users of the function, including those that imported it, will see the change.
Documentation is hosted at https://zopehookable.readthedocs.io
Changes
7.0 (2024-09-17)
C extension now enables multi-phase module initialization (PEP 489). For CPython >= 3.11, the hookable type is now a heap-allocated type. See: https://docs.python.org/3.13/howto/isolating-extensions.html
Drop support for Python 3.7.
Add support for Python 3.13.
Build windows wheels on GHA.
6.0 (2023-10-05)
Drop support for Python 2.7, 3.5, 3.6.
Add support for Python 3.12.
5.4 (2022-11-17)
Add support for building arm64 wheels on macOS.
5.3 (2022-11-03)
Add support for the final release of Python 3.11.
5.2 (2022-09-13)
Add support for Python 3.10 and 3.11 (as of 3.11.0rc1).
Disable unsafe math optimizations in C code. See pull request 25.
5.1.0 (2021-07-20)
Add support for Python 3.9.
Create Linux aarch64 wheels.
5.0.1 (2020-03-10)
Stop using the setuptools Feature class, allowing this project to be built from source with newer versions of setuptools that remove that functionality.
5.0.0 (2019-11-12)
Add support for Python 3.7 and 3.8.
Drop support for Python 3.4.
4.2.0 (2017-11-07)
4.1.0 (2017-07-26)
Drop support for Python 2.6, 3.2 and 3.3.
Add support for Python 3.5 and 3.6.
4.0.4 (2014-03-19)
Add support for Python 3.4.
4.0.3 (2014-03-17)
Update boostrap.py to version 2.2.
Fix extension compilation on Py3k.
4.0.2 (2012-12-31)
Flesh out PyPI Trove classifiers.
4.0.1 (2012-11-21)
Add support for Python 3.3.
Avoid building the C extension explicitly (use the “feature” indirection instead). https://bugs.launchpad.net/zope.hookable/+bug/1025470
4.0.0 (2012-06-04)
Add support for PyPy.
Add support for continuous integration using tox and jenkins.
Add a pure-Python reference implementation.
Move doctests to Sphinx documentation.
Bring unit test coverage to 100%.
Add ‘setup.py docs’ alias (installs Sphinx and dependencies).
Add ‘setup.py dev’ alias (runs setup.py develop plus installs nose and coverage).
Drop support for Python 2.4 / 2.5.
Remove of ‘zope.testing.doctestunit’ in favor of stdlib’s ‘doctest.
Add Python 3 support.
3.4.1 (2009-04-05)
Update for compatibility with Python 2.6 traceback formats.
Use Jython-compatible bootstrap.py.
3.4.0 (2007-07-20)
Initial release as a separate project.
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 Distributions
Hashes for zope.hookable-7.0-cp313-cp313-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5d507bb0be87c61e160221e00a09dc498f411df7671d27393162f44bce7b1ff1 |
|
MD5 | 46c29ca81e82b655fe865147dcef1e73 |
|
BLAKE2b-256 | c5ff24eebe78521d4caa72583d336ecf34722bfccf4cad57a2150f62e198f618 |
Hashes for zope.hookable-7.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a835c2d6da5754a468ea9cc938e36087dba49baae820cf64e93eb0a6119e02ef |
|
MD5 | f7cec712a0f98c429ab1e0ef9f3404c4 |
|
BLAKE2b-256 | f69058f071e552206de0e7cf3771a51ed85305b7fe1a261d33aa04981d1a09e8 |
Hashes for zope.hookable-7.0-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 83a39ca0834ca2e5f201cabe04aed16a68d370b66b44b4b8492914518869a34e |
|
MD5 | 99a04a67bf8449410a07a680f52b7741 |
|
BLAKE2b-256 | b5552be4d0524b23bb1177f0adafaed9569dead8466a8d03d9520512db08cd32 |
Hashes for zope.hookable-7.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 638f9ff9d49ceee5e816b650f823de2c2cf43cb5579ef82b6457f34ba49b13d3 |
|
MD5 | f3f06183ef4b4e194cc7632d9c239572 |
|
BLAKE2b-256 | af70c86419d4154f5edcbe04597d52840c28a74f19c9f6fe21e52e062d19c144 |
Hashes for zope.hookable-7.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5e77e3990a72228439b3c92d5ae6298841c9ae8892a846b479baf7cdeaf6c504 |
|
MD5 | b4c4c5a9cd26b0f64ee4cec4bcaf2e11 |
|
BLAKE2b-256 | 082396aaa20655c7449b71f9dd22e341a749bb2a01e8817460df067c88182886 |
Hashes for zope.hookable-7.0-cp313-cp313-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cbcf040de78e20ba5a921c611cb82f092d361f3a4c161da621ca964328698114 |
|
MD5 | aec26aa691ce6eb9cd41f35ce2815406 |
|
BLAKE2b-256 | 9c92d5effcccf17caf8bc16a4113090b08a654cf4e9fdcc01f95d5f562e10f2f |
Hashes for zope.hookable-7.0-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5aef76cc5cb5e2a9c65d5561559a0a599aae7d69e89fb3d5eb565709886f62c0 |
|
MD5 | 55b1264ced48f7af1f1efa6d76579e8d |
|
BLAKE2b-256 | 27b705e2fd1434aa05f4339e556f6ca56aaba4766337ed4e5744319803cbeab8 |
Hashes for zope.hookable-7.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | db6fc2ea7cc52c447ab47cc2b8e4639b3b511fc0eed58ce62abfffec38d52f99 |
|
MD5 | 8d5710a3200c9cf90035959f3f148a6f |
|
BLAKE2b-256 | 10bb86de04222651d20f66f805ac08fa4a02127de6243971031d784232b11b83 |
Hashes for zope.hookable-7.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 718b600cceed31c0af4e799490e851cd54c761467b7e1ac7dec45a997fc56116 |
|
MD5 | 8c95039accb9e76bbfe4dc43fe6001e7 |
|
BLAKE2b-256 | 6874a0012278a28e2ab3bf5fdc84f6f1c57a3f690419a9f2d5af19f113b468b8 |
Hashes for zope.hookable-7.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c1801e2db7f4aa917fff268e261d783fbcd7ed9ab70e22dd65553ed6ccdb5505 |
|
MD5 | 58a95539db6258d0c21b172d38ea956a |
|
BLAKE2b-256 | 9d6bc9e5160ff3d84bc0ecae9679ae424fb064b1922cb05bcbf3eca922ea46fa |
Hashes for zope.hookable-7.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8e8573a44557f32942c9cf4f49673562c44c4ffbf7029774104363002d9acd25 |
|
MD5 | e3026644b645d58b17fb1694dbe49da8 |
|
BLAKE2b-256 | 3d1246ddbcd926b8368494e379d4fe92230648e3eccf56121514329663fde7e0 |
Hashes for zope.hookable-7.0-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6994ab3cf8cefa39cc820f09faa2b7eef01b4e13fad40a11485960cccf65dc12 |
|
MD5 | 2e5c87c0b85d7d5736cf7b74d42ae599 |
|
BLAKE2b-256 | b0dc228977874b98481cf2f591d09b74022ed2ca348d4a1b8c94b4ae4ffe0af5 |
Hashes for zope.hookable-7.0-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2f466c29448119b6f9bc23fb71b123a78ed2e3c6b326646132c0a0a43cc0d6c0 |
|
MD5 | a0198ad7eeb295cd0a7b2a408ac8ee60 |
|
BLAKE2b-256 | 82db07550da495a302f4e11c5ba078b78558d68ac9975aff851d3c421f1b08fb |
Hashes for zope.hookable-7.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c9b545593a2ce7c8cddaa507f4f7023988b7fc93c4fb8afc7878c1931086fce4 |
|
MD5 | db6db7f8e38d88f414b1849826454111 |
|
BLAKE2b-256 | 333fda60f002a4fea0111486d1e1eb82365ff87115a9715cad15a80055aa6e5b |
Hashes for zope.hookable-7.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f3c51950ff49d54cb4a8e648e1226df16a0e8c306acef35f7edcbb17e5bd58c2 |
|
MD5 | 938b6e61d684179de0a5991d031562eb |
|
BLAKE2b-256 | 9215f1accb6072af7610b507ff3798013d0acfa1725457cb4c02fda3a136e0fa |
Hashes for zope.hookable-7.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3be8ba662b48f4b93b6d62b64a01b9645b4c07b704cdff958eb6a73f7380a17b |
|
MD5 | 3b920ef2ac3259bb253de56df2a7bcb2 |
|
BLAKE2b-256 | 336aa0c368781adc2c8e77510811ad48cd4f46b42241618380c3d5a7bfe0c801 |
Hashes for zope.hookable-7.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0d2de88795b39599fe6a5def1e6a5ed9b31820b2fe81f9db9e6b44f3e9deac2f |
|
MD5 | ea19f60a3f4d0ba2bc240af9f24ab9ff |
|
BLAKE2b-256 | c1a411be8a91a28ddc0a65a8d261d9a9218ffa82d87fb04e3e3a65fa96a2cb3b |
Hashes for zope.hookable-7.0-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2a4ff3f389e2fcd46c9be31700e1203ec7ecfe2ee45bc37ad6e46ff1f70736af |
|
MD5 | 42f7219d79a5dc2da0d6c61943790ab5 |
|
BLAKE2b-256 | 6e31fa8c68c6ac6af33a72a04cc283f718b289cada3f9f2fd62ff84aaf27e2e8 |
Hashes for zope.hookable-7.0-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 17963c500dbb2530c5c9de1aa9736550d85e1653e4dc9e5080cf91cea9777bf2 |
|
MD5 | 51584a5c79928cb4d356af5bd98bafed |
|
BLAKE2b-256 | 82b7d6ffb7a6f81eae6c35ce6d50551f8d2c59e1824d741c476d65fdac2c06c4 |
Hashes for zope.hookable-7.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c8a23d30fbdf073183eed8feb33bc419b7e95ac4976d79b1604a5e2898f84954 |
|
MD5 | ea32a1f3c18931f59ca4614404ec3102 |
|
BLAKE2b-256 | a6ac6645094d5a78183eccfc222a7963cf2057d9abc14f055866f6aa74d645b4 |
Hashes for zope.hookable-7.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c06fa658a03e3d447d2c1548f3d9c8df65bb0d9eaee7bcdca278b0217051fb26 |
|
MD5 | ff54b34b8eba50de2a49f51447985729 |
|
BLAKE2b-256 | 72fbeb546184da1571e3fa946a151aebddcb033a74ba1a39da4dbc8ab3f23841 |
Hashes for zope.hookable-7.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 63ddfac5bfb1c14fd74ef387fcb16cfbceb8eb7c35b89bf08da4c31c5c2c9fb6 |
|
MD5 | 22c7d5657714bcf1d8229e11ec15f58a |
|
BLAKE2b-256 | 60d5b6608ccc4b8c1e98454811982c0fb93a4eff85764cf19629a5ca2accbfc0 |
Hashes for zope.hookable-7.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f2f4ba6674d0b05f58ec92537736de8f4db9a4df209df6aed19fde58be47816d |
|
MD5 | ed67dcdd1e16b98595d618d72c59950b |
|
BLAKE2b-256 | 6d33bcd146c217c72cffba13d6f6c13cf775f8f3d9d4da1ec57ff2e5909bf562 |
Hashes for zope.hookable-7.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 24f9c29fdccb12bcce07fcd365e5de87f71bd917ea638ee087f80f5683e53701 |
|
MD5 | ed0cfe2e677e86755ca53f2a55fb29ed |
|
BLAKE2b-256 | bb09ad2ef4dae8bacc03c452d2972d64a3b9300c12e292fd4d6f90d5b0230d96 |
Hashes for zope.hookable-7.0-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 60a95f24876519449586bf864eb1642b0cbf766792c68e9d8605fad7b5736fd2 |
|
MD5 | a230bf261c9daa8109b9e654bdfc94c5 |
|
BLAKE2b-256 | 0d9d24cea86283f21824a57d6f10426d247fb4647296bac1247113618f16ba9b |
Hashes for zope.hookable-7.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3a8650cd25816d6719a9d4ba62ba99f3ffd37429a5df52a8e9a06a96874eb172 |
|
MD5 | 6dff0ea7a4c921ff1f52ed3cef9e9aa1 |
|
BLAKE2b-256 | 01e1e926a637c7be8e1c3becc6301dcafe7113bd4776cbe28ac14882d3706214 |
Hashes for zope.hookable-7.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 978996f2d1bf7b74eb7fa3b834dcd29f63ce96490ff0d0bde99965789df0c6e4 |
|
MD5 | 1d5b4209962746bdb9b54c26594e17b9 |
|
BLAKE2b-256 | 6ea1c10bf6e190dafa0d3a01beca4885676f720505327fb9aa5d9d8842671ab0 |
Hashes for zope.hookable-7.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1af9904916be1c0a6bb05b97ac1080819d271896b13b3a561d07ca2c48d093b9 |
|
MD5 | 61d0352443b756dcbe28908c526e56f0 |
|
BLAKE2b-256 | c09a3d5d163248c6aa50ac3e25b0bfab456ef1872e4ba77749abe03b8700587a |
Hashes for zope.hookable-7.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 40e8cd05fefef46ca00235a4ee2b88eb4d27d2b9196a22521f1b3e67e557b2c8 |
|
MD5 | 8fb36f206ea82544d63b7f9e137f6d7e |
|
BLAKE2b-256 | 23ea704e942667fc4231ad0735fba29fb43f45493f4f61b31046bcbe33128b26 |
Hashes for zope.hookable-7.0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b5ce5061a2bc55659cac8c97760daf5c0e41fb98206e24787d27d160576536bc |
|
MD5 | 6d559ba48afe1d73e0f16d0ff8aae5d6 |
|
BLAKE2b-256 | 45969a1dd8090729ca69ce39bf967784a37c20317886bd5877d99fa14960849c |
Hashes for zope.hookable-7.0-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a331e1b3b73a18deabd990f645b01ecc087fb9d0cd0b6c704665625c93309c8c |
|
MD5 | 513d22ad326df705128b70ea6adb5ebd |
|
BLAKE2b-256 | 06c39bb9adcdaa8d06c08407c67803a70d50789edf70671ed504c173c0f3b3d3 |
Hashes for zope.hookable-7.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1f150f8680c440e801c53b48c1670533536b26723c299a53d35b21aa1aff7405 |
|
MD5 | 17d751c9090cd9c0690f9f405e1483ab |
|
BLAKE2b-256 | dbbbf9ee3b6863eeb587910db965d0f6cf99861f7fddd40d16222faf8caaa0c8 |
Hashes for zope.hookable-7.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 294d785bfa96053a2d3f445325a70dd53580f81866a443ae935db9956db09c7c |
|
MD5 | 4f42a31b677d40afb3779303c43cdead |
|
BLAKE2b-256 | fe87e2fbeb9d51510a3125135fa52b3b55c51608ddc3b2b3e407d4a02a431688 |
Hashes for zope.hookable-7.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f85006fd432ae332b2d27948e823136ce9c4c1708cdc9001d1690e56f2a79f2d |
|
MD5 | 9a8d76dd79116bfc30ea8300cf153f3b |
|
BLAKE2b-256 | ea8b63b05753dc2f8e74cb3e924661fcf137f7dc03ad18ee1791bb075957bb97 |
Hashes for zope.hookable-7.0-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 096eeef2364e15d91d88f2677dde9287a8ea0e432890343ed3a0253497411393 |
|
MD5 | 40976be684912bfb6f71e7462f02a8a8 |
|
BLAKE2b-256 | 226893dd58a879f88f66f3ea04d1cae82d1113391ba8e38e628f2d03c2e065c2 |
Hashes for zope.hookable-7.0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9e7c8e4d0b34931ff9038489bea22d2d18649d52433ac4fe47d991ce531fe81f |
|
MD5 | 23f2268681ab888c407345743224d401 |
|
BLAKE2b-256 | b3782e9fdb9238f61bb424d9daf126f7ab868c96cf5c57a75976a12f9ebaf5f6 |