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 initwith optional.gitignoreand 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a31bbe9321119e3d07fd96792dc35e8ce8063778fae053cd48f4421c06ef4baf
|
|
| MD5 |
3c22d0d24767f6b8f63f1e25180cce36
|
|
| BLAKE2b-256 |
fa691763a6d0e46d09aebb56d5a99fa7db0cc6b8a30c2364961ff4acc5f0d61d
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b463de2f4dfe3b27d8d720ec19dbee15103d04cf2e0881e5fb1840686c6b61d5
|
|
| MD5 |
4445cf09a8a42af1ad66237c0cd9cd5c
|
|
| BLAKE2b-256 |
83041854a148700dbbc0d53375457a93275bda3015099a5c73b8c423f2e0ae43
|