====================
 ``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.

.. _Design By Contract: http://en.wikipedia.org/wiki/Design_by_contract

For detailed documentation, please see https://zopeinterface.readthedocs.io/en/latest/
