zope.intid
.. image:: https://img.shields.io/pypi/v/zope.intid.svg :target: https://pypi.org/project/zope.intid/ :alt: Latest release
.. image:: https://img.shields.io/pypi/pyversions/zope.intid.svg :target: https://pypi.org/project/zope.intid/ :alt: Supported Python versions
.. image:: https://github.com/zopefoundation/zope.intid/actions/workflows/tests.yml/badge.svg :target: https://github.com/zopefoundation/zope.intid/actions/workflows/tests.yml
.. image:: https://readthedocs.org/projects/zopeintid/badge/?version=latest :target: http://zopeintid.readthedocs.io/en/latest/?badge=latest :alt: Documentation Status
.. image:: https://coveralls.io/repos/github/zopefoundation/zope.intid/badge.svg?branch=master :target: https://coveralls.io/github/zopefoundation/zope.intid?branch=master :alt: Code Coverage
This package provides an API to create integer ids for any object. Later objects can be looked up by their id as well. This functionality is commonly used in situations where dealing with objects is undesirable, such as in search indices or any code that needs an easy hash of an object.
Documentation is hosted at http://zopeintid.readthedocs.io
Add support for Python 3.9, 3.10, 3.11.
Drop support for Python 2.7, 3.5, 3.6.
Drop support for deprecated python setup.py test
.
Fixed deprecation warning for zope.site.hooks
in tests.
Add support for Python 3.7 and 3.8.
Drop support for Python 3.4.
Fix incorrect import of
zope.interface.interfaces.IComponentLookup
in tests.
Add support for Python 3.6.
Drop support for Python 3.3.
Raise more informative KeyError subclasses from the utility when intids or objects cannot be found. This distinguishes them from errors raised by normal dictionaries or BTrees, and is useful in unit testing or when persisting intids or sharing them among processes for later or concurrent use.
Propagate POSKeyError
from queryId
instead of returning the
default object. This exception indicates a corrupt database, not a
missing object. The queryObject
function already behaved this way.
Stop depending on ZODB for anything except testing.
Add support for Python 3.5 and PyPy3 5.2.
Drop support for Python 2.6.
Add support for PyPy (PyPy3 blocked on PyPy3-compatible zodbpickle
).
Add support for Python 3.4.
Add support for Python 3.3.
Replace deprecated zope.interface.implements
usage with equivalent
zope.interface.implementer
decorator.
Drop support for Python 2.4 and 2.5.
Bug fix: ensure that the IntId utility never generates ids greater than the maxint of the BTree family being used.
Use the zope.component API in favor of ztapi.
Remove zope.app.testing
dependency.
Remove dependencies on zope.container
. Instead import
Object*Event
classes from zope.lifecycleevent
and import
IContained
from zope.location
. In order to be able to do
this, depend on zope.lifecycleevent
>=3.5.2 and
zope.location
>=3.5.4.
Remove a dependency on zope.container.contained.Contained
(this is a dumb base class that defines parent and name
as None and declares that the class implements IContained).
zope.app.intid
. The latter one
now only contains browser views and compatibility imports while
whole IntId functionality is moved here.