pyvalon
Python library for configuring Valon Synthesizer devices. Supports V5015, V5007, and V5008. The V5007/V5008 protocol implementation is a Python port of ValonSynth.
This repo is shipped as part of the
eigsep-field release and pinned
in its manifest.toml.
Install
pip install pyvalon
Or from a checkout, for development:
git clone https://github.com/EIGSEP/pyvalon
cd pyvalon
pip install -e .[dev]
Python API
from pyvalon import V5008
synth = V5008("/dev/ttyUSB0", baud=9600)
synth.SetRefSelect("external")
synth.SetFreq("A", 500.0) # MHz
synth.SetRFLevel("A", 5) # dBm
synth.Flash() # persist to NVM
synth.close()
V5007 and V5015 have analogous interfaces.
Command-line tools
Installing the package puts two console scripts on your PATH.
V5007 / V5008 — v5008
v5008 [--dev DEV] [--baud BAUD] [--synth {A,B}] [--freq FREQ]
[--amp {-4,-1,2,5}] [--ref {external,internal}] [--label [LABEL]]
[--status] [--flash] [--eigsep]
V5015 — v5015
v5015 [--dev DEV] [--baud BAUD] [--freq FREQ] [--amp AMP] [--ref REF]
[--rfout RFOUT] [--pwr PWR] [--v]
Run either with -h for full argument help.
EIGSEP defaults
The V5008 CLI ships with an --eigsep shortcut that applies the
experiment's standard configuration in one shot: external reference,
synth A at 500 MHz, synth B at 250 MHz, 5 dBm output on both, then
flashes to non-volatile memory:
v5008 --dev /dev/ttyUSB0 --eigsep
The defaults live in EIGSEP_DEFAULTS at the top of pyvalon.v5008 —
edit there if the field configuration changes.
Development
pip install -e .[dev]
pytest
Releases are managed by
release-please: merging
conventional-commit PRs to master opens a release PR that bumps the
version in pyproject.toml and .release-please-manifest.json, and
publishes to PyPI once merged.
Metadata
Release files for pyvalon 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pyvalon-0.1.1.tar.gz | 12.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pyvalon-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 23.2 kB
Release files / pyvalon-0.1.1.tar.gz
| Download URL | pyvalon-0.1.1.tar.gz |
|---|---|
| Size | 12.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4f140f3ceef8089ba53c3065bb94404b02d7effd441535b28da54fca91ab1e52
|
|
BLAKE2b-256 checksum How to use checksums |
edc0d8e2323b965ff1de510c94363ab62f3832bad394abd2bf9524662a9a0693
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.11.16 {"installer":{"name":"uv","version":"0.11.16","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / pyvalon-0.1.1-py3-none-any.whl
| Download URL | pyvalon-0.1.1-py3-none-any.whl |
|---|---|
| Size | 11.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
eea211735e13d102d7a3f45fd39d8cd48c0f5bd554d22f83795bd5d3281688c6
|
|
BLAKE2b-256 checksum How to use checksums |
c7e14f96843170bdcfa465eac6cb2f8ea8661c9c9338d00819a347331c53ace5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.11.16 {"installer":{"name":"uv","version":"0.11.16","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|