Skip to main content

Convert anything to anything, fast. Fully offline, privacy-first, menu-driven.

Project description

ConBot 🤖

The Universal, Privacy-First Offline File Converter.

ConBot is a globally installed, Python-based CLI tool that lets you seamlessly convert documents, spreadsheets, images, and media files without memorizing complex command-line flags. Driven by an interactive Terminal User Interface (TUI), ConBot smartly orchestrates system-level engines (ffmpeg, pandoc, LibreOffice, pandas) to deliver production-grade conversions straight to a local output folder.

Status: MVP Complete! Currently tested and optimized for Windows environments.


✨ Why ConBot?

  • Zero Command Memorization: Built with questionary, ConBot uses a stack-based state machine to provide an intuitive, continuous arrow-key menu. You are never kicked out after a successful conversion.
  • Smart Engine Routing: ConBot isn't just a wrapper; it's smart.
    • Multi-sheet Excel files automatically fan out into separate CSVs.
    • Markdown to PDF invisibly chains through pandoc into LibreOffice for flawless layout rendering.
    • Video conversions automatically attempt a rapid container remux (-c copy) before falling back to a full re-encode, saving immense time and quality.
  • Privacy-First Defaults: Video and audio conversions automatically strip identifying metadata (GPS coordinates, device models) via -map_metadata -1.
  • Almost 100% Offline: All conversions happen entirely locally on your machine.
    • Exception: If you convert a Markdown (.md) file containing a Mermaid flowchart (````mermaid), ConBot briefly pings the free kroki.io` API to magically render the diagram as an image in your final document.

🚀 Installation

ConBot isn't published on PyPI yet, so pipx install conbot won't work out of the box. For now, install directly from source:

# 1. Clone the repo
git clone https://github.com/BUTDRILL1/conbot.git
cd conbot

# 2. Install globally via pipx
pipx install .

Once published to PyPI, installation will simply be:

pipx install conbot

System Dependencies

ConBot acts as a conductor for powerful system-level tools. On your first run, ConBot will intelligently scan your system path (including Windows WinGet and Program Files defaults) and tell you exactly how to install any missing engines.

Category Required Engine
Documents pandoc & libreoffice (headless)
Spreadsheets Native Python (pandas, openpyxl) + libreoffice (for PDFs)
Video & Audio ffmpeg
Images Native Python (Pillow, pillow-heif) — no extra install needed

💻 Usage

Simply open your terminal in the directory containing the files you want to convert and type:

conbot
  1. Select Category: Navigate with / and press Enter.
  2. Select File: Choose your source file from the auto-scanned list.
  3. Select Format: Pick your target format.
  4. Done: Your converted file instantly appears in ./conbot_output/.
  5. Continuous Loop: You'll be prompted to generate a different format, start over with a new file, or exit cleanly.

Press Esc at any time to go back a step, or Ctrl+C to quit.


🔒 Security & Access

  • ConBot never executes privileged (sudo/admin) commands on your behalf.
  • If dependencies are missing, ConBot merely suggests the installation command; it never runs arbitrary package managers on your machine.
  • All file I/O is restricted to your current working directory (specifically saving to ./conbot_output/ with robust collision handling).

📄 License

MIT License — see LICENSE for full text. Free to use, modify, and distribute, including commercially, as long as the original copyright notice is retained.

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

conbot-1.0.0.tar.gz (18.2 kB view details)

Uploaded Source

Built Distribution

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

conbot-1.0.0-py3-none-any.whl (19.9 kB view details)

Uploaded Python 3

File details

Details for the file conbot-1.0.0.tar.gz.

File metadata

  • Download URL: conbot-1.0.0.tar.gz
  • Upload date:
  • Size: 18.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.11

File hashes

Hashes for conbot-1.0.0.tar.gz
Algorithm Hash digest
SHA256 bcadc2001f0982494ae7eca1a22950ca42485719676c6fd3b271e9db06f5bd35
MD5 10497e914f42b0e03d040529cd3cde05
BLAKE2b-256 113e9c3b95b890f2bdea5fb0a27b2892789f40bd4602f3e59ecaa0635e764cb5

See more details on using hashes here.

File details

Details for the file conbot-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: conbot-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 19.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.11

File hashes

Hashes for conbot-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 52c7ddf30ccfb8c7cf341fb589acf513cc06ccc7c2169d9646b8d2f2d842c25e
MD5 cba5f6270d9f6335455d91d503ba4a6b
BLAKE2b-256 69a75f91f1254b13de979f2f684e74ac252d6debed455d5fa8a32ddea92f8876

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