Registry / web-framework / zope-browsermenu

zope-browsermenu

JSON →
library6.0pypypi✓ verified 68d ago

Browser menu implementation for Zope (version 6.0). Provides a framework for defining and rendering browser menus registered via ZCML. Used primarily in Zope-based web applications. Release cadence is low, with occasional major version bumps.

pip install zope.browsermenu
INSTALL
IMPORT
SIG · ZOPE-BROWSERMENU
Z
zope-browsermenu
web-frameworkpythonv6.0
Install
4.4s avg
Import
363ms
Disk
39MB
Pass rate
10/ 10
Env Coverage10 / 10
glibc
3.93.13
musl
3.93.13
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
musl
py 3.103.95 runs
installs and imports cleanly · install 0.0s · import 0.382s · 36.2MB
glibc
py 3.103.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
Debug
Known issues
breakingIn version 6.0, dropped support for Python versions below 3.9. Must upgrade Python runtime.
fix
Upgrade Python to 3.9+ and update zope.browsermenu to 6.0.
affects: <6.0
gotchaImporting BrowserMenu directly from the package root (zope.browsermenu) will fail. Must import from submodule zope.browsermenu.menu.
fix
Use 'from zope.browsermenu.menu import BrowserMenu' instead.
affects: >=6.0
deprecatedThe old import path from zope.browsermenu.actions is deprecated and may be removed in a future version.
fix
Use zope.browsermenu.menu for menu classes and zope.browsermenu.interfaces for interfaces.
affects: >=6.0
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.
fix
pip 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.
fix
Use '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
Agent activity
24 hits · last 30 days
node
22
Amazon
1
Resources
zope-browsermenu — pip install zope-browsermenu · libregistry