Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (
Help us improve Python packaging - Donate today!

An add-on for the repoze.bfg web framework which supplies a model graph traverser which proxies location-ignorant model objects

Project Description


An alternate implementation of the repoze.bfg.interfaces.ITraverserFactory (a “traverser”) which wraps each traversed object in a proxy. This allows a “location-ignorant” model (a model which does not possess intrinsic __name__ and __parent__ attributes) to be used as the root object and as any object returned from any other model’s __getitem__ method during traversal.

When this ITraverserFactory is registered as the traverser for a repoze.bfg application, during traversal, each object, including the root object is wrapped in a proxy. The proxy that provides the traversed object with a __name__ and __parent__ attribute. The __name__ and __parent__ attributes of the root proxy are both None. The __name__ of subsequently traversed object is the Unicode URL segment name which was used to look it up. The __parent__ of subsequently traversed objects is the previous object traversed.

In order to enable this package’s ITraverserFactory, register the repoze.bfg.traversalwrapper.ModelGraphTraverser as the traversal policy, rather than the default ModelGraphTraverser. To use this feature, your application will need to have a dependency on this package, as well as following stanza in its configure.zcml:



When this ITraverserFactory is used, the intrinsic __name__ or __parent__ attribute of an object are ignored. Even if an object in the graph (including the root objects) has an intrinsic __name__ and __parent__ attribute, it will still be wrapped in a proxy that override the object’s “real” __parent__ and __name__ attributes.

repoze.bfg.traversalwrapper Changelog

0.3 (2009-06-22)

  • Compatibility with BFG 1.0a1. This version is not guaranteed to be compatible with any BFG version before 1.0a1.

0.2 (2008-05-18)

  • Use dictionary return values from our ITraverser in lockstep with changes to 0.8dev.


  • Initial release (functionality moved out of BFG core).
Release History

Release History

This version
History Node


Download Files

Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
repoze.bfg.traversalwrapper-0.3.tar.gz (11.1 kB) Copy SHA256 Checksum SHA256 Source Aug 22, 2009

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting