Skip to content

PICC-Group/pynanovna

Repository files navigation

Logo

PyPI - Version PyPI Downloads PyPI Downloads PyPI - License DOI

This is a Python module for NanoVNA.

🌟 Features

βœ… 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.

πŸ› οΈ Installation

Install with pip install pynanovna.

πŸš€ Example

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

API Reference is available at pynanovna.readthedocs.io

πŸ“– Cite This Library

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.14231111},
}

πŸ“œ Licence

pynanovna is under GNU General Public License.

Contribution and feature requests

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.

πŸ•°οΈ History

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.

⭐️ If you find pynanovna useful, please support us by starring the repository ⭐️