Skip to content

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.