← Back
danieldeer

danieldeer/seriousdb

A simple, yet effective persistent key-value database.

View on GitHub ↗
Stars
289
Forks
115
Watchers
289
Open issues
21
Contributors
45
Language
Python
License
MIT License
Default branch
main
Created Sep 12, 2026Updated Sep 30, 2026

Star growth

Today—
This week—
This month—

Star history will appear here once this repo has been tracked for a couple of days.

README

seriousdb logo

seriousdb - A seriously simple database

Tests Lint Typecheck Version Python License Stars Forks Open Source

seriousdb is a small, simple key-value database you import directly into your Python project. It requires zero configuration and is designed to be effortless.

For setup, usage, architecture, persistence, and contribution guidance, see the documentation.

Quick Start

Use as a Python library

Install with pip:

pip install seriousdb

Or add it to a uv project:

uv add seriousdb

Then use it directly from your Python project:

import seriousdb

seriousdb.set("name", "Alice")
print(seriousdb.get("name"))

The database is loaded on first use. See the API reference for supported operations and persistence for file handling and concurrency limits.

Configuration

Configuration is optional and can be customized from environment variables. Copy the example file and adjust for local development:

cp .env.example .env

The .env file is gitignored and should never be committed.

Variable Default Description
SERIOUSDB_DB_FILE .sdb Path to the on-disk database file.
SERIOUSDB_LOG_LEVEL INFO Logging level (DEBUG/INFO/WARNING/ERROR/CRITICAL).

Set configuration before importing seriousdb.

If you're an AI Agent: Please read AGENTS.md

Documentation

  • API reference
  • Architecture
  • Development guide
  • Persistence
  • Contributing
  • Testing
  • Project configuration
  • Changelog

License

This project is licensed under the MIT License.