print-project


Nameprint-project JSON
Version 2.0.3 PyPI version JSON
download
home_pageNone
SummaryDirectory Content Analysis Tool - Extract and analyze source code files across project structures
upload_time2025-10-11 16:59:50
maintainerNone
docs_urlNone
authorNone
requires_python>=3.6
licenseNone
keywords code-analysis directory-scanner documentation source-code project-analysis
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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

```bash
pip install print-project
```

## 🚀 Quick Start

```bash
# 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

```bash
# Basic usage
print-project                                    # Analyze current directory
print-project -f /path/to/project               # Analyze specific directory
print-project --console                         # Show console output

# File filtering
print-project -e py,js,ts                       # Include only specific extensions
print-project -x log,tmp,bak                    # Exclude specific extensions
print-project -s "tests,docs,build"             # Skip directories

# Advanced options
print-project --include-files "config.py,.env"          # Force include files
print-project --only-include-files "main.py,README.md"  # Process only these files
print-project -o my_analysis                            # Custom output filename
print-project --duplicate                               # Timestamped output
print-project --no-tree                                 # Skip directory tree
```

## 📋 Command Line Options

| Option | Description |
|--------|-------------|
| `-f, --folder` | Directory to process (default: current directory) |
| `-s, --skip` | Comma-separated list of directories to exclude |
| `-e, --extensions` | Comma-separated list of file extensions to include |
| `-x, --exclude-ext` | Comma-separated list of file extensions to exclude |
| `-i, --ignore-files` | Comma-separated list of specific files to exclude |
| `--include-files` | Force include specific files (overrides filters) |
| `--only-include-files` | Process ONLY these specific files |
| `--max-size` | Maximum file size in bytes to process |
| `--console` | Show console output during processing |
| `-o, --output` | Output filename (without extension) |
| `--duplicate` | Create timestamped output instead of overwriting |
| `--no-summary` | Exclude summary from output file |
| `--no-tree` | Skip directory tree generation |
| `--tree-exclude` | Override directory exclusions for tree generation |
| `-h, --help` | Show help message |

## 🔧 Configuration

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](https://github.com/smaxiso/print-project)
- **Issues**: [Bug Reports & Feature Requests](https://github.com/smaxiso/print-project/issues)
- **Changelog**: [Version History](https://github.com/smaxiso/print-project/blob/master/docs/CHANGELOG.md)
- **Contributing**: [Development Guide](https://github.com/smaxiso/print-project/blob/master/docs/CONTRIBUTING.md)

## 📝 License

MIT License - see the [repository](https://github.com/smaxiso/print-project) for details.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "print-project",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.6",
    "maintainer_email": null,
    "keywords": "code-analysis, directory-scanner, documentation, source-code, project-analysis",
    "author": null,
    "author_email": "smaxiso <smaxiso@users.noreply.github.com>",
    "download_url": "https://files.pythonhosted.org/packages/9b/4e/174904f37144f5bea37a38b93481af74998c8f7026358c5ee45f2a48c158/print_project-2.0.3.tar.gz",
    "platform": null,
    "description": "# print-project\r\n\r\nA 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.\r\n\r\n## \u26a1 Installation\r\n\r\n```bash\r\npip install print-project\r\n```\r\n\r\n## \ud83d\ude80 Quick Start\r\n\r\n```bash\r\n# Analyze current directory\r\nprint-project\r\n\r\n# Analyze specific project\r\nprint-project -f /path/to/project\r\n\r\n# Show progress during analysis\r\nprint-project --console\r\n\r\n# Alternative command name\r\nanalyze-project --help\r\n```\r\n\r\n## \u2728 Features\r\n\r\n- **Recursive Directory Scanning**: Analyzes entire project structures including subdirectories\r\n- **File Type Filtering**: Include/exclude files by extension or specific filenames\r\n- **Smart Binary Detection**: Automatically skips binary files while allowing trusted text extensions\r\n- **Directory Tree Generation**: Creates visual directory structure representation\r\n- **Configurable Output**: Customizable output formatting with summary statistics\r\n- **Size Limits**: Configurable maximum file size processing limits\r\n- **Flexible Configuration**: INI-based configuration with command-line overrides\r\n\r\n## \ud83d\udca1 Usage Examples\r\n\r\n```bash\r\n# Basic usage\r\nprint-project                                    # Analyze current directory\r\nprint-project -f /path/to/project               # Analyze specific directory\r\nprint-project --console                         # Show console output\r\n\r\n# File filtering\r\nprint-project -e py,js,ts                       # Include only specific extensions\r\nprint-project -x log,tmp,bak                    # Exclude specific extensions\r\nprint-project -s \"tests,docs,build\"             # Skip directories\r\n\r\n# Advanced options\r\nprint-project --include-files \"config.py,.env\"          # Force include files\r\nprint-project --only-include-files \"main.py,README.md\"  # Process only these files\r\nprint-project -o my_analysis                            # Custom output filename\r\nprint-project --duplicate                               # Timestamped output\r\nprint-project --no-tree                                 # Skip directory tree\r\n```\r\n\r\n## \ud83d\udccb Command Line Options\r\n\r\n| Option | Description |\r\n|--------|-------------|\r\n| `-f, --folder` | Directory to process (default: current directory) |\r\n| `-s, --skip` | Comma-separated list of directories to exclude |\r\n| `-e, --extensions` | Comma-separated list of file extensions to include |\r\n| `-x, --exclude-ext` | Comma-separated list of file extensions to exclude |\r\n| `-i, --ignore-files` | Comma-separated list of specific files to exclude |\r\n| `--include-files` | Force include specific files (overrides filters) |\r\n| `--only-include-files` | Process ONLY these specific files |\r\n| `--max-size` | Maximum file size in bytes to process |\r\n| `--console` | Show console output during processing |\r\n| `-o, --output` | Output filename (without extension) |\r\n| `--duplicate` | Create timestamped output instead of overwriting |\r\n| `--no-summary` | Exclude summary from output file |\r\n| `--no-tree` | Skip directory tree generation |\r\n| `--tree-exclude` | Override directory exclusions for tree generation |\r\n| `-h, --help` | Show help message |\r\n\r\n## \ud83d\udd27 Configuration\r\n\r\nThe tool uses a `config.ini` file for default settings. Config file locations:\r\n\r\n- Current working directory\r\n- `~/.print-project/config.ini` (user config)\r\n- `/etc/print-project/config.ini` (system config - Unix/Linux)\r\n- `%APPDATA%/print-project/config.ini` (system config - Windows)\r\n\r\n## \ud83d\udcc4 Output\r\n\r\nThe tool generates a `.txt` file containing:\r\n\r\n1. **Directory Tree**: Visual representation of the project structure\r\n2. **File Analysis**: Content of each processed file with:\r\n   - File path and metadata\r\n   - Line numbers\r\n   - Syntax highlighting markers\r\n3. **Summary Statistics**:\r\n   - Total files processed\r\n   - Files skipped (with reasons)\r\n   - Processing time and performance metrics\r\n\r\n## \ud83c\udfaf Use Cases\r\n\r\n- **Code Reviews**: Generate comprehensive project snapshots\r\n- **Documentation**: Create detailed project overviews\r\n- **Analysis**: Understand project structure and content\r\n- **Migration**: Prepare project content for analysis or transfer\r\n- **AI/LLM Input**: Generate context-rich project representations\r\n\r\n## \ud83d\udd04 Updates\r\n\r\n```bash\r\n# Upgrade to latest version\r\npip install --upgrade print-project\r\n\r\n# Check current version\r\nprint-project --help  # Version shown in help text\r\n```\r\n\r\n## \ud83c\udf10 Cross-Platform Compatibility\r\n\r\nWorks identically on:\r\n- \u2705 **Windows**\r\n- \u2705 **macOS** \r\n- \u2705 **Linux**\r\n\r\n## \ud83d\udcda Links\r\n\r\n- **Source Code**: [GitHub Repository](https://github.com/smaxiso/print-project)\r\n- **Issues**: [Bug Reports & Feature Requests](https://github.com/smaxiso/print-project/issues)\r\n- **Changelog**: [Version History](https://github.com/smaxiso/print-project/blob/master/docs/CHANGELOG.md)\r\n- **Contributing**: [Development Guide](https://github.com/smaxiso/print-project/blob/master/docs/CONTRIBUTING.md)\r\n\r\n## \ud83d\udcdd License\r\n\r\nMIT License - see the [repository](https://github.com/smaxiso/print-project) for details.\r\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Directory Content Analysis Tool - Extract and analyze source code files across project structures",
    "version": "2.0.3",
    "project_urls": {
        "Bug Reports": "https://github.com/smaxiso/print-project/issues",
        "Changelog": "https://github.com/smaxiso/print-project/blob/master/docs/CHANGELOG.md",
        "Documentation": "https://github.com/smaxiso/print-project/blob/master/README.md",
        "Homepage": "https://github.com/smaxiso/print-project",
        "Issues": "https://github.com/smaxiso/print-project/issues",
        "Repository": "https://github.com/smaxiso/print-project",
        "Source Code": "https://github.com/smaxiso/print-project"
    },
    "split_keywords": [
        "code-analysis",
        " directory-scanner",
        " documentation",
        " source-code",
        " project-analysis"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "79f391b1b0ca9fdac0ba88995428ba3385572f59859f05aed5568d7ce5764987",
                "md5": "528f19390796298a99c29f297069db84",
                "sha256": "480fb86dc429205416f327dbd24fa819bbc19b0c38f14b1b9ed44736a02a76e2"
            },
            "downloads": -1,
            "filename": "print_project-2.0.3-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "528f19390796298a99c29f297069db84",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.6",
            "size": 16129,
            "upload_time": "2025-10-11T16:59:49",
            "upload_time_iso_8601": "2025-10-11T16:59:49.088927Z",
            "url": "https://files.pythonhosted.org/packages/79/f3/91b1b0ca9fdac0ba88995428ba3385572f59859f05aed5568d7ce5764987/print_project-2.0.3-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "9b4e174904f37144f5bea37a38b93481af74998c8f7026358c5ee45f2a48c158",
                "md5": "531d453d75aaef736d36a9e33f4ff323",
                "sha256": "5d6d18a6dc41bd5b4108f94f4474139c8b0cc1c0aed19198600639be428e70e8"
            },
            "downloads": -1,
            "filename": "print_project-2.0.3.tar.gz",
            "has_sig": false,
            "md5_digest": "531d453d75aaef736d36a9e33f4ff323",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.6",
            "size": 37407,
            "upload_time": "2025-10-11T16:59:50",
            "upload_time_iso_8601": "2025-10-11T16:59:50.654087Z",
            "url": "https://files.pythonhosted.org/packages/9b/4e/174904f37144f5bea37a38b93481af74998c8f7026358c5ee45f2a48c158/print_project-2.0.3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-10-11 16:59:50",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "smaxiso",
    "github_project": "print-project",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "print-project"
}
        
Elapsed time: 1.41121s