awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
tonsky avatar

tonsky/datascript

0
View on GitHub↗

Datascript

Datascript is an immutable, in-memory state store and schema-based triple store. It manages application state as a versioned database, storing data as immutable facts consisting of an entity, attribute, value, and transaction.

The project provides a logic engine for executing Datalog queries with support for implicit joins, recursive rules, and negation. It also features a declarative pull API for retrieving deeply nested entity graphs and related data structures.

The database enforces data integrity through schema-driven constraints and attribute types. It supports atomic transactions, pluggable storage protocols for persistence, and B-tree attribute indexing to optimize lookups.

The system is designed for use within Clojure, ClojureScript, and JavaScript environments.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Features

  • Triple Stores - Implements a schema-based triple store using an EAVT model for flexible data representation.
  • Logic-Based Relational Querying - Provides a logic-based relational query engine using Datalog paradigms for Clojure and JavaScript environments.
  • Triple Stores - Implements a schema-based triple store using an EAVT model to manage immutable facts.
  • Nested Entity Retrieval - Extracts related data using a pull API that supports recursive exploration of entity graphs.
  • Application State Management - Provides centralized application state management using an immutable in-memory data store.
  • Schema-Enforced Triple Stores - Combines a triple store architecture with schema-driven constraints to ensure data integrity and optimize indexing.
  • Declarative Pull APIs - Provides a declarative pull API for retrieving deeply nested entity graphs and related data.
  • In-Memory Data Stores - Provides a high-performance in-memory data store for managing ephemeral application state.
  • In-Memory State Stores - Maintains application state in an immutable in-memory store to ensure low-latency interaction.
  • Logic Query Engines - Provides a logic query engine using Datalog to resolve complex data relationships through recursive rules and negation.
  • Entity Graph Fetching - Implements a declarative pull API to retrieve deeply nested entity graphs and related data structures.
  • Datalog Recursive Rules - Uses a Datalog engine to execute complex lookups including recursive rules and transitive closures.
  • Complex Search Querying - Supports advanced querying of application state using negation, disjunction, and recursive rules.
  • Graph Pull APIs - Offers a declarative pull API for extracting deeply nested entity graphs and customized result shapes.
  • Immutable Data Storage - Treats data as immutable values to create new database versions while preserving older ones.
  • Datomic-Style Immutable Stores - Implements a Datomic-style immutable store allowing for time-travel queries and consistent state snapshots.
  • EAVT Triple Stores - Implements a versioned database using an immutable EAVT (Entity-Attribute-Value-Transaction) triple store model.
  • Transactional State Versioning - Treats all data changes as additive to maintain a history of database snapshots via transactional state versioning.
  • Schema-Based Data Models - Enforces data integrity and lookup performance via schema-driven attribute types and unique identity constraints.
  • Atomic Transaction Execution - Supports grouping database updates into atomic transactions to ensure data consistency.
  • Database Schema Constraints - Enforces data integrity and lookup performance through defined attribute types and unique identity constraints.
  • Schema Querying - Allows finding entities that match specific attribute configurations by treating the schema definition as a queryable collection.
  • Database Transactions - Updates database state through atomic transactions supporting upserts and custom functions.
  • Custom Storage Implementations - Provides a protocol to route database reads and writes to custom external storage backends.
  • Pluggable Storage Engines - Decouples the in-memory database from the persistence layer through a pluggable storage engine interface.
  • B-Tree - Implements B-Tree attribute indexing to optimize value lookups and range queries within the state store.
  • B+ Tree Indexing - Utilizes B-tree indexing to speed up attribute lookups and range queries.
  • Incremental State Persistence - Minimizes storage overhead by persisting only modified portions of the database to the backend.
  • JavaScript Interoperability - Integrates with JavaScript engines to allow queries and transactions using standard arrays and objects.
  • Schema-Driven Validations - Validates data integrity and optimizes indexing by applying attribute types and uniqueness rules during transactions.
  • State Evolution Tracking - Records database changes to enable rewinding state and maintaining consistent snapshots.
  • Databases and Persistence - In-memory database and Datalog query engine.
  • Databases & Data - Immutable in-memory database with Datalog query capabilities.
5,767 stars·317 forks·Clojure·EPL-1.0·21 views

Star history

Star history chart for tonsky/datascriptStar history chart for tonsky/datascript

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

Frequently asked questions

What does tonsky/datascript do?

Datascript is an immutable, in-memory state store and schema-based triple store. It manages application state as a versioned database, storing data as immutable facts consisting of an entity, attribute, value, and transaction.

What are the main features of tonsky/datascript?

The main features of tonsky/datascript are: Triple Stores, Logic-Based Relational Querying, Nested Entity Retrieval, Application State Management, Schema-Enforced Triple Stores, Declarative Pull APIs, In-Memory Data Stores, In-Memory State Stores.

Which projects share features with tonsky/datascript?

Projects with overlapping indexed features include: cozodb/cozo — Cozo is a logic-based database engine that functions as a relational data store, an embedded graph database, and a… tporadowski/redis — Redis is a high-performance in-memory key-value store that functions as a distributed cache, message broker, and NoSQL… tinyplex/tinybase — TinyBase is a reactive data store and in-memory relational database designed for client-side state persistence. It… pubkey/rxdb — This project is a reactive, offline-first NoSQL database engine designed for JavaScript applications. It provides a… mystenlabs/sui — Sui is a blockchain platform featuring an object-centric state model and resource-oriented smart contracts. It… typedb/typedb — TypeDB is a strongly-typed graph database and knowledge graph management system. It serves as a multi-model data store…

Projects sharing features with Datascript

These projects share indexed features with Datascript. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • cozodb/cozocozodb avatar

    cozodb/cozo

    4,143View on GitHub↗

    Cozo is a logic-based database engine that functions as a relational data store, an embedded graph database, and a temporal vector database. It utilizes a Datalog-inspired query language to execute relational, recursive, and graph queries. The system distinguishes itself through specialized indexing for high-dimensional vector similarity searches and near-duplicate detection using locality sensitive hashing. It also provides built-in temporal versioning, allowing for historical state retrieval and time-travel queries to access data as it existed at specific points in time. Its broader capabi

    Rustclient-servercozocozoscript
    View on GitHub↗4,143
  • tporadowski/redistporadowski avatar

    tporadowski/redis

    9,987View on GitHub↗

    Redis is a high-performance in-memory key-value store that functions as a distributed cache, message broker, and NoSQL database. It provides sub-millisecond read and write access to data stored in RAM and can operate as a vector database for indexing high-dimensional embeddings. The system supports a wide range of data storage and synchronization primitives, including the management of strings, hashes, lists, sets, and JSON documents. It enables real-time data operations through atomic transactions, hybrid persistence using snapshots and append-only logs, and high-availability configurations

    Credisredis-for-windowsredis-msi-installer
    View on GitHub↗9,987
  • tinyplex/tinybasetinyplex avatar

    tinyplex/tinybase

    5,110View on GitHub↗

    TinyBase is a reactive data store and in-memory relational database designed for client-side state persistence. It serves as a local-first sync engine that merges distributed state using conflict-free replicated data types and logical clocks to ensure deterministic data convergence. The project features a schema validation library that converts external definitions from tools like Zod, Yup, and TypeBox into type-safe store definitions. It provides an infrastructure for real-time collaborative editing, utilizing synchronization with Automerge, Yjs, and PartyKit to maintain consistent state acr

    TypeScriptdatajavascriptreact
    View on GitHub↗5,110
  • pubkey/rxdbpubkey avatar

    pubkey/rxdb

    23,048View on GitHub↗

    This project is a reactive, offline-first NoSQL database engine designed for JavaScript applications. It provides a robust framework for managing application state by synchronizing data across browsers, mobile devices, and server-side runtimes. By treating local storage as the primary source of truth, it enables applications to remain functional without network connectivity, automatically reconciling changes with remote backends once a connection is restored. The database distinguishes itself through a modular architecture that supports cross-environment synchronization and high-performance d

    TypeScriptangularbrowser-databasecouchdb
    View on GitHub↗23,048
Compare all 30 related projects→