BatchStudio 1.0.1 is a Python/Tkinter desktop application for applying configured operations to groups of local files. It provides file selection and preview, ordered workflows, bounded thread-pool execution, progress controls, and HTML or CSV result reports.
- Images: resize, convert, and filter.
- PDF: text watermark and aggregate merge.
- CSV: row filtering.
- Files: copy to a name produced from a naming pattern.
- OCR: image, PDF, and per-file batch text extraction when the required external tools are available.
The registry-backed operation details, accepted inputs, configuration, dependencies, and known failure modes are in Operations.
The application has four tabs: Input Files, Workflow, Run, and Logs. Files are selected with file/folder dialogs. The source includes an optional tkinterdnd2 input hook, but drag-and-drop is not a verified capability. Workflow steps are added, removed, and reordered with buttons; workflow-step drag-and-drop is not implemented.
Python 3.10 or newer is required. From a source checkout:
python -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install --upgrade pip
python -m pip install .
batchstudio-guiAlternatively, download the wheel from the BatchStudio 1.0.1 release and install it with python -m pip install .\batchstudio-1.0.1-py3-none-any.whl.
OCR is optional. Image OCR and OCR-backed PDF modes require the Python integration and a discoverable Tesseract executable. PDF rasterization also requires pdf2image and a working Poppler installation. See OCR before enabling OCR steps.
- Start
batchstudio-guior runpython main.pyfrom a source checkout. - In Input Files, add one or more supported images.
- In Workflow, add Resize Image and set the dimensions.
- In Run, choose an output directory and keep Dry Run enabled for a preview.
- Run once, inspect the planned results, disable Dry Run, and run again to create the outputs.
See the Quick start for a reproducible example and the User guide for the complete UI flow.
- OCR availability depends on external executables and language data; release validation verifies the missing-capability path, not a real OCR success path.
- Pause and stop prevent further scheduling but cannot forcibly terminate an operation already running.
- Thread-based execution does not bypass Python's GIL for CPU-bound Python code.
.xlsxand.xlsfiles can be selected, but no spreadsheet transformation is registered in 1.0.1.- Text and structured-text inputs have no dedicated transformation; the generic file-copy rename operation is the applicable registered operation.
- Dry run suppresses operation outputs and reports, but output-directory validation can create a missing directory and a transient write-test file.
- No throughput or maximum-batch guarantee is made. See Limitations.
- Installation
- User guide
- Operations
- Workflows
- Architecture
- Security model
- Development and testing
- Release evidence
BatchStudio is distributed under the MIT License.