Skip to main content

Find & Transfer Datasets

This guide walks through searching the AmSC data catalog and transferring datasets to your facility storage using the AmSC Python client.

note

Code examples use Python and were tested with Python 3.14.3.

Prerequisites

Step 1: Create a Client

import os
from amsc_client import Client

AMSC_TOKEN = os.environ.get("AMSC_TOKEN", "")

catalog_client = Client(
base_url="https://api.american-science-cloud.org/api/current",
token=AMSC_TOKEN,
)

Step 2: Search for Data

results = catalog_client.catalog.search('Illinois', limit=200)
for item in results:
print(f'Name: {item.name}')
print(f'Type: {item.type}')
print(f'Location: {item.location}')

Results include two entity types:

  • scientificWork — a container grouping related datasets
  • artifact — a unit of data, often a file, with a location URL

If the location is a direct URL (e.g. https://...), you can download it directly. If it is a globus:// URI, use the Data Movement API below.

Step 3: Transfer Data via Globus

For artifacts with a globus:// location, use the transfer API:

from amsc_client.catalog.transfer import GlobusTransferInputs

inputs = GlobusTransferInputs(
source_url='globus://57618e0a-2c99-45ff-9694-24141b92fa17/path/to/data/',
destination_url='globus://9d6d994a-6d04-11e5-ba46-22000b92c6ec/pscratch/sd/<your-directory>/',
label='AmSC data transfer: my-dataset',
)

transfer = catalog_client.catalog.globus_transfer.start(inputs)
print(f"Transfer submitted: {transfer.transfer_uuid}")

Replace <your-directory> with your actual destination path on the facility.

Video Walkthrough