Skip to main content

gini-toolkit — gBuilder

The GINI desktop app: a visual builder and live runtime for computer networking and cloud computing experiments, with an AI layer that can build, inspect and explain topologies.

Drag routers, switches, machines, VPCs and Kubernetes elements onto a canvas, press Run, and they come up as real containers you can open a shell into.

Install

pipx install gini-toolkit     # `pip install gini-toolkit` works too
gbuilder

PySide6 and QtWebEngine come with it. There is no setup command to run — gBuilder checks what the machine needs the first time it launches and offers to install the container runtime and pull the images. Demo mode works before any of that exists, so the app is useful the moment it opens.

Requires Python 3.10+ and, for live Run, a container runtime (Docker, Colima, or Podman). Podman (rootless) is recommended for campus environments — see docs/PODMAN_SETUP.md for detailed setup instructions.

What you get

  • Canvas and palette — networking elements (routers, switches, OVS, machines, taps) alongside cloud ones (VPCs, subnets, load balancers, Kubernetes pods, serverless functions).
  • Live Run — each element is a real container. Double-click a machine for a shell, a router for the Router Lab, a service for its web dashboard.
  • SDN and NFV — a real OpenFlow data plane with a POX controller, and a flow-table view of what the switch is actually doing.
  • xv6 — boot and modify a real RISC-V teaching kernel from inside a topology.
  • Ask GINI — an assistant grounded in the topology on your canvas. Better with a local Ollama model; the deterministic modes work without one.
  • Proof of work — record a lab session as a tamper-evident chain and hand in a receipt, for courses using the GINI Teaching Center.

From source

git clone https://github.com/citelab/gini && cd gini
./scripts/dev.sh install       # editable installs of gini-core, gini-toolkit, gini-teaching-center
gbuilder

Use the script rather than pip install -e ./frontend-ng on its own: gini is a namespace package split across gini-core (the domain model and proof format) and this distribution, and installing one alone leaves half the tree unimportable — with an error that names a missing module rather than a missing install.

QT_QPA_PLATFORM=offscreen python -m gini --selftest    # headless smoke test
./scripts/dev.sh test                                  # the suite

Layout

src/gini/
  __main__.py     the `gbuilder` entrypoint
  ui/             canvas, palette, inspector, labs, theme system
  services/       persistence, runtime, Teaching Center client, outbox
  runtime/        container orchestration
  agent/          programmatic API + MCP server, so external agents can drive GINI
  setup/          first-run bootstrap (runtime detection, image pulls)

The domain model lives in the separate gini-core distribution, under gini.domain.

Part of the GINI project — https://github.com/citelab/gini

Metadata

Release files for gini-toolkit 6.15.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for gini-toolkit 6.15.2
File Size Uploaded
gini_toolkit-6.15.2.tar.gz 5.5 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for gini-toolkit 6.15.2
File Interpreter ABI Platform
gini_toolkit-6.15.2-py3-none-any.whl Python 3 none any Details

Total release size: 10.4 MB

Release files / gini_toolkit-6.15.2.tar.gz

Download URL gini_toolkit-6.15.2.tar.gz
Size 5.5 MB
Tags Source
SHA-256 checksum
How to use checksums
0973104ebd0ccfafc1a9176c5c3871f3fc0d40a642cfa866f8afdf2e5e07838a
BLAKE2b-256 checksum
How to use checksums
f79c2c11264123e1b6b1a16df8abf9a0c448bfd5439e49cab7a45fe247f6492f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 26, 2026.

Transparency log

Release files / gini_toolkit-6.15.2-py3-none-any.whl

Download URL gini_toolkit-6.15.2-py3-none-any.whl
Size 4.9 MB
Tags Python 3
SHA-256 checksum
How to use checksums
5f5b4edcb4b4fc9ac1c855798cdb7646240fe3bbfdb367a332678978f49784ae
BLAKE2b-256 checksum
How to use checksums
5e932fd3e297d065955f88d63d7bff11ccf8cd2259e26c5cd2d03410c36e3f36
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 26, 2026.

Transparency log

Release history Release notifications | RSS feed

6.18.3

2 release files

6.18.2

2 release files

6.18.1

2 release files

6.18.0

2 release files

6.17.0

2 release files

6.15.5

2 release files

6.15.4

2 release files

6.15.3

2 release files

This release

6.15.2 This release

2 release files

6.15.0

2 release files

6.14.0

2 release files

6.13.1

2 release files

6.13.0

2 release files

6.12.0

2 release files

6.11.3

2 release files

6.11.2

2 release files

6.11.1

2 release files

6.9.1

2 release files

6.9.0

2 release files

6.8.1

2 release files

6.8.0

2 release files

6.7.0

2 release files

6.6.1

2 release files

6.6.0

2 release files

6.5.2

2 release files

6.5.1

2 release files

6.5.0

2 release files

6.4.0

2 release files

6.3.2

2 release files

6.3.1

2 release files

6.3.0

2 release files

6.2.1

2 release files

6.2.0

2 release files

6.1.4

2 release files

6.1.3

2 release files

6.1.2

2 release files

6.1.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page