enso-client

Crates.ioenso-client
lib.rsenso-client
version0.1.2
created_at2026-01-07 16:40:01.828917+00
updated_at2026-01-07 19:50:44.349556+00
descriptionRust client library for connecting to and querying an Enso database over TCP.
homepagehttps://github.com/aether-flux/enso-client
repositoryhttps://github.com/aether-flux/enso-client
max_upload_size
id2028631
size8,580
Amartya Chowdhury (aether-flux)

documentation

https://github.com/aether-flux/enso-client#readme

README

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

Commit count: 6

cargo fmt