
## Run Asset Export Basic app

URL: https://docs.atlan.com/product/capabilities/build-apps/sdks/python/apps/utilities/asset-export-basic

> Export assets, glossaries, and data products out of Atlan to a file—as a download, by email, or to object storage—using the Python SDK.

<!--vale off-->

# Run Asset Export Basic app 

<!--vale on-->

You can use the Asset Export Basic app to export assets—and optionally glossaries and data products—out of Atlan to a file, delivered as a download in Atlan, by email, or to object storage (S3, GCS, or ADLS). This guide shows how to configure and run the app with the Python SDK (`pyatlan`).

Unlike a connector, this app doesn't crawl a source or create new assets—it reads existing metadata and writes a file, so a run leaves your catalog unchanged.

## Prerequisites

Before you begin:

- Make sure the **Asset Export Basic** app is available on your tenant's marketplace. If you can't see it, [raise a support request](https://docs.atlan.com/support/submit-request) to have it enabled.
- [Set up the Python SDK](https://docs.atlan.com/llms/platform/python/set-up-sdk/llms.txt) and configure `ATLAN_BASE_URL` and `ATLAN_API_KEY`.
- Only for **object storage** delivery, have credentials ready for the target S3, GCS, or ADLS bucket. Download and email delivery need no additional credentials.

## Configure app workflow

Build the workflow with the `CsaUberAssetExportBasic` builder—each method maps to a field in the app's setup form.

1. Create the builder with an authenticated client and choose what to export:

 ```python showLineNumbers title="Choose what to export"
 from pyatlan.client.atlan import AtlanClient
 from pyatlan.model.apps import CsaUberAssetExportBasic

 client = AtlanClient()

 export = (
 CsaUberAssetExportBasic(client)
 .export_scope("ENRICHED_ONLY") # ENRICHED_ONLY | ALL | GLOSSARIES_ONLY | PRODUCTS_ONLY
 .qualified_name_prefix_for_assets("default/snowflake/1234567890")
 .include_description(True)
 .include_glossaries(True)
 .include_data_products(True)
 .include_archived(False)
 )
 ```

 - **Export scope** selects `ENRICHED_ONLY` (assets enriched by users) or `ALL` (every asset under the prefix); use `GLOSSARIES_ONLY` or `PRODUCTS_ONLY` to scope to those.
 - **Qualified name prefix** is the starting `qualifiedName` that selects which assets to export.

2. Choose how to deliver the export:

 - **Download** (kept in Atlan, on the Runs tab):

 ```python
 export = export.export_via("DIRECT")
 ```

 - **Email** (sent as an attachment; addresses are comma-separated):

 ```python
 export = export.export_via("EMAIL").recipient_email_addresses("jane@example.com,john@example.com")
 ```

 - **Object storage** (upload to S3, GCS, or ADLS). Provide the credential and target connection, then use `CLOUD` delivery. The raw secret is vaulted server-side before the run:

 ```python
 export = (
 export.s3(username="••••••", password="••••••", region="us-east-1", s3_bucket="my-bucket")
 .connection(name="my-export-target", admin_users=["jdoe"])
 .export_via("CLOUD")
 )
 # Use .gcs(...) or .adls(...) for Google Cloud Storage or Azure Data Lake Storage.
 ```

## Run app workflow

Submit the run with a unique name:

```python showLineNumbers title="Run the export"
response = export.run(name="my asset export")
print(response.slug, response.run_id)
```

`.run(...)` creates the workflow and submits a run; use `.create(...)` to create it without running.

:::warning[`run` is create-or-reuse by name]
If a workflow with the same `name` already exists, `.run(...)` returns the existing one **without** submitting a new run, so `run_id` is `None`. Use a unique name each time to force a fresh run.
:::

## Validate results

After the run starts:

- **Download**: open the app's **Runs** tab in Atlan and download the generated file from the completed run.
- **Email**: check the recipient inboxes for the export attachment.
- **Object storage**: confirm the file was uploaded to the target bucket.

To check run status programmatically, pass `response.run_id` to `client.app.get_run(...)`.

## Need help

If the app isn't available on your tenant or a run fails, contact Atlan Support by [submitting a request](https://docs.atlan.com/support/submit-request).

## See also

- [Asset export (basic) reference](https://docs.atlan.com/llms/governance/data-products/asset-export-basic/llms.txt): complete configuration reference for the app's fields and output options.
- [Manage apps](https://docs.atlan.com/llms/platform/python/manage-apps/llms.txt): create, list, re-run, schedule, and delete app workflows.

---
