This is a python module for using a NanoVNA.
✅ Supporting almost all NanoVNAs.
📶 Run single sweeps of s11 & s21 data.
🔄 Stream continuous sweeps.
🛠️ Calibrate your NanoVNA.
📊 Interactive, real-time plots of data.
📁 Record to CSV files.
Install with pip install pynanovna
.
import pynanovna
vna = pynanovna.VNA()
vna.set_sweep(1.0e9, 1.4e9, 101)
stream = vna.stream()
for s11, s21, frequencies in stream:
print(s11, s21, frequencies)
See examples/example.py
for a more detailed example on some use cases of the project.
See examples/example_calibration.py
for details on how to calibrate you NanoVNA.
API Reference is available at pynanovna.readthedocs.io
If you use pynanovna in your research or project, please cite it as follows:
BibTeX
@software{pynanovna,
author = {PICC-Group, Teo Bergkvist},
title = {pynanovna: A Python Module for NanoVNA},
year = {2024},
url = {https://github.com/PICC-Group/pynanovna},
version = {1.0.0},
doi = {10.5281/zenodo.14231111},
}
pynanovna is under GNU General Public License.
If you want to contribute to pynanovna, please create a pull request and assign to:
If you have a feature you think is missing and want implemented, create an issue with the enhancement
label, describing clearly the feature.
Originally this was the fork nanovna-saver-headless from nanovna-saver but when that project no longer shared much code with the original we decided to create a new project.