Update Existing Configuration
This page explains how to update or extend an existing Forge configuration, whether it lives in a Python project or as a set of exported JSON files.
Updating a Python Configuration
If your configuration is already a Python project, updating it is straightforward: edit the script, make the changes you need, and re-run it to produce updated JSON output. See Define configuration for examples and patterns on how to write and structure your configuration scripts.
Re-running the script overwrites only the JSON files it produces. Files from a previous run that are no longer generated are left untouched.
Updating Configuration from JSON Files
If you only have exported JSON files and no Python source, use ImportTool from fsp-config-foundation to load them back into facade objects, modify them in Python, and re-export.
from fsp_config_foundation.import_tool import ImportTool
tool = ImportTool()
# Load the existing ConfigUnit from its JSON folder
daemon = tool.import_config_unit("./cfg/my_comdaemon")
# Modify the loaded facade
daemon.some_setting = "new_value"
# Re-export to the same folder (existing files are overwritten)
daemon.export("./cfg/my_comdaemon")
ImportTool reads a folder of JSON schema files and returns a fully typed facade instance.
It auto-detects the Configurable Unit type from $schema values embedded in each file, so no domain-specific import code is needed on your side.
For batch imports, importing specific schema files, error handling, and plugin configuration, refer to the fsp-config-foundation documentation.