CADDForge GUI
Install this plugin with python -m pip install caddforge-gui. It depends directly
on caddforge-core>=0.21.0; Python imports and CLI commands still use caddforge.
For the complete public toolbox, including user-facing extras, install
python -m pip install caddforge. When migrating an existing environment, uninstall
the former caddforge core distribution before installing renamed core and updated plugins.
FastAPI server that hosts the CADDForge GUI and REST/SSE API.
Documentation
- Plugin GUI authoring guide:
docs/plugin-gui-authoring.md
- Shared plugin UI kit module:
src/caddforge_gui/static/assets/plugin_uikit.js
- Shared plugin backend helpers:
src/caddforge_gui/plugin_runtime.py
Development (frontend)
cd caddforge-gui/frontend
npm install
npm run build
This builds static assets into caddforge-gui/src/caddforge_gui/static.
Run
caddforge gui --host 0.0.0.0 --port 8000
Theme
- Default theme: light
- Toggle: top-bar
Dark Mode/Light Modebutton - Persistence: saved in browser
localStorage(caddforge-theme)
Plugin UI Kit
caddforge-gui provides a small reusable UI kit for plugin pages:
- Module:
caddforge_gui/static/assets/plugin_uikit.js - Runtime URL for extensions:
/static/assets/plugin_uikit.js
Extension modules can import shared primitives (fields, sections, collapsibles, file pickers, etc.) via:
import { field, row, section, createFilePicker } from "../../assets/plugin_uikit.js";
Available higher-level helpers include:
stepSection(stepNumber, title, note)modeSwitchSection(...)backendSection()submitBar(label)createPathOrFileInput(...)
For docking/pose analysis pages, there is also a reusable Mol* viewer panel:
- Module:
caddforge_gui/static/assets/molstar_viewer.js - Export:
createDockingMolstarViewer({ title, description }) - Runtime URL for extensions:
/static/assets/molstar_viewer.js
This keeps plugin GUIs visually consistent and avoids re-implementing common form/layout logic.
Plugin Backend Helpers
For extension backend routers (gui_extension.py), caddforge-gui also provides reusable helpers in
caddforge_gui.plugin_runtime:
encode_path_token/decode_path_tokenlist_tool_jobsmake_staging_dirstore_upload(streamed upload writes)move_to_directoryensure_job_within_run_dir
For non-GUI/general runtime concerns (backend construction, backend submission, registry normalization),
use caddforge.core.execution from caddforge-core.
Third-party notices
The bundled React frontend retains its upstream MIT licence. Copyright and full licence text ship in static/THIRD_PARTY_LICENSES in source distributions and wheels. Preserve these files when redistributing the frontend, and review them whenever frontend dependencies change.
Continuous integration and releases
.github/workflows/release.yml builds a wheel and source archive, validates
metadata, and tests the installed wheel on Linux with Python 3.10 and 3.12.
The lightweight test selection is recorded in scripts/ci_tests.json;
external scientific engines are validated separately.
Pushing a matching v* release tag publishes the tested artifacts to PyPI.
Branch pushes, pull requests and manual runs never publish. Configure a
PyPI Trusted Publisher for the idorsia repository, release.yml workflow
and pypi environment before pushing release tags. Runtime CADDForge
dependencies must already be available publicly; publish core first,
and publish docking/descriptors before MD.
Metadata
Release files for caddforge-gui 0.6.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 | |
|---|---|---|---|
| caddforge_gui-0.6.0.tar.gz | 107.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| caddforge_gui-0.6.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 191.3 kB
Release files / caddforge_gui-0.6.0.tar.gz
| Download URL | caddforge_gui-0.6.0.tar.gz |
|---|---|
| Size | 107.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1483b94072f92cd07f3456595ef31977454fa33234263c87a1d042ca4e8ba4c3
|
|
BLAKE2b-256 checksum How to use checksums |
64efdeabfe40f721c9f95071f3142e580368a6c1daa48b8a77e435ce4cc7f188
|
| 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 Oct 13, 2026.
Transparency logRelease files / caddforge_gui-0.6.0-py3-none-any.whl
| Download URL | caddforge_gui-0.6.0-py3-none-any.whl |
|---|---|
| Size | 83.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d1344c0c37a5be4dc4c8bba2559ba680e071d0ea7a3eb39a3c1d894ac372d9a8
|
|
BLAKE2b-256 checksum How to use checksums |
7f746f5c7afc4e08b4de5529f10a08a3186e079076f730e318c85301a3113264
|
| 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 Oct 13, 2026.
Transparency log