# Treelyze
Treelyze is a powerful CLI tool for analyzing directory structures and optionally summarizing file contents using Language Models (LLMs). It provides an easy-to-use interface for exploring and understanding complex directory hierarchies.
## Features
- Analyze directory structures with customizable depth
- Exclude specific directories from analysis
- Summarize file contents using LLMs (optional)
- Configurable settings for model and prompt customization
- Output results to file or console
## Installation
You can install Treelyze using pip:
```bash
pip install treelyze
```
## Usage
### Basic Usage
To analyze the current directory:
```bash
treelyze run
```
To analyze a specific directory:
```bash
treelyze run /path/to/directory
```
### Options
- `--max-depth, -d`: Set the maximum depth for directory traversal
- `--exclude, -e`: Specify directories to exclude (can be used multiple times)
- `--summarize, -s`: Enable file content summarization using LLM
- `--output, -o`: Specify an output file for the analysis results
- `--model`: Override the default language model for summarization
- `--prompt`: Override the default summarization prompt
### Examples
Analyze a directory with a maximum depth of 3, excluding 'node_modules':
```bash
treelyze run /path/to/directory --max-depth 3 --exclude node_modules
```
Analyze and summarize files, outputting results to a file:
```bash
treelyze run /path/to/directory --summarize --output results.txt
```
### Configuration
You can manage Treelyze configuration using the `config` subcommand:
```bash
# Show current configuration
treelyze config --show
# Set a configuration value
treelyze config --set model "gpt-3.5-turbo"
treelyze config --set prompt "Summarize this file concisely:"
```
**Note:** The configuration file is located at `~/.treelyze/config.yaml` in your home folder.
## Contributing
Contributions to Treelyze are welcome! Please feel free to submit a Pull Request.
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
Raw data
{
"_id": null,
"home_page": "https://github.com/mandgie/treelyze",
"name": "treelyze",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.10",
"maintainer_email": null,
"keywords": "cli, directory, analysis, summarization",
"author": "Magnus",
"author_email": "magnus.uno.friberg@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/07/a9/f0c9641a7fa06f9cf32e042bef8d67a9fe00e922cfcf8a1a6e5369dd0397/treelyze-0.1.2.tar.gz",
"platform": null,
"description": "# Treelyze\n\nTreelyze is a powerful CLI tool for analyzing directory structures and optionally summarizing file contents using Language Models (LLMs). It provides an easy-to-use interface for exploring and understanding complex directory hierarchies.\n\n## Features\n\n- Analyze directory structures with customizable depth\n- Exclude specific directories from analysis\n- Summarize file contents using LLMs (optional)\n- Configurable settings for model and prompt customization\n- Output results to file or console\n\n## Installation\n\nYou can install Treelyze using pip:\n\n```bash\npip install treelyze\n```\n\n## Usage\n\n### Basic Usage\n\nTo analyze the current directory:\n\n```bash\ntreelyze run\n```\n\nTo analyze a specific directory:\n\n```bash\ntreelyze run /path/to/directory\n```\n\n### Options\n\n- `--max-depth, -d`: Set the maximum depth for directory traversal\n- `--exclude, -e`: Specify directories to exclude (can be used multiple times)\n- `--summarize, -s`: Enable file content summarization using LLM\n- `--output, -o`: Specify an output file for the analysis results\n- `--model`: Override the default language model for summarization\n- `--prompt`: Override the default summarization prompt\n\n### Examples\n\nAnalyze a directory with a maximum depth of 3, excluding 'node_modules':\n\n```bash\ntreelyze run /path/to/directory --max-depth 3 --exclude node_modules\n```\n\nAnalyze and summarize files, outputting results to a file:\n\n```bash\ntreelyze run /path/to/directory --summarize --output results.txt\n```\n\n### Configuration\n\nYou can manage Treelyze configuration using the `config` subcommand:\n\n```bash\n# Show current configuration\ntreelyze config --show\n\n# Set a configuration value\ntreelyze config --set model \"gpt-3.5-turbo\"\ntreelyze config --set prompt \"Summarize this file concisely:\"\n```\n\n**Note:** The configuration file is located at `~/.treelyze/config.yaml` in your home folder.\n\n## Contributing\n\nContributions to Treelyze are welcome! Please feel free to submit a Pull Request.\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.",
"bugtrack_url": null,
"license": null,
"summary": "A CLI tool for analyzing directory structures and summarizing files",
"version": "0.1.2",
"project_urls": {
"Homepage": "https://github.com/mandgie/treelyze",
"Repository": "https://github.com/mandgie/treelyze"
},
"split_keywords": [
"cli",
" directory",
" analysis",
" summarization"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "8d41c1ab06e82131820e978b3c87ab20655f8446f83c861e55f5d59d26d446a1",
"md5": "5e2399001c75d0c1a39e32360f9be974",
"sha256": "81460a273d55b269adb44a536f3781c4f1dc0d1671b068c0eca41d87892789df"
},
"downloads": -1,
"filename": "treelyze-0.1.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "5e2399001c75d0c1a39e32360f9be974",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.10",
"size": 7479,
"upload_time": "2024-12-02T17:51:14",
"upload_time_iso_8601": "2024-12-02T17:51:14.339811Z",
"url": "https://files.pythonhosted.org/packages/8d/41/c1ab06e82131820e978b3c87ab20655f8446f83c861e55f5d59d26d446a1/treelyze-0.1.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "07a9f0c9641a7fa06f9cf32e042bef8d67a9fe00e922cfcf8a1a6e5369dd0397",
"md5": "761b1b7db4a1ee53cab5130ef1b6eb41",
"sha256": "7c59cdd833f8f68dc322cb62350f3ccc75ac20c8f993228df9edabfe945b5d22"
},
"downloads": -1,
"filename": "treelyze-0.1.2.tar.gz",
"has_sig": false,
"md5_digest": "761b1b7db4a1ee53cab5130ef1b6eb41",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.10",
"size": 5979,
"upload_time": "2024-12-02T17:51:15",
"upload_time_iso_8601": "2024-12-02T17:51:15.956169Z",
"url": "https://files.pythonhosted.org/packages/07/a9/f0c9641a7fa06f9cf32e042bef8d67a9fe00e922cfcf8a1a6e5369dd0397/treelyze-0.1.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-12-02 17:51:15",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "mandgie",
"github_project": "treelyze",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "treelyze"
}