AMSDAL Framework¶
AMSDAL Framework is a Python SDK and ecosystem for rapidly building, deploying, and managing data applications. Define your models, get a production-ready REST API, deploy to the cloud — all in minutes, not weeks.
Why AMSDAL?¶
Most data applications share the same core needs: data modeling, an API layer, authentication, migrations, and deployment. AMSDAL bundles all of these into a single cohesive SDK so you can focus on your domain logic instead of gluing together dozens of libraries.
From zero to deployed API in 3 commands:
pip install amsdal[cli]
amsdal new --models-format py MyApp ./my_app
amsdal cloud deploys new
Use Cases¶
Internal Tools & Admin Panels¶
Need a backend for an internal dashboard? Define your models, and AMSDAL gives you a full REST API with authentication, permissions, and an out-of-the-box Data Management Console — no frontend code required for basic CRUD operations.
AI-Powered Data Apps via MCP¶
Install the amsdal_ml plugin and your AMSDAL server becomes an MCP server that ChatGPT, Claude Desktop, or any MCP-compatible client can connect to. The plugin automatically mounts at /mcp and exposes tools for discovering models, reading schemas, and performing CRUD operations — all with built-in permission enforcement.
- Import data from files — drop an Excel spreadsheet into the chat and say "import this into my app". The AI discovers your models via
list_available_models, reads their schemas and relationships, maps columns to fields, and creates records in the right tables — with a confirmation step before writing anything. - Query data in natural language — ask "show me all bookings for next week grouped by property" and get structured results in tables, JSON, or whatever format you need. No SQL, no code.
- Manage your app through conversation — create records, update data, run transactions. The two-step confirmation flow ensures nothing is written without your approval.
Multi-Database Analytics Platforms¶
Using AMSDAL Glue under the hood, your application can connect to PostgreSQL, SQLite, and other data stores simultaneously. Write queries once, run them across any backend — ideal for data warehousing, ETL pipelines, and cross-database reporting.
Rapid Prototyping & MVPs¶
Go from idea to working backend in minutes. Define models in JSON Schema or Python, auto-generate migrations, serve the API, and deploy — all without writing boilerplate. When requirements evolve, add custom transactions, hooks, and plugins without rewriting your foundation.
Event-Driven Microservices¶
Use lifecycle events and the plugin system to build event-driven architectures. Plugins can react to server startup, authentication, permission checks, and data changes — making it straightforward to integrate notifications (amsdal_mail), file storage (amsdal_storages), or any custom business logic.
What's in the SDK¶
Models (ORM)¶
Define your data models using JSON Schema or Python classes:
- Immutable data history — automatic tracking of schema and object changes via an integrated Lakehouse
- Multi-database support — connect to any data store through the AMSDAL Glue ETL layer
- QuerySets — a familiar, Django-inspired API for filtering, ordering, and aggregating data
- Migrations — automatic schema migration generation and application
- Validation & Serialization — built on Pydantic for runtime type safety
- Hooks & Modifiers — lifecycle hooks and data modifiers for custom business logic
- Transactions — define and execute complex multi-step operations
Server (REST API)¶
Automatically serve a fully-featured REST API from your models:
- Auto-generated endpoints — CRUD operations for every model out of the box
- Authentication & Permissions — built-in auth plugin with JWT support
- OpenAPI documentation — auto-generated Swagger UI
CLI & Cloud¶
A powerful developer tool for the full development lifecycle:
- Project scaffolding —
amsdal newcreates a ready-to-run project - Code generation — generate models, transactions, and plugins
- Migrations management — create and apply schema migrations
- Cloud deployment — deploy to AMSDAL Cloud with a single command
Plugins & Extensions¶
Extend the framework with built-in or custom plugins:
- Built-in plugins — authentication, frontend config
- Official plugins — email (amsdal_mail), storage (amsdal_storages), LangGraph (amsdal_langgraph)
- Custom plugins — create your own using the AppConfig system and Lifecycle events
Installation¶
pip install amsdal[cli]
This installs the framework with CLI tooling. To create a new project:
amsdal new MyApp ./my_app