Skip to main content
POST
/
metrology
/
stream
/
chunk
from atomscale.streaming import TimeseriesStreamer

streamer = TimeseriesStreamer(api_key="YOUR_API_KEY", points_per_chunk=100)
streamer.push(
    data_id="d290f1ee-6c54-4b01-90e6-d701748f0851",
    chunk_index=0,
    channel_name="thickness",
    timestamps=[1705312200.0, 1705312210.0, 1705312220.0],
    values=[0, 5.2, 10.1],
    units="nm",
)
{
  "data_id": "d290f1ee-6c54-4b01-90e6-d701748f0851",
  "channel_name": "thickness",
  "chunk_index": 0,
  "total_points": 3
}
Uploads a chunk of time series data for a single channel. Uses chunk_index to compute deterministic array positions, making the operation idempotent: retrying the same (data_id, channel_name, chunk_index) combination replaces the same slice rather than appending.
data_id
string
required
Data ID returned from stream initialization
chunk_index
integer
required
Zero-based chunk index for ordering. Must be >= 0.
channel_name
string
required
Name of the data channel (e.g., thickness, temperature). Must be 1-255 characters.
timestamps
array
required
Array of Unix epoch timestamps in seconds
values
array
required
Array of measured values corresponding to each timestamp
units
string
Units for the values (e.g., nm, C)

Response

data_id
string
The data ID for this stream
channel_name
string
The channel name that was updated
chunk_index
integer
The chunk index that was ingested
total_points
integer
Total number of data points now stored for this channel
from atomscale.streaming import TimeseriesStreamer

streamer = TimeseriesStreamer(api_key="YOUR_API_KEY", points_per_chunk=100)
streamer.push(
    data_id="d290f1ee-6c54-4b01-90e6-d701748f0851",
    chunk_index=0,
    channel_name="thickness",
    timestamps=[1705312200.0, 1705312210.0, 1705312220.0],
    values=[0, 5.2, 10.1],
    units="nm",
)
{
  "data_id": "d290f1ee-6c54-4b01-90e6-d701748f0851",
  "channel_name": "thickness",
  "chunk_index": 0,
  "total_points": 3
}