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

This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.

[maintain] [Publish]

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]

Properties

Versions 0.1.0.0, 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.2), tahoe-ssk (>=0.2.1.0 && <0.3), 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
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
Uploaded by jcalderone at 2023-08-17T13:53:52Z

Modules

[Index] [Quick Jump]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


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?

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.