Network Programming

Python provides support for Socket Programming and has libraries like Async IO, gevent, Twisted, Tornado etc. Network Applications are being developed with great features provided by Python language.


Libraries for networking programming.

  • asyncio - (Python standard library in Python 3.4+) Asynchronous I/O, event loop, coroutines and tasks.
  • Tornado - A Web framework and asynchronous networking library.
  • Twisted - An event-driven networking engine.
  • pulsar - Event-driven concurrent framework for Python.
  • diesel - Greenlet-based event I/O Framework for Python.
  • pyzmq - A Python wrapper for the ZeroMQ message library.
  • txZMQ - Twisted based wrapper for the ZeroMQ message library.

Network Virtualization and SDN

Tools and libraries for Virtual Networking and SDN (Software Defined Networking).

  • Mininet - A popular network emulator and API written in Python.
  • POX - An open source development platform for Python-based Software Defined Networking (SDN) control applications, such as OpenFlow SDN controllers.
  • Pyretic - A member of the Frenetic family of SDN programming languages that provides powerful abstractions over network switches or emulators.
  • SDX Platform - SDN based IXP implementation that leverages Mininet, POX and Pyretic.
  • Ryu - A component-based software with well defined API to create network management and control applications.


The following people helped in creating the above content.