Skip to main content

🧰 TreeFS

A powerful CLI toolkit to build and export directory structures from tree text, YAML, JSON, or TOML configs — with support for templates, Git initialization, and cross-platform release binaries.

Originally inspired by a tiny Bash script, TreeFS has grown into a full-featured Python project that helps automate project scaffolding and structure generation.


Features

  • Build directory trees from:
  • Tree-formatted text files
  • YAML / JSON / TOML config files
  • Support for file templates and content templates
  • Export file systems into tree text or structured configs
  • Git integration
  • git init with optional .gitignore and hooks
  • Cross-platform binaries
  • Build single-file executables via PyInstaller
  • GitHub Actions workflow included to auto-build release binaries

🧾 Installation

Install locally using pip:

pip install .

Usage

  • Build from a tree file
treefs build tree.txt myproject/
  • Add optional templates and git setup
treefs build project.yaml myproj/ \
  --templates ./templates \
  --init-git \
  --gitignore ./common_gitignore \
  --git-hooks ./my-hooks
  • Preview what would be created without writing to disk:
treefs build project.yaml myproj/ --dry-run

Export project structure

  • Export a folder to a tree layout text:
treefs export-tree myproj/ tree.txt
  • Or export to structured configs:
treefs export-config myproj/ project.yaml
treefs export-config myproj/ project.json
treefs export-config myproj/ project.toml

Bundling a binary

  • If PyInstaller is installed, you can auto-bundle TreeFS:
treefs bundle treefs.py --name treefs

Metadata

Release files for treefs 2.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for treefs 2.0.0
File Size Uploaded Provenance
treefs-2.0.0.tar.gz 6.8 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for treefs 2.0.0
File Interpreter ABI Platform
treefs-2.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 13.0 kB

Release files / treefs-2.0.0.tar.gz

Download URL treefs-2.0.0.tar.gz
Size 6.8 kB
Tags Source
SHA-256 checksum
How to use checksums
a31bbe9321119e3d07fd96792dc35e8ce8063778fae053cd48f4421c06ef4baf
BLAKE2b-256 checksum
How to use checksums
fa691763a6d0e46d09aebb56d5a99fa7db0cc6b8a30c2364961ff4acc5f0d61d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.8

Release files / treefs-2.0.0-py3-none-any.whl

Download URL treefs-2.0.0-py3-none-any.whl
Size 6.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b463de2f4dfe3b27d8d720ec19dbee15103d04cf2e0881e5fb1840686c6b61d5
BLAKE2b-256 checksum
How to use checksums
83041854a148700dbbc0d53375457a93275bda3015099a5c73b8c423f2e0ae43
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.8

Security for treefs 2.0.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Release history Release notifications | RSS feed

This release

2.0.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page