skillfed

os-ken

A component-based software defined networking framework for OpenStack

os-ken v4.2.1 141.1K downloads/30d#11,253 on PyPI
Permissive license Apache-2.0 Active released

What it is and what it does

os-ken is a fork of the Ryu SDN framework adapted for OpenStack Neutron. It provides a Python-based platform for building OpenFlow controllers that can manage and monitor network switches and devices programmatically. The framework is component-based, meaning you build applications by extending base classes and registering event handlers for network events like switch connections and packet arrivals.

The package sits at the intersection of network infrastructure and application logic—it handles the low-level OpenFlow protocol details (via dependencies like ncclient and msgpack) while exposing a higher-level event-driven API. It's designed for operators and developers working within OpenStack environments who need to implement custom network policies, traffic engineering, or monitoring on top of their SDN infrastructure.

Use it for:

  • Build custom OpenFlow controllers to manage network traffic policies in OpenStack deployments.
  • Monitor and react to network events (switch joins, packet arrivals) in a programmatic way.
  • Implement network slicing or traffic engineering logic on top of OpenFlow switches.
  • Prototype and test SDN applications in OpenStack lab or production environments.
  • Integrate network control logic directly into OpenStack Neutron workflows.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

os-ken is a component-based software defined networking framework for OpenStack that enables programmatic control and monitoring of network switches and devices through OpenFlow protocols.

Yes, if you are working within an OpenStack environment and need to build or extend SDN applications. The package is actively maintained, has low install friction, carries a permissive license, and has no known vulnerabilities. It is not a general-purpose networking library—it is specifically tailored for OpenStack Neutron and OpenFlow-based infrastructure, so install it only if that matches your deployment model.

Install

os-ken on PyPI

pip

pip install os-ken

uv

uv add os-ken

poetry

poetry add os-ken

Installing os-ken

Before you install

Low install friction with a pure-Python wheel distribution. Active maintenance status with a recent release within 63 days. Ten runtime dependencies including eventlet, msgpack, and ncclient provide the networking and async foundations the framework needs.

License in practice

Apache License 2.0 (permissive) allows use in commercial and proprietary projects with minimal restrictions; you must retain license notices and disclaim warranties.

Quickstart

pip install os-ken

from os_ken.base import app_manager
from os_ken.controller import ofp_event
from os_ken.ofproto import ofproto_v1_3

class SimpleSwitch(app_manager.RyuApp):
    OFP_VERSIONS = [ofproto_v1_3.OFP_VERSION]

Requires Python 3.10 or later; intended for OpenStack deployments or environments with OpenFlow-capable network hardware or simulators.

Verify before relying

  • Whether the package works with specific OpenFlow versions beyond what the classifiers indicate.
  • Performance characteristics and scalability limits for large network topologies.
  • Integration requirements and compatibility with specific OpenStack releases.

Package facts

License Apache-2.0 (permissive)
Python support supports the current Python release (>=3.10)
Install friction low — pure-Python wheel
Runtime dependencies 10 — pbr, eventlet, msgpack, ncclient, netaddr, oslo.config, ovs, packaging, Routes, WebOb
Maintenance actively maintained — 63 days since the last release
First released
Downloads 141,065/month — #11,253 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: os_ken-4.2.1-py3-none-any.whl

Environment :: OpenStackIntended Audience :: Information TechnologyIntended Audience :: System AdministratorsLicense :: OSI Approved :: Apache Software LicenseOperating System :: POSIX :: LinuxProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: Implementation :: CPython

Tags

software defined networking frameworkopenflow controlleropenstack network controlsdn framework pythonnetwork switch programmingopenstack neutron networkingprogrammable network devices
openflowsdnopenstack

More Networking packages