Vestigraph
Vestigraph is local file and layout history for KLayout users. It stores versions on the user's machine, shows a browser timeline, previews GDS/OASIS content, imports older files, and exports saved versions for recovery.
Vestigraph requires Python 3.10 or newer, KLayout desktop 0.30.x, klayout-klink>=0.6.0,<0.7, and the vestigraph-scan-core scanner package. The normal installation resolves Klink and the scanner as dependencies. Install the Klink KLayout plugin with the Klink command, restart MCP so Vestigraph registers its local companion for the active Python environment, then restart KLayout and open HIST.
What it does
- Saves file checkpoints and history data in local user storage.
- Runs a loopback-only browser service for browsing, naming, importing, and exporting history.
- Previews GDS/OASIS versions with the Python
klayoutpackage. - Uses Klink's KLayout plugin and companion-service path to record saved GDS/OASIS documents automatically.
- Exposes local history and skill-refinement tools through the existing Klink MCP extension registry.
- Keeps history, evidence, drafts, revisions, exports, login links, and control files on the user's machine.
Vestigraph does not provide cloud sync, remote collaboration, hosted storage, a model service, or automatic chat-client configuration.
Install
The commands below install published PyPI releases. For a version not yet on PyPI, download the build-only wheel and sdist artifacts from GitHub Actions.
python -m pip install vestigraph
klink plugin install
# restart the MCP client that runs klink-mcp
# restart KLayout, open a saved GDS/OASIS layout, then click HIST
python -m vestigraph doctor --integration
pip install vestigraph installs the compatible klayout-klink and vestigraph-scan-core dependencies. klink plugin install is still the Klink command that installs or upgrades the KLayout plugin. Restarting the MCP client lets the Klink extension registry discover Vestigraph and register the companion for that Python environment. No separate Vestigraph MCP server is needed. Installing Python packages does not configure arbitrary chat clients.
The scanner prefers the Rust vestigraph-scan-core backend when it is importable and falls back to the Python scanner with a diagnostic reason if the native wheel is unavailable. Users on supported wheel platforms do not need a local Rust toolchain.
After KLayout restarts, open a saved GDS/OASIS layout and click HIST. The panel opens the local web history UI and shows recording status. Confirm that recording is active before editing.
Release artifacts before PyPI
Download the Vestigraph artifact archive from the release workflow, extract it, and install the wheel with its matching scanner wheel from that directory:
python -m pip install --find-links ./wheels "vestigraph-scan-core" ./wheels/vestigraph-0.2.0-py3-none-any.whl
klink plugin install
Before both projects are on PyPI, put the matching platform wheels in one local directory: the two Klink Rust wheels, the klayout_klink core wheel, the vestigraph_scan_core wheel, and the Vestigraph wheel. Then install from that directory:
python -m pip install --find-links ./wheels "klayout-klink>=0.6.0,<0.7" "vestigraph-scan-core" "vestigraph>=0.2,<0.3"
klink plugin install
Then restart the MCP client, restart KLayout, open a saved layout, and click HIST.
Upgrade
Stop the old Vestigraph service if one is running. Upgrade packages, upgrade the Klink plugin, then restart MCP and KLayout:
python -m pip install --upgrade "vestigraph>=0.2,<0.3"
klink plugin install
python -m vestigraph doctor --integration
The underlying storage CLI can still save and export local file versions, but it is not the main product installation path. Full KLayout history, HIST, and local agent tools require Klink.
Local skills and agents
Skill refinement is experimental and disabled by default. When enabled, users can select a history range, save a request, freeze evidence, let a chosen local agent submit a draft, review validation feedback, save revisions, and export files. The package does not include private skills and does not call a model by itself.
After installation and MCP restart, use the existing Klink MCP server:
{"tool":"klink.find_tools","arguments":{"domain":"vestigraph"}}
Then call vestigraph.guide and follow next_action. See Local agents and skills.
Documentation
- Installation and upgrades
- Files and history
- Recovery and data locations
- Command line
- Local agents and skills
- Troubleshooting
- Release scope
Vestigraph is Apache-2.0. See Security and local access, third-party notices, and changelog.
Metadata
Release files for vestigraph 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| vestigraph-0.2.0.tar.gz | 434.2 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| vestigraph-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 814.1 kB
Release files / vestigraph-0.2.0.tar.gz
| Download URL | vestigraph-0.2.0.tar.gz |
|---|---|
| Size | 434.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b5023dc4baeb45b84b429bbe6ce07d91777a5efbb00f1c0cdb1c4c75ab868344
|
|
BLAKE2b-256 checksum How to use checksums |
19e45fe0b937dba1069bcfe878eaef860b6a75c4d595d060644b82fec9b06975
|
| 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 16, 2026.
Transparency logRelease files / vestigraph-0.2.0-py3-none-any.whl
| Download URL | vestigraph-0.2.0-py3-none-any.whl |
|---|---|
| Size | 380.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
486bf3cd7b1be7ffbf087c0d728ccc6b5e1530989432f353ff8282c1a85962f1
|
|
BLAKE2b-256 checksum How to use checksums |
b26ee2cf80b586f59e4f8a42955a06565091891edf38e59642062bffe43e8d03
|
| 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 16, 2026.
Transparency logSecurity for vestigraph 0.2.0
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.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for vestigraph-0.2.0.tar.gz
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 16, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.