Skip to content

Latest commit

 

History

19 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Gokul Omni Convert Lite

Version Python Platform License

A powerful, privacy-focused desktop conversion suite built in Python for batch document conversion, PDF workflows, OCR processing, visual page organization, automation presets, diagnostics, release validation, and installer-ready deployment.


Overview

Gokul Omni Convert Lite is a fully local desktop application designed to simplify document and media conversion workflows without requiring cloud services.

The application provides:

  • Batch document conversion
  • PDF creation and manipulation
  • OCR extraction
  • Visual page organization
  • Automation presets
  • Workspace packaging
  • Diagnostics and troubleshooting tools
  • Release validation utilities
  • Installer-ready deployment support

All processing occurs locally on the user's machine.

No files are uploaded to external servers.


Key Features

Document Conversion

Convert files between multiple formats using a pure Python engine.

Supported workflows include:

  • Images → PDF
  • PDF → Images
  • Image Folder → PDF
  • Batch file conversion
  • Multi-file processing
  • Recursive folder discovery

PDF Workflows

Comprehensive PDF toolkit including:

PDF Creation

  • Single PDF from images
  • Folder-based PDF generation
  • Batch PDF generation
  • ReportLab fallback generation

PDF Utilities

  • Merge PDFs
  • Split PDFs
  • Reorder pages
  • Rotate pages
  • Organize page sequences

Visual PDF Organization

  • Drag-and-drop page arrangement
  • Page previews
  • Thumbnail navigation
  • Export organized PDF

OCR Support

Optional OCR integration using Tesseract.

Capabilities include:

  • Extract text from images
  • OCR PDF pages
  • Batch OCR processing
  • Searchable PDF preparation
  • Runtime OCR detection

Supported deployment methods:

  • Installed Tesseract
  • PATH-based Tesseract
  • Bundled Tesseract runtime

Automatic validation prevents accidental selection of:

pytesseract.exe

and guides users toward:

tesseract.exe


Image Folder → PDF Workflow

A dedicated workflow introduced in Patch 36.

Features:

  • Recursive folder scanning
  • Combined PDF output
  • One PDF per folder mode
  • Preview before execution
  • Queue loading support
  • Natural file sorting
  • Time-based sorting

Sorting options:

  • Natural filename order
  • Filename A–Z
  • Modified date
  • Creation date

Automation Presets

Save frequently used conversion settings and execute them instantly.

Preset capabilities:

  • Reusable workflows
  • Favorite presets
  • One-click execution
  • Export/import support
  • Automation-ready configuration

Remote Asset System

Introduced in Patch 23.

Allows future branding updates without rebuilding installers.

Supported remote assets:

  • Header GIF
  • Splash GIF
  • About image
  • Profile metadata JSON

Features:

  • Local fallback protection
  • Offline operation
  • Cache management
  • Configurable refresh intervals
  • Runtime updates

Diagnostics & Support Tools

Built-in troubleshooting utilities:

  • Runtime diagnostics
  • Dependency verification
  • OCR validation
  • Asset validation
  • Packaging diagnostics
  • Workspace inspection
  • Support bundle generation

Release Validation

Patch 37 introduces production-grade validation workflows.

Headless Validation

python release_validation.py

Validates:

  • Application structure
  • Runtime dependencies
  • Installer assets
  • Configuration files
  • Packaging readiness

Application Validation Mode

python app.py --validate-release

Runs release validation directly through the application runtime.


Architecture

┌───────────────────────────────────────────┐
│                 UI Layer                  │
│      Tkinter Desktop Application          │
└───────────────────────────────────────────┘
                     │
                     ▼
┌───────────────────────────────────────────┐
│            Workflow Engine                │
│ Conversion │ OCR │ PDF │ Presets │ Assets │
└───────────────────────────────────────────┘
                     │
                     ▼
┌───────────────────────────────────────────┐
│            Processing Layer               │
│ Pillow │ ReportLab │ PyPDF │ OCR │ Utils │
└───────────────────────────────────────────┘
                     │
                     ▼
┌───────────────────────────────────────────┐
│             Storage Layer                 │
│ Config │ Cache │ Presets │ Workspace │ Logs│
└───────────────────────────────────────────┘

Technology Stack

Core

  • Python 3.10+
  • Tkinter

PDF Processing

  • PyPDF
  • ReportLab

Image Processing

  • Pillow

OCR

  • Tesseract OCR (Optional)
  • pytesseract

Packaging

  • PyInstaller

Utilities

  • pathlib
  • threading
  • logging
  • json
  • shutil
  • subprocess

Installation

Clone Repository

git clone <repository-url>
cd Gokul-Omni-Convert-Lite

Create Virtual Environment

Windows

python -m venv venv
venv\Scripts\activate

Linux

python3 -m venv venv
source venv/bin/activate

Install Dependencies

pip install -r requirements.txt

Run Application

python app.py

Optional OCR Setup

Install Tesseract

Download and install Tesseract OCR.

After installation:

Settings → OCR Configuration

Select:

tesseract.exe

Do NOT select:

pytesseract.exe

The application validates this automatically.


Project Structure

GokulOmniConvertLite/
│
├── app.py
├── release_validation.py
├── requirements.txt
│
├── installer/
│   ├── GokulOmniConvertLite.spec
│   ├── build_windows.bat
│   ├── build_linux.sh
│   ├── RELEASE_NOTES.md
│   ├── RELEASE_CHECKLIST.md
│   └── TESSERACT_BUNDLE.md
│
├── assets/
│   ├── header/
│   ├── splash/
│   └── about/
│
├── cache/
│
├── presets/
│
├── logs/
│
├── workspace/
│
├── support/
│
├── diagnostics/
│
└── remote_assets.json

Building Installers

Windows

installer\build_windows.bat

Linux

bash installer/build_linux.sh

Manual Build

pyinstaller installer/GokulOmniConvertLite.spec

Generated output:

dist/

Release Validation Checklist

Before publishing:

Application

  • Application launches successfully
  • No startup exceptions
  • Version displayed correctly
  • Settings load correctly

Conversion

  • Images → PDF
  • PDF → Images
  • Batch conversion
  • Image Folder → PDF

OCR

  • OCR runtime detected
  • OCR extraction successful
  • Missing OCR handled gracefully

Packaging

  • Release validation passes
  • Installer builds successfully
  • Assets included
  • Presets included
  • Remote asset config included

Distribution

  • Installer tested
  • Clean machine tested
  • Release notes updated

Patch History

Version 2.3.0 (Patch 37)

Added

  • Release validation framework
  • App-integrated validation mode
  • PyInstaller specification
  • Build launchers
  • Installer release notes
  • Release checklist
  • About snapshot
  • Update manifest example

Fixed

  • Duplicate external callback safety issue

Version 2.2.6 (Patch 36.5)

Fixed

  • Pillow JPEG PDF export issue
  • Alpha channel image handling
  • OCR runtime detection
  • Tesseract validation improvements

Added

  • TESSERACT_BUNDLE.md
  • WORKSPACE_CLEANUP_REPORT.md

Version 2.2.5 (Patch 36)

Added

  • Image Folder → PDF workflow
  • Recursive folder discovery
  • Folder PDF generation
  • Preview workflow
  • Queue integration

Version 2.2.4 (Patch 35)

Added

  • UI density improvements
  • Smaller header
  • Cleaner home screen
  • Compact About page

Version 2.2.3 (Patch 34)

Added

  • Responsive layout refinements
  • Home metric enhancements
  • About page improvements

Fixed

  • Missing open_url helper

Version 2.2.2 (Patch 33)

Added

  • Slim header
  • Compact Home experience
  • Cleaner About screen

Version 2.2.1 (Patch 24)

Added

  • Scrollable sidebar
  • Responsive button wrapping
  • Improved label formatting

Version 2.2.0 (Patch 23)

Added

  • Remote asset system
  • Asset caching
  • Remote profile support
  • Offline-safe branding updates

Security & Privacy

✅ Fully local processing

✅ No cloud dependency

✅ No file uploads

✅ Offline capable

✅ User-controlled OCR

✅ User-controlled LibreOffice integration


Performance Goals

  • Fast batch processing
  • Low memory overhead
  • Large folder support
  • Installer-friendly deployment
  • Offline-first operation

Future Roadmap

Planned Enhancements

  • Auto-update service
  • Cloud sync integrations
  • Additional conversion formats
  • Advanced OCR pipelines
  • GPU-assisted image processing
  • Workflow scheduling
  • Plugin architecture
  • Enterprise deployment profiles

Author

Gokul Saraswat

Software Engineer | Backend Developer | Java & Python Enthusiast

Specializations:

  • Java Development
  • Microservices
  • Distributed Systems
  • Cloud Technologies
  • Automation Tools
  • Desktop Applications

License

MIT License

Copyright (c) 2026 Gokul Saraswat

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files to deal in the Software without restriction.


Final Release Status

Gokul Omni Convert Lite 2.3.0 (Patch 37) is considered release-ready.

✔ Release Validation Framework

✔ Installer Packaging Support

✔ OCR Runtime Detection

✔ Remote Asset System

✔ Image Folder PDF Workflow

✔ PDF Utilities

✔ Automation Presets

✔ Offline-First Architecture

✔ Production Distribution Ready

About

Gokul Omni Convert Lite (v2.3.0) is a local Python desktop application for batch file conversion, advanced PDF workflows, and integrated OCR. It features a compact, responsive UI with optional LibreOffice and Tesseract integrations. The latest release introduces automated release validation, installer packaging, and optimized memory workflows.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages