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.pyfileRequired
main.pyfileApplication entry point that initializes and runs the app
README.mdfileRequired
README.mdfileApplication documentation with setup and usage instructions
.env.examplefileRequired
.env.examplefileTemplate for environment variables configuration
DockerfilefileRequired
DockerfilefileDocker image build instructions
app/directoryRequired
app/directoryCore application logic and business rules
app/activities.pyfileRequired
app/activities.pyfileActivity implementations for workflow steps
app/workflows.pyfileRequired
app/workflows.pyfileWorkflow definitions and orchestration
app/client.pyfileOptional
app/client.pyfileExternal client implementations for APIs
app/handler.pyfileOptional
app/handler.pyfileRequest handlers and API endpoints for web interfaces
app/models.pyfileOptional
app/models.pyfileData models and schemas for your application
app/transformer.pyfileOptional
app/transformer.pyfileData transformation logic and utilities
frontend/directoryOptional
frontend/directoryWeb interface components and assets
See also
- Application architecture: Technical deep dive into application architecture and components
- Build your first app: Step-by-step guide to creating an application with the standard structure
- Sample apps: Explore real application examples with complete folder structures