Skip to main content

Unified GUI + engine for GGUF models: local LLM server, image generation and GGUF editing/quantization, all on one bundled gguf.cpp engine

Project description

gguf-cpp

One package for working with GGUF models locally: an OpenAI-compatible LLM server, a diffusion image generator and a GGUF metadata/tensor editor with a built-in quantizer — three panels on one GUI, powered by one unified gguf.cpp engine compiled in a single build with a shared set of ggml kernels.

Install

pip install gguf-cpp

The build compiles the bundled engine (CPU by default, Metal on macOS). GPU backends are opt-in at install time:

GGUF_CPP_CUDA=1 pip install gguf-cpp     # NVIDIA
GGUF_CPP_HIP=1 pip install gguf-cpp      # AMD ROCm
GGUF_CPP_VULKAN=1 pip install gguf-cpp   # Vulkan

Run

gguf-cpp                 # unified GUI — Server / Diffuser / Editor panels
python -m gguf_cpp       # same thing

Each panel also runs on its own, exactly like the standalone gguf-server / gguf-diffusion / gguf-editor packages did:

gguf-cpp server          # LLM server GUI
gguf-cpp diffuser        # image generation GUI
gguf-cpp editor          # GGUF editor GUI

And the engines are directly scriptable from the CLI:

gguf-cpp server engine -- --model model.gguf --port 8888
gguf-cpp diffuser engine -- -m sd.gguf -p "a lighthouse at dusk" -o out.png
gguf-cpp editor quantize -m in.gguf -o out-q4_k.gguf --type q4_k
gguf-cpp editor devices

Layout

vendor/gguf.cpp/         the unified gguf.cpp engine (one CMake build)
  kernels/               shared ggml kernels (CPU + optional GPU backends)
  llm/                   GGUF LLM runtime + the gguf-server HTTP server
  diffusion/             diffusion runtime + CLI
  quantizer/             quantizer shared library
engine/                  the hand written CMake files, overlaid onto the above
scripts/vendor_engine.py assembles vendor/gguf.cpp from the three checkouts
src/gguf_cpp/            the Python package
  server/ diffuser/ editor/   the three panels (backend + web frontend each)
  gui.py static/         the unified 3-panel GUI shell

Each front end under vendor/gguf.cpp/ is one self-contained directory, so an engine update touches only the directory it belongs to. The tree is generated, not edited: everything hand written lives in engine/ and is laid on top by the vendoring script.

Updating the engine

vendor/gguf.cpp/ is assembled from three sibling checkouts — ../server, ../diffusion and ../quantizer. Pull those, then:

python scripts/vendor_engine.py

The script copies each checkout into its own subdirectory, drops the two redundant ggml copies in favour of the shared kernels/, applies the handful of mechanical edits the merge needs (each one reported as it runs), and lays engine/ over the result. If an edit no longer matches, it fails rather than emit a tree that would not build. See engine/README.md for what changes and why.

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

gguf_cpp-0.0.4.tar.gz (32.1 MB view details)

Uploaded Source

Built Distribution

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

gguf_cpp-0.0.4-py3-none-win_amd64.whl (63.0 MB view details)

Uploaded Python 3Windows x86-64

File details

Details for the file gguf_cpp-0.0.4.tar.gz.

File metadata

  • Download URL: gguf_cpp-0.0.4.tar.gz
  • Upload date:
  • Size: 32.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for gguf_cpp-0.0.4.tar.gz
Algorithm Hash digest
SHA256 7507c0259d3154746038aa682721631a34be9982290f9726a9aa079e1f0c0c06
MD5 b924f463a072821068cb5b878f961e80
BLAKE2b-256 455f0e883948ecd8d0f57a6d53542b4cba4d813d80f0ef00f3ded11556963062

See more details on using hashes here.

File details

Details for the file gguf_cpp-0.0.4-py3-none-win_amd64.whl.

File metadata

  • Download URL: gguf_cpp-0.0.4-py3-none-win_amd64.whl
  • Upload date:
  • Size: 63.0 MB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for gguf_cpp-0.0.4-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 9d0ba503dc9f5eeaaa28cb7083c1ed716b647b79f1d1489b785bf1b22244a17d
MD5 35a8c5209dbcec61feedaf35b76bee83
BLAKE2b-256 0c604102099d36e498538db6f2ae0d30b5aad42bbd09c92bfb57e3c26cd09d1d

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