zope-hookable 8.3


pip install zope-hookable

  Latest version

Released: Aug 20, 2026


Meta
Author: Zope Foundation and contributors
Maintainer: Plone Foundation and contributors
Requires Python: >=3.10

Classifiers

Development Status
  • 5 - Production/Stable

Framework
  • Zope :: 3

Intended Audience
  • Developers

Operating System
  • OS Independent

Programming Language
  • Python
  • Python :: 3
  • Python :: 3 :: Only
  • Python :: 3.10
  • Python :: 3.11
  • Python :: 3.12
  • Python :: 3.13
  • Python :: 3.14
  • Python :: 3.15
  • Python :: Implementation :: CPython
  • Python :: Implementation :: PyPy
Latest release Supported Python versions https://github.com/zopefoundation/zope.hookable/actions/workflows/tests.yml/badge.svg Documentation Status https://coveralls.io/repos/github/zopefoundation/zope.hookable/badge.svg?branch=master

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

Change log

8.3 (2026-08-20)

  • Add support for Python 3.15.

  • Add support for automatically building and publishing Windows/ARM64 wheels.

  • Add support for automatically building and publishing source distributions.

8.2 (2025-11-18)

  • Move all supported package metadata into pyproject.toml.

8.1 (2025-10-28)

  • Remove unnecessary setuptools runtime dependency.

  • Drop support for Python 3.9.

  • Add support for Python 3.14.

8.0 (2025-09-12)

  • Replace pkg_resources namespace with PEP 420 native namespace.

  • Drop support for Python 3.8.

  • Add preliminary support for Python 3.14.

7.0 (2024-09-17)

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)

  • Expose the __doc__ (and, where applicable, __bases__ and __dict__) of the hooked object. This lets Sphinx document them. See issue 6.

  • Respect PURE_PYTHON at runtime. At build time, always try to build the C extensions on supported platforms, but allow it to fail. See issue 7.

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)

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.

Wheel compatibility matrix

Platform CPython 3.10 CPython 3.11 CPython 3.12 CPython 3.13 CPython 3.14
macosx_10_9_x86_64
macosx_11_0_arm64
manylinux1_i686
manylinux1_x86_64
manylinux2014_aarch64
manylinux2014_i686
manylinux2014_x86_64
manylinux_2_17_aarch64
manylinux_2_17_i686
manylinux_2_17_x86_64
manylinux_2_5_i686
manylinux_2_5_x86_64
win_amd64
win_arm64

Files in release

zope_hookable-8.3-cp310-cp310-macosx_10_9_x86_64.whl (13.4KiB)
zope_hookable-8.3-cp310-cp310-macosx_11_0_arm64.whl (13.9KiB)
zope_hookable-8.3-cp310-cp310-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl (23.3KiB)
zope_hookable-8.3-cp310-cp310-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl (24.1KiB)
zope_hookable-8.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (24.6KiB)
zope_hookable-8.3-cp310-cp310-win_amd64.whl (16.3KiB)
zope_hookable-8.3-cp311-cp311-macosx_10_9_x86_64.whl (13.4KiB)
zope_hookable-8.3-cp311-cp311-macosx_11_0_arm64.whl (13.9KiB)
zope_hookable-8.3-cp311-cp311-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl (23.4KiB)
zope_hookable-8.3-cp311-cp311-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl (24.2KiB)
zope_hookable-8.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (24.8KiB)
zope_hookable-8.3-cp311-cp311-win_amd64.whl (16.3KiB)
zope_hookable-8.3-cp311-cp311-win_arm64.whl (16.0KiB)
zope_hookable-8.3-cp312-cp312-macosx_10_9_x86_64.whl (13.4KiB)
zope_hookable-8.3-cp312-cp312-macosx_11_0_arm64.whl (14.0KiB)
zope_hookable-8.3-cp312-cp312-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl (24.2KiB)
zope_hookable-8.3-cp312-cp312-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl (25.2KiB)
zope_hookable-8.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (25.5KiB)
zope_hookable-8.3-cp312-cp312-win_amd64.whl (16.4KiB)
zope_hookable-8.3-cp312-cp312-win_arm64.whl (16.1KiB)
zope_hookable-8.3-cp313-cp313-macosx_10_9_x86_64.whl (13.4KiB)
zope_hookable-8.3-cp313-cp313-macosx_11_0_arm64.whl (14.0KiB)
zope_hookable-8.3-cp313-cp313-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl (24.2KiB)
zope_hookable-8.3-cp313-cp313-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl (25.1KiB)
zope_hookable-8.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (25.5KiB)
zope_hookable-8.3-cp313-cp313-win_amd64.whl (16.4KiB)
zope_hookable-8.3-cp313-cp313-win_arm64.whl (16.1KiB)
zope_hookable-8.3-cp314-cp314-macosx_10_9_x86_64.whl (13.4KiB)
zope_hookable-8.3-cp314-cp314-macosx_11_0_arm64.whl (14.0KiB)
zope_hookable-8.3-cp314-cp314-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl (24.2KiB)
zope_hookable-8.3-cp314-cp314-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl (25.1KiB)
zope_hookable-8.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (25.6KiB)
zope_hookable-8.3-cp314-cp314-win_amd64.whl (16.5KiB)
zope_hookable-8.3-cp314-cp314-win_arm64.whl (16.3KiB)
zope_hookable-8.3.tar.gz (20.2KiB)
Extras:
Dependencies: