SurrealDB can be run as an embedded database within your Python application, allowing you to use SurrealDB without running a separate server process. This is ideal for desktop applications, testing, local development, and edge computing scenarios.
Embedded database options
SurrealDB supports two types of embedded storage in Python:
In-memory database (
mem://ormemory) - Fastest performance with data stored in RAM. Perfect for testing, caching, or temporary data. Data is lost when the connection closes.File-based database (
file://,rocksdb://, orsurrealkv://) - Persistent storage on disk using the SurrealKV storage engine. Data persists across connections and application restarts.
Quick example
For complete documentation, installation instructions, examples, best practices, and troubleshooting, see the embedding in Python guide.