Skip to main content

A tool to combine multiple files while preserving directory structure

Project description

FileCombinator

FileCombinator is a Python tool that combines multiple files while preserving their directory structure, making it easy to share or inspect collections of files.

Features

  • Preserves directory structure when combining files
  • Handles various file types (text, binary, image)
  • Configurable file and directory exclusions
  • Detailed logging with customizable output
  • Command-line interface for easy use

Installation

pip install filecombinator

Quick Start

# Process current directory
filecombinator

# Process specific directory
filecombinator -d /path/to/dir

# Exclude specific patterns
filecombinator -e node_modules dist

# Specify output file
filecombinator -o combined_output.txt

# Enable verbose output
filecombinator -v

Configuration

FileCombinator can be configured via a YAML file. Default patterns to exclude:

  • __pycache__
  • .venv
  • .git
  • node_modules
  • And more...

Create a custom config file to override defaults.

Development

# Clone the repository
git clone https://github.com/your-username/filecombinator.git
cd filecombinator

# Create virtual environment
python -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate

# Install development dependencies
make install

# Run tests
make test

# Run linting
make lint

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the MIT License - see the LICENSE file 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

filecombinator-0.2.0.tar.gz (23.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

filecombinator-0.2.0-py3-none-any.whl (16.7 kB view details)

Uploaded Python 3

File details

Details for the file filecombinator-0.2.0.tar.gz.

File metadata

  • Download URL: filecombinator-0.2.0.tar.gz
  • Upload date:
  • Size: 23.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.10

File hashes

Hashes for filecombinator-0.2.0.tar.gz
Algorithm Hash digest
SHA256 01ad9f4d30ca7d066a4fcc26ed7dcde6b8d7a04026f3099b32bde29a02454c7f
MD5 7554af4f898870cee15a945981242790
BLAKE2b-256 bbf47d4244214509fedda805f3150838d5ae96a0d9f3a3d808a533e88f287b47

See more details on using hashes here.

File details

Details for the file filecombinator-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: filecombinator-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 16.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.10

File hashes

Hashes for filecombinator-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5ae13df109c4ddf75db219bef0d0a8d20473f63593219457cf0cf9e30cc434ca
MD5 bcb8e7234779e98e0ff7b24cd103b24a
BLAKE2b-256 4b81bb582db6fc73939964c20fc340cef8bdf8fdac6d8a88bfe4b719185784e4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page