Skip to content

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

License

Notifications You must be signed in to change notification settings

applied-knowledge-systems/atomic-data-rust

 
 

Repository files navigation

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.

crates.io

Status: Beta. Status specifies which features are stable. 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 (less than 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.
  • 📚 Libraries: Javascript / Typescript, React, Svelte Powered by Rust, atomic-lib and more. → Read more
Atomic.Data.Screencap.mp4

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

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

  • Atomic-Data-Browser, an in-browser app for viewing and editing atomic data. Also contains a typescript / react front-end library. Will replace most of the html templating in this project.
  • The Docs, a book containing detailed documentation of Atomic Data.
  • RayCast extension for searching stuff
  • Newsletter
  • Discord

Contribute

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

About

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

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Rust 93.6%
  • TypeScript 4.7%
  • HTML 1.5%
  • Earthly 0.2%