Utilities for navigating flat trees
Go to file
Luke Murphy dd9bfa2821
Reduce package boilerplate
2020-05-16 18:15:47 +02:00
.github Use existing file (doh) 2019-11-20 09:57:26 +07:00
flat_tree Follow the Hypercore protocol rename 2020-05-16 17:58:44 +02:00
test Appease the linter 2019-12-04 22:51:11 +07:00
.drone.yml Reduce package boilerplate 2020-05-16 18:15:47 +02:00
.gitignore flat-tree implementation coming down the tubes 2019-07-01 18:09:49 +02:00
.readthedocs.yml Also configure RTD to use new docs path 2019-11-26 10:39:38 +07:00
CHANGELOG.md Reduce package boilerplate 2020-05-16 18:15:47 +02:00
CONTRIBUTING.md Reduce package boilerplate 2020-05-16 18:15:47 +02:00
LICENSE Follow the Hypercore protocol rename 2020-05-16 17:58:44 +02:00
MANIFEST.in Reduce package boilerplate 2020-05-16 18:15:47 +02:00
README.rst Reduce package boilerplate 2020-05-16 18:15:47 +02:00
mypy.ini Follow the Hypercore protocol rename 2020-05-16 17:58:44 +02:00
pyproject.toml Reduce package boilerplate 2020-05-16 18:15:47 +02:00
setup.cfg Reduce package boilerplate 2020-05-16 18:15:47 +02:00
setup.py flat-tree implementation coming down the tubes 2019-07-01 18:09:49 +02:00
tox.ini Reduce package boilerplate 2020-05-16 18:15:47 +02:00

README.rst

# flat-tree

[![Build Status](https://drone.autonomic.zone/api/badges/hyperpy/flat-tree/status.svg)](https://drone.autonomic.zone/hyperpy/flat-tree)

## Utilities for navigating flat trees

```bash
$ pip install flat-tree
```

Flat Trees are the core data structure that power 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.