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
pandocintoLibreOfficefor 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 freekroki.io` API to magically render the diagram as an image in your final document.
- Exception: If you convert a Markdown (
🚀 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
- Select Category: Navigate with
↑/↓and pressEnter. - Select File: Choose your source file from the auto-scanned list.
- Select Format: Pick your target format.
- Done: Your converted file instantly appears in
./conbot_output/. - 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bcadc2001f0982494ae7eca1a22950ca42485719676c6fd3b271e9db06f5bd35
|
|
| MD5 |
10497e914f42b0e03d040529cd3cde05
|
|
| BLAKE2b-256 |
113e9c3b95b890f2bdea5fb0a27b2892789f40bd4602f3e59ecaa0635e764cb5
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
52c7ddf30ccfb8c7cf341fb589acf513cc06ccc7c2169d9646b8d2f2d842c25e
|
|
| MD5 |
cba5f6270d9f6335455d91d503ba4a6b
|
|
| BLAKE2b-256 |
69a75f91f1254b13de979f2f684e74ac252d6debed455d5fa8a32ddea92f8876
|