/atomic-data-rust

Create, share, fetch and model Atomic Data! This project consists of a graph database + server, a CLI and a rust library.

Primary LanguageRustMIT LicenseMIT

atomic data rust logo

Discord chat MIT licensed github

Create, share, fetch and model Atomic Data! This repo consists of three components: A library, a server and a CLI.

atomic-server

crates.io

Status: Beta. Breaking changes are expected until 1.0.

Atomic-server is a graph database server for storing and sharing Atomic Data. Demo on atomicdata.dev

  • 🚀 Fast (1ms median response time on my laptop), powered by actix-web and sled
  • 🪶 Lightweight (8MB download, no runtime dependencies)
  • 💻 Runs everywhere (linux, windows, mac, arm)
  • ⚛️ Dynamic schema validation / type checking using Atomic Schema.
  • 🌐 Embedded server with support for HTTP / HTTPS / HTTP2.0 and Built-in LetsEncrypt handshake.
  • 🎛️ Browser GUI included powered by atomic-data-browser. Features dynamic forms, tables, authentication, theming and more.
  • 💾 Event-sourced versioning / history powered by Atomic Commits
  • 🔄 Synchronization using websockets: communicates state changes with a client.
  • 🧰 Many serialization options: to JSON, JSON-AD, and various Linked Data / RDF formats (RDF/XML, N-Triples / Turtle / JSON-LD).
  • 🔎 Full-text search with fuzzy search and various operators, often <3ms responses. Powered by tantivy.
  • 📖 Pagination, sorting and filtering queries using Atomic Collections.
  • 🔐 Authorization (read / write permissions) and Hierarchical structures powered by Atomic Hierarchy
  • 📲 Invite and sharing system with Atomic Invites
  • 📂 File management: Upload, download and preview attachments.
  • 🖥️ Desktop app: Easy desktop installation, with status bar icon, powered by tauri.

Powered by Rust, atomic-lib and more. → Read more

Atomic.Data.Screencap.mp4

atomic-cli

crates.io

A simple Command Line Interface tool to fetch, create and query Atomic Data. Especially useful for interacting with an atomic-server.

→ Read more

atomic-lib

crates.io Released API docs

A Rust library to serialize, parse, store, convert, validate, edit, fetch and store Atomic Data. Powers both atomic-cli and atomic-server.

→ Read more

Also check out

Contribute

Issues and PR's are welcome! And join our Discord! Read more in the Contributors guide.