archivist

Crates.ioarchivist
lib.rsarchivist
version0.4.3
created_at2019-08-30 07:46:49.951932+00
updated_at2025-08-07 15:17:42.518219+00
descriptionStore files in a time or index based directory hierarchy, automatically deleting the oldest files if the size limit is reached
homepagehttps://gitlab.com/hirschenberger/archivist
repositoryhttps://gitlab.com/hirschenberger/archivist
max_upload_size
id160812
size1,848,668
Falco Hirschenberger (hirschenberger)

documentation

https://docs.rs/archivist/latest/archivist

README

Archivist

Crates.io Version Crates.io License docs.rs

Store files in a time or index based directory hierarchy, automatically deleting the oldest files if the size limit is reached.

It's using an efficient kv-store database for persistency and performance reasons.

    // Store at max 1GB of files
    let a = Archivist::new("/tmp/archive", DateTimeTree::default(), 1000).await?;
   
    // Our humble file that we want to keep, but may lose interest after some time 
    let mut f = fs::File::open("/tmp/my_words.txt").unwrap();

    // crate a store object for file compression
    let ss = GzStore::new(Cursor::new(f.clone()));

    // add the file to the archive
    a.add("words.txt.gz", &ss).await?;

Changelog

  • 7.8.2025: Use turbojpeg for Jpeg encoding. Requires Nasm assembler to be installed.

Copyright 2022-2024, Falco Hirschenberger falco.hirschenberger@gmail.com

Commit count: 84

cargo fmt