# DLens - Enhanced Directory Mapping Tool
A powerful command-line tool for visualizing and analyzing directory structures with rich formatting, search capabilities, and multiple export formats.
## Features
- 🌳 **Rich Terminal Output** - Beautiful tree visualization with colors and icons
- 🔍 **Powerful Search** - Find files and directories with pattern matching and regex support
- 📊 **Directory Statistics** - Analyze file types, sizes, and modification dates
- 🎨 **Customizable Themes** - Multiple color schemes and styling options
- 📤 **Multiple Export Formats** - Export to HTML, JSON, Markdown, CSV
- ⚡ **Performance Optimized** - Efficient scanning of large directories
- 🔧 **Highly Configurable** - Extensive options and persistent configuration
## Installation
### From PyPI (Recommended)
```bash
pip install dlens
```
### From Source
```bash
git clone https://github.com/Muhammad-NSQ/Dlens.git
cd Dlens
pip install -e .
```
## Quick Start
### Basic Directory Mapping
```bash
# Map current directory
dlens map
# Map specific directory with details
dlens map /path/to/directory --show-details --show-stats
# Map with custom depth and preview limits
dlens map ~/projects --depth 3 --max-preview 5
```
### Search Files and Directories
```bash
# Simple pattern search
dlens search "*.py" ~/projects
# Regex search with results limit
dlens search --regex "test_.*\.py$" --max-results 50
# Export search results to HTML
dlens search "*.md" --output-format html --output-file results.html
```
### Export Options
```bash
# Export directory map to HTML
dlens map --output-format html ~/project
# Export to JSON with statistics
dlens map --output-format json --show-stats > directory.json
# Generate Markdown documentation
dlens map --output-format markdown --show-details > STRUCTURE.md
```
## Configuration
DLens supports persistent configuration to save your preferred settings:
```bash
# View current configuration
dlens config view
# Set default options
dlens config set theme ocean
dlens config set max_preview 10
dlens config set show_details true
# Reset to defaults
dlens config reset
```
## Export Formats
### HTML Export
Interactive HTML with:
- Collapsible directory tree
- Dark/light theme toggle
- Search functionality
- File statistics
- Responsive design
### JSON Export
Structured data including:
- Complete directory hierarchy
- File metadata (size, dates, permissions)
- Directory statistics
- Scan information
### Markdown Export
Documentation-friendly format with:
- Hierarchical bullet lists
- File details and statistics
- GitHub-compatible formatting
## Advanced Features
### Filtering and Exclusion
```bash
# Include only specific file types
dlens map --filter .py --filter .js --filter .html
# Exclude certain file types
dlens map --exclude .pyc --exclude .log --exclude .tmp
# Show hidden files
dlens map --show-hidden
```
### Performance Options
```bash
# Parallel processing for large directories
dlens search "pattern" --parallel
# Limit depth to improve performance
dlens map --depth 5
# Disable progress for scripting
dlens map --no-progress
```
### Theming
Available themes: `default`, `ocean`, `forest`, `pastel`, `monochrome`, `dark`
```bash
# Use a specific theme
dlens map --theme ocean
# Use custom theme file
dlens map --theme-path /path/to/custom-theme.json
```
## Configuration Options
| Option | Description | Default |
|--------|-------------|---------|
| `max_preview` | Items shown per directory | 3 |
| `root_preview` | Items shown in root directory | 5 |
| `depth` | Maximum recursion depth | unlimited |
| `show_hidden` | Include hidden files/directories | false |
| `show_details` | Show file metadata | false |
| `show_stats` | Display directory statistics | false |
| `color` | Enable colored output | true |
| `icons` | Show file type icons | true |
| `parallel` | Use parallel processing | true |
| `follow_symlinks` | Follow symbolic links | false |
## Examples
### Development Project Analysis
```bash
# Analyze a Python project
dlens map ~/my-python-project \
--filter .py --filter .md --filter .yml \
--show-details --show-stats \
--output-format html \
--theme dark
# Find all test files
dlens search "test_*.py" ~/my-python-project \
--output-format csv \
--output-file test-files.csv
```
### System Administration
```bash
# Check log directory structure
dlens map /var/log --show-details --max-preview 10
# Find large files
dlens search "*" /home/user --show-details | head -20
# Generate system documentation
dlens map /etc --output-format markdown --depth 2 > system-config.md
```
## Requirements
- Python 3.8 or higher
- Compatible with Windows, macOS, and Linux
## Dependencies
- `click` >= 8.0.0 - Command line interface
- `rich` >= 12.0.0 - Terminal formatting and colors
- `jinja2` >= 3.0.0 - Template rendering for HTML export
## Contributing
1. Fork the repository
2. Create a feature branch (`git checkout -b feature/amazing-feature`)
3. Commit your changes (`git commit -m 'Add amazing feature'`)
4. Push to the branch (`git push origin feature/amazing-feature`)
5. Open a Pull Request
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## Changelog
### Version 1.0.0
- Initial release
- Core directory mapping functionality
- Search capabilities
- Multiple export formats
- Configuration management
- Theme support
Raw data
{
"_id": null,
"home_page": "https://github.com/Muhammad-NSQ/Dlens",
"name": "dlens",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "directory, mapping, filesystem, visualization, cli, tree",
"author": "Muhammad-NSQ",
"author_email": "Your Name <your.email@example.com>",
"download_url": "https://files.pythonhosted.org/packages/9f/58/ec48624d599f8b7d87a7d3c00612f5bddb0665cb44946e3139473f51f842/dlens-1.0.0.tar.gz",
"platform": null,
"description": "# DLens - Enhanced Directory Mapping Tool\n\nA powerful command-line tool for visualizing and analyzing directory structures with rich formatting, search capabilities, and multiple export formats.\n\n## Features\n\n- \ud83c\udf33 **Rich Terminal Output** - Beautiful tree visualization with colors and icons\n- \ud83d\udd0d **Powerful Search** - Find files and directories with pattern matching and regex support\n- \ud83d\udcca **Directory Statistics** - Analyze file types, sizes, and modification dates\n- \ud83c\udfa8 **Customizable Themes** - Multiple color schemes and styling options\n- \ud83d\udce4 **Multiple Export Formats** - Export to HTML, JSON, Markdown, CSV\n- \u26a1 **Performance Optimized** - Efficient scanning of large directories\n- \ud83d\udd27 **Highly Configurable** - Extensive options and persistent configuration\n\n## Installation\n\n### From PyPI (Recommended)\n\n```bash\npip install dlens\n```\n\n### From Source\n\n```bash\ngit clone https://github.com/Muhammad-NSQ/Dlens.git\ncd Dlens\npip install -e .\n```\n\n## Quick Start\n\n### Basic Directory Mapping\n\n```bash\n# Map current directory\ndlens map\n\n# Map specific directory with details\ndlens map /path/to/directory --show-details --show-stats\n\n# Map with custom depth and preview limits\ndlens map ~/projects --depth 3 --max-preview 5\n```\n\n### Search Files and Directories\n\n```bash\n# Simple pattern search\ndlens search \"*.py\" ~/projects\n\n# Regex search with results limit\ndlens search --regex \"test_.*\\.py$\" --max-results 50\n\n# Export search results to HTML\ndlens search \"*.md\" --output-format html --output-file results.html\n```\n\n### Export Options\n\n```bash\n# Export directory map to HTML\ndlens map --output-format html ~/project\n\n# Export to JSON with statistics\ndlens map --output-format json --show-stats > directory.json\n\n# Generate Markdown documentation\ndlens map --output-format markdown --show-details > STRUCTURE.md\n```\n\n## Configuration\n\nDLens supports persistent configuration to save your preferred settings:\n\n```bash\n# View current configuration\ndlens config view\n\n# Set default options\ndlens config set theme ocean\ndlens config set max_preview 10\ndlens config set show_details true\n\n# Reset to defaults\ndlens config reset\n```\n\n## Export Formats\n\n### HTML Export\nInteractive HTML with:\n- Collapsible directory tree\n- Dark/light theme toggle\n- Search functionality\n- File statistics\n- Responsive design\n\n### JSON Export\nStructured data including:\n- Complete directory hierarchy\n- File metadata (size, dates, permissions)\n- Directory statistics\n- Scan information\n\n### Markdown Export\nDocumentation-friendly format with:\n- Hierarchical bullet lists\n- File details and statistics\n- GitHub-compatible formatting\n\n## Advanced Features\n\n### Filtering and Exclusion\n\n```bash\n# Include only specific file types\ndlens map --filter .py --filter .js --filter .html\n\n# Exclude certain file types\ndlens map --exclude .pyc --exclude .log --exclude .tmp\n\n# Show hidden files\ndlens map --show-hidden\n```\n\n### Performance Options\n\n```bash\n# Parallel processing for large directories\ndlens search \"pattern\" --parallel\n\n# Limit depth to improve performance\ndlens map --depth 5\n\n# Disable progress for scripting\ndlens map --no-progress\n```\n\n### Theming\n\nAvailable themes: `default`, `ocean`, `forest`, `pastel`, `monochrome`, `dark`\n\n```bash\n# Use a specific theme\ndlens map --theme ocean\n\n# Use custom theme file\ndlens map --theme-path /path/to/custom-theme.json\n```\n\n## Configuration Options\n\n| Option | Description | Default |\n|--------|-------------|---------|\n| `max_preview` | Items shown per directory | 3 |\n| `root_preview` | Items shown in root directory | 5 |\n| `depth` | Maximum recursion depth | unlimited |\n| `show_hidden` | Include hidden files/directories | false |\n| `show_details` | Show file metadata | false |\n| `show_stats` | Display directory statistics | false |\n| `color` | Enable colored output | true |\n| `icons` | Show file type icons | true |\n| `parallel` | Use parallel processing | true |\n| `follow_symlinks` | Follow symbolic links | false |\n\n## Examples\n\n### Development Project Analysis\n\n```bash\n# Analyze a Python project\ndlens map ~/my-python-project \\\n --filter .py --filter .md --filter .yml \\\n --show-details --show-stats \\\n --output-format html \\\n --theme dark\n\n# Find all test files\ndlens search \"test_*.py\" ~/my-python-project \\\n --output-format csv \\\n --output-file test-files.csv\n```\n\n### System Administration\n\n```bash\n# Check log directory structure\ndlens map /var/log --show-details --max-preview 10\n\n# Find large files\ndlens search \"*\" /home/user --show-details | head -20\n\n# Generate system documentation\ndlens map /etc --output-format markdown --depth 2 > system-config.md\n```\n\n## Requirements\n\n- Python 3.8 or higher\n- Compatible with Windows, macOS, and Linux\n\n## Dependencies\n\n- `click` >= 8.0.0 - Command line interface\n- `rich` >= 12.0.0 - Terminal formatting and colors\n- `jinja2` >= 3.0.0 - Template rendering for HTML export\n\n## Contributing\n\n1. Fork the repository\n2. Create a feature branch (`git checkout -b feature/amazing-feature`)\n3. Commit your changes (`git commit -m 'Add amazing feature'`)\n4. Push to the branch (`git push origin feature/amazing-feature`)\n5. Open a Pull Request\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## Changelog\n\n### Version 1.0.0\n- Initial release\n- Core directory mapping functionality\n- Search capabilities\n- Multiple export formats\n- Configuration management\n- Theme support\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Enhanced directory mapping and visualization tool",
"version": "1.0.0",
"project_urls": {
"Bug Reports": "https://github.com/Muhammad-NSQ/Dlens/issues",
"Documentation": "https://github.com/Muhammad-NSQ/Dlens#readme",
"Homepage": "https://github.com/Muhammad-NSQ/Dlens",
"Source": "https://github.com/Muhammad-NSQ/Dlens"
},
"split_keywords": [
"directory",
" mapping",
" filesystem",
" visualization",
" cli",
" tree"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "a75d534257b920133d38c72f2ed16ff0b2a020e812e2451e87dc6f8ecb38cd69",
"md5": "60054b01911b9691cdcb1a5a995097d0",
"sha256": "e26aa113834f63f552bac3c06145eec53e79401c07dd3cffe731ac47f380841a"
},
"downloads": -1,
"filename": "dlens-1.0.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "60054b01911b9691cdcb1a5a995097d0",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 44326,
"upload_time": "2025-09-06T11:58:45",
"upload_time_iso_8601": "2025-09-06T11:58:45.154474Z",
"url": "https://files.pythonhosted.org/packages/a7/5d/534257b920133d38c72f2ed16ff0b2a020e812e2451e87dc6f8ecb38cd69/dlens-1.0.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "9f58ec48624d599f8b7d87a7d3c00612f5bddb0665cb44946e3139473f51f842",
"md5": "79de2ea60f508faa8fea3e671781a242",
"sha256": "21d4abcf62325af24a2aedace20f86e1edd82af78c57fedd2222368ef0a4487b"
},
"downloads": -1,
"filename": "dlens-1.0.0.tar.gz",
"has_sig": false,
"md5_digest": "79de2ea60f508faa8fea3e671781a242",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 36995,
"upload_time": "2025-09-06T11:58:46",
"upload_time_iso_8601": "2025-09-06T11:58:46.967876Z",
"url": "https://files.pythonhosted.org/packages/9f/58/ec48624d599f8b7d87a7d3c00612f5bddb0665cb44946e3139473f51f842/dlens-1.0.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-09-06 11:58:46",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "Muhammad-NSQ",
"github_project": "Dlens",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [
{
"name": "click",
"specs": [
[
">=",
"8.0.0"
]
]
},
{
"name": "rich",
"specs": [
[
">=",
"12.0.0"
]
]
},
{
"name": "jinja2",
"specs": [
[
">=",
"3.0.0"
]
]
}
],
"lcname": "dlens"
}