Skip to main content

A Python CLI to generate a tree structured diagram for any directory

Project description

gendia

PyPI Downloads


A Python CLI to generate a tree structured diagram for any directory!


Imagine this: you are on Discord and is request help from someone about a project you are working on. You want to show the structure of your project directory to the person. You can't just send a screenshot of the directory because it's too big and the person won't be able to see the whole structure. You can't just send a text file with the structure because it's too boring and the person won't be able to understand it easily. What do you do? You use gendia!

Heres an example of a tree structured diagram generated by gendia:

project
├── src
│   ├── main.py
│   ├── utils
│   │   ├── __init__.py
│   │   ├── helper.py
│   │   └── helper2.py
│   ├── tests
│   │   ├── __init__.py
│   │   ├── test_main.py
│   │   └── test_helper.py
│   └── README.md
├── LICENSE
└── .gitignore

Not just that, it is color coded! The directories are in blue, and different file types are in different colors. This makes it easier to understand the structure of the directory.

Installation

To add gendia to your project, run:

pip install gendia

This should install gendia to your project. You can now use it to generate tree structured diagrams for your directories.

Usage

To use gendia, run:

gendia path/to/directory

This should generate a tree structured diagram for the current working directory. You can also specify the output file by using the -o flag:

gendia -o output.txt

This should generate a tree structured diagram for the current working directory and save it to output.txt.

--hidden flag can be used to show hidden files and directories:

gendia --hidden

--depth flag can be used to specify the max depth of the foulders to go into, 1 being the lowest:

gendia --depth 1

-i flag enables icons, which are unicode/emoji characters that represent the file types. This is useful for quickly identifying the file types in the tree structure:

gendia -i

--exclude flag can be used to exclude certain files and directories from the tree structure. This is useful for excluding files and directories that are not relevant to the tree structure:

gendia --exclude .git,venv

Config files

Gendia's config file can reside in either of the 2 directory's:

~/gendia_config.ini

or

~/Scripts/gendia_config.ini

You can add the following contents to the file:

[settings]
exclude = .git,__pycache__,venv

The excluded files and foulders in the config file will be appended to the other excluded files you later specify with the --exclude flag.

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

gendia-1.6.2.tar.gz (6.0 kB view details)

Uploaded Source

Built Distribution

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

gendia-1.6.2-py3-none-any.whl (6.5 kB view details)

Uploaded Python 3

File details

Details for the file gendia-1.6.2.tar.gz.

File metadata

  • Download URL: gendia-1.6.2.tar.gz
  • Upload date:
  • Size: 6.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.13.0

File hashes

Hashes for gendia-1.6.2.tar.gz
Algorithm Hash digest
SHA256 478eb3f4e42611518269ee5a1e2d9ade01480690affc39d38ed3d748c91e9312
MD5 9c8c6c227845dcf47536e8af6085f6b1
BLAKE2b-256 ee555fd3e1140a6ffeb52b3f57adedc84cacc176e03b65e3d9edf72fffb5f1da

See more details on using hashes here.

File details

Details for the file gendia-1.6.2-py3-none-any.whl.

File metadata

  • Download URL: gendia-1.6.2-py3-none-any.whl
  • Upload date:
  • Size: 6.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.13.0

File hashes

Hashes for gendia-1.6.2-py3-none-any.whl
Algorithm Hash digest
SHA256 67e7533b0f58e67a5d259a111ec54ccce69e327dbcbd9f9bd58470cdaa9b6ed0
MD5 3e2527b4daa03adb609fb458b356576e
BLAKE2b-256 cc1a2ddd9f2bf96d75045e647f686369dd676ec51dbeed53bdee5de4619ac3cf

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