Skip to content

atomicdata-dev/atomic-data-rust

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

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. 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 (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

  • 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.