diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 25f5c6eeeb2e30ce63d288a40d703758bd4af1bd..fbefd9598f3e24fd80823d42e75cdf05452dca71 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -6033,3 +6033,29 @@ (define-public python-zope-event
 
 (define-public python2-zope-event
   (package-with-python2 python-zope-event))
+
+(define-public python-zope-interface
+  (package
+    (name "python-zope-interface")
+    (version "4.1.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://pypi.python.org/packages/source/z"
+                           "/zope.interface/zope.interface-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0ks8h73b2g4bkad821qbv0wzjppdrwys33i7ka45ik3wxjg1l8if"))))
+    (build-system python-build-system)
+    (propagated-inputs
+     `(("python-zope-event" ,python-zope-event)))
+    (home-page "https://github.com/zopefoundation/zope.interface")
+    (synopsis "Python implementation of the \"design by contract\"
+methodology")
+    (description "Zope.interface provides an implementation of \"object
+interfaces\" for Python.  Interfaces are a mechanism for labeling objects as
+conforming to a given API or contract.")
+    (license zpl2.1)))
+
+(define-public python2-zope-interface
+  (package-with-python2 python-zope-interface))