Sample apps built using Atlan Application SDK
Each sample app is self-contained with its own dependencies and setup instructions. This makes it easy to run individual apps without installing unnecessary dependencies.
-
Clone the repository:
git clone https://github.com/atlanhq/atlan-sample-apps.git cd atlan-sample-apps -
Navigate to any sample app directory:
cd quickstart/hello_world # or any other app directory
-
Follow the app's README for specific setup: Each app has its own
README.mdwith complete setup instructions
OR
- Using Cursor IDE (v1.6+), you can use slash commands to quickly set up and run sample apps, example:
help me /setup and run the mysql /app
This will automatically handle the environment setup and app initialization for you!
Note
- Each app has its own environment variables and configuration requirements
- Always check the README.md file in each app directory for specific instructions
- When switching between apps, clear your browser cache to avoid cached static files (Cmd + Shift + R)
| Sample App | Description | Directory |
|---|---|---|
| π€ AI Giphy | An AI-powered application that allows sending GIFs via email using natural language | quickstart/ai_giphy |
| π Hello World | A basic example demonstrating the fundamental concepts of the Atlan Application SDK along with the use of both async and sync activities in a workflow. | quickstart/hello_world |
| π€‘ Giphy | An application that allows sending GIFs via email using Python and Temporal workflows | quickstart/giphy |
| π Polyglot | A demonstration app showcasing Python-Java integration using JPype for cross-language method invocation and JVM lifecycle management | quickstart/polyglot |
| ποΈ MySQL | An application that extracts metadata from a MySQL database and transforms it into a standardized format | connectors/mysql |
| π Anaplan | An application that extracts metadata from an Anaplan instance and transforms it into a standardized format. Intended as an example on how to build apps for non-sql data sources using the Application SDK | connectors/anaplan |
| π Workflows Observability | An application that retrieves and logs workflow run metadata from Atlan | utilities/workflows_observability |
| π Asset Description Reminder | An application that helps maintain data quality by reminding asset owners to add descriptions to their assets through Slack messages | utilities/asset_descriptor_reminder |
| β° Freshness Monitor | An application that monitors the freshness of assets in Atlan and sends notifications when assets become stale | utilities/freshness_monitor |
- If you use Cursor or VSCode IDE, the repository has a launch configuration setup; just update the app directory and run the launch configuration.
- For example, the configuration is defaulted to run the MySQL app, you can click on the "Run App + Deps" launch configuration to run the app along with the dependent services.
You can build Docker images for any app in this repo using the provided Dockerfile.
Copy the Dockerfile from the root directory to the app directory (example: connectors/mysql, quickstart/ai_giphy, etc.):
cp Dockerfile ./connectors/mysql/Navigate to the app directory (for example connectors/mysql, quickstart/ai_giphy, etc.):
cd connectors/mysqlFrom the app directory (for example connectors/mysql, quickstart/ai_giphy, etc.):
docker build --no-cache -f ./Dockerfile -t app-name:latest .From the app directory (for example connectors/mysql, quickstart/ai_giphy, etc.):
Note
We expect app developers to send multi-platform images to Atlan when submitting apps for release.
docker buildx build --nocache --platform linux/amd64,linux/arm64 -t app-name:latest . --pushNote
If you are using a docker driver which is not docker desktop, make sure that you create a builder and use that for the multi-platform build. You can find the instructions for the same for OrbStack here and for Colima here.
If your Temporal service is running on the host machine:
docker run -p 8000:8000 --add-host=host.docker.internal:host-gateway -e ATLAN_WORKFLOW_HOST=host.docker.internal -e ATLAN_WORKFLOW_PORT=7233 --user 1000:1000 app-nameIf your Temporal service is running elsewhere (remote server/container):
docker run -p 8000:8000 -e ATLAN_WORKFLOW_HOST=<your-temporal-host> -e ATLAN_WORKFLOW_PORT=<your-temporal-port> --user 1000:1000 app-nameReplace <your-temporal-host> and <your-temporal-port> with your actual Temporal service hostname/IP and port.
We welcome contributions! Please see our Contributing Guide for guidelines.
Get support through any of these channels:
- Email: [email protected]
- Issues: GitHub Issues
Have you discovered a vulnerability or have concerns about this repository? Please read our SECURITY.md document for guidance on responsible disclosure, or Please e-mail [email protected] and we will respond promptly.
This repository is licensed under the Apache-2.0 License.