Start Here
New developer path: mental model, first script and where to go next.
Open Start HereIn-memory relational objects for Python
Define tables, columns, primary keys, foreign keys, joins, group-by queries, indexes, encrypted columns, persistence files and SQL exports directly in Python.

from relpy import RelPy, AutoNumber, col
db = RelPy()
db.create_table("users")
db.add_column("users", "id", AutoNumber, is_primary_key=True)
db.add_column("users", "name", str, nullable=False)
alice = db.insert("users", {"name": "Alice"})
db.insert_many("users", [{"name": "Bob"}, {"name": "Carol"}])
print(db.query("users").where(col("name") == "Alice").to_list())New developer path: mental model, first script and where to go next.
Open Start HereBuild a small shop database with joins, grouping, indexes, persistence and encryption.
Open TutorialEvery public function, signature, return value and usage note in one place.
Open Function Referencerows = (
db.query("orders")
.join("users")
.where(col("orders.status") == "paid")
.select("orders.id", "users.name", "orders.amount")
.to_list()
)SELECT orders.id, users.name, orders.amount
FROM orders
JOIN users ON users.id = orders.user_id
WHERE orders.status = 'paid';Start here
RelPyDB ships with a quickstart, a full tutorial, topic docs for every feature, and a searchable API reference. All pages include runnable examples and SQL comparisons.
Copyable patterns for insert, insert_many, joins, grouping, exports, persistence and encryption.
Understand when to use RelPyDB, pandas, SQLite, DuckDB or SQLAlchemy.
Use RelPyDB with loops, functions, tests, pandas, NumPy, JSON and dataclasses.
Learn table, column and primary-key row exports for every export function.
Review every supported subject: schema, keys, joins, exports, encryption, persistence, errors, rollback and performance.
Understand where it fits compared to dictionaries, pandas, SQLite and ORMs.
See every main public function with inputs, outputs, imports, examples and usage notes.