Metadata-Version: 2.4
Name: tree-readme
Version: 2.2.0
Summary: A simple README generator for Python projects.
Author-email: Jakub Kościan <kuba.koscian001@gmail.com>
Maintainer-email: Jakub Kościan <kuba.koscian001@gmail.com>
Project-URL: repository, https://github.com/kvbiii/tree-readme
Keywords: readme,generator,python,project
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: typer==0.16.0

# readme-generator

## Overview
This is a sample README generated by the script.

## Folder Structure
```
┣━ 📁 .github
┃  ┗━ 📁 workflows
┃     ┗━ 📜 python-publish.yml
┣━ 📁 readme_generator
┃  ┣━ 🐍 __init__.py
┃  ┣━ 🐍 emoji_map.py
┃  ┣━ 🐍 generate_readme.py
┃  ┣━ 🐍 readme_builder.py
┃  ┗━ 🐍 repo_structure.py
┣━ 📁 tests
┃  ┗━ 🐍 test_readme_generator.py
┣━ 👻 .gitignore
┣━ 🐚 install_package.sh
┣━ ⚙️ pyproject.toml
┣━ 📖 README.md
┗━ 📃 requirements.txt
```

## Files Description
* 📁 `.github`: Contains configuration files for GitHub-specific workflows and actions.
	- 📁 `workflows`: Contains GitHub Actions workflows for automating tasks.
		- 📜 `python-publish.yml`: Contains GitHub Actions workflow configuration for automating Python package publishing.
* 📁 `readme_generator`: Contains the main Python package for the project.
	- 🐍 `__init__.py`: Marks the folder as a Python package.
	- 🐍 `emoji_map.py`: Maps file types to corresponding emojis for visual representation.
	- 🐍 `generate_readme.py`: Main script for generating the README file.
	- 🐍 `readme_builder.py`: Handles the logic for constructing the README content.
* 📁 `tests`: Contains test modules for the project.
	- 🐍 `test_readme_generator.py`: Unit tests for the README generator functionality.
* 👻 `.gitignore`: Specifies files and directories to be ignored by Git.
* 🐚 `install_package.sh`: A shell script to install the package.
* ⚙️ `pyproject.toml`: Configuration file for Python project dependencies and build system.
* 📖 `README.md`: The generated README file for the project.
* 📃 `requirements.txt`: Lists the Python dependencies required for the project.

## Installation

To install the package, run the following command:

```bash
pip install tree-readme
```

## Usage

To generate a README file, run the following command:

```bash
python -m readme_generator.generate_readme --repo-path "/path/to/your/repository" \
    --overview "This is a sample README generated by the script." \
    --exclude-dirs ".git" \
	--exclude-dirs "__pycache__" \
	--exclude-dirs ".idea" \
	--exclude-dirs ".vscode" \
	--exclude-dirs ".ipynb_checkpoints" \
	--exclude-dirs ".egg-info" \
	--exclude-dirs "dist" \
	--exclude-dirs "_env" \
	--exclude-dirs ".pytest_cache" \
	--exclude-files ".pyc" \
	--exclude-files ".pyo" \
	--exclude-files ".pyd" \
	--exclude-files ".DS_Store"
```

### Parameters

- `--repo_path`: Specifies the path to the repository for which the README will be generated (defaults to the current working directory).
	- Example: `"/path/to/your/repository"`

- `--overview`: Provides a brief description of the project to include in the README (defaults to an empty string).
	- Example: `"This is a sample README generated by the script."`

- `--exclude_dirs`: Lists directories to exclude from the repository structure in the README file (defaults to `.git`, `__pycache__`, `.idea`, `.vscode`, `.ipynb_checkpoints`, `.egg-info`, `dist`, `_env`, and `.pytest_cache`).
	- Example: `.git readme_generator .vscode .idea .ipynb_checkpoints .egg-info dist _env .pytest_cache`

- `--exclude_files`: Lists file extensions or specific files to exclude from the repository structure in the README file (defaults to `.pyc`, `.pyo`, `.pyd`, and `.DS_Store`).
	- Example: `.pyc .pyo .pyd .DS_Store`

### Python Version

It can also be run using the following python code:

```python
from pathlib import Path
from readme_generator.generate_readme import generate

repo_path = Path(__file__).resolve().parent
generate(
	repo_path,
	overview="This is a sample README generated by the script.",
	exclude_dirs={".git", "__pycache__", ".idea", ".vscode", ".ipynb_checkpoints", ".egg-info", "dist", "_env", ".pytest_cache",},
	exclude_files={".pyc", ".pyo", ".pyd", ".DS_Store"}
)
```

-------------------------------------------
**Last updated on 2025-06-07 20:36**
