cursus.steps.configs.config_model_wiki_generator_step

Model Wiki Generator Step Configuration with Self-Contained Derivation Logic

This module implements the configuration class for the model wiki generator step using a self-contained design where derived fields are private with read-only properties. Fields are organized into three tiers: 1. Tier 1: Essential User Inputs - fields that users must explicitly provide 2. Tier 2: System Inputs with Defaults - fields with reasonable defaults that can be overridden 3. Tier 3: Derived Fields - fields calculated from other fields (private with properties)

class ModelWikiGeneratorConfig(*, author, bucket, role, region, service_name, pipeline_version, model_class='xgboost', current_date=<factory>, framework_version='2.1.0', py_version='py310', source_dir=None, enable_caching=False, use_secure_pypi=False, max_runtime_seconds=172800, project_root_folder, processing_instance_count=1, processing_volume_size=500, processing_instance_type_large='ml.m5.4xlarge', processing_instance_type_small='ml.m5.2xlarge', use_large_processing_instance=False, skip_volume_kms=None, processing_source_dir=None, processing_entry_point='model_wiki_generator.py', processing_script_arguments=None, processing_framework_version='1.2-1', model_name, model_use_case='Machine Learning Model', team_alias='ml-team@', contact_email='ml-team@company.com', cti_classification='Internal', output_formats='wiki, html, markdown', include_technical_details=True, model_description=None, model_purpose='perform classification tasks', **extra_data)[source]

Bases: ProcessingStepConfigBase

Configuration for model wiki generator step with self-contained derivation logic.

This class defines the configuration parameters for the model wiki generator step, which loads metrics data and visualizations, generates comprehensive wiki documentation, and creates multi-format model documentation. Supports automated documentation creation for model registries and compliance requirements.

Fields are organized into three tiers: 1. Tier 1: Essential User Inputs - fields that users must explicitly provide 2. Tier 2: System Inputs with Defaults - fields with reasonable defaults that can be overridden 3. Tier 3: Derived Fields - fields calculated from other fields (private with properties)

model_name: str
processing_entry_point: str
model_use_case: str
team_alias: str
contact_email: str
cti_classification: str
output_formats: str
include_technical_details: bool
model_description: str | None
model_purpose: str
use_large_processing_instance: bool
model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'allow', 'protected_namespaces': (), 'validate_assignment': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

property model_display_name: str

Get display name for the model in documentation.

property output_formats_list: List[str]

Get list of output formats from comma-separated string.

property effective_model_description: str

Get effective model description (custom or auto-generated).

classmethod validate_output_formats(v)[source]

Validate output formats are supported.

classmethod validate_cti_classification(v)[source]

Validate CTI classification values.

classmethod validate_model_name(v)[source]

Validate model name is not empty and contains valid characters.

initialize_derived_fields()[source]

Initialize all derived fields once after validation.

validate_wiki_generator_config()[source]

Additional validation specific to wiki generator configuration

get_environment_variables()[source]

Get environment variables for the model wiki generator script.

Returns:

Dictionary mapping environment variable names to values

Return type:

Dict[str, str]

model_dump(**kwargs)[source]

Override model_dump to include derived properties.

get_public_init_fields()[source]

Override get_public_init_fields to include wiki generator specific fields. Gets a dictionary of public fields suitable for initializing a child config. Includes both base fields (from parent) and wiki generator specific fields.

Returns:

Dictionary of field names to values for child initialization

Return type:

Dict[str, Any]

model_post_init(context, /)

This function is meant to behave like a BaseModel method to initialize private attributes.

It takes context as an argument since that’s what pydantic-core passes when calling it.

Parameters:
  • self (BaseModel) – The BaseModel instance.

  • context (Any) – The context.

processing_instance_count: int
processing_volume_size: int
processing_instance_type_large: str
processing_instance_type_small: str
skip_volume_kms: bool | None
processing_source_dir: str | None
processing_script_arguments: List[str] | None
processing_framework_version: str
author: str
bucket: str
role: str
region: str
service_name: str
pipeline_version: str
model_class: str
current_date: str
framework_version: str
py_version: str
source_dir: str | None
enable_caching: bool
use_secure_pypi: bool
max_runtime_seconds: int
project_root_folder: str