Name | ingestipy JSON |
Version |
0.1.0
JSON |
| download |
home_page | None |
Summary | A script that combines project files into a single text file for easier use with AI agents. |
upload_time | 2025-02-14 10:36:38 |
maintainer | None |
docs_url | None |
author | None |
requires_python | None |
license | MIT |
keywords |
ingest
concatenate
files
ai
utility
|
VCS |
 |
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# Ingestipy
**Ingestipy** is a Python derivative of Ingestify, a command-line tool that merges an entire project’s source files into
a single text file. This can be particularly useful when feeding small-sized codebases to AI chat bots like ChatGPT.
## Table of Contents
- [Ingestipy](#ingestipy)
- [Table of Contents](#table-of-contents)
- [Features](#features)
- [Installation](#installation)
- [Usage](#usage)
- [Basic Example](#basic-example)
- [Verbose Mode](#verbose-mode)
- [Ignore File](#ignore-file)
- [Examples](#examples)
## Features
- Recursively collects files from a specified directory.
- Automatically skips:
- The output file itself to prevent self-ingestion.
- `.git` directories.
- User-defined ignore patterns (glob-based) from an optional ignore file.
- Logs processing info and errors to help identify problematic files.
## Installation
You can install **ingestipy** directly from [PyPI](https://pypi.org/) using `pip`:
```bash
pip install ingestipy
```
After installation, you should have an `ingestipy` command available in your terminal.
## Usage
Run `ingestipy --help` to see the available arguments:
```bash
ingestipy --help
```
Output:
```
usage: ingestipy [-h] [-in INPUT_DIR] [-out OUTPUT_PATH] [-ignore IGNORE_FILE_PATH] [-v]
Extract code with ignore functionality.
optional arguments:
-h, --help show this help message and exit
-in INPUT_DIR, --input_dir INPUT_DIR
Input directory path
-out OUTPUT_PATH, --output_path OUTPUT_PATH
Output file path
-ignore IGNORE_FILE_PATH, --ignore_file_path IGNORE_FILE_PATH
Path to ignore file
-v, --verbose Enable verbose logging
```
### Basic Example
```bash
ingestipy --input_dir . --output_path my_project_ingest.txt
```
### Verbose Mode
```bash
ingestipy -in . -out my_project_ingest.txt --verbose
```
This will provide extra debug output in your terminal (e.g., which files are being processed or skipped).
## Ignore File
If you have a file containing glob patterns (e.g., `ingestipy_ignore.txt`), you can specify it with `-ignore`:
```bash
ingestipy -in /path/to/project -out /path/to/output.txt -ignore /path/to/ingestipy_ignore.txt
```
Each line in the ignore file is treated as a [glob pattern](https://docs.python.org/3/library/fnmatch.html). For example:
```
*.log
*.pyc
node_modules
dist
build
```
When a file or directory matches any of these patterns, **ingestipy** skips it.
## Examples
1. **Default Behavior (No Arguments)**
```bash
ingestipy
```
- Uses the script’s directory as input.
- Creates an output file named `<current_folder>_ingestipy_output.txt`.
2. **Specifying Everything Manually**
```bash
ingestipy -in /home/user/my_project -out /home/user/output/merged.txt -ignore /home/user/my_project/my_ignore_list.txt
```
- Gathers all files from `my_project` (excluding anything matching `my_ignore_list.txt`) and writes them to `merged.txt`.
Raw data
{
"_id": null,
"home_page": null,
"name": "ingestipy",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "ingest, concatenate, files, AI, utility",
"author": null,
"author_email": "Usman Mehmood <usmanmehmood55@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/f8/2f/630de920cf23e1a96bba17e7a08df7c2af0c8a2af21f792a11c76ed94026/ingestipy-0.1.0.tar.gz",
"platform": null,
"description": "# Ingestipy\r\n\r\n**Ingestipy** is a Python derivative of Ingestify, a command-line tool that merges an entire project\u2019s source files into\r\na single text file. This can be particularly useful when feeding small-sized codebases to AI chat bots like ChatGPT.\r\n\r\n## Table of Contents\r\n\r\n- [Ingestipy](#ingestipy)\r\n - [Table of Contents](#table-of-contents)\r\n - [Features](#features)\r\n - [Installation](#installation)\r\n - [Usage](#usage)\r\n - [Basic Example](#basic-example)\r\n - [Verbose Mode](#verbose-mode)\r\n - [Ignore File](#ignore-file)\r\n - [Examples](#examples)\r\n\r\n## Features\r\n\r\n- Recursively collects files from a specified directory.\r\n- Automatically skips:\r\n - The output file itself to prevent self-ingestion.\r\n - `.git` directories.\r\n - User-defined ignore patterns (glob-based) from an optional ignore file.\r\n- Logs processing info and errors to help identify problematic files.\r\n\r\n## Installation\r\n\r\nYou can install **ingestipy** directly from [PyPI](https://pypi.org/) using `pip`:\r\n\r\n```bash\r\npip install ingestipy\r\n```\r\n\r\nAfter installation, you should have an `ingestipy` command available in your terminal.\r\n\r\n## Usage\r\n\r\nRun `ingestipy --help` to see the available arguments:\r\n\r\n```bash\r\ningestipy --help\r\n```\r\n\r\nOutput:\r\n```\r\nusage: ingestipy [-h] [-in INPUT_DIR] [-out OUTPUT_PATH] [-ignore IGNORE_FILE_PATH] [-v]\r\n\r\nExtract code with ignore functionality.\r\n\r\noptional arguments:\r\n -h, --help show this help message and exit\r\n -in INPUT_DIR, --input_dir INPUT_DIR\r\n Input directory path\r\n -out OUTPUT_PATH, --output_path OUTPUT_PATH\r\n Output file path\r\n -ignore IGNORE_FILE_PATH, --ignore_file_path IGNORE_FILE_PATH\r\n Path to ignore file\r\n -v, --verbose Enable verbose logging\r\n```\r\n\r\n### Basic Example\r\n\r\n```bash\r\ningestipy --input_dir . --output_path my_project_ingest.txt\r\n```\r\n\r\n### Verbose Mode\r\n\r\n```bash\r\ningestipy -in . -out my_project_ingest.txt --verbose\r\n```\r\nThis will provide extra debug output in your terminal (e.g., which files are being processed or skipped).\r\n\r\n## Ignore File\r\n\r\nIf you have a file containing glob patterns (e.g., `ingestipy_ignore.txt`), you can specify it with `-ignore`:\r\n\r\n```bash\r\ningestipy -in /path/to/project -out /path/to/output.txt -ignore /path/to/ingestipy_ignore.txt\r\n```\r\n\r\nEach line in the ignore file is treated as a [glob pattern](https://docs.python.org/3/library/fnmatch.html). For example:\r\n\r\n```\r\n*.log\r\n*.pyc\r\nnode_modules\r\ndist\r\nbuild\r\n```\r\n\r\nWhen a file or directory matches any of these patterns, **ingestipy** skips it.\r\n\r\n## Examples\r\n\r\n1. **Default Behavior (No Arguments)** \r\n ```bash\r\n ingestipy\r\n ```\r\n - Uses the script\u2019s directory as input.\r\n - Creates an output file named `<current_folder>_ingestipy_output.txt`.\r\n\r\n2. **Specifying Everything Manually** \r\n ```bash\r\n ingestipy -in /home/user/my_project -out /home/user/output/merged.txt -ignore /home/user/my_project/my_ignore_list.txt\r\n ```\r\n - Gathers all files from `my_project` (excluding anything matching `my_ignore_list.txt`) and writes them to `merged.txt`.\r\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "A script that combines project files into a single text file for easier use with AI agents.",
"version": "0.1.0",
"project_urls": {
"Homepage": "https://github.com/usmanmehmood55/ingestipy"
},
"split_keywords": [
"ingest",
" concatenate",
" files",
" ai",
" utility"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "949938565d05e683c9b2237f73d1aae2dda7d4940df71066def197c27884b7aa",
"md5": "607927864e7a3001a839487a8d56abe1",
"sha256": "3b1496c49963cce7efcaa8fb72402657f5ddeea888f69450d7603107ffcf88ec"
},
"downloads": -1,
"filename": "ingestipy-0.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "607927864e7a3001a839487a8d56abe1",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 4579,
"upload_time": "2025-02-14T10:36:36",
"upload_time_iso_8601": "2025-02-14T10:36:36.595168Z",
"url": "https://files.pythonhosted.org/packages/94/99/38565d05e683c9b2237f73d1aae2dda7d4940df71066def197c27884b7aa/ingestipy-0.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "f82f630de920cf23e1a96bba17e7a08df7c2af0c8a2af21f792a11c76ed94026",
"md5": "db72fbfd7e155f41e712486f0c604899",
"sha256": "29c9fbbff76d0e9a492803819671993afc3e8c914c125fc3e70129832d7d9ada"
},
"downloads": -1,
"filename": "ingestipy-0.1.0.tar.gz",
"has_sig": false,
"md5_digest": "db72fbfd7e155f41e712486f0c604899",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 4188,
"upload_time": "2025-02-14T10:36:38",
"upload_time_iso_8601": "2025-02-14T10:36:38.563767Z",
"url": "https://files.pythonhosted.org/packages/f8/2f/630de920cf23e1a96bba17e7a08df7c2af0c8a2af21f792a11c76ed94026/ingestipy-0.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-02-14 10:36:38",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "usmanmehmood55",
"github_project": "ingestipy",
"github_not_found": true,
"lcname": "ingestipy"
}