zope.interface
Interfaces for Python
Install
zope-interface on PyPI
pip
pip install zope-interfaceuv
uv add zope-interfacepoetry
poetry add zope-interfacePackage facts
| License | ZPL-2.1 (unclear) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | none |
| Maintenance | actively maintained — 79 days since the last release |
| Last repo commit | |
| First released | |
| Popularity | one of the top 1,000 most-downloaded packages on PyPI (30-day window, as of 2026-08-13) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-13) |
Evidence: zope_interface-8.5-cp310-cp310-macosx_10_9_x86_64.whl; zope_interface-8.5-cp310-cp310-macosx_11_0_arm64.whl; zope_interface-8.5-cp310-cp310-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl; zope_interface-8.5-cp310-cp310-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl; zope_interface-8.5-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl; zope_interface-8.5-cp310-cp310-win_amd64.whl; zope_interface-8.5-cp311-cp311-macosx_10_9_x86_64.whl; zope_interface-8.5-cp311-cp311-macosx_11_0_arm64.whl; zope_interface-8.5-cp311-cp311-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl; zope_interface-8.5-cp311-cp311-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl; zope_interface-8.5-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl; zope_interface-8.5-cp311-cp311-win_amd64.whl; zope_interface-8.5-cp311-cp311-win_arm64.whl; zope_interface-8.5-cp312-cp312-macosx_10_9_x86_64.whl; zope_interface-8.5-cp312-cp312-macosx_11_0_arm64.whl; zope_interface-8.5-cp312-cp312-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl; zope_interface-8.5-cp312-cp312-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl; zope_interface-8.5-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl; zope_interface-8.5-cp312-cp312-win_amd64.whl; zope_interface-8.5-cp312-cp312-win_arm64.whl
Keywords: interface, components, plugins
About zope.interface
from the package's own PyPI description — quoted content, verbatim
====================
zope.interface
====================
.. image:: https://img.shields.io/pypi/v/zope.interface.svg :target: https://pypi.python.org/pypi/zope.interface/ :alt: Latest Version
.. image:: https://img.shields.io/pypi/pyversions/zope.interface.svg :target: https://pypi.org/project/zope.interface/ :alt: Supported Python versions
.. image:: https://github.com/zopefoundation/zope.interface/actions/workflows/tests.yml/badge.svg :target: https://github.com/zopefoundation/zope.interface/actions/workflows/tests.yml
.. image:: https://readthedocs.org/projects/zopeinterface/badge/?version=latest :target: https://zopeinterface.readthedocs.io/en/latest/ :alt: Documentation Status
This package is intended to be independently reusable in any Python
project. It is maintained by the Zope Toolkit project
<https://zopetoolkit.readthedocs.io/>_.
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.
.....
AI interpretation — verify before relying
AI-generated interpretation of the package facts above; every digit, version, license, or vulnerability id it cites is grounded in the facts already shown on this page
Provides a Python implementation of object interfaces for declaring and enforcing API contracts using Design by Contract methodology, enabling runtime type checking and interface-based polymorphism.
Medium install friction due to compiled C extensions across multiple platforms (macOS, Linux, Windows, ARM64), but well-maintained with active releases and no runtime dependencies to manage.
Licensed under ZPL-2.1 (Zope Public License 2.1), classified as unclear in treatment; users should verify compatibility with their project's license requirements before adoption.
Usage
pip install zope.interface
from zope.interface import Interface, implementer
class IGreeter(Interface):
pass
@implementer(IGreeter)
class Greeter:
pass
Requires Python 3.10 or later; C extension compilation may require build tools on some platforms.
Verdict: A stable, actively maintained foundational library (18+ years, top 1000 PyPI) with zero known vulnerabilities and broad Python version support (3.10–3.14, including free-threaded variants). Medium install friction from C extensions is offset by no runtime dependencies and solid maintenance. License clarity should be verified before use in proprietary projects.
Needs verification
- Whether ZPL-2.1 license treatment as 'unclear' reflects actual compatibility concerns or metadata gaps
- Real-world adoption patterns and ecosystem reliance on this package beyond the Zope framework
Similar packages
unclear · top 1,000 on PyPI
pkginfopermissive · top 1,000 on PyPI
tifffilepermissive · top 1,000 on PyPI
python-dotenvpermissive · top 100 on PyPI
bcryptpermissive · top 1,000 on PyPI
bleachpermissive · top 1,000 on PyPI
tokenizerspermissive · top 1,000 on PyPI
nest-asyncio2permissive · top 1,000 on PyPI
ast-serializepermissive · top 1,000 on PyPI
httpcorepermissive · top 100 on PyPI