Skip to main content

Interfaces for Python

Project description

Latest Version Supported Python versions https://github.com/zopefoundation/zope.interface/actions/workflows/tests.yml/badge.svg 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.

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

Change log

8.4 (2026-04-25)

  • Add support for automatically building and publishing Windows/ARM64 wheels.

8.3 (2026-04-10)

  • Add support for free-threaded Python 3.14t: declare Py_mod_gil_not_used in C extension, replace borrowed-reference PyDict_GetItem() with strong- reference PyDict_GetItemRef() in cache lookups, and use Py_TYPE() macro instead of direct ob_type struct access.

  • Add CI testing for free-threaded Python 3.14t (Linux).

  • Guard 4 unprotected PyErr_Clear() calls in the C extension with PyErr_ExceptionMatches checks, matching the pattern already used at 7 other sites in the same file. Without the guard, KeyboardInterrupt, MemoryError, and SystemExit are silently swallowed in implementedBy and providedBy. See issue 358.

8.2 (2026-01-09)

  • Move all supported package metadata into pyproject.toml.

  • Ignore __annotate_func__ added in Python 3.14b1.

8.1.1 (2025-11-15)

  • Fix the GitHub workflow for publishing wheels, which failed for Linux/arm64. (#348)

8.1 (2025-11-10)

  • Drop support for Python 3.9.

  • Add support for Python 3.14.

8.0.1 (2025-09-25)

  • Make tests resilient against different ways of calling them.

  • Remove run-time dependency on setuptools.

8.0 (2025-09-12)

  • Replace pkg_resources namespace with PEP 420 native namespace.

  • Drop support for Python 3.8.

  • Allow using newer setuptools version. (#333)

7.2 (2024-11-28)

  • Add preliminary support for Python 3.14a2, this means that .common.builtins.IByteString and .common.collections.IByteString are no longer available from this Python version onwards as Python 3.14 dropped collections.abc.ByteString.

7.1.1 (2024-10-23)

  • Fix segmentation faults in weakrefobject.c on Python 3.12 and 3.13. (#323)

7.1.0 (2024-10-10)

  • Declare support for Python 3.13.

  • Fix segmentation faults on Python 3.13. (#323)

7.0.3 (2024-08-27)

  • Fix Assertion ‘memb->type – T_PYSSIZET’ failed. for Python < 3.12. (#319)

7.0.2 (2024-08-26)

  • Fix reference-counting bug in C module initialization (broken in 7.0). (#316)

7.0.1 (2024-08-06)

  • Fix subclassability of ObjectSpecificationDescriptor (broken in 7.0). (#312)

7.0 (2024-08-06)

  • Enable heap-based types (PEP 384) for Python >= 3.11.

  • Adopt multi-phase module initialization (PEP 489).

  • Drop support for Python 3.7.

6.4.post2 (2024-05-24)

  • Publish missing Windows wheels, second attempt. (#295)

6.4.post1 (2024-05-23)

  • Publish missing Windows wheels. (#295)

6.4.post0 (2024-05-22)

  • The sdist of version 6.4 was uploaded to PyPI as zope_interface-6.4.tar.gz instead of zope.interface-6.4-py2.tar.gz which cannot be installed by zc.buildout. This release is a re-release of version 6.4 with the correct sdist name. (#298)

6.4 (2024-05-15)

  • Adjust for incompatible changes in Python 3.13b1. (#292)

  • Build windows wheels on GHA.

6.3 (2024-04-12)

  • Add preliminary support for Python 3.13 as of 3.13a6.

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 <implementedBy builtins.list> is now shown as classImplements(list, IMutableSequence, IIterable). See issue 236.

  • Make Declaration.__add__ (as in implementedBy(Cls) + ISomething) try harder to preserve a consistent resolution order when the two arguments share overlapping pieces of the interface inheritance hierarchy. Previously, the right hand side was always put at the end of the resolution order, which could easily produce invalid orders. See issue 193.

5.3.0 (2020-03-21)

  • No changes from 5.3.0a1

5.3.0a1 (2021-03-18)

  • Improve the repr of zope.interface.Provides to remove ambiguity about what is being provided. This is especially helpful diagnosing IRO issues.

  • Allow subclasses of BaseAdapterRegistry (including AdapterRegistry and VerifyingAdapterRegistry) to have control over the data structures. This allows persistent implementations such as those based on ZODB to choose more scalable options (e.g., BTrees instead of dicts). See issue 224.

  • Fix a reference counting issue in BaseAdapterRegistry that could lead to references to interfaces being kept around even when all utilities/adapters/subscribers providing that interface have been removed. This is mostly an issue for persistent implementations. Note that this only corrects the issue moving forward, it does not solve any already corrupted reference counts. See issue 227.

  • Add the method BaseAdapterRegistry.rebuild(). This can be used to fix the reference counting issue mentioned above, as well as to update the data structures when custom data types have changed.

  • Add the interface method IAdapterRegistry.subscribed() and implementation BaseAdapterRegistry.subscribed() for querying directly registered subscribers. See issue 230.

  • Add the maintenance method Components.rebuildUtilityRegistryFromLocalCache(). Most users will not need this, but it can be useful if the Components.utilities registry is suspected to be out of sync with the Components object itself (this might happen to persistent Components implementations in the face of bugs).

  • Fix the Provides and ClassProvides descriptors to stop allowing redundant interfaces (those already implemented by the underlying class or meta class) to produce an inconsistent resolution order. This is similar to the change in @implementer in 5.1.0, and resolves inconsistent resolution orders with zope.proxy and zope.location. See issue 207.

5.2.0 (2020-11-05)

  • Add documentation section Persistency and Equality (#218).

  • Create arm64 wheels.

  • Add support for Python 3.9.

5.1.2 (2020-10-01)

  • Make sure to call each invariant only once when validating invariants. Previously, invariants could be called multiple times because when an invariant is defined in an interface, it’s found by in all interfaces inheriting from that interface. See pull request 215.

5.1.1 (2020-09-30)

  • Fix the method definitions of IAdapterRegistry.subscribe, subscriptions and subscribers. Previously, they all were defined to accept a name keyword argument, but subscribers have no names and the implementation of that interface did not accept that argument. See issue 208.

  • Fix a potential reference leak in the C optimizations. Previously, applications that dynamically created unique Specification objects (e.g., used @implementer on dynamic classes) could notice a growth of small objects over time leading to increased garbage collection times. See issue 216.

5.1.0 (2020-04-08)

  • Make @implementer(*iface) and classImplements(cls, *iface) ignore redundant interfaces. If the class already implements an interface through inheritance, it is no longer redeclared specifically for cls. This solves many instances of inconsistent resolution orders, while still allowing the interface to be declared for readability and maintenance purposes. See issue 199.

  • Remove all bare except: statements. Previously, when accessing special attributes such as __provides__, __providedBy__, __class__ and __conform__, this package wrapped such access in a bare except: statement, meaning that many errors could pass silently; typically this would result in a fallback path being taken and sometimes (like with providedBy()) the result would be non-sensical. This is especially true when those attributes are implemented with descriptors. Now, only AttributeError is caught. This makes errors more obvious.

    Obviously, this means that some exceptions will be propagated differently than before. In particular, RuntimeError raised by Acquisition in the case of circular containment will now be propagated. Previously, when adapting such a broken object, a TypeError would be the common result, but now it will be a more informative RuntimeError.

    In addition, ZODB errors like POSKeyError could now be propagated where previously they would ignored by this package.

    See issue 200.

  • Require that the second argument (bases) to InterfaceClass is a tuple. This only matters when directly using InterfaceClass to create new interfaces dynamically. Previously, an individual interface was allowed, but did not work correctly. Now it is consistent with type and requires a tuple.

  • Let interfaces define custom __adapt__ methods. This implements the other side of the PEP 246 adaptation protocol: objects being adapted could already implement __conform__ if they know about the interface, and now interfaces can implement __adapt__ if they know about particular objects. There is no performance penalty for interfaces that do not supply custom __adapt__ methods.

    This includes the ability to add new methods, or override existing interface methods using the new @interfacemethod decorator.

    See issue 3.

  • Make the internal singleton object returned by APIs like implementedBy and directlyProvidedBy for objects that implement or provide no interfaces more immutable. Previously an internal cache could be mutated. See issue 204.

5.0.2 (2020-03-30)

  • Ensure that objects that implement no interfaces (such as direct subclasses of object) still include Interface itself in their __iro___ and __sro___. This fixes adapter registry lookups for such objects when the adapter is registered for Interface. See issue 197.

5.0.1 (2020-03-21)

  • Ensure the resolution order for InterfaceClass is consistent. See issue 192.

  • Ensure the resolution order for collections.OrderedDict is consistent on CPython 2. (It was already consistent on Python 3 and PyPy).

  • Fix the handling of the ZOPE_INTERFACE_STRICT_IRO environment variable. Previously, ZOPE_INTERFACE_STRICT_RO was read, in contrast with the documentation. See issue 194.

5.0.0 (2020-03-19)

  • Make an internal singleton object returned by APIs like implementedBy and directlyProvidedBy immutable. Previously, it was fully mutable and allowed changing its __bases___. That could potentially lead to wrong results in pathological corner cases. See issue 158.

  • Support the PURE_PYTHON environment variable at runtime instead of just at wheel build time. A value of 0 forces the C extensions to be used (even on PyPy) failing if they aren’t present. Any other value forces the Python implementation to be used, ignoring the C extensions. See PR 151.

  • Cache the result of __hash__ method in InterfaceClass as a speed optimization. The method is called very often (i.e several hundred thousand times during Plone 5.2 startup). Because the hash value never changes it can be cached. This improves test performance from 0.614s down to 0.575s (1.07x faster). In a real world Plone case a reindex index came down from 402s to 320s (1.26x faster). See PR 156.

  • Change the C classes SpecificationBase and its subclass ClassProvidesBase to store implementation attributes in their structures instead of their instance dictionaries. This eliminates the use of an undocumented private C API function, and helps make some instances require less memory. See PR 154.

  • Reduce memory usage in other ways based on observations of usage patterns in Zope (3) and Plone code bases.

    • Specifications with no dependents are common (more than 50%) so avoid allocating a WeakKeyDictionary unless we need it.

    • Likewise, tagged values are relatively rare, so don’t allocate a dictionary to hold them until they are used.

    • Use __slots___ or the C equivalent tp_members in more common places. Note that this removes the ability to set arbitrary instance variables on certain objects. See PR 155.

    The changes in this release resulted in a 7% memory reduction after loading about 6,000 modules that define about 2,200 interfaces.

  • Remove support for hashing uninitialized interfaces. This could only be done by subclassing InterfaceClass. This has generated a warning since it was first added in 2011 (3.6.5). Please call the InterfaceClass constructor or otherwise set the appropriate fields in your subclass before attempting to hash or sort it. See issue 157.

  • Remove unneeded override of the __hash__ method from zope.interface.declarations.Implements. Watching a reindex index process in ZCatalog with on a Py-Spy after 10k samples the time for .adapter._lookup was reduced from 27.5s to 18.8s (~1.5x faster). Overall reindex index time shrunk from 369s to 293s (1.26x faster). See PR 161.

  • Make the Python implementation closer to the C implementation by ignoring all exceptions, not just AttributeError, during (parts of) interface adaptation. See issue 163.

  • Micro-optimization in .adapter._lookup , .adapter._lookupAll and .adapter._subscriptions: By loading components.get into a local variable before entering the loop a bytcode “LOAD_FAST 0 (components)” in the loop can be eliminated. In Plone, while running all tests, average speedup of the “owntime” of _lookup is ~5x. See PR 167.

  • Add __all__ declarations to all modules. This helps tools that do auto-completion and documentation and results in less cluttered results. Wildcard (“*”) are not recommended and may be affected. See issue 153.

  • Fix verifyClass and verifyObject for builtin types like dict that have methods taking an optional, unnamed argument with no default value like dict.pop. On PyPy3, the verification is strict, but on PyPy2 (as on all versions of CPython) those methods cannot be verified and are ignored. See issue 118.

  • Update the common interfaces IEnumerableMapping, IExtendedReadMapping, IExtendedWriteMapping, IReadSequence and IUniqueMemberWriteSequence to no longer require methods that were removed from Python 3 on Python 3, such as __setslice___. Now, dict, list and tuple properly verify as IFullMapping, ISequence and IReadSequence, respectively on all versions of Python.

  • Add human-readable __str___ and __repr___ to Attribute and Method. These contain the name of the defining interface and the attribute. For methods, it also includes the signature.

  • Change the error strings raised by verifyObject and verifyClass. They now include more human-readable information and exclude extraneous lines and spaces. See issue 170.

  • Make verifyObject and verifyClass report all errors, if the candidate object has multiple detectable violations. Previously they reported only the first error. See issue.

    Like the above, this will break consumers depending on the exact output of error messages if more than one error is present.

  • Add zope.interface.common.collections, zope.interface.common.numbers, and zope.interface.common.io. These modules define interfaces based on the ABCs defined in the standard library collections.abc, numbers and io modules, respectively. Importing these modules will make the standard library concrete classes that are registered with those ABCs declare the appropriate interface. See issue 138.

  • Add zope.interface.common.builtins. This module defines interfaces of common builtin types, such as ITextString and IByteString, IDict, etc. These interfaces extend the appropriate interfaces from collections and numbers, and the standard library classes implement them after importing this module. This is intended as a replacement for third-party packages like dolmen.builtins. See issue 138.

  • Make providedBy() and implementedBy() respect super objects. For instance, if class Derived implements IDerived and extends Base which in turn implements IBase, then providedBy(super(Derived, derived)) will return [IBase]. Previously it would have returned [IDerived] (in general, it would previously have returned whatever would have been returned without super).

    Along with this change, adapter registries will unpack super objects into their __self___ before passing it to the factory. Together, this means that component.getAdapter(super(Derived, self), ITarget) is now meaningful.

    See issue 11.

  • Fix a potential interpreter crash in the low-level adapter registry lookup functions. See issue 11.

  • Adopt Python’s standard C3 resolution order to compute the __iro__ and __sro__ of interfaces, with tweaks to support additional cases that are common in interfaces but disallowed for Python classes. Previously, an ad-hoc ordering that made no particular guarantees was used.

    This has many beneficial properties, including the fact that base interface and base classes tend to appear near the end of the resolution order instead of the beginning. The resolution order in general should be more predictable and consistent.

    The C3 order enforces some constraints in order to be able to guarantee a sensible ordering. Older versions of zope.interface did not impose similar constraints, so it was possible to create interfaces and declarations that are inconsistent with the C3 constraints. In that event, zope.interface will still produce a resolution order equal to the old order, but it won’t be guaranteed to be fully C3 compliant. In the future, strict enforcement of C3 order may be the default.

    A set of environment variables and module constants allows controlling several aspects of this new behaviour. It is possible to request warnings about inconsistent resolution orders encountered, and even to forbid them. Differences between the C3 resolution order and the previous order can be logged, and, in extreme cases, the previous order can still be used (this ability will be removed in the future). For details, see the documentation for zope.interface.ro.

  • Make inherited tagged values in interfaces respect the resolution order (__iro__), as method and attribute lookup does. Previously tagged values could give inconsistent results. See issue 190.

  • Add getDirectTaggedValue (and related methods) to interfaces to allow accessing tagged values irrespective of inheritance. See issue 190.

  • Ensure that Interface is always the last item in the __iro__ and __sro__. This is usually the case, but if classes that do not implement any interfaces are part of a class inheritance hierarchy, Interface could be assigned too high a priority. See issue 8.

  • Implement sorting, equality, and hashing in C for Interface objects. In micro benchmarks, this makes those operations 40% to 80% faster. This translates to a 20% speed up in querying adapters.

    Note that this changes certain implementation details. In particular, InterfaceClass now has a non-default metaclass, and it is enforced that __module__ in instances of InterfaceClass is read-only.

    See PR 183.

4.7.2 (2020-03-10)

  • Remove deprecated use of setuptools features. See issue 30.

4.7.1 (2019-11-11)

  • Use Python 3 syntax in the documentation. See issue 119.

4.7.0 (2019-11-11)

  • Drop support for Python 3.4.

  • Change queryTaggedValue, getTaggedValue, getTaggedValueTags in interfaces. They now include inherited values by following __bases__. See PR 144.

  • Add support for Python 3.8.

4.6.0 (2018-10-23)

  • Add support for Python 3.7

  • Fix verifyObject for class objects with staticmethods on Python 3. See issue 126.

4.5.0 (2018-04-19)

  • Drop support for 3.3, avoid accidental dependence breakage via setup.py. See PR 110.

  • Allow registering and unregistering instance methods as listeners. See issue 12 and PR 102.

  • Synchronize and simplify zope/__init__.py. See issue 114

4.4.3 (2017-09-22)

  • Avoid exceptions when the __annotations__ attribute is added to interface definitions with Python 3.x type hints. See issue 98.

  • Fix the possibility of a rare crash in the C extension when deallocating items. See issue 100.

4.4.2 (2017-06-14)

  • Fix a regression storing zope.component.persistentregistry.PersistentRegistry instances. See issue 85.

  • Fix a regression that could lead to the utility registration cache of Components getting out of sync. See issue 93.

4.4.1 (2017-05-13)

  • Simplify the caching of utility-registration data. In addition to simplification, avoids spurious test failures when checking for leaks in tests with persistent registries. See pull 84.

  • Raise ValueError when non-text names are passed to adapter registry methods: prevents corruption of lookup caches.

4.4.0 (2017-04-21)

4.3.3 (2016-12-13)

4.3.2 (2016-09-05)

4.3.1 (2016-08-31)

4.3.0 (2016-08-31)

4.2.0 (2016-06-10)

  • Add support for Python 3.5

  • Drop support for Python 2.6 and 3.2.

4.1.3 (2015-10-05)

4.1.2 (2014-12-27)

  • Add support for PyPy3.

  • Remove unittest assertions deprecated in Python3.x.

  • Add zope.interface.document.asReStructuredText, which formats the generated text for an interface using ReST double-backtick markers.

4.1.1 (2014-03-19)

  • Add support for Python 3.4.

4.1.0 (2014-02-05)

  • Update boostrap.py to version 2.2.

  • Add @named(name) declaration, that specifies the component name, so it does not have to be passed in during registration.

4.0.5 (2013-02-28)

  • Fix a bug where a decorated method caused false positive failures on verifyClass().

4.0.4 (2013-02-21)

  • Fix a bug that was revealed by porting zope.traversing. During a loop, the loop body modified a weakref dict causing a RuntimeError error.

4.0.3 (2012-12-31)

  • Fleshed out PyPI Trove classifiers.

4.0.2 (2012-11-21)

  • Add support for Python 3.3.

  • Restored ability to install the package in the absence of setuptools.

  • LP #1055223: Fix test which depended on dictionary order and failed randomly in Python 3.3.

4.0.1 (2012-05-22)

  • Drop explicit DeprecationWarnings for “class advice” APIS (these APIs are still deprecated under Python 2.x, and still raise an exception under Python 3.x, but no longer cause a warning to be emitted under Python 2.x).

4.0.0 (2012-05-16)

  • Automated build of Sphinx HTML docs and running doctest snippets via tox.

  • Deprecate the “class advice” APIs from zope.interface.declarations: implements, implementsOnly, and classProvides. In their place, prefer the equivalent class decorators: @implementer, @implementer_only, and @provider. Code which uses the deprecated APIs will not work as expected under Py3k.

  • Remove use of ‘2to3’ and associated fixers when installing under Py3k. The code is now in a “compatible subset” which supports Python 2.6, 2.7, and 3.2, including PyPy 1.8 (the version compatible with the 2.7 language spec).

  • Drop explicit support for Python 2.4 / 2.5 / 3.1.

  • Add support for PyPy.

  • Add support for continuous integration using tox and jenkins.

  • Add ‘setup.py dev’ alias (runs setup.py develop plus installs nose and coverage).

  • Add ‘setup.py docs’ alias (installs Sphinx and dependencies).

  • Replace all unittest coverage previously accomplished via doctests with unittests. The doctests have been moved into a docs section, managed as a Sphinx collection.

  • LP #910987: Ensure that the semantics of the lookup method of zope.interface.adapter.LookupBase are the same in both the C and Python implementations.

  • LP #900906: Avoid exceptions due to tne new __qualname__ attribute added in Python 3.3 (see PEP 3155 for rationale). Thanks to Antoine Pitrou for the patch.

3.8.0 (2011-09-22)

  • New module zope.interface.registry. This is code moved from zope.component.registry which implements a basic nonperistent component registry as zope.interface.registry.Components. This class was moved from zope.component to make porting systems (such as Pyramid) that rely only on a basic component registry to Python 3 possible without needing to port the entirety of the zope.component package. Backwards compatibility import shims have been left behind in zope.component, so this change will not break any existing code.

  • New tests_require dependency: zope.event to test events sent by Components implementation. The zope.interface package does not have a hard dependency on zope.event, but if zope.event is importable, it will send component registration events when methods of an instance of zope.interface.registry.Components are called.

  • New interfaces added to support zope.interface.registry.Components addition: ComponentLookupError, Invalid, IObjectEvent, ObjectEvent, IComponentLookup, IRegistration, IUtilityRegistration, IAdapterRegistration, ISubscriptionAdapterRegistration, IHandlerRegistration, IRegistrationEvent, RegistrationEvent, IRegistered, Registered, IUnregistered, Unregistered, IComponentRegistry, and IComponents.

  • No longer Python 2.4 compatible (tested under 2.5, 2.6, 2.7, and 3.2).

3.7.0 (2011-08-13)

  • Move changes from 3.6.2 - 3.6.5 to a new 3.7.x release line.

3.6.7 (2011-08-20)

  • Fix sporadic failures on x86-64 platforms in tests of rich comparisons of interfaces.

3.6.6 (2011-08-13)

  • LP #570942: Now correctly compare interfaces from different modules but with the same names.

    N.B.: This is a less intrusive / destabilizing fix than the one applied in 3.6.3: we only fix the underlying cmp-alike function, rather than adding the other “rich comparison” functions.

  • Revert to software as released with 3.6.1 for “stable” 3.6 release branch.

3.6.5 (2011-08-11)

  • LP #811792: work around buggy behavior in some subclasses of zope.interface.interface.InterfaceClass, which invoke __hash__ before initializing __module__ and __name__. The workaround returns a fixed constant hash in such cases, and issues a UserWarning.

  • LP #804832: Under PyPy, zope.interface should not build its C extension. Also, prevent attempting to build it under Jython.

  • Add a tox.ini for easier xplatform testing.

  • Fix testing deprecation warnings issued when tested under Py3K.

3.6.4 (2011-07-04)

  • LP 804951: InterfaceClass instances were unhashable under Python 3.x.

3.6.3 (2011-05-26)

  • LP #570942: Now correctly compare interfaces from different modules but with the same names.

3.6.2 (2011-05-17)

  • Moved detailed documentation out-of-line from PyPI page, linking instead to http://docs.zope.org/zope.interface .

  • Fixes for small issues when running tests under Python 3.2 using zope.testrunner.

  • LP # 675064: Specify return value type for C optimizations module init under Python 3: undeclared value caused warnings, and segfaults on some 64 bit architectures.

  • setup.py now raises RuntimeError if you don’t have Distutils installed when running under Python 3.

3.6.1 (2010-05-03)

  • A non-ASCII character in the changelog made 3.6.0 uninstallable on Python 3 systems with another default encoding than UTF-8.

  • Fix compiler warnings under GCC 4.3.3.

3.6.0 (2010-04-29)

  • LP #185974: Clear the cache used by Specificaton.get inside Specification.changed. Thanks to Jacob Holm for the patch.

  • Add support for Python 3.1. Contributors:

    Lennart Regebro Martin v Loewis Thomas Lotze Wolfgang Schnerring

    The 3.1 support is completely backwards compatible. However, the implements syntax used under Python 2.X does not work under 3.X, since it depends on how metaclasses are implemented and this has changed. Instead it now supports a decorator syntax (also under Python 2.X):

    class Foo:
        implements(IFoo)
        ...

    can now also be written:

    @implementer(IFoo):
    class Foo:
        ...

    There are 2to3 fixers available to do this change automatically in the zope.fixers package.

  • Python 2.3 is no longer supported.

3.5.4 (2009-12-23)

  • Use the standard Python doctest module instead of zope.testing.doctest, which has been deprecated.

3.5.3 (2009-12-08)

3.5.2 (2009-07-01)

  • BaseAdapterRegistry.unregister, unsubscribe: Remove empty portions of the data structures when something is removed. This avoids leaving references to global objects (interfaces) that may be slated for removal from the calling application.

3.5.1 (2009-03-18)

  • verifyObject: use getattr instead of hasattr to test for object attributes in order to let exceptions other than AttributeError raised by properties propagate to the caller

  • Add Sphinx-based documentation building to the package buildout configuration. Use the bin/docs command after buildout.

  • Improve package description a bit. Unify changelog entries formatting.

  • Change package’s mailing list address to zope-dev at zope.org as zope3-dev at zope.org is now retired.

3.5.0 (2008-10-26)

  • Fix declaration of _zope_interface_coptimizations, it’s not a top level package.

  • Add a DocTestSuite for odd.py module, so their tests are run.

  • Allow to bootstrap on Jython.

  • Fix https://bugs.launchpad.net/zope3/3.3/+bug/98388: ISpecification was missing a declaration for __iro__.

  • Add optional code optimizations support, which allows the building of C code optimizations to fail (Jython).

  • Replace _flatten with a non-recursive implementation, effectively making it 3x faster.

3.4.1 (2007-10-02)

  • Fix a setup bug that prevented installation from source on systems without setuptools.

3.4.0 (2007-07-19)

  • Final release for 3.4.0.

3.4.0b3 (2007-05-22)

  • When checking whether an object is already registered, use identity comparison, to allow adding registering with picky custom comparison methods.

3.3.0.1 (2007-01-03)

  • Made a reference to OverflowWarning, which disappeared in Python 2.5, conditional.

3.3.0 (2007/01/03)

New Features

  • Refactor the adapter-lookup algorithim to make it much simpler and faster.

    Also, implement more of the adapter-lookup logic in C, making debugging of application code easier, since there is less infrastructre code to step through.

  • Treat objects without interface declarations as if they declared that they provide zope.interface.Interface.

  • Add a number of richer new adapter-registration interfaces that provide greater control and introspection.

  • Add a new interface decorator to zope.interface that allows the setting of tagged values on an interface at definition time (see zope.interface.taggedValue).

Bug Fixes

  • A bug in multi-adapter lookup sometimes caused incorrect adapters to be returned.

3.2.0.2 (2006-04-15)

  • Fix packaging bug: ‘package_dir’ must be a relative path.

3.2.0.1 (2006-04-14)

  • Packaging change: suppress inclusion of ‘setup.cfg’ in ‘sdist’ builds.

3.2.0 (2006-01-05)

  • Corresponds to the version of the zope.interface package shipped as part of the Zope 3.2.0 release.

3.1.0 (2005-10-03)

  • Corresponds to the version of the zope.interface package shipped as part of the Zope 3.1.0 release.

  • Made attribute resolution order consistent with component lookup order, i.e. new-style class MRO semantics.

  • Deprecate ‘isImplementedBy’ and ‘isImplementedByInstancesOf’ APIs in favor of ‘implementedBy’ and ‘providedBy’.

3.0.1 (2005-07-27)

  • Corresponds to the version of the zope.interface package shipped as part of the Zope X3.0.1 release.

  • Fix a bug reported by James Knight, which caused adapter registries to fail occasionally to reflect declaration changes.

3.0.0 (2004-11-07)

  • Corresponds to the version of the zope.interface package shipped as part of the Zope X3.0.0 release.

Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

zope_interface-8.4.1a1.tar.gz (256.9 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

zope_interface-8.4.1a1-cp314-cp314-win_arm64.whl (213.2 kB view details)

Uploaded CPython 3.14Windows ARM64

zope_interface-8.4.1a1-cp314-cp314-win_amd64.whl (215.2 kB view details)

Uploaded CPython 3.14Windows x86-64

zope_interface-8.4.1a1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (269.5 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARM64

zope_interface-8.4.1a1-cp314-cp314-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl (269.2 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64manylinux: glibc 2.5+ x86-64

zope_interface-8.4.1a1-cp314-cp314-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl (266.1 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ i686manylinux: glibc 2.5+ i686

zope_interface-8.4.1a1-cp314-cp314-macosx_11_0_arm64.whl (212.1 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

zope_interface-8.4.1a1-cp314-cp314-macosx_10_9_x86_64.whl (212.1 kB view details)

Uploaded CPython 3.14macOS 10.9+ x86-64

zope_interface-8.4.1a1-cp313-cp313-win_arm64.whl (213.1 kB view details)

Uploaded CPython 3.13Windows ARM64

zope_interface-8.4.1a1-cp313-cp313-win_amd64.whl (214.5 kB view details)

Uploaded CPython 3.13Windows x86-64

zope_interface-8.4.1a1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (269.6 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

zope_interface-8.4.1a1-cp313-cp313-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl (269.7 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64manylinux: glibc 2.5+ x86-64

zope_interface-8.4.1a1-cp313-cp313-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl (264.5 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ i686manylinux: glibc 2.5+ i686

zope_interface-8.4.1a1-cp313-cp313-macosx_11_0_arm64.whl (212.0 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

zope_interface-8.4.1a1-cp313-cp313-macosx_10_9_x86_64.whl (212.0 kB view details)

Uploaded CPython 3.13macOS 10.9+ x86-64

zope_interface-8.4.1a1-cp312-cp312-win_arm64.whl (213.0 kB view details)

Uploaded CPython 3.12Windows ARM64

zope_interface-8.4.1a1-cp312-cp312-win_amd64.whl (214.5 kB view details)

Uploaded CPython 3.12Windows x86-64

zope_interface-8.4.1a1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (269.5 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

zope_interface-8.4.1a1-cp312-cp312-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl (269.9 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64manylinux: glibc 2.5+ x86-64

zope_interface-8.4.1a1-cp312-cp312-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl (264.8 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ i686manylinux: glibc 2.5+ i686

zope_interface-8.4.1a1-cp312-cp312-macosx_11_0_arm64.whl (211.8 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

zope_interface-8.4.1a1-cp312-cp312-macosx_10_9_x86_64.whl (211.7 kB view details)

Uploaded CPython 3.12macOS 10.9+ x86-64

zope_interface-8.4.1a1-cp311-cp311-win_arm64.whl (213.0 kB view details)

Uploaded CPython 3.11Windows ARM64

zope_interface-8.4.1a1-cp311-cp311-win_amd64.whl (214.6 kB view details)

Uploaded CPython 3.11Windows x86-64

zope_interface-8.4.1a1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (265.7 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

zope_interface-8.4.1a1-cp311-cp311-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl (264.4 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64manylinux: glibc 2.5+ x86-64

zope_interface-8.4.1a1-cp311-cp311-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl (260.0 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ i686manylinux: glibc 2.5+ i686

zope_interface-8.4.1a1-cp311-cp311-macosx_11_0_arm64.whl (211.3 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

zope_interface-8.4.1a1-cp311-cp311-macosx_10_9_x86_64.whl (211.0 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

zope_interface-8.4.1a1-cp310-cp310-win_amd64.whl (214.3 kB view details)

Uploaded CPython 3.10Windows x86-64

zope_interface-8.4.1a1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl (259.6 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

zope_interface-8.4.1a1-cp310-cp310-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl (259.0 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64manylinux: glibc 2.5+ x86-64

zope_interface-8.4.1a1-cp310-cp310-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl (254.1 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ i686manylinux: glibc 2.5+ i686

zope_interface-8.4.1a1-cp310-cp310-macosx_11_0_arm64.whl (210.8 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

zope_interface-8.4.1a1-cp310-cp310-macosx_10_9_x86_64.whl (210.5 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

File details

Details for the file zope_interface-8.4.1a1.tar.gz.

File metadata

  • Download URL: zope_interface-8.4.1a1.tar.gz
  • Upload date:
  • Size: 256.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for zope_interface-8.4.1a1.tar.gz
Algorithm Hash digest
SHA256 321294d123300579950bd61b9b149b3444a5fa3230a5df18da8a49118cdb57ab
MD5 4083ae9eca2c580e61e8f7e89b3de3b4
BLAKE2b-256 818746787f56c0ceede80ad71df9820585f95b9ed1c21bb377bc873118318032

See more details on using hashes here.

Provenance

The following attestation bundles were made for zope_interface-8.4.1a1.tar.gz:

Publisher: tests.yml on zopefoundation/zope.interface

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file zope_interface-8.4.1a1-cp314-cp314-win_arm64.whl.

File metadata

File hashes

Hashes for zope_interface-8.4.1a1-cp314-cp314-win_arm64.whl
Algorithm Hash digest
SHA256 b077370950959e5c52891656d05b1dfbbe61c20a5f1892518e78e2fa55909840
MD5 2fe4010a792b5a3e6dc0e9c89b1ca0a7
BLAKE2b-256 0a983230f9136bb8129ab6db880663f543ecc207a748b1fac44193356f8d7237

See more details on using hashes here.

Provenance

The following attestation bundles were made for zope_interface-8.4.1a1-cp314-cp314-win_arm64.whl:

Publisher: tests.yml on zopefoundation/zope.interface

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file zope_interface-8.4.1a1-cp314-cp314-win_amd64.whl.

File metadata

File hashes

Hashes for zope_interface-8.4.1a1-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 b698e29becb8293338fc8992d380584cff36669068ba77eb20316f468cf915a0
MD5 bee16a7c815cc30ea456933029eb4655
BLAKE2b-256 30f141e1149aa3112d100781e7ac57417ecf21cf6a05105a9b91854b37649f93

See more details on using hashes here.

Provenance

The following attestation bundles were made for zope_interface-8.4.1a1-cp314-cp314-win_amd64.whl:

Publisher: tests.yml on zopefoundation/zope.interface

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file zope_interface-8.4.1a1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl.

File metadata

File hashes

Hashes for zope_interface-8.4.1a1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 da0f344123774ca8f91582480b59db787b6d98578f4b027586ac9e16a85ba754
MD5 18bc26044b214afe665897646b7e8ce5
BLAKE2b-256 17ae65ad917889c6dec42574cbcc701bdafb55de7f0de79b272c34f40a5ebe68

See more details on using hashes here.

Provenance

The following attestation bundles were made for zope_interface-8.4.1a1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl:

Publisher: tests.yml on zopefoundation/zope.interface

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file zope_interface-8.4.1a1-cp314-cp314-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for zope_interface-8.4.1a1-cp314-cp314-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 d5edd5a973ee8f40dd6866570b5771ce4978449c3889937258c29536258f0118
MD5 696f1395296093befabb9bb216481264
BLAKE2b-256 349c471f80635ed5f091345b2ad0be1d9967dd91e799982f3e83cfeca6957c47

See more details on using hashes here.

Provenance

The following attestation bundles were made for zope_interface-8.4.1a1-cp314-cp314-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl:

Publisher: tests.yml on zopefoundation/zope.interface

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file zope_interface-8.4.1a1-cp314-cp314-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl.

File metadata

File hashes

Hashes for zope_interface-8.4.1a1-cp314-cp314-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 197d8240442663c82dedcf62e409d229f97ef2cfe71b96bea3e41d4e6fbf70a1
MD5 0bc4e62414e915be412b14a2761c4d53
BLAKE2b-256 d09c00c12afd12a5435840de83069fef6c0736e61a33051975927f993d89500a

See more details on using hashes here.

Provenance

The following attestation bundles were made for zope_interface-8.4.1a1-cp314-cp314-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl:

Publisher: tests.yml on zopefoundation/zope.interface

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file zope_interface-8.4.1a1-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for zope_interface-8.4.1a1-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9740355cfa2bc432cf36314fa23c9b93e5c9e9e91ca5b8f27ed19e09203a226d
MD5 01b242f21ce9bdbb20722a137d60bb3d
BLAKE2b-256 c242f45383debce0a5fd13fc738381bf1d7ba0f65fc079bd8d0a206f350e13a5

See more details on using hashes here.

Provenance

The following attestation bundles were made for zope_interface-8.4.1a1-cp314-cp314-macosx_11_0_arm64.whl:

Publisher: tests.yml on zopefoundation/zope.interface

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file zope_interface-8.4.1a1-cp314-cp314-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for zope_interface-8.4.1a1-cp314-cp314-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 1df3e16eafe57d6f4334d5f0b16e4ac75f3cb8bfe17dd5818527f13e9aa18a1e
MD5 56de7de6263e7bbb00a0b46c2a626a08
BLAKE2b-256 2c8786d75b93aca577215d31b19fbf0d29f91bc28c46fa1b358c97629c3a1411

See more details on using hashes here.

Provenance

The following attestation bundles were made for zope_interface-8.4.1a1-cp314-cp314-macosx_10_9_x86_64.whl:

Publisher: tests.yml on zopefoundation/zope.interface

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file zope_interface-8.4.1a1-cp313-cp313-win_arm64.whl.

File metadata

File hashes

Hashes for zope_interface-8.4.1a1-cp313-cp313-win_arm64.whl
Algorithm Hash digest
SHA256 4bdb997a9f6a83a6458b68899a7d31e9f04e4eaf9d60bc874b4079e25ab892ab
MD5 6de6752def4909fda0a6aca3bf64b9fd
BLAKE2b-256 c25fa245e122a3bce5406036117e7cf122eee98830289cfad3e5aa35401cb6b4

See more details on using hashes here.

Provenance

The following attestation bundles were made for zope_interface-8.4.1a1-cp313-cp313-win_arm64.whl:

Publisher: tests.yml on zopefoundation/zope.interface

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file zope_interface-8.4.1a1-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for zope_interface-8.4.1a1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 905b6814203332c4c922eff880487f66bb855394a76e6d9cdbbaf50606f4af02
MD5 5ee90b49160fad6e78682b57c13a0a8e
BLAKE2b-256 901c345ea6a5f8fd5f6b607a5a35f999cff57967eb1ab8986ec250364f70e979

See more details on using hashes here.

Provenance

The following attestation bundles were made for zope_interface-8.4.1a1-cp313-cp313-win_amd64.whl:

Publisher: tests.yml on zopefoundation/zope.interface

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file zope_interface-8.4.1a1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl.

File metadata

File hashes

Hashes for zope_interface-8.4.1a1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 c7af1b3f52cedab707a821cc9186eb96a45cc967f2c9e66709c9cf59c4c99340
MD5 6aec0878a806b05cc603ccd988812abf
BLAKE2b-256 0df5654b41c4ee1fe9ab5f30433e6960a49fd0c7a65f518bc767b55d2068d86c

See more details on using hashes here.

Provenance

The following attestation bundles were made for zope_interface-8.4.1a1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl:

Publisher: tests.yml on zopefoundation/zope.interface

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file zope_interface-8.4.1a1-cp313-cp313-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for zope_interface-8.4.1a1-cp313-cp313-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 9ae12f6e3134c585ce021e5537d72045a4497e632ffafc18bdd33ea3241814e4
MD5 edb3bd97d5df44c3f86184422ca912ef
BLAKE2b-256 ef5e800a013dea02a4ab78562228c2232bda62ca837f31e2812dd62a19a9245f

See more details on using hashes here.

Provenance

The following attestation bundles were made for zope_interface-8.4.1a1-cp313-cp313-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl:

Publisher: tests.yml on zopefoundation/zope.interface

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file zope_interface-8.4.1a1-cp313-cp313-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl.

File metadata

File hashes

Hashes for zope_interface-8.4.1a1-cp313-cp313-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 5f77969065af98fdfc58f884bdd027928f8e40e516f2a1add06555593a01ad2c
MD5 c75ca8b8ddc1e0f3e6a1f2e0d7b572c1
BLAKE2b-256 c9c0c0e7eb2b2933dd69e9cf43c25d0127b5f0244ebc5e0879704d1fbc199f89

See more details on using hashes here.

Provenance

The following attestation bundles were made for zope_interface-8.4.1a1-cp313-cp313-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl:

Publisher: tests.yml on zopefoundation/zope.interface

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file zope_interface-8.4.1a1-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for zope_interface-8.4.1a1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7ddc613452128a588956dabccb806dd4e1139cdf2383ce3bc521241562df87a4
MD5 4da40c3a7bf764db32805315b8c64628
BLAKE2b-256 cff0a76401b04c197df8c0cfb40e31757d6232b7a8c96aca2b44c0c36a7fbe78

See more details on using hashes here.

Provenance

The following attestation bundles were made for zope_interface-8.4.1a1-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: tests.yml on zopefoundation/zope.interface

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file zope_interface-8.4.1a1-cp313-cp313-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for zope_interface-8.4.1a1-cp313-cp313-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 52fa3457d194866cd7899298b7f70b38507d883a5d2dc45461d2769bce2736c9
MD5 52a7d3aba4db591acbe86e44d4f3128c
BLAKE2b-256 e1c5519e19c94ce203aed988d724fe9b955372546a72829b733a3bcd43b1c896

See more details on using hashes here.

Provenance

The following attestation bundles were made for zope_interface-8.4.1a1-cp313-cp313-macosx_10_9_x86_64.whl:

Publisher: tests.yml on zopefoundation/zope.interface

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file zope_interface-8.4.1a1-cp312-cp312-win_arm64.whl.

File metadata

File hashes

Hashes for zope_interface-8.4.1a1-cp312-cp312-win_arm64.whl
Algorithm Hash digest
SHA256 d519b1fe0dcf8b3f0ee2ee063e7fa49b9b63afcc36d5a48e06e820ebf6efa28c
MD5 0ac91cf0565a51ac0cdd9d7da1592325
BLAKE2b-256 0ccbfdece5ca925e7fbfdbbf2345f185979c239630a8cbcfa76527e77d81ac08

See more details on using hashes here.

Provenance

The following attestation bundles were made for zope_interface-8.4.1a1-cp312-cp312-win_arm64.whl:

Publisher: tests.yml on zopefoundation/zope.interface

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file zope_interface-8.4.1a1-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for zope_interface-8.4.1a1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 8902ba6ad4f6af3c1b6de459bcebb1c2261abb459aefafcee875d2f1303e7e18
MD5 6a932bf8a4c43539f40dfbfbeb9c7130
BLAKE2b-256 db9fe6f354ceb44a656f64cb6a7bc3e971786b39238f3c7254e07d06debe201c

See more details on using hashes here.

Provenance

The following attestation bundles were made for zope_interface-8.4.1a1-cp312-cp312-win_amd64.whl:

Publisher: tests.yml on zopefoundation/zope.interface

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file zope_interface-8.4.1a1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl.

File metadata

File hashes

Hashes for zope_interface-8.4.1a1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 1615c1e5f407f02c172b7f3c4c68e06fc93f7bf17f3ee0d1ea4ea37488ba148f
MD5 30f83e9c406fe38acdf0c6777a29b0f1
BLAKE2b-256 e35fc65c7d76da40869c48520083559fe50965265da670e78fc8e68610b6d42c

See more details on using hashes here.

Provenance

The following attestation bundles were made for zope_interface-8.4.1a1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl:

Publisher: tests.yml on zopefoundation/zope.interface

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file zope_interface-8.4.1a1-cp312-cp312-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for zope_interface-8.4.1a1-cp312-cp312-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 584b8c3f8745e276f98a9b43ff59918daa812023b7718dd8c3df5eae7c7be4ca
MD5 cc935fdf310cca968306eac2ddc7de88
BLAKE2b-256 56f1c5c361e5c46b14fe0e5d3f2b31646e177a38cf4f0a4ff7192c4a24c8622c

See more details on using hashes here.

Provenance

The following attestation bundles were made for zope_interface-8.4.1a1-cp312-cp312-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl:

Publisher: tests.yml on zopefoundation/zope.interface

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file zope_interface-8.4.1a1-cp312-cp312-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl.

File metadata

File hashes

Hashes for zope_interface-8.4.1a1-cp312-cp312-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 549dfc197afb1da6b58a55468d8e6e94977f2ba301b2e8064063617e69a3019c
MD5 51cefe9a4a8ebb4dd305ecbc65664c2e
BLAKE2b-256 c8293cc2144ade68ce2619eb08c79eb55d3db129c80330cf7d716797b72acb05

See more details on using hashes here.

Provenance

The following attestation bundles were made for zope_interface-8.4.1a1-cp312-cp312-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl:

Publisher: tests.yml on zopefoundation/zope.interface

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file zope_interface-8.4.1a1-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for zope_interface-8.4.1a1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 962e150a0265590334a923d69229c0f689fd7629557bfd52abefbfcd0cc540c9
MD5 85701e401571dd4e8d0db5011582cd45
BLAKE2b-256 19a2b19bdc24d820a8274f47c778a3219c064d62fa67f26139921796df148495

See more details on using hashes here.

Provenance

The following attestation bundles were made for zope_interface-8.4.1a1-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: tests.yml on zopefoundation/zope.interface

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file zope_interface-8.4.1a1-cp312-cp312-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for zope_interface-8.4.1a1-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 4f992fd809ed472aa2bcd14d4080ae08383d81f953612bf39f495fa7d524fbe6
MD5 9dbe1b8fe7a202747130ae8df3f84adf
BLAKE2b-256 0c9db11ec1347d896428430062c39871846fa46204eea7a921edd03b9f5f5b03

See more details on using hashes here.

Provenance

The following attestation bundles were made for zope_interface-8.4.1a1-cp312-cp312-macosx_10_9_x86_64.whl:

Publisher: tests.yml on zopefoundation/zope.interface

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file zope_interface-8.4.1a1-cp311-cp311-win_arm64.whl.

File metadata

File hashes

Hashes for zope_interface-8.4.1a1-cp311-cp311-win_arm64.whl
Algorithm Hash digest
SHA256 97da8c4b811c11ad709188378f5c44d5ecf30a8978c8a97ee1a152b3da784730
MD5 885e1abdf4feaca779b115249358e76e
BLAKE2b-256 2d74fe3c6c0f6712b3340cce4182cc8d280464cecfad7074bb7d67029f05216e

See more details on using hashes here.

Provenance

The following attestation bundles were made for zope_interface-8.4.1a1-cp311-cp311-win_arm64.whl:

Publisher: tests.yml on zopefoundation/zope.interface

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file zope_interface-8.4.1a1-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for zope_interface-8.4.1a1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 b7a9e42ee4760569eae6edb21d4b216ab3964fd813e62cbfae0e215afa518586
MD5 4d7cb992b455e3fe4a143abdad8c91ad
BLAKE2b-256 896d6dea7d9f79ac71248b7de74e57034512a27c1ffee4299b0f4a8e1fc8b807

See more details on using hashes here.

Provenance

The following attestation bundles were made for zope_interface-8.4.1a1-cp311-cp311-win_amd64.whl:

Publisher: tests.yml on zopefoundation/zope.interface

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file zope_interface-8.4.1a1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl.

File metadata

File hashes

Hashes for zope_interface-8.4.1a1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 9d50fc59cc56adae0d035f6fcadb8671b7b2f91565b34e6b4fbd275e9fb14584
MD5 7b51f4fb6d1625162e1fd8efc3a15285
BLAKE2b-256 6bed51e8692ab727f38b2615715084b0b9993f10dda555dc0b5d2fab9fa8d844

See more details on using hashes here.

Provenance

The following attestation bundles were made for zope_interface-8.4.1a1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl:

Publisher: tests.yml on zopefoundation/zope.interface

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file zope_interface-8.4.1a1-cp311-cp311-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for zope_interface-8.4.1a1-cp311-cp311-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 c45f3b2d975c7cc18332b4ef28c3052879e4f0289417958b1a6b57288e7392a3
MD5 0e7c6e431a325f05722b24e8e5ab4e1b
BLAKE2b-256 fc2bb9f99574c7907a65c7174c56befe5cfca271b942a725c3b95ff0512503bf

See more details on using hashes here.

Provenance

The following attestation bundles were made for zope_interface-8.4.1a1-cp311-cp311-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl:

Publisher: tests.yml on zopefoundation/zope.interface

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file zope_interface-8.4.1a1-cp311-cp311-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl.

File metadata

File hashes

Hashes for zope_interface-8.4.1a1-cp311-cp311-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 9129d90a8e6dec5045c2872dda9398ba467fa2bde13c366e184c4e5ce261f6db
MD5 a3b686e38ae2782d4079cf51bc12ecb8
BLAKE2b-256 bdff5e53c7a56c9e8ae58a6de1d7475f64f27a4ef8de8849fccde06d9c1f27df

See more details on using hashes here.

Provenance

The following attestation bundles were made for zope_interface-8.4.1a1-cp311-cp311-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl:

Publisher: tests.yml on zopefoundation/zope.interface

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file zope_interface-8.4.1a1-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for zope_interface-8.4.1a1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 080b5344f47563b1b1bd3ccdec08a30b0f2c46db71671db05cb62407506255f7
MD5 1cef091d8d464f4394f1ac527e71e7a9
BLAKE2b-256 351c3f53bf621c1fce59e02d79a14b52aadda863a40337809171ca1aede00959

See more details on using hashes here.

Provenance

The following attestation bundles were made for zope_interface-8.4.1a1-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: tests.yml on zopefoundation/zope.interface

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file zope_interface-8.4.1a1-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for zope_interface-8.4.1a1-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 b4c0eeee5dd0bb47cfca53f073932fdc0a24f754f345b5b0a01f4567d9a23db0
MD5 9948071a991f4396f81b73c3eef25378
BLAKE2b-256 947faefe2536319144e011a536cf2539f0531ae87c1a5a9f827af7e1995c13f2

See more details on using hashes here.

Provenance

The following attestation bundles were made for zope_interface-8.4.1a1-cp311-cp311-macosx_10_9_x86_64.whl:

Publisher: tests.yml on zopefoundation/zope.interface

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file zope_interface-8.4.1a1-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for zope_interface-8.4.1a1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 79885825d04e57607626ff0477f467dcca35ef8bb92d348c302b47f9d2126b46
MD5 576fa778261e6f61168c820e8944efaf
BLAKE2b-256 49e8e8c3784c9e5373f2d5ac13e6956d714ad3315581d4d72053a9503bc7f227

See more details on using hashes here.

Provenance

The following attestation bundles were made for zope_interface-8.4.1a1-cp310-cp310-win_amd64.whl:

Publisher: tests.yml on zopefoundation/zope.interface

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file zope_interface-8.4.1a1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl.

File metadata

File hashes

Hashes for zope_interface-8.4.1a1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
Algorithm Hash digest
SHA256 48d314cfab1d4dbcd12b85e2b5f1e8dc19b868907787f6bfd01f1385725fc6bb
MD5 6db9ba02e3eaaa89aea010e0e7a043fe
BLAKE2b-256 b757de4d6d8f706a201107123c2599638299bc5f670e3b87bf7c87493c54844d

See more details on using hashes here.

Provenance

The following attestation bundles were made for zope_interface-8.4.1a1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl:

Publisher: tests.yml on zopefoundation/zope.interface

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file zope_interface-8.4.1a1-cp310-cp310-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for zope_interface-8.4.1a1-cp310-cp310-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 f5ef84fa525d38a5abaef05bf119ac91f546cf0f40628524b31aeed58bac7844
MD5 c566635d3a6cb8645345e0b2321b66b2
BLAKE2b-256 3cf3b15c104f1698a7168363369b96ace5dfcd4ef724b6e55b5ba5faebdc2bda

See more details on using hashes here.

Provenance

The following attestation bundles were made for zope_interface-8.4.1a1-cp310-cp310-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl:

Publisher: tests.yml on zopefoundation/zope.interface

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file zope_interface-8.4.1a1-cp310-cp310-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl.

File metadata

File hashes

Hashes for zope_interface-8.4.1a1-cp310-cp310-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl
Algorithm Hash digest
SHA256 1a644bf09308a6dc54b80c5ffa4c46987fd29181a58ce82d5c1fc0675fa1c09e
MD5 f5b8c63597643bc622c9d8384ab1bc40
BLAKE2b-256 daced92d33cfb854c1d6428e79c432ebc704128b925bfea8eafb8e732c9d4949

See more details on using hashes here.

Provenance

The following attestation bundles were made for zope_interface-8.4.1a1-cp310-cp310-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl:

Publisher: tests.yml on zopefoundation/zope.interface

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file zope_interface-8.4.1a1-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for zope_interface-8.4.1a1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e82bb0b0e4a41fe157350b251e7ea162ace6a238e168b088a3e163ffd8253193
MD5 fcee2bcf48c91e256ea14c834930114c
BLAKE2b-256 ab5b531c4757331fac9a4e1521986c2ff7e5b841e8dcff09d30e44f55fa4a06a

See more details on using hashes here.

Provenance

The following attestation bundles were made for zope_interface-8.4.1a1-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: tests.yml on zopefoundation/zope.interface

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file zope_interface-8.4.1a1-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for zope_interface-8.4.1a1-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 02899f549d9a573893e1bb2fb2f4010abe660fd04acea8d22a3799b4e0bf594b
MD5 5dc9a73d130f1338dacc9dcafa7a12d7
BLAKE2b-256 b6f29be31c8100cc23c9cae5aad2b2c110b0e50d625ff12d3adb4ee58a4ba49e

See more details on using hashes here.

Provenance

The following attestation bundles were made for zope_interface-8.4.1a1-cp310-cp310-macosx_10_9_x86_64.whl:

Publisher: tests.yml on zopefoundation/zope.interface

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page