For basic app search and details, see Apps. This page covers advanced patterns.
Working with App Data as DataFrames¶
from dapi import DSClient
import pandas as pd
ds = DSClient()
all_apps = ds.apps.find("", verbose=False)
app_data = []
for app in all_apps:
app_data.append(
{
"id": app.id,
"version": app.version,
"owner": app.owner,
"execution_system": getattr(app.jobAttributes, "execSystemId", "N/A"),
"max_minutes": getattr(app.jobAttributes, "maxMinutes", "N/A"),
"cores_per_node": getattr(app.jobAttributes, "coresPerNode", "N/A"),
}
)
apps_df = pd.DataFrame(app_data)
print(apps_df.head())Accessing the Raw Tapis Client¶
If you need Tapis APIs not wrapped by dapi, use the underlying client:
tapis_client = ds.tapis
# Get raw app details
raw_app = tapis_client.apps.getApp(appId="opensees-express")
# List apps with custom parameters
raw_apps = tapis_client.apps.getApps(search="*mpm*", listType="ALL")
# Access other Tapis services
systems = tapis_client.systems.getSystems()Use ds.tapis when you need advanced search parameters, experimental Tapis features, or APIs not yet exposed by dapi.