Skip to main content

A Python package for generating directory trees

Project description

Route

Route is a Python package for generating directory tree, especially in any python project or package.

Installation

pip install route

Usage

from route import directory_tree

directory_tree(path=".", save_to_file=True, display_output=True)

Output:

🛸 route
├── README.md
├── run_me.py
├── setup.py
└── 🚀 route
    ├── dir.py
    ├── directory_tree.py
    ├── emoji.py
    ├── generate_get_dir_prefix.py
    ├── setup_utils.py
    └── starts_with.py

How to Use Route in Your Python Package

  • Use the following code at the top of your setup.py file (Script 1)
  • Add post_install_command and post_develop_command to the cmdclass argument in the setup function (Script 2)
  • See the setup.py file for an example.

Script 1

from route import get_post_develop_command, get_post_install_command
import os

# Define the arguments for the dir function
dir_path = os.getcwd()
ignore_ends_with={'.pyc', '.egg-info', '.ipynb'}
ignore_exact_match={
    '__init__.py', '__pycache__', '.git', '.idea', '.pytest_cache', '.ipynb_checkpoints', 
    'dist', 'build', '.gitignore'
}
specific_prefixes = {
    '* is_root': '🛸',
    '* is_module': '🚀',
    '* is_test_dir': '🧪',
    'test': '🧪',
    'tests': '🧪'
}

dir_args = {
    'path': dir_path,
    'ignore_ends_with': ignore_ends_with,
    'ignore_exact_match': ignore_exact_match,
    'specific_prefixes': specific_prefixes,
    'save_to_file': True,           # This creates a Markdown file
    'output_file': 'DIRECTORY.md'   # This is the name of the file that will be created
}

post_develop_command = get_post_develop_command(dir_args=dir_args)
post_install_command = get_post_install_command(dir_args=dir_args)

Script 2

setup(
    ...
    cmdclass={
        "install": post_install_command,
        "develop": post_develop_command,
    },
    ...
)

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

route-2025.2.23.1.tar.gz (8.4 kB view details)

Uploaded Source

Built Distribution

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

route-2025.2.23.1-py3-none-any.whl (8.5 kB view details)

Uploaded Python 3

File details

Details for the file route-2025.2.23.1.tar.gz.

File metadata

  • Download URL: route-2025.2.23.1.tar.gz
  • Upload date:
  • Size: 8.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.15

File hashes

Hashes for route-2025.2.23.1.tar.gz
Algorithm Hash digest
SHA256 3d43d4a058c55ec4d1c345be318dd8d55e7e410717e0fc721ee92f3a3d158273
MD5 e0c24cf84ff4c861fd1b5dfdb1b5e796
BLAKE2b-256 6c0189a4393c911a82a9666c2613cccfa5f3b482955a70ace0fc30b159be6b14

See more details on using hashes here.

File details

Details for the file route-2025.2.23.1-py3-none-any.whl.

File metadata

  • Download URL: route-2025.2.23.1-py3-none-any.whl
  • Upload date:
  • Size: 8.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.15

File hashes

Hashes for route-2025.2.23.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6e8d7335666b46c74a02831e368233cf1bd9dbea52980b11f290436c879bb3d4
MD5 e8f3158638ef071a19c7e077f33c6c1b
BLAKE2b-256 372eee80b0565d9f773f979387d3449b43acb269e0fca6571ee2cf6f96d726a2

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