Immutable

Top 23 Immutable Open-Source Projects

  • Immer

    Create the next immutable state by mutating the current one

  • Project mention: Immer VS mutative - a user suggested alternative | libhunt.com/r/immer | 2024-01-25
  • immudb

    immudb - immutable database based on zero trust, SQL/Key-Value/Document model, tamperproof, data change history

  • Project mention: Ask HN: What is your experience of tamper proof systems? | news.ycombinator.com | 2024-01-05
  • SurveyJS

    Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.

    SurveyJS logo
  • react-tetris

    Use React, Redux, Immutable to code Tetris. 🎮

  • dinero.js

    Create, calculate, and format money in JavaScript and TypeScript.

  • easy-peasy

    Vegetarian friendly state for React

  • pepperoni-app-kit

    Pepperoni - React Native App Starter Kit for Android and iOS

  • terminusdb

    TerminusDB is a distributed database with a collaboration model

  • Project mention: Ask HN: What is new in Algorithms / Data Structures these days? | news.ycombinator.com | 2023-05-10

    How about some succinct data structures and delta encoding for modern databases [1]. Succinct data structures are a family of data structures which are close in size to the information theoretic minimum representation (while still being queryable).

    [1] https://github.com/terminusdb/terminusdb/blob/dev/docs/white...

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • proposal-record-tuple

    ECMAScript proposal for the Record and Tuple value types. | Stage 2: it will change!

  • Project mention: Union, intersection, difference, and more are coming to JavaScript Sets | news.ycombinator.com | 2024-02-19

    relevant issue, which is at the crux of this problem: https://github.com/tc39/proposal-record-tuple/issues/387

  • immer

    Postmodern immutable and persistent data structures for C++ — value semantics at scale (by arximboldi)

  • Project mention: Text Editor Data Structures: Rethinking Undo | news.ycombinator.com | 2023-12-11

    I've been working on an editor (not text) in C++ and pretty early got into undo/redo. I went down the route of doIt/undoIt for commands but that quickly got old. There was both the extra work needed to implement undo separately for every operation, but also the nagging feeling that the undo operation for some operation wasn't implemented correctly.

    In the end, I switched to representing the entire document state using persistent data structures (using the immer library). This vastly simplified things and implementing undo/redo becomes absolutely trivial when using persistent data structures. It's probably not something that is suitable for all domains, but worth checking out.

    https://github.com/arximboldi/immer

  • Pyrsistent

    Persistent/Immutable/Functional data structures for Python

  • js-joda

    :clock2: Immutable date and time library for javascript

  • Project mention: Everything you need to know about Date in Programming | dev.to | 2023-10-28

    js-joda

  • mutative

    Efficient immutable updates, 2-6x faster than naive handcrafted reducer, and more than 10x faster than Immer.

  • Project mention: Mutative 1.0 – A New Era in Efficient Immutable Updates | news.ycombinator.com | 2024-01-31

    The readme explains how Mutative achieves better performance over Immer: https://github.com/unadlib/mutative#readme

  • concent

    A reactive atomic state engine for React like.

  • Project mention: Focusing on optimization, surpassing immer, limu finally reaches the top of immutable data performance | dev.to | 2024-01-06

    helux A state engine that integrates atom, signal, and dependency tracking, and supports fine-grained response updates

  • kotlinx.collections.immutable

    Immutable persistent collections for Kotlin

  • Project mention: Is there a way to atomically add to a list and return its index? | /r/Kotlin | 2023-12-08

    In Clojure, it is called an Atom. I created my own via AtomicReference and https://github.com/Kotlin/kotlinx.collections.immutable. It works really well in Kotlin. It works especially well if you use tons of coroutines.

  • kairos

    :penguin: The immutable Linux meta-distribution for edge Kubernetes.

  • Project mention: K3s – Lightweight Kubernetes | news.ycombinator.com | 2023-10-11

    I've been eyeing Kairos [1] which is an OS lifecycle management system for k3s which looks like a nice way to deploy k3s.

    [1]: https://github.com/kairos-io/kairos

  • partial.lenses

    Partial lenses is a comprehensive, high-performance optics library for JavaScript

  • BQN

    An APL-like programming language. Self-hosted!

  • Project mention: Bare minimum atw-style K interpreter for learning purposes | news.ycombinator.com | 2024-01-17

    I recommend checking BQN at https://mlochbaum.github.io/BQN/ and the YouTube channel code_report by Conor Hoekstra (and also "Composition Intuition by Conor Hoekstra | Lambda Days 2023"). It is well documented.

  • collection

    A (memory) friendly, easy, lazy and modular collection class. (by loophp)

  • Project mention: Experimenting around FP in PHP | dev.to | 2023-12-18
  • optics-ts

    Type-safe, ergonomic, polymorphic optics for TypeScript

  • jimmer

    A revolutionary ORM framework for both java and kotlin.

  • nft.storage

    😋 Free decentralized storage and bandwidth for NFTs on IPFS and Filecoin.

  • Project mention: I Moved My Blog from IPFS to a Server | news.ycombinator.com | 2024-01-31

    That flagship app you are looking for seems to be https://nft.storage/ (by Protocol Labs).

  • Koazee

    A StreamLike, Immutable, Lazy Loading and smart Golang Library to deal with slices.

  • ewig

    The eternal text editor — Didactic Ersatz Emacs to show immutable data-structures and the single-atom architecture

  • Project mention: Text Editor Data Structures | news.ycombinator.com | 2023-06-13

    You might be interested in ewig and immer by Juan Pedro Bolivar Puente:

    https://github.com/arximboldi/ewig

    https://github.com/arximboldi/immer

    See the author instantly opening a ~1GB text file with async loading, paging through, copying/pasting, and undoing/redoing in their prototype “ewig” text editor about 27 minutes into their talk here:

    https://m.youtube.com/watch?v=sPhpelUfu8Q

    It’s backed by a “vector of vectors” data structure called a relaxed radix balanced tree:

    https://infoscience.epfl.ch/record/169879/files/RMTrees.pdf

    That original paper has seen lots of attention and attempts at performance improvements, such as:

    https://hypirion.com/musings/thesis

    https://github.com/hyPiRion/c-rrb

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020).

Immutable related posts

Index

What are some of the best open-source Immutable projects? This list will help you:

Project Stars
1 Immer 26,943
2 immudb 8,486
3 react-tetris 8,079
4 dinero.js 6,184
5 easy-peasy 5,022
6 pepperoni-app-kit 4,637
7 terminusdb 2,622
8 proposal-record-tuple 2,423
9 immer 2,420
10 Pyrsistent 1,980
11 js-joda 1,586
12 mutative 1,441
13 concent 1,288
14 kotlinx.collections.immutable 1,081
15 kairos 932
16 partial.lenses 905
17 BQN 835
18 collection 704
19 optics-ts 678
20 jimmer 626
21 nft.storage 616
22 Koazee 520
23 ewig 517

Sponsored
The modern identity platform for B2B SaaS
The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
workos.com