skillfed

zope.interface

Interfaces for Python

zope-interface License unclear ZPL-2.1 Active 351 v8.5 released

Install

zope-interface on PyPI

pip

pip install zope-interface

uv

uv add zope-interface

poetry

poetry add zope-interface

Package 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

Development Status :: 5 - Production/StableIntended Audience :: DevelopersOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPy

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.

.....

Read as markdown · JSON record · Source repository · Docs

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
interface declaration pythondesign by contract pythonapi contract enforcementobject interface specificationzope componentsinterface polymorphismruntime type checking interfaces

Similar packages