SurrealDB.jl

Julia client for SurrealDB. Talks to a remote surreal server over WebSocket or HTTP, or runs the database in-process via libsurreal. Same API regardless of backend. Default wire is CBOR.

Install

using Pkg
Pkg.add(url="https://github.com/danvinci/surrealdb", rev="v0.2.0-alpha.1")

Status: alpha (pre-1.0).

Guide

  • Record IDsRecordID(t, i), rid"t:i" macro, StringRecordID
  • Wire format — CBOR + JSON, typed round-trips, NONE / NULL
  • Authentication — root / namespace / scoped, refresh tokens, state replay
  • Live queries — subscriptions, reconnect handling, server-initiated KILLED
  • Transactions — v2 RPC, v3 SurrealQL, session variables
  • Reconnect — tuning, lifecycle observability
  • Errors — typed hierarchy
  • Integrations — StructTypes, Tables.jl, MetaGraphsNext
  • Debugging@debug channel, FFI errors

API Reference (Connection & Auth, Query, Live, Transactions, Types, Errors) covers every exported symbol with its docstring. GitHub repo hosts source, README, and issues.