zope.lifecycleevent
Object life-cycle events
What it is and what it does
zope.lifecycleevent provides a small set of event classes and convenience functions for notifying subscribers about object lifecycle changes—creation, modification, and removal—in systems built on the zope.event dispatch framework. It sits between zope.event (which provides generic event notification) and application code, offering a standard vocabulary for lifecycle events so that loosely-coupled components can react to object state changes without direct dependencies on one another.
The package is part of the Zope ecosystem and is typically used in component-based architectures where multiple subsystems need to be aware of object changes without tight coupling. It depends on zope.interface and zope.event, and is designed to have minimal external dependencies so that packages can rely on it without pulling in heavy frameworks. The library is stable (Production/Stable status), supports modern Python versions (3.9–3.13), and has been maintained since 2007.
Use it for:
- Notify subscribers when an object is created, modified, or deleted in a component-based application.
- Implement audit logging or change tracking by subscribing to lifecycle events.
- Trigger side effects (e.g., cache invalidation, index updates) when objects change without hardcoding those side effects into business logic.
- Build plugin systems where third-party code reacts to lifecycle events without knowing about other subscribers.
- Integrate with zope.container or similar frameworks that rely on standard lifecycle event objects.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Defines event objects and API functions for tracking object lifecycle events—creation, modification, and removal—in loosely-coupled systems using the zope.event dispatch mechanism.
Yes, if you are building a Zope-based or component-oriented system that uses zope.event for event dispatch. The package is stable, has no known vulnerabilities, and provides a standard event vocabulary that reduces coupling. No, if you are not already using zope.event or zope.interface—the package is tightly scoped to that ecosystem and offers little value outside it. Maintenance is aging but not abandoned; releases are infrequent but track current Python versions.
Install
zope-lifecycleevent on PyPI
pip
pip install zope-lifecycleeventuv
uv add zope-lifecycleeventpoetry
poetry add zope-lifecycleeventInstalling zope.lifecycleevent
Before you install
Low install friction with a pure-wheel distribution. Maintenance status is aging—last release was 336 days ago—but the package is stable and actively supported for current Python versions (3.9–3.13).
License in practice
Licensed under ZPL-2.1 (Zope Public License 2.1), which is OSI-approved but less common than MIT or Apache 2.0. Verify compatibility with your project's licensing requirements before adopting.
Quickstart
pip install zope.lifecycleevent
from zope.lifecycleevent import ObjectModifiedEvent
from zope.event import notify
notify(ObjectModifiedEvent(my_object))
Requires Python 3.9 or later. Intended for use within a zope.event-based system; standalone use outside that context is not typical.
Verify before relying
- Whether the 'aging' maintenance status reflects intentional stability or reduced active development.
- Specific use cases where this package is preferred over direct zope.event or zope.component integration.
Package facts
| License | ZPL-2.1 (unclear) |
| Python support | supports the current Python release (>=3.9) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 3 — setuptools, zope.interface, zope.event |
| Maintenance | aging — 336 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 165,725/month — #10,518 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: zope_lifecycleevent-6.0-py3-none-any.whl
Keywords: event, lifecycle, zope, component, interface, flexible
Tags
More Software Development packages
Provides backported and experimental type hints…
permissive · top 100 on PyPI
numpyNumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
fastapiFastAPI is a Python web framework for building…
permissive · top 100 on PyPI
annotated-docProvides a way to document function parameters,…
permissive · top 100 on PyPI
typerTyper builds command-line applications from…
permissive · top 1,000 on PyPI
distlibDistlib provides low-level packaging utilities…
permissive · top 1,000 on PyPI
pyeventsystempyeventsystem provides event-driven middleware…
permissive · top 15,000 on PyPI
zope.eventProvides a simple synchronous event publishing…
unclear · top 1,000 on PyPI
zope.processlifetimeProvides event interfaces and implementations…
unclear · top 15,000 on PyPI
zope.hookablezope.hookable provides a mechanism to create…
unclear · top 5,000 on PyPI
zope.annotationStores additional metadata on objects without…
unclear · top 15,000 on PyPI
zope.locationProvides a structural location system for Zope…
unclear · top 15,000 on PyPI
zope.containerProvides container interfaces and…
unclear · top 15,000 on PyPI
zope.filerepresentationDefines interfaces for representing objects as…
unclear · top 15,000 on PyPI
zope.proxyzope.proxy provides transparent wrapper objects…
unclear · top 15,000 on PyPI
loggingProvides a standard error logging mechanism for…
unclear · top 15,000 on PyPI