{"categories":[{"label":"Software Development","url":"https://skillfed.io/packages/category/software-development/15"},{"label":"WWW/HTTP","url":"https://skillfed.io/packages/category/internet-www-http/6"}],"enrichment":{"capability":"Stores additional metadata on objects without modifying their class, using a Zope-based annotation mechanism backed by zope.interface and zope.component.","skillfed_tags":["zope-ecosystem","object-metadata","adapter-pattern"],"use_cases":["Attach domain-specific metadata to ZODB objects without altering their schema or class hierarchy.","Store temporary or computed attributes on objects in a Zope application without modifying the persistent object structure.","Build plugin systems where different components can independently annotate shared objects with their own metadata.","Implement object traversal helpers by storing parent references via __parent__ annotations for upward navigation.","Manage object-level configuration or state in frameworks that use zope.component for adaptation."],"what_it_does":"zope.annotation provides a framework for attaching arbitrary metadata to objects at runtime without modifying their class definition. It integrates with the Zope component architecture (zope.interface, zope.component, zope.location, zope.proxy) to register and retrieve annotations through a clean adapter-based API. The package is particularly useful in ZODB-backed systems where you need to associate extra data with persistent objects.\n\nThe core mechanism uses IAnnotations adapters to store metadata, with AttributeAnnotations providing a dict-like interface for attribute-based storage. The package supports both in-memory dict storage and persistent BTrees storage, falling back gracefully if BTrees is unavailable. It has been actively maintained since 2007 and currently supports Python 3.9 through 3.13.","worth_installing":"Yes, if you are building within the Zope ecosystem or need a clean, non-invasive way to attach metadata to objects in a component-based architecture. The package is stable, actively maintained, and has no known vulnerabilities. The ZPL-2.1 license is OSI-approved but less mainstream; verify it aligns with your project before committing. Install friction is low and dependencies are all from the same ecosystem, so integration is straightforward for Zope-aware projects."},"id":"zope-annotation","links":{"html":"https://skillfed.io/packages/zope-annotation","md":"https://skillfed.io/packages/zope-annotation.md","pypi":"https://pypi.org/project/zope-annotation/"},"maintenance":{"status":"active"},"meta":{"latest_release":"2025-09-12","license_spdx":null,"license_treatment":"unclear","name":"zope.annotation","python_support":"supports_current","summary":"Object annotation mechanism"},"popularity":{"monthly_downloads":150924,"position":10950,"tier":"top_15000"},"security":{"n_vulnerabilities":0},"version":"6.0"}
