Install & Compatibility
Where this runs
tested against v? · pip install
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
build_error
glibcpy 3.10–3.95 runs
build_error
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
app_manager
✓ from ryu.base import app_manager
✗ import app_manager
Ryu is not installed as top-level modules; always import from 'ryu' package.
set_ev_cls
✓ from ryu.controller.handler import set_ev_cls
✗ from ryu.base.handler import set_ev_cls
set_ev_cls is in the controller.handler module, not base.
A minimal Ryu application that responds to switch connection events.
from ryu.base import app_manager
from ryu.controller import ofp_event
from ryu.controller.handler import MAIN_DISPATCHER, set_ev_cls
from ryu.ofproto import ofproto_v1_3
class MyController(app_manager.RyuApp):
OFP_VERSIONS = [ofproto_v1_3.OFP_VERSION]
@set_ev_cls(ofp_event.EventOFPSwitchFeatures, MAIN_DISPATCHER)
def switch_features_handler(self, ev):
datapath = ev.msg.datapath
ofproto = datapath.ofproto
parser = datapath.ofproto_parser
print(f"Switch connected: {datapath.id}")
ryu-manager --version
Upgrade
Version history
4.34latest on PyPI · released May 27, 2020
Audit
Dependencies
eventletrequiredRequired for asynchronous I/O and hub.
routesrequiredRequired for URL routing in REST API.