#tree #file-tree #traversal #node #block-store #unix-fs #unix-f

rust-unixfs

UnixFs tree support

10 releases

0.4.1 Feb 19, 2024
0.4.0 Aug 26, 2023
0.3.2 Jul 17, 2023
0.3.1 Apr 27, 2023
0.3.0-alpha Dec 8, 2022

#527 in Filesystem

Download history 241/week @ 2024-01-06 238/week @ 2024-01-13 232/week @ 2024-01-20 863/week @ 2024-01-27 780/week @ 2024-02-03 305/week @ 2024-02-10 614/week @ 2024-02-17 663/week @ 2024-02-24 722/week @ 2024-03-02 597/week @ 2024-03-09 388/week @ 2024-03-16 357/week @ 2024-03-23 211/week @ 2024-03-30 160/week @ 2024-04-06 381/week @ 2024-04-13 442/week @ 2024-04-20

1,230 downloads per month
Used in 3 crates (2 directly)

MIT/Apache

215KB
4.5K SLoC

ipfs-unixfs

Goals

  • blockstore API independent way to traverse the merkledag
    • the core read API does not deal with loading blocks
    • instead access to interesting Cids is given

Status

  • unfiltered walking of known unixfs trees
  • creation of balanced file trees
  • creation of non HAMT-sharded directory trees

See the docs at https://docs.rs/ipfs-unixfs.

License

MIT or APL2.


lib.rs:

ipfs-unixfs: UnixFs tree support in Rust.

The crate aims to provide a blockstore implementation independent of the UnixFs implementation by working on slices and not doing any IO operations.

The main entry point for extracting information and/or data out of UnixFs trees is ipfs_unixfs::walk::Walker. To resolve IpfsPath segments over dag-pb nodes, ipfs_unixfs::resolve should be used.

Dependencies

~3–11MB
~113K SLoC