AMSDAL Models¶
A Python ORM that goes beyond traditional data access — define models in JSON Schema or Python, connect to any database, and get migrations, validation, querysets, and a full REST API out of the box.
What It Does¶
AMSDAL Models handles the entire data layer of your application:
- Define models in JSON Schema or Python classes — your choice
- Connect to any database through AMSDAL Glue — PostgreSQL, SQLite, or multiple databases simultaneously
- Query data with a Django-inspired QuerySet API — filtering, ordering, pagination, bulk operations
- Run migrations automatically — schema changes are detected, generated, and applied
- Validate & serialize via Pydantic integration — runtime type safety for free
- Serve a REST API instantly with AMSDAL Server — auto-generated CRUD endpoints for every model
What Makes It Different¶
Built on Pydantic¶
AMSDAL Models are Pydantic models under the hood. You get full runtime validation and serialization out of the box — type coercion, custom validators, JSON Schema generation, and seamless integration with the rest of the Python ecosystem. No extra layer between your ORM and your data contracts.
Async Native¶
AMSDAL is built with async/await from the ground up. All database operations — queries, inserts, updates, migrations — support async execution natively, so you can use it with FastAPI, aiohttp, or any async framework without blocking.
Multi-Database Out of the Box¶
Most ORMs lock you into one database. AMSDAL Models connect to multiple databases simultaneously through AMSDAL Glue — SQL and NoSQL. Route different models to different backends, read from PostgreSQL, write to MongoDB, aggregate across both — same QuerySet API, no glue code.
Immutable Data History¶
Every change to your data and schemas is tracked automatically. You get a full audit trail without writing a single line of extra code — who changed what, when, and what the previous value was. Built on a Lakehouse architecture.
From Models to API in Seconds¶
Define a model, run migrations, and you have a fully-featured REST API with authentication, permissions, and OpenAPI docs. No views, no serializers, no URL routing — it just works.
When to Use It¶
- You need a backend fast — models → migrations → API → deploy, all in minutes
- You work with multiple databases — query and write across different stores with one API
- You need data history — automatic audit trail for compliance, debugging, or analytics
- You want less boilerplate — no separate serializers, views, or URL configs
Installation¶
pip install amsdal