# Atlan Application SDK
[![CI](https://github.com/atlanhq/application-sdk/actions/workflows/pull_request.yaml/badge.svg)](https://github.com/atlanhq/application-sdk/actions/workflows/pull_request.yaml) [![Conformance](https://github.com/atlanhq/application-sdk/actions/workflows/conformance.yaml/badge.svg)](https://github.com/atlanhq/application-sdk/actions/workflows/conformance.yaml) [![PyPI version](https://img.shields.io/pypi/v/atlan-application-sdk.svg)](https://pypi.org/project/atlan-application-sdk/)
[![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/atlanhq/application-sdk)

The Atlan Application SDK is a Python library designed for building applications on the Atlan platform. It offers a full PaaS (Platform-as-a-Service) toolkit — from local development to deployment and partner collaboration — so you can create integrations and tools that seamlessly extend the Atlan experience for our mutual customers.


## Usage

Install `atlan-application-sdk` as a dependency in your project:

- Using uv (recommended):
```bash
uv add atlan-application-sdk
```

- Using pip:
```bash
pip install atlan-application-sdk
```

> [!TIP]
> **Example apps built with the Application SDK:**
> - [Hello World](https://github.com/atlanhq/atlan-hello-world-app) — reference app for [tutorial](https://docs.atlan.com/product/capabilities/build-apps/tutorials)
> - [OpenAPI Spec Loader](https://github.com/atlanhq/atlan-openapi-app) — loads assets from an OpenAPI spec into Atlan
> - [MySQL](https://github.com/atlanhq/atlan-mysql-app) — MySQL metadata crawler
> - [Metabase](https://github.com/atlanhq/atlan-metabase-app) — Metabase metadata crawler

## Getting Started

- Want to develop locally or run examples from this repository? Check out our [Getting Started Guide](docs/guides/getting-started.md) for a step-by-step walkthrough!
- Detailed documentation for the application-sdk is available at [docs](https://github.com/atlanhq/application-sdk/blob/main/docs/) folder.

## 🐳 Docker

### Pre-built Base Image (Harbor)

The `app-runtime-base` image provides the runtime environment (Python, Dapr, OS packages) for Atlan apps. It does **not** include the SDK itself — install `atlan-application-sdk` via pip/uv in your app's Dockerfile.

Images are published to Harbor on every [release](https://github.com/atlanhq/application-sdk/releases):

```bash
# Major-version alias — tracks the latest v3.x release (recommended for app Dockerfiles)
docker pull registry.atlan.com/public/app-runtime-base:3

# Minor-version alias (always points to the latest patch release)
docker pull registry.atlan.com/public/app-runtime-base:3.3

# Specific version (pinned, fully reproducible)
docker pull registry.atlan.com/public/app-runtime-base:3.3.0

# Immutable commit-pinned tag
docker pull registry.atlan.com/public/app-runtime-base:sha-49c027f
```

Every release also publishes the **same digest** to GHCR at `ghcr.io/atlanhq/app-runtime-base`, with the same tag ladder. That mirror exists for Atlan's own app CI — GHCR pulls from GitHub-hosted runners avoid the S3 egress that a Harbor pull incurs — and is byte-identical to the Harbor image for a given tag.

> [!NOTE]
> Use `registry.atlan.com/public/app-runtime-base` in app Dockerfiles: it is the reference for external/partner and tenant use. The GHCR mirror above is for internal CI. Separately, push-to-`main` builds go to `ghcr.io/atlanhq/app-runtime-base-main:sha-<sha7>` (note the `-main` suffix — a different package) and are unversioned dev images, for internal development only.

## Contributing

- We welcome contributions! Please see our [Contributing Guide](https://github.com/atlanhq/application-sdk/blob/main/CONTRIBUTING.md) for guidelines.

## Partner Collaboration

- For information on how to collaborate with Atlan on app development and integrations, please see our [Partner Journey Guide](https://docs.atlan.com/product/capabilities/build-apps/partner-with-us/concepts/partner-journey).

## Need help?
We’re here whenever you need us:

- Issues: [GitHub Issues](https://github.com/atlanhq/application-sdk/issues)


## Security

Have you discovered a vulnerability or have concerns about the SDK? Please read our [SECURITY.md](https://github.com/atlanhq/application-sdk/blob/main/SECURITY.md) document for guidance on responsible disclosure, or please e-mail security@atlan.com and we will respond promptly.

## License and Attribution

- This project is licensed under the Apache License 2.0 - see the [LICENSE](https://github.com/atlanhq/application-sdk/blob/main/LICENSE) file for details.
- This project includes dependencies with various open-source licenses. See the [NOTICE](https://github.com/atlanhq/application-sdk/blob/main/NOTICE) file for third-party attributions.
