Thank you to Alexander, the original author of scikit-rf (aka skrf) for writing in and sharing his project which he believes may be of interest to some readers. Scikit-rf is an open source, BSD-licensed RF/Microwave engineering package implemented in Python. The package can be used for simulating various RF components such as transmission lines and waveguides, as well as creating models from data measured from real components which can then be used in a simulated system.
As an example, Alexander shows how you can plot Touchstone data on a Smith chart in 3 Python lines.
> import skrf as rf
> ntwk = rf.Network('ring slot.s2p')
> ntwk.plot_s_smith()
Alexander also writes:
With skrf you can also do all your own calibrations offline, time gate when you feel like it, connect and manipulate microwave networks and plot all the results. And... you can read all the source code!, which is really important for proto-typing and research. Check out the Documentation or Examples for a more in-depth look at scikit-rf.
Here are a couple links to projects using scikit-rf
- homemade vna project, https://hforsten.com/improved-
homemade-vna.html - nanovna - https://github.com/ttrftech/
NanoVNA/blob/master/python/ NanoVNA-example.ipynb History
scikit-rf was created in 2009 by Alex Arsenovic while he was a graduate student at the University of Virginia’s millimeter wave research lab in 2009. scikit-rf is licensed under the BSD License and is currently being actively developed by a group of volunteers on Github.