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/
=========
Changes
=========
6.2 (2024-02-16)
================
- Add preliminary support for Python 3.13 as of 3.13a3.
- Add support to use the pipe (``|``) syntax for ``typing.Union``.
(`#280 `_)
6.1 (2023-10-05)
================
- Build Linux binary wheels for Python 3.12.
- Add support for Python 3.12.
- Fix building of the docs for non-final versions.
6.0 (2023-03-17)
================
- Build Linux binary wheels for Python 3.11.
- Drop support for Python 2.7, 3.5, 3.6.
- Fix test deprecation warning on Python 3.11.
- Add preliminary support for Python 3.12 as of 3.12a5.
- Drop:
+ `zope.interface.implements`
+ `zope.interface.implementsOnly`
+ `zope.interface.classProvides`
5.5.2 (2022-11-17)
==================
- Add support for building arm64 wheels on macOS.
5.5.1 (2022-11-03)
==================
- Add support for final Python 3.11 release.
5.5.0 (2022-10-10)
==================
- Add support for Python 3.10 and 3.11 (as of 3.11.0rc2).
- Add missing Trove classifier showing support for Python 3.9.
- Add some more entries to ``zope.interface.interfaces.__all__``.
- Disable unsafe math optimizations in C code. See [pull request 262
].
5.4.0 (2021-04-15)
==================
- Make the C implementation of the __providedBy__ descriptor stop
ignoring all errors raised when accessing the instance's
__provides__. Now it behaves like the Python version and only
catches AttributeError. The previous behaviour could lead to
crashing the interpreter in cases of recursion and errors. See
[issue 239].
- Update the ``repr() and str()`` of various objects to be shorter
and more informative. In many cases, the ``repr()`` is now something
that can be evaluated to produce an equal object. For example, what
was previously printed as `` is now
shown as classImplements(list, IMutableSequence, IIterable)``. See
[issue 236].
|