scikit-rf with CloudSprite¶
CloudSprite stores measurements and publishes results. scikit-rf is the library you use when you need a full skrf.Network — mixed-mode conversion, cascading, Touchstone write-out. Hosted script runs pin scikit-rf 1.11.0. Use the same version on your laptop so numbers match.
This page is CloudSprite’s bridge. It is not a snapshot of the scikit-rf manual.
Install the extra¶
pip install "cloudsprite[rf] @ https://cloudsprite-sdk-dist.s3.us-east-2.amazonaws.com/sdk/0.1.2/cloudsprite-0.1.2-py3-none-any.whl"
Without [rf], to_network() tells you to install that extra. Do not pip install scikit-rf at a different version next to the CloudSprite extra if you care about matching the hosted runner.
Trace → Network → publish¶
import cloudsprite as cs
cs.connect()
cs.set_org("acme")
cs.set_team("rf-lab")
cs.set_project("cable-qual")
ds = cs.projects["cable-qual"].datasets["sweep-25c"]
s21 = ds.traces["S21"]
network = s21.to_trace().to_network() # skrf.Network
# ... convert, cascade, or resample in scikit-rf ...
cs.publish(traces=[s21], name="s21-from-network")
Publish the traces the team will plot as a new dataset in the same project. Do not treat a local .s2p on disk as the record of record unless you also upload it.
When you need the Network¶
- Mixed-mode conversion from port-pair S2Ps (confirm the P/N map first; see Mixed-mode port mapping).
- Cascading or de-embedding.
- Writing a Touchstone for a tool that will not read CloudSprite traces.
When you only need x/y overlays or a Pearson QC pass, stay on CloudSprite traces.
What not to do¶
- Do not rely on scikit-rf behavior from a different version than the pinned 1.11.0 — check the scikit-rf documentation for that version.
- Do not mix dB and linear when you convert. scikit-rf Networks are complex-linear.
- Do not publish into a project you have not
set_project’d.