Metadata-Version: 2.4
Name: zope.annotation
Version: 5.2
Summary: Object annotation mechanism
Home-page: https://github.com/zopefoundation/zope.annotation
Author: Zope Foundation and Contributors
Author-email: zope-dev@zope.dev
License: ZPL-2.1
Keywords: zope annotation ZODB zope3 ztk
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Zope Public License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Topic :: Software Development
Requires-Python: >=3.9
License-File: LICENSE.txt
Requires-Dist: setuptools
Requires-Dist: zope.interface
Requires-Dist: zope.component
Requires-Dist: zope.location
Requires-Dist: zope.proxy
Provides-Extra: btrees
Requires-Dist: BTrees; extra == "btrees"
Requires-Dist: persistent; extra == "btrees"
Provides-Extra: docs
Requires-Dist: Sphinx; extra == "docs"
Requires-Dist: repoze.sphinx.autointerface; extra == "docs"
Requires-Dist: zope.component[zcml]; extra == "docs"
Requires-Dist: zope.configuration; extra == "docs"
Requires-Dist: zope.testing; extra == "docs"
Requires-Dist: zope.testrunner; extra == "docs"
Provides-Extra: test
Requires-Dist: zope.component[zcml]; extra == "test"
Requires-Dist: zope.configuration; extra == "test"
Requires-Dist: zope.testing; extra == "test"
Requires-Dist: zope.testrunner; extra == "test"
Provides-Extra: testing
Requires-Dist: zope.component[zcml]; extra == "testing"
Requires-Dist: zope.configuration; extra == "testing"
Requires-Dist: zope.testing; extra == "testing"
Requires-Dist: zope.testrunner; extra == "testing"
Requires-Dist: nose; extra == "testing"
Requires-Dist: coverage; extra == "testing"
Provides-Extra: zcml
Requires-Dist: zope.component[zcml]; extra == "zcml"
Requires-Dist: zope.configuration; extra == "zcml"
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: home-page
Dynamic: keywords
Dynamic: license
Dynamic: license-file
Dynamic: provides-extra
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

``zope.annotation`` README
==========================

.. image:: https://img.shields.io/pypi/v/zope.annotation.svg
    :target: https://pypi.python.org/pypi/zope.annotation/
    :alt: Latest Version

.. image:: https://github.com/zopefoundation/zope.annotation/actions/workflows/tests.yml/badge.svg
        :target: https://github.com/zopefoundation/zope.annotation/actions/workflows/tests.yml

.. image:: https://readthedocs.org/projects/zopeannotation/badge/?version=latest
        :target: http://zopeannotation.readthedocs.org/en/latest/
        :alt: Documentation Status

This package provides a mechanism to store additional information about
objects without need to modify object class.


=========
 Changes
=========

5.2 (2025-08-06)
================

- Add support for Python 3.12, 3.13.

- Drop support for Python 3.7, 3.8.


5.1 (2025-02-13)
================

- Add support for Python 3.12, 3.13.

- Drop support for Python 3.7, 3.8.


5.0 (2023-03-27)
================

- Add support for Python 3.11.

- Drop support for Python 2.7, 3.5, 3.6.


4.8 (2022-09-06)
================

- Add support for Python 3.8, 3.9, 3.10.

- Drop support for Python 3.4.


4.7.0 (2018-10-16)
==================

- Add support for Python 3.7 and drop support for Python 3.3.

- Fix a DeprecationWarning from ``zope.annotation.attribute``. See
  `issue 16 <https://github.com/zopefoundation/zope.annotation/issues/16>`_.

4.6.0 (2017-09-22)
==================

- Make ``AttributeAnnotations`` have a ``__parent__``. The
  ``__parent__`` is the object that it stores ``__annotations__`` on.
  This is a convenience for upwards traversal as used by things like
  ``zope.keyreference``. See
  https://github.com/zopefoundation/zope.annotation/issues/11


4.5 (2017-06-03)
================

- Drop support for Python 2.6.

- Claim support for Python 3.5 and 3.6.

- Reach 100% test coverage.

- ``AttributeAnnotations`` is now always a
  ``collections.MutableMapping``. Previously on Python 2 it was a
  ``UserDict.DictMixin``.

4.4.1 (2015-01-09)
==================

- Convert doctests to Sphinx documentation.  Doctest snippets are still
  tested via ``tox -e docs``.


4.4.0 (2015-01-09)
==================

- LP #98462:  add additional "iterable mapping" methods to ``IAnnotations``.

- LP #878265:

  - Make ``persistent`` (used only for doctests) a soft dependency,
    installable via the ``zope.annotation[btree]`` extra.

  - Make ``BTrees`` (used for attribute storage) a soft dependency,
    installable via the ``zope.annotation[btree]`` extra.  Fall back to
    using ``dict`` for attribute storage if ``BTrees`` is not importable.

4.3.0 (2014-12-26)
==================

- Add support for Python 3.4.

4.2.0 (2013-03-18)
==================

- Don't make AttributeAnnotations available as a view.

4.1.0 (2013-02-24)
==================

- Add ``__bool__`` method to ``IAnnotations`` API for Python 3 compatibility.

4.0.1 (2013-02-11)
==================

- Add `tox.ini`.

4.0.0 (2013-02-11)
==================

- Add support for Python 3.3 and PyPy.

- Replace deprecated ``zope.component.adapts`` usage with equivalent
  ``zope.component.adapter`` decorator.

- Replace deprecated ``zope.interface.implements`` usage with equivalent
  ``zope.interface.implementer`` decorator.

- Drop support for Python 2.4 and 2.5.

- Include zcml dependencies in configure.zcml, require the necessary packages
  via a zcml extra, added tests for zcml.

3.5.0 (2009-09-07)
==================

- Add ZODB3 to install_requires, because it's a true requirement of this
  package, not just a testing requirement, as BTrees are in use.

- Fix one test that was inactive because it's function was overriden by
  a mistake.

3.4.2 (2009-03-09)
==================

- Clean up package description and documentation a bit.

- Change mailing list address to zope-dev at zope.org, as
  zope3-dev at zope.org is now retired.

- Remove old zpkg-related files.

3.4.1 (2008-08-26)
==================

- Annotation factories take care not to store proxies in the database,
  so adapting an object wrapped in a ``LocationProxy`` works correctly.
  Fixes https://bugs.launchpad.net/zope3/+bug/261620

3.4.0 (2007-08-29)
==================

- Annotation factories are no longer containing the factored object.
  Instead the objects are located using ``zope.location``. This removes
  a dependency to ``zope.app.container``.
