Skip to main content

ModelVault

CI PyPI Docs

Store Pydantic models directly

Schema-first typed storage for application models. Official CPython bindings for ModelVault (PyO3).

Store dataclasses and Pydantic v2 models with validation, indexes, migrations, and single-file deployment — no low-level schema JSON required for the recommended path.

Asyncio: AsyncDatabase runs engine work on a thread pool and supports concurrent reads on one handle (await asyncio.gather(...) for many get / query calls). Writes and transactions remain exclusive. See Async policy.

Read the docs: modelvault.readthedocs.io

Why ModelVault Positioning and tradeoffs
Pydantic guide Model-first schemas
FastAPI guide Async API services with AsyncDatabase
Async policy AsyncDatabase, concurrent reads
Quickstart First insert in minutes
Why ModelVault Positioning and design goals

Install

CPython 3.9+ · stable ABI wheels (cp39-abi3)

pip install "modelvault>=0.16.0,<0.17"

Quick start (Pydantic)

from pydantic import BaseModel
import modelvault

class Book(BaseModel):
    __modelvault_primary_key__ = "title"
    title: str
    year: int

db = modelvault.Database.open_in_memory()
books = modelvault.models.collection(db, Book)
books.insert(Book(title="ModelVault", year=2020))
print(books.get("ModelVault"))
print(modelvault.__version__)

Output:

title='ModelVault' year=2020
0.16.0

Dataclass example and indexed queries: Quickstart · Python guide

FastAPI: open with await AsyncDatabase.open(...), use modelvault.models.async_collection, and async def route handlers — FastAPI guide · runnable examples/fastapi_app.

Build from source

Requires Rust, Python 3.9+, and maturin.

cd python/modelvault && maturin develop --release && pytest -q

Contributor layout: python/README.md · full pipeline: make check-full from repo root

License

MIT — LICENSE

Metadata

Release files for modelvault 0.16.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for modelvault 0.16.0
File Size Uploaded
modelvault-0.16.0.tar.gz 236.2 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for modelvault 0.16.0
File
modelvault-0.16.0-cp39-abi3-win_arm64.whl CPython 3.9 abi3 Windows ARM64 Details
modelvault-0.16.0-cp39-abi3-win_amd64.whl CPython 3.9 abi3 Windows x86-64 Details
modelvault-0.16.0-cp39-abi3-musllinux_1_2_x86_64.whl CPython 3.9 abi3 Linux musl 1.2+ x86-64 Details
modelvault-0.16.0-cp39-abi3-musllinux_1_2_aarch64.whl CPython 3.9 abi3 Linux musl 1.2+ ARM64 Details
modelvault-0.16.0-cp39-abi3-manylinux_2_28_aarch64.whl CPython 3.9 abi3 Linux glibc 2.28+ ARM64 Details
modelvault-0.16.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.9 abi3 Linux glibc 2.17+ x86-64 Details
modelvault-0.16.0-cp39-abi3-macosx_11_0_arm64.whl CPython 3.9 abi3 macOS 11.0+ ARM64 Details
modelvault-0.16.0-cp39-abi3-macosx_10_12_x86_64.whl CPython 3.9 abi3 macOS 10.12+ x86-64 Details

Total release size: 17.7 MB

Release files / modelvault-0.16.0.tar.gz

Download URL modelvault-0.16.0.tar.gz
Size 236.2 kB
Tags Source
SHA-256 checksum
How to use checksums
aa8378dbb9f6beffa76ae8cbbfacf549486d0e195a72e28ca299b737cc839eef
BLAKE2b-256 checksum
How to use checksums
8ac8e2d64e9d80040efd1e01fe25ef121f5faa473ce40631c34dbe4e66c1f271
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.12.3

Release files / modelvault-0.16.0-cp39-abi3-win_arm64.whl

Download URL modelvault-0.16.0-cp39-abi3-win_arm64.whl
Size 1.9 MB
Tags CPython 3.9 Windows ARM64 abi3
SHA-256 checksum
How to use checksums
7b3defb3ce620039e63eef90bb7973d727b42ab8e3bc8303490429f9bc32c96b
BLAKE2b-256 checksum
How to use checksums
a944352248e4a1723994dd3b6ccd1306b74b3c6c2bd5b8e02c66572626e5ae66
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.11.9

Release files / modelvault-0.16.0-cp39-abi3-win_amd64.whl

Download URL modelvault-0.16.0-cp39-abi3-win_amd64.whl
Size 2.1 MB
Tags CPython 3.9 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
95e42e53aba0de5c8f798863ab25a3271ef8405c51728a15399977e39a187a66
BLAKE2b-256 checksum
How to use checksums
0a29e250a6edd613451c680dbf20ddcbe528c68762d369f0f5bf3ac31090796a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.13

Release files / modelvault-0.16.0-cp39-abi3-musllinux_1_2_x86_64.whl

Download URL modelvault-0.16.0-cp39-abi3-musllinux_1_2_x86_64.whl
Size 2.1 MB
Tags CPython 3.9 Linux musl 1.2+ x86-64 abi3
SHA-256 checksum
How to use checksums
1b2b65d4017f83675f9c1a8c0c9b9e8e1ea541526776e57c6e698e81f677b4a2
BLAKE2b-256 checksum
How to use checksums
49eda8c0b32454e5a315e55ad3f3b70671b9f66495915d658419aa8484c46cd7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.25

Release files / modelvault-0.16.0-cp39-abi3-musllinux_1_2_aarch64.whl

Download URL modelvault-0.16.0-cp39-abi3-musllinux_1_2_aarch64.whl
Size 2.0 MB
Tags CPython 3.9 Linux musl 1.2+ ARM64 abi3
SHA-256 checksum
How to use checksums
5cafa8505f9c0e4d15eaa43e320430c688551968bbe8cfe7510d2c9f63afab68
BLAKE2b-256 checksum
How to use checksums
c9e996e0a637d080419b221e63a4ee393d18aaef3b9132bcecfaa528b5c6f55f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.9.25

Release files / modelvault-0.16.0-cp39-abi3-manylinux_2_28_aarch64.whl

Download URL modelvault-0.16.0-cp39-abi3-manylinux_2_28_aarch64.whl
Size 2.5 MB
Tags CPython 3.9 Linux glibc 2.28+ ARM64 abi3
SHA-256 checksum
How to use checksums
55f1e962e785da4c896b15476897f81b300d7147f6d5b51f6666497c5d8d3674
BLAKE2b-256 checksum
How to use checksums
35a30042eb943d36b449d45b2d617ec02db11459328f4111a48683c2965331dd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.12.3

Release files / modelvault-0.16.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL modelvault-0.16.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 2.4 MB
Tags CPython 3.9 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
1245e57151e7508606fd34e4d8510a460c1f3810157c09a4449936cf3a798bde
BLAKE2b-256 checksum
How to use checksums
d04427fcfc8ac0536e0a20cc8bb9ee01a87063b2ff2cef43d916f48bfa171f4f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.12.3

Release files / modelvault-0.16.0-cp39-abi3-macosx_11_0_arm64.whl

Download URL modelvault-0.16.0-cp39-abi3-macosx_11_0_arm64.whl
Size 2.2 MB
Tags CPython 3.9 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
ec12950aa612690991692d7973e74f4e15bbb3f8d67e92d11532eb436d42f39d
BLAKE2b-256 checksum
How to use checksums
75ec2a83eca634b8576494a9aa795d8da6b204003ebf17e63d44f33ef368c4e0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.14.5

Release files / modelvault-0.16.0-cp39-abi3-macosx_10_12_x86_64.whl

Download URL modelvault-0.16.0-cp39-abi3-macosx_10_12_x86_64.whl
Size 2.3 MB
Tags CPython 3.9 abi3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
a0a33a00387d2bf41c8aa69532a4669275614ba758decd502f5d6ec0f417442d
BLAKE2b-256 checksum
How to use checksums
a9212ce73f22e30413f9167324e5e61bcad4dd7a50b038c2b08c3aa0150774e8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.14.5

Release history Release notifications | RSS feed

This release

0.16.0 This release

9 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page