PipelineConfig#
Note
All Configs are derived from rastervision.pipeline.config.Config, which itself is a pydantic Model.
- pydantic model PipelineConfig[source]#
Base class for configuring
Pipelines.This should be subclassed to configure new Pipelines.
Show JSON schema
{ "title": "PipelineConfig", "description": "Base class for configuring :class:`Pipelines <.Pipeline>`.\n\nThis should be subclassed to configure new Pipelines.", "type": "object", "properties": { "root_uri": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "The root URI for output generated by the pipeline", "title": "Root Uri" }, "rv_config": { "anyOf": [ { "type": "object" }, { "type": "null" } ], "default": null, "description": "Used to store serialized RVConfig so pipeline can run in remote environment with the local RVConfig. This should not be set explicitly by users -- it is only used by the runner when running a remote pipeline.", "title": "Rv Config" }, "plugin_versions": { "anyOf": [ { "additionalProperties": { "type": "integer" }, "type": "object" }, { "type": "null" } ], "default": null, "description": "Used to store a mapping of plugin module paths to the latest version number. This should not be set explicitly by users -- it is set automatically when serializing and saving the config to disk.", "title": "Plugin Versions" }, "type_hint": { "const": "pipeline", "default": "pipeline", "enum": [ "pipeline" ], "title": "Type Hint", "type": "string" } }, "additionalProperties": false }
- Config:
extra: str = forbid
validate_assignment: bool = True
- Fields:
- field plugin_versions: dict[str, int] | None = None#
Used to store a mapping of plugin module paths to the latest version number. This should not be set explicitly by users – it is set automatically when serializing and saving the config to disk.
- field rv_config: dict | None = None#
Used to store serialized RVConfig so pipeline can run in remote environment with the local RVConfig. This should not be set explicitly by users – it is only used by the runner when running a remote pipeline.
- build(tmp_dir: str) Pipeline[source]#
Return a pipeline based on this configuration.
Subclasses should override this to return an instance of the corresponding subclass of Pipeline.
- classmethod deserialize(inp: str | dict | Config) Self#
Deserialize Config from a JSON file or dict, upgrading if possible.
If
inpis already aConfig, it is returned as is.
- classmethod from_dict(cfg_dict: dict) Self[source]#
Deserialize Config from a dict.
- Parameters:
cfg_dict (dict) – Dict to deserialize.
- Return type:
Self
- classmethod from_file(uri: str) Self#
Deserialize Config from a JSON file, upgrading if possible.
- Parameters:
uri (str) – URI to load from.
- Return type:
Self
- recursive_validate_config()#
Recursively validate hierarchies of Configs.
This uses reflection to call validate_config on a hierarchy of Configs using a depth-first pre-order traversal.
- revalidate()#
Re-validate an instantiated Config.
Runs all Pydantic validators plus self.validate_config().
- to_file(uri: str, with_rv_metadata: bool = True) None#
Save a Config to a JSON file, optionally with RV metadata.
- update(*args, **kwargs)#
Update any fields before validation.
Subclasses should override this to provide complex default behavior, for example, setting default values as a function of the values of other fields. The arguments to this method will vary depending on the type of Config.
- validate_config()#
Validate fields that should be checked after update is called.
This is to complement the builtin validation that Pydantic performs at the time of object construction.