USNAN Python SDK/Examples

From Network for Advanced NMR
Revision as of 17:42, 7 October 2025 by Mmaciejewski (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search
USNAN Python SDK Navigation

Examples

Example 1: Facility Summary

import usnan
client = usnan.USNANClient()

for fac in client.facilities.list():
    print(f"Facility: {fac.long_name}")
    for spec in fac.spectrometers:
        print(f"  - {spec.name} ({spec.field_strength_mhz} MHz)")

Example 2: Search for 2D KnowledgeBase Datasets

search = (
    usnan.models.SearchConfig(records=25)
      .add_filter("is_knowledgebase", value=True, match_mode="equals")
      .add_filter("num_dimension", value=2, match_mode="equals")
)

for ds in client.datasets.search(search):
    print(ds.id, ds.title)

Example 3: Download One Dataset

ds = next(client.datasets.search(search))
client.datasets.download([ds.id], location="downloads/")

Example 4: Clear Cache and Handle Errors

try:
    client.datasets.get("not-an-int")
except TypeError as e:
    print("Caught:", e)

client.clear_cache()