flat-tree/README.rst

58 lines
1.7 KiB
ReStructuredText
Raw Normal View History

.. _header:
*********
2019-07-01 16:33:29 +00:00
flat-tree
*********
.. image:: https://img.shields.io/badge/license-MIT-brightgreen.svg
:target: LICENSE
:alt: Repository license
2019-10-08 22:46:17 +00:00
.. image:: https://badge.fury.io/py/flat-tree.svg
:target: https://badge.fury.io/py/flat-tree
:alt: PyPI Package
2019-08-03 22:57:53 +00:00
.. image:: https://travis-ci.com/datpy/flat-tree.svg?branch=master
:target: https://travis-ci.com/datpy/flat-tree
:alt: Travis CI result
.. image:: https://readthedocs.org/projects/flat-tree/badge/?version=latest
:target: https://flat-tree.readthedocs.io/en/latest/?badge=latest
:alt: Documentation Status
2019-11-20 02:41:28 +00:00
.. image:: http://img.shields.io/liberapay/patrons/decentral1se.svg?logo=liberapay
:target: https://liberapay.com/decentral1se
:alt: Support badge
.. _introduction:
Utilities for navigating flat trees
-----------------------------------
From `The Dat Protocol`_:
.. _The Dat Protocol: https://datprotocol.github.io/book/ch01-01-flat-tree.html
Flat Trees are the core data structure that power Dat's Hypercore feeds. They
allow us to deterministically represent a tree structure as a vector. This is
particularly useful because vectors map elegantly to disk and memory.
Because Flat Trees are deterministic and pre-computed, there is no overhead
to using them. In effect this means that Flat Trees are a specific way of
indexing into a vector more than they are their own data structure. This makes
them uniquely efficient and convenient to implement in a wide range of
languages.
2019-11-03 15:54:16 +00:00
Part of the `Datpy`_ project.
2019-10-06 13:29:34 +00:00
2019-11-03 15:54:16 +00:00
.. _Datpy: https://datpy.decentral1.se/
2019-10-06 13:29:34 +00:00
.. _documentation:
Documentation
*************
2019-10-06 13:37:39 +00:00
* `flat-tree.readthedocs.io`_
.. _flat-tree.readthedocs.io: https://flat-tree.readthedocs.io