Metadata-Version: 2.4
Name: seriousdb
Version: 0.2.2
Summary: A seriously simple key-value database
Author-email: Daniel Hirsch <contact@hirschdaniel.com>
License-Expression: MIT
Project-URL: Homepage, https://github.com/danieldeer/seriousdb
Project-URL: Repository, https://github.com/danieldeer/seriousdb
Project-URL: Documentation, https://github.com/danieldeer/seriousdb/tree/main/docs
Keywords: database,key-value,storage
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: python-dotenv>=1.0
Dynamic: license-file

![seriousdb logo](https://i.imgur.com/ztPW7ZI.png)

# seriousdb - A seriously simple database

<div align="center">

[![Tests](https://github.com/danieldeer/seriousdb/actions/workflows/tests.yml/badge.svg)](https://github.com/danieldeer/seriousdb/actions/workflows/tests.yml)
[![Lint](https://github.com/danieldeer/seriousdb/actions/workflows/lint.yml/badge.svg)](https://github.com/danieldeer/seriousdb/actions/workflows/lint.yml)
[![Typecheck](https://github.com/danieldeer/seriousdb/actions/workflows/typecheck.yml/badge.svg)](https://github.com/danieldeer/seriousdb/actions/workflows/typecheck.yml)
[![Version](https://img.shields.io/badge/dynamic/regex?url=https%3A%2F%2Fraw.githubusercontent.com%2Fdanieldeer%2Fseriousdb%2Fmain%2FVERSION&search=(.%2B)&label=version)](https://github.com/danieldeer/seriousdb/blob/main/VERSION)
[![Python](https://img.shields.io/badge/python-3.11%2B-blue)](https://github.com/danieldeer/seriousdb)
[![License](https://img.shields.io/github/license/danieldeer/seriousdb)](https://github.com/danieldeer/seriousdb/blob/main/LICENSE)
[![Stars](https://img.shields.io/github/stars/danieldeer/seriousdb)](https://github.com/danieldeer/seriousdb/stargazers)
[![Forks](https://img.shields.io/github/forks/danieldeer/seriousdb)](https://github.com/danieldeer/seriousdb/network/members)
[![Open Source](https://img.shields.io/badge/Open%20Source-%E2%9D%A4-blueviolet?logo=github)](https://github.com/danieldeer/seriousdb)

</div>

`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](docs/).

## Quick Start

### Use as a Python library

Install with pip:

```bash
pip install seriousdb
```

Or add it to a uv project:

```bash
uv add seriousdb
```

Then use it directly from your Python project:

```python
import seriousdb

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

The database is loaded on first use. See the [API
reference](docs/reference/generated/seriousdb.api.md) for supported operations
and [persistence](docs/persistence.md) 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:

```bash
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](docs/reference/index.md)
- [Architecture](docs/architecture.md)
- [Development guide](docs/development.md)
- [Persistence](docs/persistence.md)
- [Contributing](docs/contributing.md)
- [Testing](docs/testing.md)
- [Project configuration](docs/configuration.md)
- [Changelog](CHANGELOG.md)

## License

This project is licensed under the [MIT License](LICENSE).
