--- id: zope-traversing version: "6.0" license: ZPL-2.1 license_treatment: unclear maintenance: active --- # zope.traversing — Resolving paths in the object hierarchy License: unclear · Maintenance: active · Downloads: 154.0K/mo ## 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 above — 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 pip install zope-traversing uv add zope-traversing poetry add zope-traversing ## Installing 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_current - Install friction: low - Maintenance: active - Downloads: 154.0K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags object path traversal, URL resolution object hierarchy, zope traversal namespaces, absolute URL computation, object hierarchy navigation, traversal adapter, zope view routing, zope-ecosystem, object-traversal, url-routing [View on SkillFed](https://skillfed.io/packages/zope-traversing) · [View on PyPI](https://pypi.org/project/zope-traversing/)