# TreeScript FileTreeBuilder
Script for Building File Trees.
- Makes your dreams come true.
## How To Make The Most Of TreeScript
1. Think in File Trees:
- Initial and Final Trees.
- Tree Templates for New Modules, Packages, Apps.
- Data Directory and Data Labels.
2. Prepare Your TreeScript Designs.
- New Project in any language you want.
- New Feature in a New Module File Tree.
3. Plan TreeScript Operations.
- Split Larger Trees into multiple TreeScript Files.
- Combine Trim and Build Operations in a Sequence to meet Workflow requirements.
- Apply other TreeScript Packages to your Workflow:
- [TreeScript-Diff] : Difference between two TreeScript files.
- [TreeScript-Files] : Convert TreeScript into a list of File Paths.
- [TreeScriptify] : Create TreeScript from existing File Trees.
4. Run TreeScript, as part of your Workflow.
- Install; add aliases to your terminal config file, if desired.
## Script Structure
- Directory names contain a slash char.
- The Indentation is 2 spaces per level.
### Directory Slash Chars
- Both directions are accepted: `\`, `/`
- Start or End of the Directory Name: `\src` or `src/`
- No spaces between Name and char.
### Example
```treescript
src/
__init__.py
dir/
```
# Project Technical Details
## File Tree Builder
Execute the File Tree Builder with the `ftb` command.
- Creates Files and Directories
- If DataLabels are present, a DataDirectory is required.
## File Tree Trimmer (Remover)
Execute the File Tree Remover by adding the `--trim` argument.
- Removes Files and Empty Directories.
- DataLabels require DataDirectory.
- Files are exported to the DataDirectory.
### Builder DataLabel
A `DataLabel` is a link to Text content to be inserted into the file.
- DataLabel must be present in the DataDirectory, if present in the TreeScript File.
- DataDirectory contents are checked during the Tree Validation phase of program execution.
#### Valid DataLabels
The range of accepted DataLabel characters has been narrowed to reduce risk.
- Letters: A - z
- Numbers: 0 - 9
- Punctuation: -_.
#### Invalid DataLabels
The dot directories are invalid.
- Current Dir: .
- Parent Dir: ..
## Default Input Reader
Before the Reader receives TreeScript, the input is filtered so comments and empty lines are not ever seen by the Reader.
The Default Input Reader processes one line at a time and calculates multiple file tree node properties that it stores in dataclass objects.
It calculates for each node:
- Name
- File or directory status
- Depth in tree
- (optional) DataArgument
### Input Data Argument
The Data Argument specifies what will be inserted into the file that is created. The Data Argument is provided in the Input File, immediately after the File Name (separated by a space). There are two types of Data Arguments:
- DataLabel
- InlineContent
## Tree Trim Data Directory Feature
The Remover provides an additional feature beyond the removal of files in the Tree. This feature enables Files to be saved to a Data Directory when they are removed. Rather than destroying the file data, it is moved to a new directory.
## To-Do Features
- Append/Prepend
- Overwrite Prevention
- Inline Content
### Builder File Inline Content (TODO)
`Inline Content` is written in the Tree Node Structure Input file itself. To distinguish `DataContent` from a `DataLabel`, the Content must begin with a special character.
Options for the DataContent character are under consideration.
- Less than bracket is a good option: <
- Star char is an alternative: *
This feature is a neat mid-sized improvement that may open up opportunities for more workflow flexibility.
- Adding a new file late in the process.
- such as after data directory is already prepared, and you review TS and notice a little thing missing.
- value-adding option that helps you build files faster, more convenient than the DataDirectory.
- Workflows that use TreeScript:
- Easier To Plan, and Communicate What You Did.
- Package Restructuring, Migrations.
- Test Environment Setup
- FileSystem Inventory
Raw data
{
"_id": null,
"home_page": "https://github.com/DK96-OS/treescript-builder",
"name": "treescript-builder",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.11",
"maintainer_email": null,
"keywords": "TreeScript, Files, Directory",
"author": "DK96-OS",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/6a/5a/d9a6125888d8afcfb34560cbbaa1b928fe492656e7dc4e12abea7e9ea8e8/treescript_builder-0.1.9.tar.gz",
"platform": null,
"description": "# TreeScript FileTreeBuilder\nScript for Building File Trees.\n - Makes your dreams come true.\n\n## How To Make The Most Of TreeScript\n1. Think in File Trees:\n - Initial and Final Trees.\n - Tree Templates for New Modules, Packages, Apps.\n - Data Directory and Data Labels.\n2. Prepare Your TreeScript Designs.\n - New Project in any language you want.\n - New Feature in a New Module File Tree.\n3. Plan TreeScript Operations.\n - Split Larger Trees into multiple TreeScript Files.\n - Combine Trim and Build Operations in a Sequence to meet Workflow requirements.\n - Apply other TreeScript Packages to your Workflow:\n - [TreeScript-Diff] : Difference between two TreeScript files.\n - [TreeScript-Files] : Convert TreeScript into a list of File Paths.\n - [TreeScriptify] : Create TreeScript from existing File Trees.\n4. Run TreeScript, as part of your Workflow.\n - Install; add aliases to your terminal config file, if desired.\n\n## Script Structure\n - Directory names contain a slash char.\n - The Indentation is 2 spaces per level.\n\n### Directory Slash Chars\n - Both directions are accepted: `\\`, `/`\n - Start or End of the Directory Name: `\\src` or `src/`\n - No spaces between Name and char.\n\n### Example\n\n```treescript\nsrc/\n __init__.py\n dir/\n```\n\n# Project Technical Details\n\n## File Tree Builder\nExecute the File Tree Builder with the `ftb` command.\n- Creates Files and Directories\n- If DataLabels are present, a DataDirectory is required.\n\n## File Tree Trimmer (Remover)\nExecute the File Tree Remover by adding the `--trim` argument.\n- Removes Files and Empty Directories.\n- DataLabels require DataDirectory.\n - Files are exported to the DataDirectory. \n\n### Builder DataLabel\nA `DataLabel` is a link to Text content to be inserted into the file.\n - DataLabel must be present in the DataDirectory, if present in the TreeScript File.\n - DataDirectory contents are checked during the Tree Validation phase of program execution.\n\n#### Valid DataLabels\nThe range of accepted DataLabel characters has been narrowed to reduce risk.\n - Letters: A - z\n - Numbers: 0 - 9\n - Punctuation: -_.\n\n#### Invalid DataLabels\nThe dot directories are invalid.\n - Current Dir: .\n - Parent Dir: ..\n\n## Default Input Reader\nBefore the Reader receives TreeScript, the input is filtered so comments and empty lines are not ever seen by the Reader.\nThe Default Input Reader processes one line at a time and calculates multiple file tree node properties that it stores in dataclass objects.\n\nIt calculates for each node:\n- Name\n- File or directory status\n- Depth in tree\n- (optional) DataArgument\n\n### Input Data Argument\nThe Data Argument specifies what will be inserted into the file that is created. The Data Argument is provided in the Input File, immediately after the File Name (separated by a space). There are two types of Data Arguments:\n- DataLabel\n- InlineContent\n\n## Tree Trim Data Directory Feature\nThe Remover provides an additional feature beyond the removal of files in the Tree. This feature enables Files to be saved to a Data Directory when they are removed. Rather than destroying the file data, it is moved to a new directory.\n\n## To-Do Features \n - Append/Prepend\n - Overwrite Prevention\n - Inline Content\n\n### Builder File Inline Content (TODO)\n`Inline Content` is written in the Tree Node Structure Input file itself. To distinguish `DataContent` from a `DataLabel`, the Content must begin with a special character.\n\nOptions for the DataContent character are under consideration.\n- Less than bracket is a good option: < \n- Star char is an alternative: *\n\nThis feature is a neat mid-sized improvement that may open up opportunities for more workflow flexibility.\n - Adding a new file late in the process.\n - such as after data directory is already prepared, and you review TS and notice a little thing missing.\n - value-adding option that helps you build files faster, more convenient than the DataDirectory.\n - Workflows that use TreeScript:\n - Easier To Plan, and Communicate What You Did.\n - Package Restructuring, Migrations.\n - Test Environment Setup\n - FileSystem Inventory\n",
"bugtrack_url": null,
"license": "GPLv3",
"summary": "Builds File Trees from TreeScript. If DataLabels are present in TreeScript, a DataDirectory argument is required.",
"version": "0.1.9",
"project_urls": {
"Homepage": "https://github.com/DK96-OS/treescript-builder",
"Issues": "https://github.com/DK96-OS/treescript-builder/issues",
"Source Code": "https://github.com/DK96-OS/treescript-builder"
},
"split_keywords": [
"treescript",
" files",
" directory"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "0589a999140190be56c79964f12b5e08cd5e7cd70c2e6b096ad0eb303a09f6ff",
"md5": "08bf1548fd3a98a75979bd9999d5d3c6",
"sha256": "7115c367a4e94521af65270048c14c411cd6f89908bc2b9830fdd6b346fd2066"
},
"downloads": -1,
"filename": "treescript_builder-0.1.9-py3-none-any.whl",
"has_sig": false,
"md5_digest": "08bf1548fd3a98a75979bd9999d5d3c6",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.11",
"size": 26608,
"upload_time": "2025-10-14T01:18:31",
"upload_time_iso_8601": "2025-10-14T01:18:31.374823Z",
"url": "https://files.pythonhosted.org/packages/05/89/a999140190be56c79964f12b5e08cd5e7cd70c2e6b096ad0eb303a09f6ff/treescript_builder-0.1.9-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "6a5ad9a6125888d8afcfb34560cbbaa1b928fe492656e7dc4e12abea7e9ea8e8",
"md5": "4668231ed3da28a16560a2ac37fc97f4",
"sha256": "1cc9c9f50f5633aa174e0d8ba13d1dda7a6629e93b462b0bbbcb012e28f38464"
},
"downloads": -1,
"filename": "treescript_builder-0.1.9.tar.gz",
"has_sig": false,
"md5_digest": "4668231ed3da28a16560a2ac37fc97f4",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.11",
"size": 20522,
"upload_time": "2025-10-14T01:18:32",
"upload_time_iso_8601": "2025-10-14T01:18:32.711441Z",
"url": "https://files.pythonhosted.org/packages/6a/5a/d9a6125888d8afcfb34560cbbaa1b928fe492656e7dc4e12abea7e9ea8e8/treescript_builder-0.1.9.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-10-14 01:18:32",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "DK96-OS",
"github_project": "treescript-builder",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [],
"lcname": "treescript-builder"
}