Install & Compatibility
Where this runs
tested against v6.0 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
muslpy 3.10–3.95 runs
installs and imports cleanly · install 0.0s · import 0.382s · 36.2MB
glibcpy 3.10–3.95 runs
installs and imports cleanly · install 4.4s · import 0.344s · 37MB
39MB installed
● package 39MB
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
BrowserMenu
✓ from zope.browsermenu.menu import BrowserMenu
✗ from zope.browsermenu import BrowserMenu
BrowserMenu is not in the package __init__, must be imported from submodule menu
BrowserSubMenuItem
✓ from zope.browsermenu.menu import BrowserSubMenuItem
MenuManager
✓ from zope.browsermenu.menu import MenuManager
IMenuItemType
✓ from zope.browsermenu.interfaces import IMenuItemType
Create a browser menu with custom menu items using Zope component architecture.
from zope.browsermenu.menu import BrowserMenu
from zope.browsermenu.interfaces import IMenuItemType
from zope.component import provideAdapter
from zope.interface import implementer
@implementer(IMenuItemType)
class MyMenuItem:
title = 'My Item'
def __init__(self, context, request):
self.context = context
self.request = request
menu = BrowserMenu('my_menu')
provideAdapter(MyMenuItem, name='my_item')
# In a browser view, render menu
# menu.getMenuItems(context, request) returns list of items
Errors
Common errors & fixes
ModuleNotFoundError: No module named 'zope.browsermenu.menu'
Installing an older version that does not have the submodule menu; or incorrect package name.
fixpip install zope.browsermenu==6.0 (ensure version 6.0 is installed).
AttributeError: module 'zope.browsermenu' has no attribute 'BrowserMenu'
Attempting to import BrowserMenu from the package root instead of submodule.
fixUse 'from zope.browsermenu.menu import BrowserMenu'.
Upgrade
Version history
6.0latest on PyPI · released Sep 12, 2025
Audit
Dependencies
zope.interfacerequiredInterface definitions for menu components
zope.componentrequiredComponent architecture for menu registration
zope.publisherrequiredBrowser request and view integration
zope.traversingrequiredTraversal for menu resolution
zope.browserpagerequiredBrowser page rendering support