Skip to main content

GGUF Loader

PyPI - Version PyPI - Python Versions GitHub License GitHub Last Commit

A privacy-first, beginner-friendly desktop application for running large language models fully locally on Windows, Linux, and macOS. Load any GGUF model (Mistral, LLaMA, DeepSeek, Qwen, and thousands more from Hugging Face) and chat with it — with a built-in agentic mode that can read, create, edit, and organize files in a workspace you choose. No data ever leaves your computer.


🆕 What's New in 2.2.0

  • Collision-proof pip package — the entire app now ships inside a single ggufloader package, so pip install ggufloader is safe even in shared or global Python environments where other packages live (no more top-level config/utils/core name clashes, no dependency mismatch: the tested dependency set is pinned).
  • Mature Agentic Mode — LangGraph-driven multi-step agent with 7 sandboxed tools, a live transcript panel, and Allow/Deny approval cards for shell commands and git writes.
  • Find Paragraph (no-RAG search) — ask a question and locate the exact paragraph in a document or a whole folder, with a planner that decides what to read and live per-file progress.
  • Full-folder summaries — "summarize this folder" now reads every readable file (Markdown, PDF, DOCX, TXT, code) before answering, with a "Reading remaining files…" status so you always know what's happening.
  • One-click GPU support — an Install GPU Support button in the UI that installs the CUDA-enabled build for you and shows a green tick when GPU acceleration is ready.

✨ Features

  • 🤖 Agentic Mode — an autonomous assistant that reads, writes, edits, searches, runs commands, and uses git inside a workspace folder you grant it access to — with human approval for anything sensitive.
  • 🔎 Find Paragraph — locate a passage in a document or folder with the model itself, no RAG or vector database required.
  • 🧾 Real file reading — extracts text from .md, .pdf, .docx, .txt and source files, so the agent can summarize and answer from real content.
  • 🔄 Universal model support — load ANY GGUF model from anywhere; no conversion or configuration.
  • GPU acceleration — one button installs CUDA support; the app detects it (green tick) and uses the GPU cleanly for fast inference.
  • 🌐 Floating chat — an always-on-top chat button that follows you across apps, with proper word wrapping and right-to-left support.
  • 🔒 Privacy first — 100% local inference. Your prompts and files never leave your machine.
  • 🎨 Modern PySide6 UI — clean, dark/light themed interface.
  • 💻 Cross-platform — Windows 10/11, Linux, and macOS (including Apple Silicon).

🚀 Quick Start

Option 1: Install via pip (recommended)

pip install ggufloader
ggufloader

That's it — the app opens. Requires Python 3.10–3.13.

The wheel installs only the ggufloader name into your environment, so it works perfectly in a global Python install alongside other packages — nothing gets overwritten, and the dependency set is pinned to the exact combination that is tested to install and boot together on all three platforms.

Option 2: Run from source

git clone https://github.com/GGUFloader/gguf-loader.git
cd gguf-loader
python -m venv .venv
.venv\Scripts\activate        # Windows (or: source .venv/bin/activate)
pip install -r requirements.txt
python main.py

Windows/Linux users can also double-click launch.bat / launch.sh from the extracted ZIP.

Option 3: Prebuilt executable

Standalone one-file executables are published on the GitHub Releases page. Note on size: a onefile build made from a CUDA-enabled llama-cpp-python bundles the full CUDA runtime (~850 MB) and gives GPU support with zero setup; a CPU-only build is ~60–90 MB.

First launch

  1. Download a model — browse Hugging Face GGUF models.
  2. Click Load Model, pick your .gguf file, wait for it to load.
  3. Click the floating chat button and start chatting — or open the chat panel in the main window.

🤖 Agentic Mode

Agentic Mode turns the local model into a working assistant for a folder you choose (your project, a documentation set, any workspace). It plans multi-step tasks, calls tools, and streams every step live.

Tools

Tool What it does
list_directory Explore folders in the workspace
read_file Read any file (MD/PDF/DOCX/TXT/code — text extracted automatically)
write_file Create new files
edit_file Make targeted edits to existing files
search_files Find files and grep for content
run_command Run a shell command inside the workspace (sandboxed)
git Git operations (status, diff, add, commit)

Every tool is sandboxed to the workspace root — the agent cannot touch anything outside the folder you granted.

Human approval

Shell commands and git writes are sensitive, so they pause for your approval: an Allow / Deny card appears in the agent panel and the run waits for your choice. Everything else (reading, searching, writing files) runs automatically.

Live transcript

The agent panel shows the run as it happens — step chips, each tool call with its result, status lines like "📖 Reading remaining files…", and approval cards. Runs are checkpointed (SQLite), so state survives restarts, and a step budget keeps runaway loops in check.

Example tasks

  • "Summarize the Day 4 folder" → reads all 5 files (MD + PDF + DOCX) and gives a real summary
  • "Create a new feature module with proper structure"
  • "Refactor this codebase and organize files"
  • "Find where MAX_TOKENS is defined and explain it"

🔎 Find Paragraph (search without RAG)

From Tools → Find Paragraph… you can locate a specific passage in a document or across a folder:

  • Single file — type a question ("what does it say about control flow?") and the model finds and ranks the matching paragraphs.
  • Folder search — a planner decides which files to look at and in what order (using only read-only tools), with a live per-file scan counter.
  • Smart defaults — your last query, source, folder, pattern, and exhaustive-search setting are remembered between sessions.

No vector database, no embeddings — just the model reading the text and finding the answer.


⚡ GPU Acceleration

The pip-installed app runs on CPU by default. To speed up inference with an NVIDIA GPU:

  1. Click ⬇ Install GPU Support in the sidebar.
  2. The app installs the CUDA-enabled llama-cpp-python build into your current Python environment (you'll see progress, then "✅ GPU support installed — restart to apply").
  3. Restart the app. The button now shows a green tick ("GPU support is installed") and inference uses the GPU — no CPU+GPU mixing, just the GPU.

On macOS, GPU (Metal) support is enabled by building llama-cpp-python with Metal, e.g. CMAKE_ARGS="-DGGML_METAL=on" pip install --force-reinstall llama-cpp-python.

For manual control you can also run the bundled scripts: scripts/install_gpu_llama.bat (Windows) / scripts/install_gpu_llama.sh (Linux/macOS), and verify with python scripts/verify_gpu_support.py.


📥 Recommended Models

Model Size Notes
Mistral-7B Instruct ~4.2 GB ⭐ Best balance — excellent reasoning, great for agentic mode
LLaMA 3 8B Instruct ~4.7 GB Strong reasoning and code understanding
GPT-OSS 20B ~7.3 GB More powerful for complex refactoring

Find thousands more on Hugging Face.


🛠️ System Requirements

  • Python: 3.10–3.13 (pip install)
  • OS: Windows 10/11, Linux, macOS (Intel & Apple Silicon)
  • RAM: 4 GB minimum (8 GB recommended)
  • Storage: 2 GB free
  • GPU: Optional — NVIDIA CUDA on Windows/Linux, Metal on macOS

📦 Dependencies

The wheel declares its dependencies pinned to the exact set verified to work together, so pip install ggufloader resolves the same tested combination every time — no dependency mismatch, and every package has prebuilt wheels for all three platforms:

PySide6 · llama-cpp-python (CPU by default) · langgraph · langgraph-checkpoint-sqlite · langchain-core · pydantic


🧱 Building from source

  • Wheel / sdist: pip install build && python -m build → artifacts in dist/
  • One-file executable: python -m PyInstaller build_exe.spec (see notes above about CUDA vs CPU build size)
  • Tests: pip install pytest && python -m pytest

📚 Documentation


🤝 Contributing

Contributions are welcome! See CONTRIBUTING.md.

📄 License

MIT — see LICENSE.

🔒 Security

Report vulnerabilities to hussainnazary475@gmail.com or see SECURITY.md.

📞 Support


Built with ❤️ by the GGUF Loader community

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ggufloader-2.2.0.tar.gz (1.5 MB view details)

Uploaded Source

Built Distribution

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

ggufloader-2.2.0-py3-none-any.whl (1.5 MB view details)

Uploaded Python 3

File details

Details for the file ggufloader-2.2.0.tar.gz.

File metadata

  • Download URL: ggufloader-2.2.0.tar.gz
  • Upload date:
  • Size: 1.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.1

File hashes

Hashes for ggufloader-2.2.0.tar.gz
Algorithm Hash digest
SHA256 19d827616204c8f8333a39cc43a8550d5d1aa4d6315782722afbbab7fed86123
MD5 1fa3657b3031316f23b88af539d4a75e
BLAKE2b-256 f30bc3b53fdcca2bd6b87c6f8addfe74d4b3b4ae5c29285b65f4bff3ad2d8fc8

See more details on using hashes here.

File details

Details for the file ggufloader-2.2.0-py3-none-any.whl.

File metadata

  • Download URL: ggufloader-2.2.0-py3-none-any.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.1

File hashes

Hashes for ggufloader-2.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 72584f281f72d1f123c5f24ea6e61d22d9ebad82a75174bd504b15443cf93bd2
MD5 72e0660f4c58b140c470c4bdf879756c
BLAKE2b-256 f188e4b8428346b97d5096ea93e0cf0d9bb74b21105f881037a1ec061375fc28

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

2.2.0 This release

2 files

2.0.1

2 files

2.0.0

1 file

1.0.3

2 files

1.0.1

2 files

1.0.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page