This is a Python module for 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.2}, doi = {10.5281/zenodo.14231110}, }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.