surrealdb-python について
surrealdb-pythonはSurrealDBを扱うPython SDKです。サーバー接続に加え、インメモリまたはファイル保存でプロセス内に組み込んで実行できます。
主な機能
- 01同期・非同期クライアント
- 02WebSocketによるサーバー接続
- 03組み込みインメモリデータベース
- 04組み込みファイル永続化
活用シーン
- 01PythonアプリケーションからSurrealDBサーバーへ接続
- 02Pythonプロセス内でSurrealDBを実行
- 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 対応