skillfed

bigtree

Tree Implementation and Methods for Python, integrated with list, dictionary, pandas and polars DataFrame.

bigtree v1.5.3 605.1K downloads/30d#5,798 on PyPI213
Permissive license MIT Active released

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 bigtree

uv

uv add bigtree

poetry

poetry add bigtree

Installing 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

Development Status :: 4 - BetaProgramming Language :: PythonProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPy

Tags

tree data structure pythonbinary tree implementationdirected acyclic graph DAGtree traversal and searchtree export to dataframetree visualization plottinghierarchical data structure
data-structuresgraph-algorithmsdataframe-integration

More Software Development packages