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. Learn more →
Top 23 Immutable Open-Source Projects
-
immudb
immudb - immutable database based on zero trust, SQL/Key-Value/Document model, tamperproof, data change history
-
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.
-
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.
-
proposal-record-tuple
ECMAScript proposal for the Record and Tuple value types. | Stage 2: it will change!
-
immer
Postmodern immutable and persistent data structures for C++ — value semantics at scale (by arximboldi)
-
mutative
Efficient immutable updates, 2-6x faster than naive handcrafted reducer, and more than 10x faster than Immer.
-
nft.storage
😋 NFT.Storage Classic (classic.nft.storage) offers free decentralized storage and bandwidth for NFTs on IPFS and Filecoin. April 2024 Update: Existing NFT.Storage Classic account holders can add data through their Classic accounts. New account holders can transition to the new version at NFT.Storage that preserves data in Filecoin for a small fee.
-
ewig
The eternal text editor — Didactic Ersatz Emacs to show immutable data-structures and the single-atom architecture
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
Immer is a lightweight package that simplifies working with immutable states. Immutable data structures ensure efficient data change detection, making it easier to track modifications. Additionally, they enable cost-effective cloning by sharing unchanged parts of a data tree in memory.
Project mention: Ask HN: What is your experience of tamper proof systems? | news.ycombinator.com | 2024-01-05
Project mention: Ask HN: What is new in Algorithms / Data Structures these days? | news.ycombinator.com | 2023-05-10How 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...
Project mention: Union, intersection, difference, and more are coming to JavaScript Sets | news.ycombinator.com | 2024-02-19relevant issue, which is at the crux of this problem: https://github.com/tc39/proposal-record-tuple/issues/387
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
js-joda
Project mention: Mutative 1.0 – A New Era in Efficient Immutable Updates | news.ycombinator.com | 2024-01-31The readme explains how Mutative achieves better performance over Immer: https://github.com/unadlib/mutative#readme
Project mention: Focusing on optimization, surpassing immer, limu finally reaches the top of immutable data performance | dev.to | 2024-01-06helux A state engine that integrates atom, signal, and dependency tracking, and supports fine-grained response updates
Project mention: Is there a way to atomically add to a list and return its index? | /r/Kotlin | 2023-12-08In 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.
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
Project mention: Bare minimum atw-style K interpreter for learning purposes | news.ycombinator.com | 2024-01-17I 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.
That flagship app you are looking for seems to be https://nft.storage/ (by Protocol Labs).
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
Immutable related posts
-
Comparing React state tools: Mutative vs. Immer vs. reducers
-
Union, intersection, difference, and more are coming to JavaScript Sets
-
Mutative 1.0 – A New Era in Efficient Immutable Updates
-
Immer VS mutative - a user suggested alternative
2 projects | 25 Jan 2024 -
How to build high-performance front-end applications based on multi-processing
-
Mutative – A 10x Faster Alternative to Immer
-
The Everything NPM Package
-
A note from our sponsor - InfluxDB
www.influxdata.com | 2 May 2024
Index
What are some of the best open-source Immutable projects? This list will help you:
Project | Stars | |
---|---|---|
1 | Immer | 26,970 |
2 | immudb | 8,494 |
3 | react-tetris | 8,089 |
4 | dinero.js | 6,192 |
5 | easy-peasy | 5,023 |
6 | pepperoni-app-kit | 4,636 |
7 | terminusdb | 2,632 |
8 | proposal-record-tuple | 2,428 |
9 | immer | 2,425 |
10 | Pyrsistent | 1,983 |
11 | js-joda | 1,586 |
12 | mutative | 1,454 |
13 | concent | 1,291 |
14 | kotlinx.collections.immutable | 1,087 |
15 | kairos | 940 |
16 | partial.lenses | 905 |
17 | BQN | 839 |
18 | collection | 704 |
19 | optics-ts | 680 |
20 | jimmer | 630 |
21 | nft.storage | 617 |
22 | Koazee | 520 |
23 | ewig | 517 |
Sponsored