Directory Content Analysis Tool - Extract and analyze source code files across project structures
Project description
print-project
A comprehensive Python CLI tool for analyzing and extracting the contents of source code files across a project directory structure, outputting them into a single organized document for easier review and analysis.
⚡ Installation
pip install print-project
🚀 Quick Start
# Analyze current directory
print-project
# Analyze specific project
print-project -f /path/to/project
# Show progress during analysis
print-project --console
# Alternative command name
analyze-project --help
✨ Features
- Recursive Directory Scanning: Analyzes entire project structures including subdirectories
- File Type Filtering: Include/exclude files by extension or specific filenames
- Smart Binary Detection: Automatically skips binary files while allowing trusted text extensions
- Directory Tree Generation: Creates visual directory structure representation
- Configurable Output: Customizable output formatting with summary statistics
- Size Limits: Configurable maximum file size processing limits
- Flexible Configuration: INI-based configuration with command-line overrides
💡 Usage Examples
# Basic usage
print-project # Analyze current directory
print-project -f /path/to/project # Analyze specific directory
print-project --console # Show console output
The tool uses a `config.ini` file for default settings. Config file locations:
- Current working directory
- `~/.print-project/config.ini` (user config)
- `/etc/print-project/config.ini` (system config - Unix/Linux)
- `%APPDATA%/print-project/config.ini` (system config - Windows)
## 📄 Output
The tool generates a `.txt` file containing:
1. **Directory Tree**: Visual representation of the project structure
2. **File Analysis**: Content of each processed file with:
- File path and metadata
- Line numbers
- Syntax highlighting markers
3. **Summary Statistics**:
- Total files processed
- Files skipped (with reasons)
- Processing time and performance metrics
## 🎯 Use Cases
- **Code Reviews**: Generate comprehensive project snapshots
- **Documentation**: Create detailed project overviews
- **Analysis**: Understand project structure and content
- **Migration**: Prepare project content for analysis or transfer
- **AI/LLM Input**: Generate context-rich project representations
## 🔄 Updates
```bash
# Upgrade to latest version
pip install --upgrade print-project
# Check current version
print-project --help # Version shown in help text
🌐 Cross-Platform Compatibility
Works identically on:
- ✅ Windows
- ✅ macOS
- ✅ Linux
📚 Links
- Source Code: GitHub Repository
- Issues: Bug Reports & Feature Requests
- Changelog: Version History
- Contributing: Development Guide
📝 License
MIT License - see the repository for details.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file print_project-2.2.2.tar.gz.
File metadata
- Download URL: print_project-2.2.2.tar.gz
- Upload date:
- Size: 40.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
489af213fa934e7057b29f4fda4e839cbbbf9db567abb110165b4d4dd30f0a8d
|
|
| MD5 |
3c8de9410cd4842fb50eaa232dec6ede
|
|
| BLAKE2b-256 |
9593f410f72a72d2a5633112d797d65e3be7b89ee44f3e638f8a2cbf668baf92
|
File details
Details for the file print_project-2.2.2-py3-none-any.whl.
File metadata
- Download URL: print_project-2.2.2-py3-none-any.whl
- Upload date:
- Size: 18.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9d73e0a82722b06740af5fe4c86751d03e62a983d0f9af50824e6f776b4d9c95
|
|
| MD5 |
e4b3b3aef185cbdd0d31adba0ae14edf
|
|
| BLAKE2b-256 |
daa2185d2d829420ab32680d8a16dcc0e617f37acb701b0d6008b7fb8ff34a31
|