directory-tree


Namedirectory-tree JSON
Version 1.0.0 PyPI version JSON
download
home_pagehttps://github.com/rahulbordoloi/Directory-Tree/
SummaryUtility Package that Displays out the Tree Structure of a Particular Directory.
upload_time2024-08-18 17:36:59
maintainerNone
docs_urlNone
authorRahul Bordoloi
requires_pythonNone
licenseNone
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Directory Tree Package

[![Setup Automated](https://img.shields.io/badge/setup-automated-blue?logo=gitpod)](https://gitpod.io/from-referrer/)
![Test passing](https://img.shields.io/badge/Tests-passing-brightgreen.svg)
![Python Version](https://img.shields.io/badge/python-3.6+-brightgreen.svg)
[![PyPI version](https://badge.fury.io/py/directory-tree.svg)](https://badge.fury.io/py/directory-tree)
![Last Commit](https://img.shields.io/github/last-commit/rahulbordoloi/Directory-Tree?style=flat-square)


## About 

Want to Display your Project / Current Working Directory as a Neat Tree? No Worries!

`Directory Tree` is a simple python utility package that displays out the Tree Structure of a User Defined Directory.

<b><i> Currently Available for All Platforms.  </i></b>

## Installation

Run the Following Command on your Terminal to Install `directory_tree`: 

1 .  Installing the Package using `pip`:
```bash
pip install directory_tree
```
OR

```bash
pip3 install directory_tree
```

2 . Cloning the Repository:

```bash
git clone https://github.com/rahulbordoloi/Directory-Tree/
cd Directory-Tree
pip install -e .
```
You can use either of the above methods to install `directory_tree`.

## Usage

<h3> Function Signature </h3>

```python
DisplayTree(
    dirPath: str='',
    stringRep: bool=False,
    header: bool=False,
    maxDepth: float=float('inf'),
    showHidden: bool=False,
    ignoreList: List[str]=None,
    onlyFiles: bool=False,
    onlyDirs: bool=False,
    sortBy: int=0
) -> Union[str, None]:
```

<h3> Arguments Description </h3>

| __Parameters__ | __CLI Parameters__ | __Description__                                                                                                |
|----------------|--------------------|----------------------------------------------------------------------------------------------------------------|
| __dirPath__    | `directory`        | Root Path of Operation. By Default, Refers to the Current Working Directory.                                   |
| __stringRep__  | N/A                | Boolean Flag for Direct Console Output or a String Return of the Same. By Default, It Gives out Console Output. |
| __header__     | `--header`         | Boolean Flag for Displaying [OS & Directory Path] Info in the Console. Not Applicable if `stringRep=True`.     |
| __maxDepth__   | `-L`, `--max-depth`| Max Depth of the Directory Tree. By Default, It goes upto the Deepest Directory/File.                          |
| __showHidden__ | `-a`, `--show-hidden`| Boolean Flag for Returning/Displaying Hidden Files/Directories if Value Set to `True`.                         |
| __ignoreList__ | `-I`, `--ignore-list`| List of File and Directory Names or Patterns to Ignore.                                                        |
| __onlyFiles__  | `-f`, `--only-files`| Boolean Flag to Display Only Files                                                                             |
| __onlyDirs__   | `-d`, `--only-dirs` | Boolean Flag to Display Only Directories                                                                       |
| __sortBy__     | `--sort-by`        | Sorting order. Possible Options: 0 - Default, 1 - Files First, 2 - Directories First                           |
| __raiseException__     | `--raise-exception`        | Boolean Flag to Raise Exception. By Default, It Doesn't Raise Exception                          |
| __printErrorTraceback__     | `--print-error-traceback`        | Boolean Flag to Print Error Traceback. By Default, It Doesn't Print Error Traceback                           |


<h3> Command Line </h3>

1. **Treating the Cloned Directory as Executable**  - <br>
   (Works if you've cloning privileges but not of installation. You can clone the repo, go to its root and run the below)
```bash
python directory_tree
```

OR

```bash
python -m directory_tree
```

Use the inline help for command-line options:
```
python directory_tree --help
```

2. **Treating the Package as Module** - <br>
   (You would need to install (`pip`) the Python Package in your system for the below to work)
```bash
directory_tree
```

Use the inline help for command-line options:
```bash
directory_tree --help
```

<h3> In Code </h3>

Example Script to Print out the Tree Structure of a User-Defined Directory `directoryPath`!

```python
# Importing Libraries
from directory_tree import DisplayTree

# Main Method
if __name__ == '__main__':
    DisplayTree(directoryPath)
```

*   Here by default, the `directoryPath` is the current working directory (CWD) unless specified by the user.

## Output Examples

Sample Directory Tree -

![SampleDirectoryTree.png](https://github.com/rahulbordoloi/Directory-Tree/blob/main/images/SampleDirectoryTree.png?raw=true)

NOTE - Here, `letseee.txt` (File) and `Directory 4/` (Directory) are **HIDDEN** in Nature.

1. For <i>Current Working Directory</i> with Argument [Header Info = `False`]

```python
from directory_tree import DisplayTree

DisplayTree(header=True)
```

![CWDwithHeader.png](https://github.com/rahulbordoloi/Directory-Tree/blob/main/images/CWDwithHeader.png?raw=true)

2. For <i>User Specified Directory</i> with Arguments [String Representation = `True`, Show Hidden Entities = `True`]

```python
from directory_tree import DisplayTree

customPath: str = 'Users/rahulbordoloi/Work/Python Packages Maintainence/Directory-Tree/Test/Main Directory'
stringRepresentation: str = DisplayTree(customPath, stringRep=True, showHidden=True)
print(stringRepresentation)
```

![UserSpecifiedDirectoryStrRepShowHidden.png](https://github.com/rahulbordoloi/Directory-Tree/blob/main/images/UserSpecifiedDirectoryStrRepShowHidden.png?raw=true)

3. For <i>Current Working Directory</i> with Argument [Max Depth = `2`]

```python
from directory_tree import DisplayTree

DisplayTree(maxDepth=2)
```

![UserSpecifiedDirectoryMaxDep.png](https://github.com/rahulbordoloi/Directory-Tree/blob/main/images/UserSpecifiedDirectoryMaxDep.png?raw=true)


## Developing `Directory Tree`

To install `directory_tree`, along with the tools you need to develop and run tests, use any of the following commands in your virtualenv:

```bash
pip install -e .[dev]
```

OR

```bash
pip install -e ".[dev]"
```

## Deprecation Notice
The `display_tree` function is deprecated and will be removed in a future release. Please use `DisplayTree` instead. The end-of-life date for `display_tree` is **December 31, 2024**. <br>

**Parameters Mapping Table** -

| __New Parameters__ | __Deprecated Parameters__  |
|----------------|----------------------------|
| __dirPath__    | dir_path                   |
| __stringRep__  | string_rep                 |
| __maxDepth__   | max_depth                  |
| __showHidden__ | show_hidden                |
| __ignoreList__ | ignore_list                |
| __onlyFiles__  | only_files                 |
| __onlyDirs__   | only_dirs                  |
| __sortBy__     | sort_by                    |
| __raiseException__     | raise_exception                    |
| __printErrorTraceback__     | print_error_traceback                    |


## Security & Probable Bugs

*   `Directory Tree` uses recursion. It will raise a `RecursionError` on really deep directory trees.
*   As the tree is lazily evaluated, it should behave well on really wide directory trees. Immediate children of a given directory are not lazily evaluated, though. It would be prompted to the last.
*   If you're a Windows user, it is always advised to use `\\` instead of `\` in the address as using `\` might catchup escape sequences and corrupt the address string.

## Contact Author

Name : __Rahul Bordoloi__ <br>
Website : https://rahulbordoloi.me <br>
Email : rahulbordoloi24@gmail.com <br>

Made with <span style="color: #e25555;">&#9829;</span> in Python!

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/rahulbordoloi/Directory-Tree/",
    "name": "directory-tree",
    "maintainer": null,
    "docs_url": null,
    "requires_python": null,
    "maintainer_email": null,
    "keywords": null,
    "author": "Rahul Bordoloi",
    "author_email": "rahulbordoloi24@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/ba/48/7dbb436a54e0b727ba81ccb1bcf7875e875f826dcf43e01b9ad52726b179/directory_tree-1.0.0.tar.gz",
    "platform": null,
    "description": "# Directory Tree Package\n\n[![Setup Automated](https://img.shields.io/badge/setup-automated-blue?logo=gitpod)](https://gitpod.io/from-referrer/)\n![Test passing](https://img.shields.io/badge/Tests-passing-brightgreen.svg)\n![Python Version](https://img.shields.io/badge/python-3.6+-brightgreen.svg)\n[![PyPI version](https://badge.fury.io/py/directory-tree.svg)](https://badge.fury.io/py/directory-tree)\n![Last Commit](https://img.shields.io/github/last-commit/rahulbordoloi/Directory-Tree?style=flat-square)\n\n\n## About \n\nWant to Display your Project / Current Working Directory as a Neat Tree? No Worries!\n\n`Directory Tree` is a simple python utility package that displays out the Tree Structure of a User Defined Directory.\n\n<b><i> Currently Available for All Platforms.  </i></b>\n\n## Installation\n\nRun the Following Command on your Terminal to Install `directory_tree`: \n\n1 .  Installing the Package using `pip`:\n```bash\npip install directory_tree\n```\nOR\n\n```bash\npip3 install directory_tree\n```\n\n2 . Cloning the Repository:\n\n```bash\ngit clone https://github.com/rahulbordoloi/Directory-Tree/\ncd Directory-Tree\npip install -e .\n```\nYou can use either of the above methods to install `directory_tree`.\n\n## Usage\n\n<h3> Function Signature </h3>\n\n```python\nDisplayTree(\n    dirPath: str='',\n    stringRep: bool=False,\n    header: bool=False,\n    maxDepth: float=float('inf'),\n    showHidden: bool=False,\n    ignoreList: List[str]=None,\n    onlyFiles: bool=False,\n    onlyDirs: bool=False,\n    sortBy: int=0\n) -> Union[str, None]:\n```\n\n<h3> Arguments Description </h3>\n\n| __Parameters__ | __CLI Parameters__ | __Description__                                                                                                |\n|----------------|--------------------|----------------------------------------------------------------------------------------------------------------|\n| __dirPath__    | `directory`        | Root Path of Operation. By Default, Refers to the Current Working Directory.                                   |\n| __stringRep__  | N/A                | Boolean Flag for Direct Console Output or a String Return of the Same. By Default, It Gives out Console Output. |\n| __header__     | `--header`         | Boolean Flag for Displaying [OS & Directory Path] Info in the Console. Not Applicable if `stringRep=True`.     |\n| __maxDepth__   | `-L`, `--max-depth`| Max Depth of the Directory Tree. By Default, It goes upto the Deepest Directory/File.                          |\n| __showHidden__ | `-a`, `--show-hidden`| Boolean Flag for Returning/Displaying Hidden Files/Directories if Value Set to `True`.                         |\n| __ignoreList__ | `-I`, `--ignore-list`| List of File and Directory Names or Patterns to Ignore.                                                        |\n| __onlyFiles__  | `-f`, `--only-files`| Boolean Flag to Display Only Files                                                                             |\n| __onlyDirs__   | `-d`, `--only-dirs` | Boolean Flag to Display Only Directories                                                                       |\n| __sortBy__     | `--sort-by`        | Sorting order. Possible Options: 0 - Default, 1 - Files First, 2 - Directories First                           |\n| __raiseException__     | `--raise-exception`        | Boolean Flag to Raise Exception. By Default, It Doesn't Raise Exception                          |\n| __printErrorTraceback__     | `--print-error-traceback`        | Boolean Flag to Print Error Traceback. By Default, It Doesn't Print Error Traceback                           |\n\n\n<h3> Command Line </h3>\n\n1. **Treating the Cloned Directory as Executable**  - <br>\n   (Works if you've cloning privileges but not of installation. You can clone the repo, go to its root and run the below)\n```bash\npython directory_tree\n```\n\nOR\n\n```bash\npython -m directory_tree\n```\n\nUse the inline help for command-line options:\n```\npython directory_tree --help\n```\n\n2. **Treating the Package as Module** - <br>\n   (You would need to install (`pip`) the Python Package in your system for the below to work)\n```bash\ndirectory_tree\n```\n\nUse the inline help for command-line options:\n```bash\ndirectory_tree --help\n```\n\n<h3> In Code </h3>\n\nExample Script to Print out the Tree Structure of a User-Defined Directory `directoryPath`!\n\n```python\n# Importing Libraries\nfrom directory_tree import DisplayTree\n\n# Main Method\nif __name__ == '__main__':\n    DisplayTree(directoryPath)\n```\n\n*   Here by default, the `directoryPath` is the current working directory (CWD) unless specified by the user.\n\n## Output Examples\n\nSample Directory Tree -\n\n![SampleDirectoryTree.png](https://github.com/rahulbordoloi/Directory-Tree/blob/main/images/SampleDirectoryTree.png?raw=true)\n\nNOTE - Here, `letseee.txt` (File) and `Directory 4/` (Directory) are **HIDDEN** in Nature.\n\n1. For <i>Current Working Directory</i> with Argument [Header Info = `False`]\n\n```python\nfrom directory_tree import DisplayTree\n\nDisplayTree(header=True)\n```\n\n![CWDwithHeader.png](https://github.com/rahulbordoloi/Directory-Tree/blob/main/images/CWDwithHeader.png?raw=true)\n\n2. For <i>User Specified Directory</i> with Arguments [String Representation = `True`, Show Hidden Entities = `True`]\n\n```python\nfrom directory_tree import DisplayTree\n\ncustomPath: str = 'Users/rahulbordoloi/Work/Python Packages Maintainence/Directory-Tree/Test/Main Directory'\nstringRepresentation: str = DisplayTree(customPath, stringRep=True, showHidden=True)\nprint(stringRepresentation)\n```\n\n![UserSpecifiedDirectoryStrRepShowHidden.png](https://github.com/rahulbordoloi/Directory-Tree/blob/main/images/UserSpecifiedDirectoryStrRepShowHidden.png?raw=true)\n\n3. For <i>Current Working Directory</i> with Argument [Max Depth = `2`]\n\n```python\nfrom directory_tree import DisplayTree\n\nDisplayTree(maxDepth=2)\n```\n\n![UserSpecifiedDirectoryMaxDep.png](https://github.com/rahulbordoloi/Directory-Tree/blob/main/images/UserSpecifiedDirectoryMaxDep.png?raw=true)\n\n\n## Developing `Directory Tree`\n\nTo install `directory_tree`, along with the tools you need to develop and run tests, use any of the following commands in your virtualenv:\n\n```bash\npip install -e .[dev]\n```\n\nOR\n\n```bash\npip install -e \".[dev]\"\n```\n\n## Deprecation Notice\nThe `display_tree` function is deprecated and will be removed in a future release. Please use `DisplayTree` instead. The end-of-life date for `display_tree` is **December 31, 2024**. <br>\n\n**Parameters Mapping Table** -\n\n| __New Parameters__ | __Deprecated Parameters__  |\n|----------------|----------------------------|\n| __dirPath__    | dir_path                   |\n| __stringRep__  | string_rep                 |\n| __maxDepth__   | max_depth                  |\n| __showHidden__ | show_hidden                |\n| __ignoreList__ | ignore_list                |\n| __onlyFiles__  | only_files                 |\n| __onlyDirs__   | only_dirs                  |\n| __sortBy__     | sort_by                    |\n| __raiseException__     | raise_exception                    |\n| __printErrorTraceback__     | print_error_traceback                    |\n\n\n## Security & Probable Bugs\n\n*   `Directory Tree` uses recursion. It will raise a `RecursionError` on really deep directory trees.\n*   As the tree is lazily evaluated, it should behave well on really wide directory trees. Immediate children of a given directory are not lazily evaluated, though. It would be prompted to the last.\n*   If you're a Windows user, it is always advised to use `\\\\` instead of `\\` in the address as using `\\` might catchup escape sequences and corrupt the address string.\n\n## Contact Author\n\nName : __Rahul Bordoloi__ <br>\nWebsite : https://rahulbordoloi.me <br>\nEmail : rahulbordoloi24@gmail.com <br>\n\nMade with <span style=\"color: #e25555;\">&#9829;</span> in Python!\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Utility Package that Displays out the Tree Structure of a Particular Directory.",
    "version": "1.0.0",
    "project_urls": {
        "Homepage": "https://github.com/rahulbordoloi/Directory-Tree/"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4efb047673ca107e735c0dd9e03811a6f0c8c22ed72d6db596134399580c80c5",
                "md5": "2edd136a131ae7da104c63e47e225dfe",
                "sha256": "2484ba5e9d35e087703913cc85e920f08b9b942859b9f5a0eae24699d3364734"
            },
            "downloads": -1,
            "filename": "directory_tree-1.0.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "2edd136a131ae7da104c63e47e225dfe",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 23001,
            "upload_time": "2024-08-18T17:36:57",
            "upload_time_iso_8601": "2024-08-18T17:36:57.261622Z",
            "url": "https://files.pythonhosted.org/packages/4e/fb/047673ca107e735c0dd9e03811a6f0c8c22ed72d6db596134399580c80c5/directory_tree-1.0.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ba487dbb436a54e0b727ba81ccb1bcf7875e875f826dcf43e01b9ad52726b179",
                "md5": "0c4664610e87a39ea9d8639fd3bc8d2e",
                "sha256": "d65b404d7e561db62e6321f36c612cd12da2e9fbe5cbae98da73ce14c0ec910d"
            },
            "downloads": -1,
            "filename": "directory_tree-1.0.0.tar.gz",
            "has_sig": false,
            "md5_digest": "0c4664610e87a39ea9d8639fd3bc8d2e",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 28347,
            "upload_time": "2024-08-18T17:36:59",
            "upload_time_iso_8601": "2024-08-18T17:36:59.190602Z",
            "url": "https://files.pythonhosted.org/packages/ba/48/7dbb436a54e0b727ba81ccb1bcf7875e875f826dcf43e01b9ad52726b179/directory_tree-1.0.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-08-18 17:36:59",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "rahulbordoloi",
    "github_project": "Directory-Tree",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "directory-tree"
}
        
Elapsed time: 0.46679s