geoengine.yaml config and a pixi.toml dependency file. Once applied, the worker is registered locally and — if enabled — appears as a native tool in your GIS software.
If you’d prefer to let an AI coder handle the setup for you, see Create & Modify a Worker Using AI Coder.
Step 1: Navigate to Your Script Directory
Open a terminal and change into the folder that contains the script you want to convert:Step 2: Initialise the Worker
Rungeoengine init to generate a geoengine.yaml and a pixi.toml template in the current directory:
--namesets the worker name. If omitted, the current directory name is used.--env rgenerates an R-flavouredpixi.tomltemplate instead of the default Python one.
geoengine.yaml— worker metadata, inputs, and plugin settingspixi.toml— conda and PyPI dependencies
Step 3: Add CLI Argument Parsing to Your Script
GeoEngine passes inputs to your script as--KEY VALUE flags on the command line. Your script must be able to accept these arguments.
For example, if your geoengine.yaml declares an input named input-file, GeoEngine will call:
argparse or R’s optparse. The AI agent skill write-argparse can do this for you automatically — see Create & Modify a Worker Using AI Coder.
Step 4: Edit geoengine.yaml
Open geoengine.yaml and configure your worker. Here is a fully annotated example:
Input Types at a Glance
| Type | How it reaches your script |
|---|---|
file | Mounted at /inputs/<name>/<filename>; arg is the container path |
folder | Mounted at /mnt/input_<name>/; arg is the container path |
string | Passed through as a plain string argument |
number | Passed through as a string argument |
boolean | Passed through as a string argument |
enum | Passed through as a string argument |
datetime | Passed through as a string argument |
Output Paths
Declare output folders or files withreadonly: false. GeoEngine creates a writable mount at the container path and maps the output back to your host after the run.
Step 5: Edit pixi.toml
Open pixi.toml and declare the packages your script depends on. GeoEngine uses this file to generate the Dockerfile and build a reproducible conda/PyPI environment inside the container.
write-pixi-toml can populate this file automatically based on your script’s imports.
Step 6: Apply the Worker
Once your files are ready, rungeoengine apply to build and register the worker:
geoengine apply does all of the following in one step:
- Validates
geoengine.yaml - Generates a
Dockerfilefrom yourpixi.toml(if one doesn’t already exist) - Builds the Docker image
- Registers the worker and saves a config snapshot
- Installs or updates GIS plugins (prompting on first install)
--no-cache to force a full rebuild:
--dev flag.
Running Your Worker
Once applied, run the worker from the CLI:Next Steps
- Running Workers in ArcGIS Pro & QGIS — find and use your worker directly in your GIS software
- Debugging & Troubleshooting — inspect workers, read logs, and fix build issues
- Create & Modify a Worker Using AI Coder — use AI coding assistants with sample prompts to accelerate worker creation
- Create & Modify a Worker Using AI Coder — let an AI coder handle the full setup from a single prompt

