Skip to main content

In-memory SQLAlchemy 2.0 dialect for blazing‑fast prototyping.

Project description

sqlalchemy-memory

PyPI - Version CI Documentation PyPI - Downloads

In‑memory SQLAlchemy 2.0 dialect for blazing‑fast prototyping

A pure‑Python SQLAlchemy 2.0 dialect that runs entirely in RAM. It avoids typical database I/O and ORM overhead while maintaining full compatibility with the SQLAlchemy 2.0 Core and ORM APIs. Ideal for rapid prototyping, backtesting engines, simulations.

Why ?

This project was inspired by the idea of building a fast, introspectable, no-dependency backend for SQLAlchemy.

It is useful for:

  • Prototyping new applications

  • Educational purposes

  • Testing ORM logic without spinning up a real database engine

Unlike traditional in-memory solutions like SQLite, sqlalchemy-memory fully avoids serialization, connection pooling, and driver overhead, leading to much faster in-memory performance while keeping the familiar SQLAlchemy API.

It is also perfect for applications that need a lightweight, high-performance store compatible with SQLAlchemy, such as backtesting engines, simulators, or other tools where you don't want to maintain a separate in-memory layer alongside your database models.

Data is kept purely in RAM and is volatile: it is not persisted across application restarts and is cleared when the engine is disposed.

Features

  • SQLAlchemy 2.0 support: ORM & Core expressions, sync & async modes
  • Zero I/O overhead: pure in‑RAM storage (dict/list under the hood)
  • Commit/rollback support
  • Index support: indexes are recognized and used for faster lookups
  • Lazy query evaluation: supports generator pipelines and short-circuiting
    • first()-style queries avoid scanning the full dataset
    • Optimized for read-heavy workloads and streaming filters

Benchmark

Curious how sqlalchemy-memory stacks up?

View Benchmark Results comparing sqlalchemy-memory to in-memory SQLite

Installation

pip install sqlalchemy-memory

Documentation

See the official documentation for usage examples

Testing

Simply run make tests

License

This project is licensed under the MIT License. See LICENSE for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sqlalchemy_memory-0.4.0.tar.gz (23.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sqlalchemy_memory-0.4.0-py3-none-any.whl (21.0 kB view details)

Uploaded Python 3

File details

Details for the file sqlalchemy_memory-0.4.0.tar.gz.

File metadata

  • Download URL: sqlalchemy_memory-0.4.0.tar.gz
  • Upload date:
  • Size: 23.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for sqlalchemy_memory-0.4.0.tar.gz
Algorithm Hash digest
SHA256 d0e1e4199d84a440d516aa2a23ad5271658b7de19c3a6e3dd19f25df3bef9c0a
MD5 2a96f7c40bc5ffc586c397abd2dd6219
BLAKE2b-256 ec326421a518c5e9bde10f1002df82b624f32112f51b474b04b3075fb02111bf

See more details on using hashes here.

File details

Details for the file sqlalchemy_memory-0.4.0-py3-none-any.whl.

File metadata

File hashes

Hashes for sqlalchemy_memory-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8960324ab3a52e40b258ffb74e577a9e7d029c48846e90e806ddf419f91536bc
MD5 b3ad46ae7dd049934cd9f7313af84a5e
BLAKE2b-256 2ab9f4ad379eb3b083f2dfce8d5eab155c6cd50b2043463b5d7d44a69dc81334

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page