Installation & Setup¶
Requirements¶
- Python 3.7+
- Luigi (for workflow execution)
- Jinja2 (for template processing)
- FreeCAD (optional, for GUI workbench)
Quick Install¶
Clone the repository and install:
Docker-Based Installation (with FreeCAD)¶
For the full environment including FreeCAD GUI support, use the provided install script:
Install Script Options¶
| Option | Description | Default |
|---|---|---|
-o destination |
Installation directory (required) | — |
-b hermes_branch |
Hermes branch to use | master |
-i docker_id |
Docker image ID | ee7e3ecee4ca |
-d docker_digest |
Docker image digest | (see script) |
-f freecad_hash |
FreeCAD source hash | 0.18-1194-g5a352ea63 |
-p diff_file |
FreeCAD source patch file | (auto-detected) |
-v |
Debug mode | off |
The install script:
- Downloads and installs the Docker image from FreeCAD Docker
- Sets up Docker launch scripts (
docker.sh,docker_dev.sh) - Downloads required repositories (HermesFlow/pyHermes, HermesFlow/JsonExample, FreeCAD)
- Sets up the Python environment in
dot_localdirectory
Verifying the Installation¶
You should see the available commands: expand, build, execute, and buildExecute.
For Users (Running Workflows)¶
Use docker.sh inside the installation directory:
Note
xhost + is required to allow X11 connection from Docker to the host's X11 server for displaying graphics.
For Developers¶
Use docker_dev.sh which launches the build process:
This runs /mnt/source/build_script.sh with the FreeCAD Qt Webkit module configuration.
Updating the Python Environment¶
- Modify
docker_dev.shto bind.localin read-write mode (rw) - Install additional packages inside Docker:
pip3 install --user <package> - Exit Docker
- Archive the updated environment:
tar cvf dot_local.tar.gz - Move the tarball into
freecad_build_files/and commit