enso-client 0.1.2

Rust client library for connecting to and querying an Enso database over TCP.
Documentation

Enso Client

enso-client is the official Rust client library for connecting to an EnsoDB server over TCP.

It provides a simple, synchronous API for executing queries and receiving results.

⚠️ This crate is experimental and targets EnsoDB v0.1.


Features

  • TCP-based connection to EnsoDB
  • Simple execute() API
  • Text-based protocol
  • No CLI — library only

Installation

cargo add enso-client

Usage

use enso_client::Enso;
use enso_client::EnsoError;

fn main() -> Result<(), EnsoError> {
    let mut db = Enso::connect("127.0.0.1:5432")?;

    let res = db.execute("SELECT * FROM users;")?;
    println!("{}", res);

    Ok(())
}

Design Philosophy

  • Minimal API surface
  • Explicit behavior
  • Matches server protocol

This crate is intended for:

  • embedding EnsoDB in Rust apps
  • building higher-level abstractions
  • learning how DB client libraries work

Protocol Notes

  • One query per line
  • Responses may span multiple lines
  • Responses terminate with a special EOF marker

This protocol is intentionally simple and unstable for now.


License

MIT