Skip to content

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.

PyPI - Version PyPI - Python Version

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

Learn more about Models →

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

Learn more about Server →

CLI & Cloud

A powerful developer tool for the full development lifecycle:

  • Project scaffoldingamsdal new creates 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

Learn more about CLI →

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

Learn more about Plugins →

Installation

pip install amsdal[cli]

This installs the framework with CLI tooling. To create a new project:

amsdal new MyApp ./my_app