Skip to main content

Filesystem generator/importer using tree, YAML, JSON, TOML and tree format. Deluxe edition.

Project description

🧰 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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

treefs-2.0.0.tar.gz (6.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

treefs-2.0.0-py3-none-any.whl (6.2 kB view details)

Uploaded Python 3

File details

Details for the file treefs-2.0.0.tar.gz.

File metadata

  • Download URL: treefs-2.0.0.tar.gz
  • Upload date:
  • Size: 6.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.8

File hashes

Hashes for treefs-2.0.0.tar.gz
Algorithm Hash digest
SHA256 a31bbe9321119e3d07fd96792dc35e8ce8063778fae053cd48f4421c06ef4baf
MD5 3c22d0d24767f6b8f63f1e25180cce36
BLAKE2b-256 fa691763a6d0e46d09aebb56d5a99fa7db0cc6b8a30c2364961ff4acc5f0d61d

See more details on using hashes here.

File details

Details for the file treefs-2.0.0-py3-none-any.whl.

File metadata

  • Download URL: treefs-2.0.0-py3-none-any.whl
  • Upload date:
  • Size: 6.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.8

File hashes

Hashes for treefs-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b463de2f4dfe3b27d8d720ec19dbee15103d04cf2e0881e5fb1840686c6b61d5
MD5 4445cf09a8a42af1ad66237c0cd9cd5c
BLAKE2b-256 83041854a148700dbbc0d53375457a93275bda3015099a5c73b8c423f2e0ae43

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page