Skip to main content

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 Mode button
  • 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_token
  • list_tool_jobs
  • make_staging_dir
  • store_upload (streamed upload writes)
  • move_to_directory
  • ensure_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)

Source distribution for caddforge-gui 0.6.0
File Size Uploaded
caddforge_gui-0.6.0.tar.gz 107.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for caddforge-gui 0.6.0
File Interpreter ABI Platform
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 log

Release 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

Release history Release notifications | RSS feed

This release

0.6.0 This release

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