python-zope.interface
Port variant v13
Summary Interfaces for Python (3.13)
Package version 8.5
Homepage https://github.com/zopefoundation/zope.interface
Keywords python
Maintainer Python Automaton
License Not yet specified
Other variants v14
Ravenports Buildsheet | History
Ravensource Port Directory | History
Last modified 29 MAY 2026, 12:33:39 UTC
Port created 28 FEB 2021, 16:29:36 UTC
Subpackage Descriptions
single ==================== ``zope.interface`` ==================== :alt: Latest Version :alt: Supported Python versions :alt: Documentation Status This package is intended to be independently reusable in any Python project. It is maintained by the [Zope Toolkit project ]. This package provides an implementation of "object interfaces" for Python. Interfaces are a mechanism for labeling objects as conforming to a given API or contract. So, this package can be considered as implementation of the `Design By Contract`_ methodology support in Python. .. _Design By Contract: http://en.wikipedia.org/wiki/Design_by_contract For detailed documentation, please see https://zopeinterface.readthedocs.io/en/latest/ Change log ========== 8.5 (2026-05-26) ---------------- - Build and upload free-threaded (cp314t, cp315t) wheels for all platforms. Expand CI testing for free-threaded Python 3.14t from Linux-only to all platforms (macOS, Windows), and add 3.15t CI. See [issue 374]. - Replace all remaining ``PyDict_GetItem()`` calls in the C extension with exception-safe alternatives (PyDict_Contains, PyDict_GetItemWithError). PyDict_GetItem silently swallows exceptions from __hash__/__eq__, causing ``isOrExtends() to return False instead of raising TypeError`` for unhashable objects. Also use ``PyType_GetDict()`` on Python 3.13+ for free-threading safety when accessing the type dict. See [issue 357]. 8.4 (2026-04-25) ---------------- - Add support for automatically building and publishing Windows/ARM64 wheels. 8.3 (2026-04-10) ---------------- - Add support for free-threaded Python 3.14t: declare Py_mod_gil_not_used in C extension, replace borrowed-reference ``PyDict_GetItem()`` with strong- reference ``PyDict_GetItemRef()`` in cache lookups, and use ``Py_TYPE() macro instead of direct ob_type`` struct access. - Add CI testing for free-threaded Python 3.14t (Linux). - Guard 4 unprotected ``PyErr_Clear() calls in the C extension with PyErr_ExceptionMatches`` checks, matching the pattern already used at 7 other sites in the same file. Without the guard, KeyboardInterrupt, MemoryError, and SystemExit are silently swallowed in implementedBy and providedBy. See [issue 358]. 8.2 (2026-01-09) ---------------- - Move all supported package metadata into ``pyproject.toml``. - Ignore __annotate_func__ added in Python 3.14b1. 8.1.1 (2025-11-15) ------------------ - Fix the GitHub workflow for publishing wheels, which failed for Linux/arm64. (`#348 `_) 8.1 (2025-11-10) ---------------- - Drop support for Python 3.9. - Add support for Python 3.14. 8.0.1 (2025-09-25) ------------------ - Make tests resilient against different ways of calling them. - Remove run-time dependency on setuptools. 8.0 (2025-09-12) ---------------- - Replace pkg_resources namespace with PEP 420 native namespace.
Configuration Switches (platform-specific settings discarded)
PY313 ON Build using Python 3.13 PY314 OFF Build using Python 3.14
Package Dependencies by Type
Build (only) python313:dev:std
python-pip:single:v13
python-setuptools:single:v13
python-wheel:single:v13
python-build:single:v13
python-installer:single:v13
autoselect-python:single:std
Build and Runtime python313:primary:std
Download groups
main mirror://PYPI/z/zope.interface
Distribution File Information
7a3ba1c5877f0f3e3906b02ddf793abed2becc2948116414ce0e1dd820b68d6d 257957 python-src/zope_interface-8.5.tar.gz
Ports that require python-zope.interface:v13
python-Twisted:v13 Asynchronous networking framework (3.13)