mcpField
S
surrealdb-python

surrealdb-python

github.com/surrealdb数据与数据库28432 次安装4 周前更新
代码仓库

关于 surrealdb-python

surrealdb-python 是用于操作 SurrealDB 的 Python SDK,支持连接服务端,也可在进程内嵌入运行,并使用内存或文件存储。

主要功能

  1. 01同步与异步客户端
  2. 02通过 WebSocket 连接服务端
  3. 03嵌入式内存数据库
  4. 04嵌入式文件持久化

适用场景

  1. 01让 Python 应用连接 SurrealDB 服务端
  2. 02在 Python 进程内运行 SurrealDB
  3. 03将嵌入式数据库数据持久化到文件

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/surrealdb/agent-skills --skill surrealdb-python

安装后在 Claude Code 中输入/surrealdb-python确认已加载。

附带文件references/embedded.md

详细介绍

SurrealDB Python SDK

运行 SurrealDB(服务端模式)

使用 RocksDB 持久化数据:

surreal start -u root -p root rocksdb:database

内存模式:

surreal start -u root -p root

客户端/服务端模式

使用 Surreal 上下文管理器通过 WebSocket 连接:

from surrealdb import Surreal

with Surreal("ws://localhost:8000/rpc") as db:
    db.signin({"username": "root", "password": "root"})
    db.use("namespace_test", "database_test")

    db.create(
        "person",
        {
            "user": "me",
            "password": "safe",
            "marketing": True,
            "tags": ["python", "documentation"],
        },
    )

    print(db.select("person"))

    print(db.update("person", {
        "user": "you",
        "password": "very_safe",
        "marketing": False,
        "tags": ["Awesome"],
    }))

    print(db.delete("person"))

    db.query("""
    insert into person {
        user: 'me',
        password: 'very_safe',
        tags: ['python', 'documentation']
    };
    """)

    print(db.query("select * from person"))

    print(db.query("""
    update person content {
        user: 'you',
        password: 'more_safe',
        tags: ['awesome']
    };
    """))

    print(db.query("delete person"))

嵌入式模式

直接在 Python 进程中运行 SurrealDB,无需服务。

  • 内存模式:Surreal("mem://") / AsyncSurreal("mem://")
  • 基于文件的持久化:Surreal(f"file://{db_path}") / AsyncSurreal(f"file://{db_path}")

请参阅 references/embedded.md,了解一个使用基于文件持久化的完整异步示例。

评论

支持 Markdown