Content Addressible Storage
This project implements a simple and pragmatic approach to Content Addressable Storage (CAS). It was heavily influenced by Perkeep (aka Camlistore) and Git.
For more details, see concepts and comparison with other systems.
The project is stable, and further work is ongoing on designing CAS2 - more flexible and performant version. This project will receive bug fixed and maintenance work. New features will likely end up in CAS2.
Check the Quick start guide for a list of basic commands.
Simplicity: the core specification should be trivial to implement.
Interop: CAS should play nicely with existing tools and technologies, either content-addressable or not.
Easy to use: CAS should be a single command away, similar to git init
.
Immutable and versioned archives: CAS supports files with multiple TBs of data, folders with millions of files and can index and use remote data without storing it locally.
Data processing pipelines: CAS caching capabilities allows to use it for incremental data pipelines.
Git for large files: CAS stores files with an assumption that they can be multiple TBs and is optimized for this use case, while still supporting tags and branches, like Git.
Implemented:
Planned (for CAS2):