Utilities for navigating flat trees
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Luke Murphy dfa6496369
moving funding file into right place
2 years ago
.github moving funding file into right place 2 years ago
changelog Add change log entry for another small alpha 2 years ago
documentation Fix documentation build 2 years ago
flat_tree Add note about iterators 2 years ago
test flat-tree implementation coming down the tubes 2 years ago
.FUNDING.yml Add funding config for Github 2 years ago
.gitignore flat-tree implementation coming down the tubes 2 years ago
.readthedocs.yml flat-tree implementation coming down the tubes 2 years ago
.travis.yml Mark test envs only by version 2 years ago
CHANGELOG.rst Fix up changelog for new release 2 years ago
CODE_OF_CONDUCT.rst Fix wording of Datpy 2 years ago
CONTRIBUTING.rst Use better docs theme and clarify docs 2 years ago
LICENSE flat-tree implementation coming down the tubes 2 years ago
MANIFEST.in flat-tree implementation coming down the tubes 2 years ago
README.rst Add liberapay button 2 years ago
mypy.ini flat-tree implementation coming down the tubes 2 years ago
pyproject.toml flat-tree implementation coming down the tubes 2 years ago
setup.cfg Add support link to pypi package 2 years ago
setup.py flat-tree implementation coming down the tubes 2 years ago
tox.ini Use better docs theme and clarify docs 2 years ago

README.rst

.. _header:

*********
flat-tree
*********

.. image:: https://img.shields.io/badge/license-MIT-brightgreen.svg
:target: LICENSE
:alt: Repository license

.. image:: https://badge.fury.io/py/flat-tree.svg
:target: https://badge.fury.io/py/flat-tree
:alt: PyPI Package

.. 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

.. 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.

Part of the `Datpy`_ project.

.. _Datpy: https://datpy.decentral1.se/

.. _documentation:

Documentation
*************

* `flat-tree.readthedocs.io`_

.. _flat-tree.readthedocs.io: https://flat-tree.readthedocs.io