Home · Install · Docs · Examples · Source · Support · About



scikit-rf (aka skrf) is an Open Source, BSD-licensed package for RF/Microwave engineering implemented in the Python programming language. It provides a modern, object-oriented library which is both flexible and scalable. See some of the features below and check out the Documentation or Examples for a more in-depth look at scikit-rf.

Getting Started

Plot touchstone data on a smith chart, in 3 lines.

import skrf as rf
ntwk = rf.Network('ring slot.s2p')

For more information, tutorials, and

examples, see the Documentation

Some Examples


  • Read/Write touchstone (.s2p, s?p) files

  • Basic algebraic operations on networks’ scattering parameters

  • Cascade/De-embed 2-port networks

  • Connect n-port networks

  • Plot network parameter data [s, y, z] in ( dB, Phase, Smith chart, ...)

  • Save plots in vector format for publication (a feature of matplotlib)

  • 1-port calibration:
    • SOL
    • Least Squares (any number of standards)
    • SDDL
  • 2-port calibration:
    • SOLT
    • Unknown Thru
    • General 8-term
    • TRL ( partial support only)
    • Enhanced Response
  • Inegrated VNA virtual instruments (completeness varies by model)
    • PNA, PNAX
    • ZVA
    • HP8510, HP8720
  • Circuit synthesis

  • Transmission line models


  • For questions about usage, suggestions, general feedback please see the Mailing List
  • If you find a problem in scikit-rf, please post an issue to the Issue Tracker
  • Still need help? Contact me at alexanderarsenovic at gmail.com