Skip to main content

App structure

The Atlan Apps Framework provides a standardized folder structure for applications to maintain consistency, modularity, and clear organization across all applications.

Standard structure

Each application follows this standardized folder structure:

📦 your_application/
├── 📄 main.py # Application entry point
├── 📄 README.md # Application documentation
├── 📄 .env.example # Environment variables template
├── 📄 Dockerfile # Docker image build instructions
├── 📁 app/ # Core application logic
│ ├── 📄 activity.py # Activity implementations
│ ├── 📄 workflows.py # Workflow definitions
│ ├── 📄 client.py # External client implementations (optional)
│ ├── 📄 handler.py # Request handlers and API endpoints (optional)
│ ├── 📄 models.py # Data models and schemas (optional)
│ └── 📄 transformer.py # Data transformation logic (optional)
└── 📁 frontend/ # Web interface (optional)

Examples

The following examples show how the standard structure is applied in real applications:

MySQL connector structure
📦 mysql/
├── 📄 main.py
├── 📄 README.md
├── 📄 pyproject.toml
├── 📄 Dockerfile
├── 📁 app/
│ ├── 📁 sql/
│ ├── 📄 activities.py
│ ├── 📄 clients.py
│ ├── 📄 transformer.py
│ └── 📄 workflows.py
├── 📁 components/
├── 📁 frontend/
├── 📁 local/
└── 📁 models/

This connector includes app/clients.py for database connections and app/transformer.py for metadata transformation.

Utilities application structure
📦 workflows_observability/
├── 📁 app/
│ ├── 📄 activities.py
│ ├── 📄 helpers.py
│ └── 📄 workflow.py
├── 📁 frontend/
│ ├── 📁 static/
│ └── 📁 templates/
├── 📁 local/
├── 📄 Dockerfile
├── 📄 main.py
├── 📄 pyproject.toml
└── 📄 README.md

This utility application includes a frontend/ directory for web interface components and uses app/helpers.py for shared utility functions.

Components

The following components define the standard application structure. Required components must be present in all applications, while optional components can be added based on your application's needs.

main.pyfile
Required

Application entry point that initializes and runs the app

README.mdfile
Required

Application documentation with setup and usage instructions

.env.examplefile
Required

Template for environment variables configuration

Dockerfilefile
Required

Docker image build instructions

app/directory
Required

Core application logic and business rules

app/activities.pyfile
Required

Activity implementations for workflow steps

app/workflows.pyfile
Required

Workflow definitions and orchestration

app/client.pyfile
Optional

External client implementations for APIs

app/handler.pyfile
Optional

Request handlers and API endpoints for web interfaces

app/models.pyfile
Optional

Data models and schemas for your application

app/transformer.pyfile
Optional

Data transformation logic and utilities

frontend/directory
Optional

Web interface components and assets

See also