Skip to main content
The atomscale Python SDK provides programmatic access to the Atomscale platform, enabling you to upload data, search the catalogue, retrieve analysis results, and stream RHEED video in real time.

Features

  • Upload files - Send RHEED videos, images, XPS, photoluminescence, and Raman data for automated analysis
  • Search the catalogue - Query your data with filters for type, status, date ranges, and keywords
  • Retrieve results - Access time series data, extracted frames, pattern graphs, and processed videos
  • Organize by sample and project - Group data across runs and align timeseries from multiple instruments
  • Stream data - Push RHEED frames and instrument readings for live analysis
  • Poll updates - Monitor streaming analysis with synchronous or async polling utilities

Quick example

from atomscale import Client

client = Client()  # Uses AS_API_KEY environment variable

# Search for recent uploads
results = client.search(keywords="GaN", status="success")
print(results[["Data ID", "Status", "Sample Name"]])

# Get analysis for the first result
data_id = results["Data ID"].iloc[0]
analysed = client.get(data_id)

# Access time series data
timeseries = analysed[0].timeseries_data
print(timeseries.tail())

Installation

pip install atomscale
Requires Python 3.10 through 3.12.

Next steps

Quickstart

Install the SDK and create your first client.

Upload Data

Send files to Atomscale for analysis.

Search Data

Find items in your data catalogue.

Inspect Results

Work with analysis outputs.

Samples & Projects

Group data and align timeseries across instruments.

Stream RHEED

Push frames from your instrument in real time.

Stream Metrology

Push instrument readings for real-time tracking.

Poll Time Series

Monitor streaming analysis updates.

API reference

Client Reference

Full Client class documentation.

Streaming Reference

RHEEDStreamer and TimeseriesStreamer documentation.