Datasets¶
A dataset is what happened in one measurement (or one published computation). It is not “the S21 trace” — the trace is a child. The dataset holds:
- One or more files (Touchstone
.s1p–.s4p/.snp, CSV, images) - Traces parsed from those files (S11, S21, …)
- Parameters — key/value test conditions (
lot=15,temp=25,instrument=182) - Tags — team-scoped labels (
needs-review,golden)
How you meet a dataset¶
The project page leads with notebooks. Every new dataset gets a notebook automatically so you can plot it immediately. Open the dataset itself when you need files, parameters, or tags.
In the SDK:
ds = cs.projects["cable-qual"].datasets["sweep-25c"]
s21 = ds.traces["S21"]
print(ds.params)
Bracket lookup is exact. Glob works on names (datasets["sweep-*"]). Parameter filters are usually better than name globs:
matches = cs.projects["cable-qual"].datasets.filter(cs.params.lot == "15")
Parameter values are strings. Filter with "15", not 15.
Files and traces¶
Upload a Touchstone file onto the dataset and CloudSprite parses standard S-parameter traces. CSV becomes x/y traces from columns. You work with traces in notebooks and in the SDK; you download the original file when you need the vendor’s raw capture.
Large files upload in chunks. Wait for parsing to finish before you assume traces exist.
Creating datasets¶
- App: from a project, create a dataset and upload files.
- SDK: upload onto an existing dataset with
ds.upload("part.s2p"), orcs.publish(...)to create a new dataset from computed traces (see Compute and publish results).
Do not treat a published result as a second-class object. It is a dataset in the same project, with its own notebook, parameters, and (if you opted in) the script that produced it.