tahoe-directory: Tahoe-LAFS directory-like abstraction for collections of data objects.

[ bsd3, cryptography, library, parsers, security ] [ Propose Tags ]

Tahoe-Directory is an implementation of the Tahoe-LAFS filesystem directory-like abstraction for managing collections of data objects. This includes a parser and serializer for the persisted form of these collections. It also includes Haskell-friendly abstract representations of and operations on the data. It aims for bit-for-bit compatibility with the original Python implementation. It will not include an implementation of any network protocol for transferring directories. However, its APIs are intended to be easy to integrate with such an implementation.


[Skip to Readme]

Downloads

Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

Versions [RSS] 0.1.0.0
Change log CHANGELOG.md
Dependencies base (>=4 && <5.0), bytestring (>=0.10.8.2 && <0.11), megaparsec (>=8.0 && <9.3), tahoe-capabilities (>=0.1 && <0.2), tahoe-chk (>=0.1 && <0.3), tahoe-ssk (>=0.2.1.0 && <0.4), text (>=1.2.3.1 && <1.3) [details]
License BSD-3-Clause
Copyright 2023 The Authors
Author Jean-Paul Calderone and others
Maintainer exarkun@twistedmatrix.com
Revised Revision 1 made by jcalderone at 2023-10-10T10:52:09Z
Category Cryptography, Library, Parsers, Security
Home page https://whetstone.private.storage/PrivateStorage/tahoe-directory
Source repo head: git clone https://whetstone.private.storage/PrivateStorage/tahoe-directory.git
Uploaded by jcalderone at 2023-08-17T14:44:34Z
Distributions
Reverse Dependencies 1 direct, 0 indirect [details]
Downloads 37 total (6 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]

Readme for tahoe-directory-0.1.0.0

[back to package description]

tahoe-directory

What is it?

Tahoe-Directory is a Haskell implementation of the Tahoe-LAFS filesystem directory-like abstraction for managing collections of data objects. This includes a parser and serializer for the persisted form of these collections. It also includes Haskell-friendly abstract representations of and operations on the data. It aims for bit-for-bit compatibility with the original Python implementation.

It will not include an implementation of any network protocol for transferring directories. However, its APIs are intended to be easy to integrate with such an implementation.

What is the current state?

  • Verify and read CHK directory capability strings can be parsed and serialized.
  • Verify, read, and write SDMF directory capability strings can be parsed and serialized.
  • Directories themselves can be parsed and serialized.
    • However, capability strings and metadata in directory entries are left as byte strings.

Why does it exist?

A Haskell implementation can be used in places the original Python implementation cannot be (for example, runtime environments where it is difficult to have a Python interpreter). Additionally, with the benefit of the experience gained from creating and maintaining the Python implementation, a number of implementation decisions can be made differently to produce a more efficient, more flexible, simpler implementation and API. Also, the Python implementation claims no public library API for users outside of the Tahoe-LAFS project itself.