zope.traversing
Resolving paths in the object hierarchy
What it is and what it does
zope.traversing is a Zope framework package that provides adapters for resolving object paths by walking an object hierarchy. It handles URL computation via the @@absolute_url view and supports special traversal namespaces (++view++, ++skin++, etc.) that allow path-based routing to different object types or views. The package is part of the Zope ecosystem and integrates with zope.component, zope.interface, zope.location, zope.publisher, and zope.security to enable flexible object discovery and URL generation in hierarchical object models.
The package is actively maintained, recently updated to support Python 3.12 and 3.13, and has been in production use since 2007. It installs with low friction as a pure-Python wheel and carries no known security vulnerabilities. Its primary use is within Zope-based applications or frameworks that need to traverse object hierarchies and generate absolute URLs dynamically.
Use it for:
- Resolve object paths in a Zope application by traversing a parent-child object hierarchy.
- Compute absolute URLs for objects using the @@absolute_url view adapter.
- Route HTTP requests to different views or skins using traversal namespaces like ++view++ or ++skin++.
- Look up parent objects in a containment hierarchy for breadcrumb or navigation generation.
- Implement custom traversal adapters for specialized object models within a Zope-based framework.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Resolves object paths by traversing an object hierarchy and computing URLs via the @@absolute_url view, with support for traversal namespaces like ++view++ and ++skin++.
Yes, if you are building or maintaining a Zope-based application or framework that requires object hierarchy traversal and URL generation. The package is actively maintained, has no known vulnerabilities, and installs with low friction. No, if you are not using Zope or a Zope-dependent framework—the package is tightly coupled to the Zope ecosystem and offers no value outside that context.
Install
zope-traversing on PyPI
pip
pip install zope-traversinguv
uv add zope-traversingpoetry
poetry add zope-traversingInstalling zope.traversing
Before you install
Low install friction with a pure-Python wheel. Actively maintained as of 2025-09-12 with recent Python 3.12 and 3.13 support added. Ten runtime dependencies, all from the Zope ecosystem, are well-established packages.
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 license policy before adopting.
Quickstart
from zope.traversing.api import getParent, getParents
from zope.traversing.adapters import DefaultTraversable
# Traverse object hierarchy
parent = getParent(obj)
ancestors = getParents(obj)
Requires Python 3.9 or later; depends on zope.interface, zope.component, zope.location, zope.publisher, and zope.security being installed and configured.
Verify before relying
- Whether the package's ZCML configuration is required or optional for basic traversal operations.
- Performance characteristics when traversing deeply nested object hierarchies.
- Compatibility with non-Zope object models or whether it requires Zope-specific interfaces.
Package facts
| License | ZPL-2.1 (unclear) |
| Python support | supports the current Python release (>=3.9) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 10 — setuptools, transaction, zope.component, zope.i18n, zope.i18nmessageid, zope.interface, zope.location, zope.proxy, zope.publisher, zope.security |
| Maintenance | actively maintained — 336 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 153,957/month — #10,864 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: zope_traversing-6.0-py3-none-any.whl
Keywords: zope, traversal, route, URL, view
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
zope.containerProvides container interfaces and…
unclear · top 15,000 on PyPI
zope.locationProvides a structural location system for Zope…
unclear · top 15,000 on PyPI
zope.sizeProvides a standard interface and adapter for…
unclear · top 15,000 on PyPI
zope.annotationStores additional metadata on objects without…
unclear · top 15,000 on PyPI
zope.browserProvides a set of standard interfaces for…
unclear · top 15,000 on PyPI
zope.ptresourceProvides a resource class that processes Zope…
unclear · top 15,000 on PyPI
zope.pagetemplatezope.pagetemplate provides a templating system…
unclear · top 15,000 on PyPI
zope.browserresourceRegisters and serves static browser resources…
unclear · top 15,000 on PyPI
zope.browserpageProvides ZCML directives (browser:page,…
unclear · top 15,000 on PyPI
zope.proxyzope.proxy provides transparent wrapper objects…
unclear · top 15,000 on PyPI