bigtree
Tree Implementation and Methods for Python, integrated with list, dictionary, pandas and polars DataFrame.
What it is and what it does
Bigtree is a Python library for building and manipulating tree and graph structures. It provides three main data models—general trees, binary trees, and directed acyclic graphs—each with a Node class and a wrapper class (Tree, BinaryTree, DAG) that expose high-level APIs. You construct trees from nodes, dictionaries, lists, pandas or polars DataFrames, or interactively; traverse them using pre-order, post-order, level-order, and other strategies; search for nodes by name, path, or custom conditions; and export to console, Jupyter, HTML, images, Mermaid diagrams, or data structures.
The library is designed to be pythonic and extensible. It has no runtime dependencies, making installation straightforward. Optional dependencies unlock features like plotting with matplotlib, DataFrame integration, rich terminal output, and a tree query language. The package is actively maintained, supports modern Python versions (3.10–3.13), and includes a terminal-based studio for interactive tree construction and exploration.
Use it for:
- Build and manipulate organizational hierarchies, file systems, or taxonomies using Node objects and Tree methods.
- Convert between tree representations: load from CSV via pandas, export to JSON or Mermaid for documentation.
- Search and filter large tree structures by node attributes, paths, or custom predicates.
- Visualize tree layouts using the Reingold Tilford algorithm and matplotlib or export to interactive HTML.
- Construct and traverse directed acyclic graphs for dependency resolution or workflow modeling.
- Clone, prune, or merge subtrees and compare structural differences between two trees.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Bigtree provides tree, binary tree, and directed acyclic graph (DAG) data structures with construction, traversal, search, modification, and export methods, integrated with pandas and polars DataFrames.
Yes. Bigtree is worth installing if you need a well-maintained, dependency-free tree or DAG library with broad export and traversal options. Active maintenance, no security vulnerabilities, permissive MIT license, and low install friction make it a solid choice. The optional dependencies are genuinely optional, so you can start minimal. Consider it especially if you work with hierarchical data in pandas or need to visualize tree structures.
Install
bigtree on PyPI
pip
pip install bigtreeuv
uv add bigtreepoetry
poetry add bigtreeInstalling bigtree
Before you install
Low friction: pure Python wheel with no runtime dependencies. Actively maintained as of 2026-08-06 with recent release on 2026-07-16. Supports Python 3.10–3.13 and PyPy.
License in practice
MIT license permits commercial and private use with minimal restrictions; you may use, modify, and distribute bigtree freely provided you include the license notice.
Quickstart
pip install bigtree
from bigtree import Node, Tree
root = Node(name="root")
child1 = Node(name="child1", parent=root)
child2 = Node(name="child2", parent=root)
tree = Tree(root=root)
print(tree)
Requires Python 3.10 or later.
Verify before relying
- Whether optional dependencies (matplotlib, pandas, polars, rich, query) are required for specific workflows or all are truly optional.
- Performance characteristics and scalability limits for large trees or DAGs.
- Whether the Reingold Tilford algorithm implementation is suitable for production use cases.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | actively maintained — 29 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 605,076/month — #5,798 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: bigtree-1.5.3-py3-none-any.whl
Keywords: bigtree, tree
Tags
More Software Development packages
Provides backported and experimental type hints…
permissive · top 100 on PyPI
numpyNumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
fastapiFastAPI is a Python web framework for building…
permissive · top 100 on PyPI
annotated-docProvides a way to document function parameters,…
permissive · top 100 on PyPI
typerTyper builds command-line applications from…
permissive · top 1,000 on PyPI
distlibDistlib provides low-level packaging utilities…
permissive · top 1,000 on PyPI
nutreeNutree provides a Python library for creating,…
permissive · top 5,000 on PyPI
toposortImplements topological sorting of directed…
permissive · top 5,000 on PyPI
treelibProvides a simple tree data structure…
permissive · top 5,000 on PyPI
adagioAdagio provides a directed acyclic graph (DAG)…
permissive · top 5,000 on PyPI
asciidagRenders directed acyclic graphs as ASCII art in…
copyleft · top 15,000 on PyPI
apache-hamiltonApache Hamilton is a Python library for…
permissive · top 15,000 on PyPI
DAWG2-PythonRead-only access to DAWG (directed acyclic word…
permissive · top 15,000 on PyPI
pipdeptreepipdeptree displays installed Python packages…
permissive · top 5,000 on PyPI
DAWG-PythonReads DAWG (Directed Acyclic Word Graph) files…
permissive · top 15,000 on PyPI
anytreeProvides a lightweight Python library for…
unclear · top 5,000 on PyPI