A Python tool for concatenating code.
Project description
Catenator
Catenator is a Python tool for concatenating code files in a directory into a single output string.
Features
- Concatenate code files from a specified directory
- Include or exclude specific file extensions
- Include a directory tree structure
- Include README files in the output
- Output to file, clipboard, or stdout
- gitignore-style .catignore files
Installation
Install using pip
pip install catenator
Usage
As a Command-Line Tool
Basic usage:
catenator /path/to/your/project
Options:
--output FILE
: Write output to a file instead of stdout--clipboard
: Copy output to clipboard--no-tree
: Disable directory tree generation--no-readme
: Exclude README files from the output--include EXTENSIONS
: Comma-separated list of file extensions to include (replaces defaults)--ignore EXTENSIONS
: Comma-separated list of file extensions to ignore--count-tokens
: Output approximation of how many tokens in output (tiktoken cl100k_base)--watch
: Watch for changes and update output file automatically (requires --output)--ignore-tests
: Leave out tests from the concatenated output
Example:
python catenator.py /path/to/your/project --output concatenated.md --include py,js,ts
As a Python Module
You can also use Catenator in your Python scripts:
from catenator import Catenator
catenator = Catenator(
directory='/path/to/your/project',
include_extensions=['py', 'js', 'ts'],
)
result = catenator.catenate()
print(result)
.catignore File
The .catignore file allows you to specify files and directories that should be excluded from the concatenation process. The syntax is like .gitignore files.
Syntax
Lines starting with # are treated as comments. Blank lines are ignored. Patterns can include filenames, directories, or wildcard characters.
Examples
# Ignore all JavaScript files
*.js
# Ignore specific file
ignored_file.txt
# Ignore entire directory
ignored_dir/
License
This project is licensed under the Creative Commons Zero v1.0 Universal (CC0-1.0) License.
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
catenator-0.2.2.tar.gz
(5.4 kB
view hashes)
Built Distribution
Close
Hashes for catenator-0.2.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3b6cb719e24c11667de6da04d7c68459c76855181c5ecefa377a8d2396f7fe71 |
|
MD5 | 6d3241c8e7e186389f262c2680ea4863 |
|
BLAKE2b-256 | 826908ba901e2280a02c6b55db7bd60cdfbbdb55bafe9c4d7c749056c3ecfafc |