Skip to main content
Use the upload() method to send files to Atomscale. Analysis starts as soon as data arrives, and results appear in the catalogue once the pipeline finishes.

Choose files

Collect the local file paths you want to upload. Mixing file types is fine.
files = [
    "/data/growths/2025-02-10/RHEED-stationary.mp4",
    "/data/growths/2025-02-10/RHEED-rotating.imm",
]

Supported formats

Data TypeExtensions
RHEED Video.mp4, .avi, .imm
RHEED Image.png, .jpg, .tiff
XPS.vms, .xml

Start the upload

from atomscale import Client

client = Client(api_key="YOUR_API_KEY")
client.upload(files=files)
Each file streams to the API in chunks. The method displays a progress bar for each file.

Upload from file objects

You can also pass open file handles instead of paths:
with open("/data/rheed.mp4", "rb") as f:
    client.upload(files=[f])

Mute progress bars

For non-interactive environments, pass mute_bars=True when constructing the client:
client = Client(api_key="YOUR_API_KEY", mute_bars=True)
client.upload(files=files)

Check status in the web app

Uploads immediately appear in the Atomscale UI. Analysis runs in the background, and results land in the catalogue once the pipeline finishes.

Next steps