Configuration

class ioiocore.configuration.Configuration(**kwargs)[source]

Bases: dict

A dictionary-based configuration class with validation and reserved metadata handling.

class Keys[source]

Bases: object

Placeholder for configuration keys. Should be extended by subclasses.

class ReservedKeys[source]

Bases: object

Reserved keys that cannot be used as configuration fields.

METADATA = 'metadata'
__init__(**kwargs)[source]

Initialize a configuration instance with validation.

Parameters:

**kwargs (dict) – Key-value pairs representing configuration fields.

Raises:

ValueError – If a required field is missing, None, or empty.

delitem(key)[source]

Prevent deletion of configuration fields.

Raises:

ValueError – If an attempt is made to delete a configuration field.

get_metadata()[source]

Retrieve the stored metadata.

Returns:

The metadata dictionary.

Return type:

dict

has_metadata()[source]

Check if metadata has been set.

Returns:

True if metadata is set, False otherwise.

Return type:

bool

set_metadata(metadata)[source]

Store metadata in the configuration object.

Parameters:

metadata (dict) – A dictionary containing metadata information.