enrobie.robie.params package#

Submodules#

enrobie.robie.params.child module#

Functions and routines associated with Enasis Network Chatting Robie.

This file is part of Enasis Network software eco-system. Distribution is permitted, for more information consult the project license file.

pydantic model enrobie.robie.params.child.RobieChildParams[source]#

Bases: RobieParamsModel

Process and validate the Robie configuration parameters.

Show JSON schema
{
   "title": "RobieChildParams",
   "description": "Process and validate the Robie configuration parameters.",
   "type": "object",
   "properties": {
      "enable": {
         "default": false,
         "description": "Determine whether child enabled",
         "title": "Enable",
         "type": "boolean"
      }
   },
   "additionalProperties": false
}

Config:
  • extra: str = forbid

Fields:
field enable: Annotated[bool, FieldInfo(annotation=NoneType, required=False, default=False, description='Determine whether child enabled')] = False#

Determine whether child enabled

enrobie.robie.params.client module#

Functions and routines associated with Enasis Network Chatting Robie.

This file is part of Enasis Network software eco-system. Distribution is permitted, for more information consult the project license file.

pydantic model enrobie.robie.params.client.RobieClientParams[source]#

Bases: RobieChildParams

Process and validate the Robie configuration parameters.

Show JSON schema
{
   "title": "RobieClientParams",
   "description": "Process and validate the Robie configuration parameters.",
   "type": "object",
   "properties": {
      "enable": {
         "default": false,
         "description": "Determine whether child enabled",
         "title": "Enable",
         "type": "boolean"
      },
      "locate": {
         "anyOf": [
            {
               "minLength": 1,
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "For which client are parameters",
         "examples": [
            "enrobie.clients.DSCClient",
            "enrobie.clients.IRCClient",
            "enrobie.clients.MTMClient"
         ],
         "title": "Locate"
      }
   },
   "additionalProperties": false
}

Config:
  • extra: str = forbid

Fields:
field locate: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='For which client are parameters', examples=['enrobie.clients.DSCClient', 'enrobie.clients.IRCClient', 'enrobie.clients.MTMClient'], metadata=[MinLen(min_length=1)])] = None#

For which client are parameters

Constraints:
  • min_length = 1

enrobie.robie.params.common module#

Functions and routines associated with Enasis Network Chatting Robie.

This file is part of Enasis Network software eco-system. Distribution is permitted, for more information consult the project license file.

pydantic model enrobie.robie.params.common.RobieParamsModel[source]#

Bases: BaseModel

Process and validate the Robie configuration parameters.

Show JSON schema
{
   "title": "RobieParamsModel",
   "description": "Process and validate the Robie configuration parameters.",
   "type": "object",
   "properties": {},
   "additionalProperties": false
}

Config:
  • extra: str = forbid

enrobie.robie.params.person module#

Functions and routines associated with Enasis Network Chatting Robie.

This file is part of Enasis Network software eco-system. Distribution is permitted, for more information consult the project license file.

pydantic model enrobie.robie.params.person.RobiePersonMatchParams[source]#

Bases: RobieParamsModel

Process and validate the Robie configuration parameters.

Show JSON schema
{
   "title": "RobiePersonMatchParams",
   "description": "Process and validate the Robie configuration parameters.",
   "type": "object",
   "properties": {
      "client": {
         "description": "Client where the user exists",
         "minLength": 1,
         "title": "Client",
         "type": "string"
      },
      "match": {
         "description": "Values client uses to identify",
         "items": {
            "type": "string"
         },
         "minItems": 1,
         "title": "Match",
         "type": "array"
      }
   },
   "additionalProperties": false,
   "required": [
      "client",
      "match"
   ]
}

Config:
  • extra: str = forbid

Fields:
field client: Annotated[str, FieldInfo(annotation=NoneType, required=True, description='Client where the user exists', metadata=[MinLen(min_length=1)])] [Required]#

Client where the user exists

Constraints:
  • min_length = 1

field match: Annotated[list[str], FieldInfo(annotation=NoneType, required=True, description='Values client uses to identify', metadata=[MinLen(min_length=1)])] [Required]#

Values client uses to identify

Constraints:
  • min_length = 1

pydantic model enrobie.robie.params.person.RobiePersonParams[source]#

Bases: RobieChildParams

Process and validate the Robie configuration parameters.

Show JSON schema
{
   "title": "RobiePersonParams",
   "description": "Process and validate the Robie configuration parameters.",
   "type": "object",
   "properties": {
      "enable": {
         "default": false,
         "description": "Determine whether child enabled",
         "title": "Enable",
         "type": "boolean"
      },
      "first": {
         "anyOf": [
            {
               "minLength": 1,
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Additional optional information",
         "title": "First"
      },
      "last": {
         "anyOf": [
            {
               "minLength": 1,
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Additional optional information",
         "title": "Last"
      },
      "about": {
         "anyOf": [
            {
               "minLength": 1,
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Additional optional information",
         "title": "About"
      },
      "matches": {
         "description": "How the user will be identified",
         "items": {
            "$ref": "#/$defs/RobiePersonMatchParams"
         },
         "title": "Matches",
         "type": "array"
      },
      "weight": {
         "default": 50,
         "description": "Determine order of precedence",
         "maximum": 100,
         "minimum": 1,
         "title": "Weight",
         "type": "integer"
      }
   },
   "$defs": {
      "RobiePersonMatchParams": {
         "additionalProperties": false,
         "description": "Process and validate the Robie configuration parameters.",
         "properties": {
            "client": {
               "description": "Client where the user exists",
               "minLength": 1,
               "title": "Client",
               "type": "string"
            },
            "match": {
               "description": "Values client uses to identify",
               "items": {
                  "type": "string"
               },
               "minItems": 1,
               "title": "Match",
               "type": "array"
            }
         },
         "required": [
            "client",
            "match"
         ],
         "title": "RobiePersonMatchParams",
         "type": "object"
      }
   },
   "additionalProperties": false,
   "required": [
      "matches"
   ]
}

Config:
  • extra: str = forbid

Fields:
field about: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Additional optional information', metadata=[MinLen(min_length=1)])] = None#

Additional optional information

Constraints:
  • min_length = 1

field first: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Additional optional information', metadata=[MinLen(min_length=1)])] = None#

Additional optional information

Constraints:
  • min_length = 1

field last: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Additional optional information', metadata=[MinLen(min_length=1)])] = None#

Additional optional information

Constraints:
  • min_length = 1

field matches: Annotated[list[RobiePersonMatchParams], FieldInfo(annotation=NoneType, required=True, description='How the user will be identified')] [Required]#

How the user will be identified

field weight: Annotated[int, FieldInfo(annotation=NoneType, required=False, default=50, description='Determine order of precedence', metadata=[Ge(ge=1), Le(le=100)])] = 50#

Determine order of precedence

Constraints:
  • ge = 1

  • le = 100

enrobie.robie.params.plugin module#

Functions and routines associated with Enasis Network Chatting Robie.

This file is part of Enasis Network software eco-system. Distribution is permitted, for more information consult the project license file.

pydantic model enrobie.robie.params.plugin.RobiePluginParams[source]#

Bases: RobieChildParams

Process and validate the Robie configuration parameters.

Show JSON schema
{
   "title": "RobiePluginParams",
   "description": "Process and validate the Robie configuration parameters.",
   "type": "object",
   "properties": {
      "enable": {
         "default": false,
         "description": "Determine whether child enabled",
         "title": "Enable",
         "type": "boolean"
      },
      "locate": {
         "anyOf": [
            {
               "minLength": 1,
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "For which plugin are parameters",
         "examples": [
            "enrobie.plugins.AinswerPlugin",
            "enrobie.plugins.AutoJoinPlugin",
            "enrobie.plugins.AutoNickPlugin",
            "enrobie.plugins.StatusPlugin"
         ],
         "title": "Locate"
      },
      "trusted": {
         "anyOf": [
            {
               "items": {
                  "type": "string"
               },
               "minItems": 1,
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Users are trusted by the plugin",
         "title": "Trusted"
      }
   },
   "additionalProperties": false
}

Config:
  • extra: str = forbid

Fields:
field locate: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='For which plugin are parameters', examples=['enrobie.plugins.AinswerPlugin', 'enrobie.plugins.AutoJoinPlugin', 'enrobie.plugins.AutoNickPlugin', 'enrobie.plugins.StatusPlugin'], metadata=[MinLen(min_length=1)])] = None#

For which plugin are parameters

Constraints:
  • min_length = 1

field trusted: Annotated[list[str] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Users are trusted by the plugin', metadata=[MinLen(min_length=1)])] = None#

Users are trusted by the plugin

Constraints:
  • min_length = 1

enrobie.robie.params.robie module#

Functions and routines associated with Enasis Network Chatting Robie.

This file is part of Enasis Network software eco-system. Distribution is permitted, for more information consult the project license file.

pydantic model enrobie.robie.params.robie.RobieParams[source]#

Bases: Params

Process and validate the core configuration parameters.

Show JSON schema
{
   "title": "RobieParams",
   "description": "Process and validate the core configuration parameters.",
   "type": "object",
   "properties": {
      "enconfig": {
         "anyOf": [
            {
               "$ref": "#/$defs/ConfigParams"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Parameters for Config instance"
      },
      "enlogger": {
         "anyOf": [
            {
               "$ref": "#/$defs/LoggerParams"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Parameters for Logger instance"
      },
      "encrypts": {
         "anyOf": [
            {
               "$ref": "#/$defs/CryptsParams"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Parameters for Crypts instance"
      },
      "database": {
         "default": "sqlite:///:memory:",
         "description": "Database connection string",
         "minLength": 1,
         "title": "Database",
         "type": "string"
      },
      "printer": {
         "$ref": "#/$defs/RobiePrinterParams",
         "description": "Print messages to console"
      },
      "service": {
         "$ref": "#/$defs/RobieServiceParams",
         "description": "Parameters for Robie Service"
      },
      "clients": {
         "anyOf": [
            {
               "additionalProperties": {
                  "$ref": "#/$defs/RobieClientParams"
               },
               "minProperties": 1,
               "type": "object"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Parameters for Robie clients",
         "title": "Clients"
      },
      "plugins": {
         "anyOf": [
            {
               "additionalProperties": {
                  "$ref": "#/$defs/RobiePluginParams"
               },
               "minProperties": 1,
               "type": "object"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Parameters for Robie plugins",
         "title": "Plugins"
      },
      "persons": {
         "anyOf": [
            {
               "additionalProperties": {
                  "$ref": "#/$defs/RobiePersonParams"
               },
               "minProperties": 1,
               "type": "object"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Parameters for Robie persons",
         "title": "Persons"
      }
   },
   "$defs": {
      "ConfigParams": {
         "additionalProperties": false,
         "description": "Process and validate the core configuration parameters.",
         "properties": {
            "paths": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "minItems": 1,
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Location of configuration files",
               "title": "Paths"
            }
         },
         "title": "ConfigParams",
         "type": "object"
      },
      "CryptParams": {
         "additionalProperties": false,
         "description": "Process and validate the core configuration parameters.",
         "properties": {
            "phrase": {
               "description": "Passphrase for the operations",
               "minLength": 1,
               "title": "Phrase",
               "type": "string"
            }
         },
         "required": [
            "phrase"
         ],
         "title": "CryptParams",
         "type": "object"
      },
      "CryptsParams": {
         "additionalProperties": false,
         "description": "Process and validate the core configuration parameters.",
         "properties": {
            "phrases": {
               "additionalProperties": {
                  "$ref": "#/$defs/CryptParams"
               },
               "description": "Passphrases for the operations",
               "minProperties": 0,
               "title": "Phrases",
               "type": "object"
            }
         },
         "required": [
            "phrases"
         ],
         "title": "CryptsParams",
         "type": "object"
      },
      "LoggerParams": {
         "additionalProperties": false,
         "description": "Process and validate the core configuration parameters.",
         "properties": {
            "stdo_level": {
               "anyOf": [
                  {
                     "enum": [
                        "critical",
                        "debug",
                        "error",
                        "info",
                        "warning"
                     ],
                     "minLength": 1,
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Minimum logging message level",
               "title": "Stdo Level"
            },
            "file_level": {
               "anyOf": [
                  {
                     "enum": [
                        "critical",
                        "debug",
                        "error",
                        "info",
                        "warning"
                     ],
                     "minLength": 1,
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Minimum logging message level",
               "title": "File Level"
            },
            "file_path": {
               "anyOf": [
                  {
                     "minLength": 1,
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Enable output to the log file",
               "title": "File Path"
            }
         },
         "title": "LoggerParams",
         "type": "object"
      },
      "RobieClientParams": {
         "additionalProperties": false,
         "description": "Process and validate the Robie configuration parameters.",
         "properties": {
            "enable": {
               "default": false,
               "description": "Determine whether child enabled",
               "title": "Enable",
               "type": "boolean"
            },
            "locate": {
               "anyOf": [
                  {
                     "minLength": 1,
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "For which client are parameters",
               "examples": [
                  "enrobie.clients.DSCClient",
                  "enrobie.clients.IRCClient",
                  "enrobie.clients.MTMClient"
               ],
               "title": "Locate"
            }
         },
         "title": "RobieClientParams",
         "type": "object"
      },
      "RobiePersonMatchParams": {
         "additionalProperties": false,
         "description": "Process and validate the Robie configuration parameters.",
         "properties": {
            "client": {
               "description": "Client where the user exists",
               "minLength": 1,
               "title": "Client",
               "type": "string"
            },
            "match": {
               "description": "Values client uses to identify",
               "items": {
                  "type": "string"
               },
               "minItems": 1,
               "title": "Match",
               "type": "array"
            }
         },
         "required": [
            "client",
            "match"
         ],
         "title": "RobiePersonMatchParams",
         "type": "object"
      },
      "RobiePersonParams": {
         "additionalProperties": false,
         "description": "Process and validate the Robie configuration parameters.",
         "properties": {
            "enable": {
               "default": false,
               "description": "Determine whether child enabled",
               "title": "Enable",
               "type": "boolean"
            },
            "first": {
               "anyOf": [
                  {
                     "minLength": 1,
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Additional optional information",
               "title": "First"
            },
            "last": {
               "anyOf": [
                  {
                     "minLength": 1,
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Additional optional information",
               "title": "Last"
            },
            "about": {
               "anyOf": [
                  {
                     "minLength": 1,
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Additional optional information",
               "title": "About"
            },
            "matches": {
               "description": "How the user will be identified",
               "items": {
                  "$ref": "#/$defs/RobiePersonMatchParams"
               },
               "title": "Matches",
               "type": "array"
            },
            "weight": {
               "default": 50,
               "description": "Determine order of precedence",
               "maximum": 100,
               "minimum": 1,
               "title": "Weight",
               "type": "integer"
            }
         },
         "required": [
            "matches"
         ],
         "title": "RobiePersonParams",
         "type": "object"
      },
      "RobiePluginParams": {
         "additionalProperties": false,
         "description": "Process and validate the Robie configuration parameters.",
         "properties": {
            "enable": {
               "default": false,
               "description": "Determine whether child enabled",
               "title": "Enable",
               "type": "boolean"
            },
            "locate": {
               "anyOf": [
                  {
                     "minLength": 1,
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "For which plugin are parameters",
               "examples": [
                  "enrobie.plugins.AinswerPlugin",
                  "enrobie.plugins.AutoJoinPlugin",
                  "enrobie.plugins.AutoNickPlugin",
                  "enrobie.plugins.StatusPlugin"
               ],
               "title": "Locate"
            },
            "trusted": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "minItems": 1,
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Users are trusted by the plugin",
               "title": "Trusted"
            }
         },
         "title": "RobiePluginParams",
         "type": "object"
      },
      "RobiePrinterParams": {
         "additionalProperties": false,
         "description": "Process and validate the Robie configuration parameters.",
         "properties": {
            "message": {
               "default": false,
               "description": "Print the messages to console",
               "title": "Message",
               "type": "boolean"
            },
            "command": {
               "default": false,
               "description": "Print the commands to console",
               "title": "Command",
               "type": "boolean"
            }
         },
         "title": "RobiePrinterParams",
         "type": "object"
      },
      "RobieServiceParams": {
         "additionalProperties": false,
         "description": "Process and validate the Robie configuration parameters.",
         "properties": {
            "respite": {
               "$ref": "#/$defs/RobieServiceRespiteParams",
               "description": "When operates are performed"
            }
         },
         "title": "RobieServiceParams",
         "type": "object"
      },
      "RobieServiceRespiteParams": {
         "additionalProperties": false,
         "description": "Process and validate the Robie configuration parameters.",
         "properties": {
            "health": {
               "default": 3,
               "description": "How often health is checked",
               "maximum": 15,
               "minimum": 1,
               "title": "Health",
               "type": "integer"
            }
         },
         "title": "RobieServiceRespiteParams",
         "type": "object"
      }
   },
   "additionalProperties": false
}

Config:
  • extra: str = forbid

Fields:
field clients: Annotated[dict[str, RobieClientParams] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Parameters for Robie clients', metadata=[MinLen(min_length=1)])] = None#

Parameters for Robie clients

Constraints:
  • min_length = 1

field database: Annotated[str, FieldInfo(annotation=NoneType, required=False, default='sqlite:///:memory:', description='Database connection string', metadata=[MinLen(min_length=1)])] = 'sqlite:///:memory:'#

Database connection string

Constraints:
  • min_length = 1

field persons: Annotated[dict[str, RobiePersonParams] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Parameters for Robie persons', metadata=[MinLen(min_length=1)])] = None#

Parameters for Robie persons

Constraints:
  • min_length = 1

field plugins: Annotated[dict[str, RobiePluginParams] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Parameters for Robie plugins', metadata=[MinLen(min_length=1)])] = None#

Parameters for Robie plugins

Constraints:
  • min_length = 1

field printer: Annotated[RobiePrinterParams, FieldInfo(annotation=NoneType, required=False, default_factory=RobiePrinterParams, description='Print messages to console')] [Optional]#

Print messages to console

field service: Annotated[RobieServiceParams, FieldInfo(annotation=NoneType, required=False, default_factory=RobieServiceParams, description='Parameters for Robie Service')] [Optional]#

Parameters for Robie Service

pydantic model enrobie.robie.params.robie.RobiePrinterParams[source]#

Bases: RobieParamsModel

Process and validate the Robie configuration parameters.

Show JSON schema
{
   "title": "RobiePrinterParams",
   "description": "Process and validate the Robie configuration parameters.",
   "type": "object",
   "properties": {
      "message": {
         "default": false,
         "description": "Print the messages to console",
         "title": "Message",
         "type": "boolean"
      },
      "command": {
         "default": false,
         "description": "Print the commands to console",
         "title": "Command",
         "type": "boolean"
      }
   },
   "additionalProperties": false
}

Config:
  • extra: str = forbid

Fields:
field command: Annotated[bool, FieldInfo(annotation=NoneType, required=False, default=False, description='Print the commands to console')] = False#

Print the commands to console

field message: Annotated[bool, FieldInfo(annotation=NoneType, required=False, default=False, description='Print the messages to console')] = False#

Print the messages to console

enrobie.robie.params.service module#

Functions and routines associated with Enasis Network Chatting Robie.

This file is part of Enasis Network software eco-system. Distribution is permitted, for more information consult the project license file.

pydantic model enrobie.robie.params.service.RobieServiceParams[source]#

Bases: RobieParamsModel

Process and validate the Robie configuration parameters.

Show JSON schema
{
   "title": "RobieServiceParams",
   "description": "Process and validate the Robie configuration parameters.",
   "type": "object",
   "properties": {
      "respite": {
         "$ref": "#/$defs/RobieServiceRespiteParams",
         "description": "When operates are performed"
      }
   },
   "$defs": {
      "RobieServiceRespiteParams": {
         "additionalProperties": false,
         "description": "Process and validate the Robie configuration parameters.",
         "properties": {
            "health": {
               "default": 3,
               "description": "How often health is checked",
               "maximum": 15,
               "minimum": 1,
               "title": "Health",
               "type": "integer"
            }
         },
         "title": "RobieServiceRespiteParams",
         "type": "object"
      }
   },
   "additionalProperties": false
}

Config:
  • extra: str = forbid

Fields:
field respite: Annotated[RobieServiceRespiteParams, FieldInfo(annotation=NoneType, required=False, default_factory=RobieServiceRespiteParams, description='When operates are performed')] [Optional]#

When operates are performed

pydantic model enrobie.robie.params.service.RobieServiceRespiteParams[source]#

Bases: RobieParamsModel

Process and validate the Robie configuration parameters.

Show JSON schema
{
   "title": "RobieServiceRespiteParams",
   "description": "Process and validate the Robie configuration parameters.",
   "type": "object",
   "properties": {
      "health": {
         "default": 3,
         "description": "How often health is checked",
         "maximum": 15,
         "minimum": 1,
         "title": "Health",
         "type": "integer"
      }
   },
   "additionalProperties": false
}

Config:
  • extra: str = forbid

Fields:
field health: Annotated[int, FieldInfo(annotation=NoneType, required=False, default=3, description='How often health is checked', metadata=[Ge(ge=1), Le(le=15)])] = 3#

How often health is checked

Constraints:
  • ge = 1

  • le = 15

Module contents#

Functions and routines associated with Enasis Network Chatting Robie.

This file is part of Enasis Network software eco-system. Distribution is permitted, for more information consult the project license file.

pydantic model enrobie.robie.params.RobieChildParams[source]#

Bases: RobieParamsModel

Process and validate the Robie configuration parameters.

Show JSON schema
{
   "title": "RobieChildParams",
   "description": "Process and validate the Robie configuration parameters.",
   "type": "object",
   "properties": {
      "enable": {
         "default": false,
         "description": "Determine whether child enabled",
         "title": "Enable",
         "type": "boolean"
      }
   },
   "additionalProperties": false
}

Config:
  • extra: str = forbid

Fields:
field enable: Annotated[bool, FieldInfo(annotation=NoneType, required=False, default=False, description='Determine whether child enabled')] = False#

Determine whether child enabled

pydantic model enrobie.robie.params.RobieClientParams[source]#

Bases: RobieChildParams

Process and validate the Robie configuration parameters.

Show JSON schema
{
   "title": "RobieClientParams",
   "description": "Process and validate the Robie configuration parameters.",
   "type": "object",
   "properties": {
      "enable": {
         "default": false,
         "description": "Determine whether child enabled",
         "title": "Enable",
         "type": "boolean"
      },
      "locate": {
         "anyOf": [
            {
               "minLength": 1,
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "For which client are parameters",
         "examples": [
            "enrobie.clients.DSCClient",
            "enrobie.clients.IRCClient",
            "enrobie.clients.MTMClient"
         ],
         "title": "Locate"
      }
   },
   "additionalProperties": false
}

Config:
  • extra: str = forbid

Fields:
field enable: Annotated[bool, Field(False, description='Determine whether child enabled')] = False#

Determine whether child enabled

field locate: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='For which client are parameters', examples=['enrobie.clients.DSCClient', 'enrobie.clients.IRCClient', 'enrobie.clients.MTMClient'], metadata=[MinLen(min_length=1)])] = None#

For which client are parameters

Constraints:
  • min_length = 1

pydantic model enrobie.robie.params.RobieParams[source]#

Bases: Params

Process and validate the core configuration parameters.

Show JSON schema
{
   "title": "RobieParams",
   "description": "Process and validate the core configuration parameters.",
   "type": "object",
   "properties": {
      "enconfig": {
         "anyOf": [
            {
               "$ref": "#/$defs/ConfigParams"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Parameters for Config instance"
      },
      "enlogger": {
         "anyOf": [
            {
               "$ref": "#/$defs/LoggerParams"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Parameters for Logger instance"
      },
      "encrypts": {
         "anyOf": [
            {
               "$ref": "#/$defs/CryptsParams"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Parameters for Crypts instance"
      },
      "database": {
         "default": "sqlite:///:memory:",
         "description": "Database connection string",
         "minLength": 1,
         "title": "Database",
         "type": "string"
      },
      "printer": {
         "$ref": "#/$defs/RobiePrinterParams",
         "description": "Print messages to console"
      },
      "service": {
         "$ref": "#/$defs/RobieServiceParams",
         "description": "Parameters for Robie Service"
      },
      "clients": {
         "anyOf": [
            {
               "additionalProperties": {
                  "$ref": "#/$defs/RobieClientParams"
               },
               "minProperties": 1,
               "type": "object"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Parameters for Robie clients",
         "title": "Clients"
      },
      "plugins": {
         "anyOf": [
            {
               "additionalProperties": {
                  "$ref": "#/$defs/RobiePluginParams"
               },
               "minProperties": 1,
               "type": "object"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Parameters for Robie plugins",
         "title": "Plugins"
      },
      "persons": {
         "anyOf": [
            {
               "additionalProperties": {
                  "$ref": "#/$defs/RobiePersonParams"
               },
               "minProperties": 1,
               "type": "object"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Parameters for Robie persons",
         "title": "Persons"
      }
   },
   "$defs": {
      "ConfigParams": {
         "additionalProperties": false,
         "description": "Process and validate the core configuration parameters.",
         "properties": {
            "paths": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "minItems": 1,
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Location of configuration files",
               "title": "Paths"
            }
         },
         "title": "ConfigParams",
         "type": "object"
      },
      "CryptParams": {
         "additionalProperties": false,
         "description": "Process and validate the core configuration parameters.",
         "properties": {
            "phrase": {
               "description": "Passphrase for the operations",
               "minLength": 1,
               "title": "Phrase",
               "type": "string"
            }
         },
         "required": [
            "phrase"
         ],
         "title": "CryptParams",
         "type": "object"
      },
      "CryptsParams": {
         "additionalProperties": false,
         "description": "Process and validate the core configuration parameters.",
         "properties": {
            "phrases": {
               "additionalProperties": {
                  "$ref": "#/$defs/CryptParams"
               },
               "description": "Passphrases for the operations",
               "minProperties": 0,
               "title": "Phrases",
               "type": "object"
            }
         },
         "required": [
            "phrases"
         ],
         "title": "CryptsParams",
         "type": "object"
      },
      "LoggerParams": {
         "additionalProperties": false,
         "description": "Process and validate the core configuration parameters.",
         "properties": {
            "stdo_level": {
               "anyOf": [
                  {
                     "enum": [
                        "critical",
                        "debug",
                        "error",
                        "info",
                        "warning"
                     ],
                     "minLength": 1,
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Minimum logging message level",
               "title": "Stdo Level"
            },
            "file_level": {
               "anyOf": [
                  {
                     "enum": [
                        "critical",
                        "debug",
                        "error",
                        "info",
                        "warning"
                     ],
                     "minLength": 1,
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Minimum logging message level",
               "title": "File Level"
            },
            "file_path": {
               "anyOf": [
                  {
                     "minLength": 1,
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Enable output to the log file",
               "title": "File Path"
            }
         },
         "title": "LoggerParams",
         "type": "object"
      },
      "RobieClientParams": {
         "additionalProperties": false,
         "description": "Process and validate the Robie configuration parameters.",
         "properties": {
            "enable": {
               "default": false,
               "description": "Determine whether child enabled",
               "title": "Enable",
               "type": "boolean"
            },
            "locate": {
               "anyOf": [
                  {
                     "minLength": 1,
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "For which client are parameters",
               "examples": [
                  "enrobie.clients.DSCClient",
                  "enrobie.clients.IRCClient",
                  "enrobie.clients.MTMClient"
               ],
               "title": "Locate"
            }
         },
         "title": "RobieClientParams",
         "type": "object"
      },
      "RobiePersonMatchParams": {
         "additionalProperties": false,
         "description": "Process and validate the Robie configuration parameters.",
         "properties": {
            "client": {
               "description": "Client where the user exists",
               "minLength": 1,
               "title": "Client",
               "type": "string"
            },
            "match": {
               "description": "Values client uses to identify",
               "items": {
                  "type": "string"
               },
               "minItems": 1,
               "title": "Match",
               "type": "array"
            }
         },
         "required": [
            "client",
            "match"
         ],
         "title": "RobiePersonMatchParams",
         "type": "object"
      },
      "RobiePersonParams": {
         "additionalProperties": false,
         "description": "Process and validate the Robie configuration parameters.",
         "properties": {
            "enable": {
               "default": false,
               "description": "Determine whether child enabled",
               "title": "Enable",
               "type": "boolean"
            },
            "first": {
               "anyOf": [
                  {
                     "minLength": 1,
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Additional optional information",
               "title": "First"
            },
            "last": {
               "anyOf": [
                  {
                     "minLength": 1,
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Additional optional information",
               "title": "Last"
            },
            "about": {
               "anyOf": [
                  {
                     "minLength": 1,
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Additional optional information",
               "title": "About"
            },
            "matches": {
               "description": "How the user will be identified",
               "items": {
                  "$ref": "#/$defs/RobiePersonMatchParams"
               },
               "title": "Matches",
               "type": "array"
            },
            "weight": {
               "default": 50,
               "description": "Determine order of precedence",
               "maximum": 100,
               "minimum": 1,
               "title": "Weight",
               "type": "integer"
            }
         },
         "required": [
            "matches"
         ],
         "title": "RobiePersonParams",
         "type": "object"
      },
      "RobiePluginParams": {
         "additionalProperties": false,
         "description": "Process and validate the Robie configuration parameters.",
         "properties": {
            "enable": {
               "default": false,
               "description": "Determine whether child enabled",
               "title": "Enable",
               "type": "boolean"
            },
            "locate": {
               "anyOf": [
                  {
                     "minLength": 1,
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "For which plugin are parameters",
               "examples": [
                  "enrobie.plugins.AinswerPlugin",
                  "enrobie.plugins.AutoJoinPlugin",
                  "enrobie.plugins.AutoNickPlugin",
                  "enrobie.plugins.StatusPlugin"
               ],
               "title": "Locate"
            },
            "trusted": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "minItems": 1,
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Users are trusted by the plugin",
               "title": "Trusted"
            }
         },
         "title": "RobiePluginParams",
         "type": "object"
      },
      "RobiePrinterParams": {
         "additionalProperties": false,
         "description": "Process and validate the Robie configuration parameters.",
         "properties": {
            "message": {
               "default": false,
               "description": "Print the messages to console",
               "title": "Message",
               "type": "boolean"
            },
            "command": {
               "default": false,
               "description": "Print the commands to console",
               "title": "Command",
               "type": "boolean"
            }
         },
         "title": "RobiePrinterParams",
         "type": "object"
      },
      "RobieServiceParams": {
         "additionalProperties": false,
         "description": "Process and validate the Robie configuration parameters.",
         "properties": {
            "respite": {
               "$ref": "#/$defs/RobieServiceRespiteParams",
               "description": "When operates are performed"
            }
         },
         "title": "RobieServiceParams",
         "type": "object"
      },
      "RobieServiceRespiteParams": {
         "additionalProperties": false,
         "description": "Process and validate the Robie configuration parameters.",
         "properties": {
            "health": {
               "default": 3,
               "description": "How often health is checked",
               "maximum": 15,
               "minimum": 1,
               "title": "Health",
               "type": "integer"
            }
         },
         "title": "RobieServiceRespiteParams",
         "type": "object"
      }
   },
   "additionalProperties": false
}

Config:
  • extra: str = forbid

Fields:
field clients: Annotated[dict[str, RobieClientParams] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Parameters for Robie clients', metadata=[MinLen(min_length=1)])] = None#

Parameters for Robie clients

Constraints:
  • min_length = 1

field database: Annotated[str, FieldInfo(annotation=NoneType, required=False, default='sqlite:///:memory:', description='Database connection string', metadata=[MinLen(min_length=1)])] = 'sqlite:///:memory:'#

Database connection string

Constraints:
  • min_length = 1

field enconfig: Annotated[ConfigParams | None, Field(None, description='Parameters for Config instance')] = None#

Parameters for Config instance

field encrypts: Annotated[CryptsParams | None, Field(None, description='Parameters for Crypts instance')] = None#

Parameters for Crypts instance

field enlogger: Annotated[LoggerParams | None, Field(None, description='Parameters for Logger instance')] = None#

Parameters for Logger instance

field persons: Annotated[dict[str, RobiePersonParams] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Parameters for Robie persons', metadata=[MinLen(min_length=1)])] = None#

Parameters for Robie persons

Constraints:
  • min_length = 1

field plugins: Annotated[dict[str, RobiePluginParams] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Parameters for Robie plugins', metadata=[MinLen(min_length=1)])] = None#

Parameters for Robie plugins

Constraints:
  • min_length = 1

field printer: Annotated[RobiePrinterParams, FieldInfo(annotation=NoneType, required=False, default_factory=RobiePrinterParams, description='Print messages to console')] [Optional]#

Print messages to console

field service: Annotated[RobieServiceParams, FieldInfo(annotation=NoneType, required=False, default_factory=RobieServiceParams, description='Parameters for Robie Service')] [Optional]#

Parameters for Robie Service

pydantic model enrobie.robie.params.RobieParamsModel[source]#

Bases: BaseModel

Process and validate the Robie configuration parameters.

Show JSON schema
{
   "title": "RobieParamsModel",
   "description": "Process and validate the Robie configuration parameters.",
   "type": "object",
   "properties": {},
   "additionalProperties": false
}

Config:
  • extra: str = forbid

pydantic model enrobie.robie.params.RobiePersonParams[source]#

Bases: RobieChildParams

Process and validate the Robie configuration parameters.

Show JSON schema
{
   "title": "RobiePersonParams",
   "description": "Process and validate the Robie configuration parameters.",
   "type": "object",
   "properties": {
      "enable": {
         "default": false,
         "description": "Determine whether child enabled",
         "title": "Enable",
         "type": "boolean"
      },
      "first": {
         "anyOf": [
            {
               "minLength": 1,
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Additional optional information",
         "title": "First"
      },
      "last": {
         "anyOf": [
            {
               "minLength": 1,
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Additional optional information",
         "title": "Last"
      },
      "about": {
         "anyOf": [
            {
               "minLength": 1,
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Additional optional information",
         "title": "About"
      },
      "matches": {
         "description": "How the user will be identified",
         "items": {
            "$ref": "#/$defs/RobiePersonMatchParams"
         },
         "title": "Matches",
         "type": "array"
      },
      "weight": {
         "default": 50,
         "description": "Determine order of precedence",
         "maximum": 100,
         "minimum": 1,
         "title": "Weight",
         "type": "integer"
      }
   },
   "$defs": {
      "RobiePersonMatchParams": {
         "additionalProperties": false,
         "description": "Process and validate the Robie configuration parameters.",
         "properties": {
            "client": {
               "description": "Client where the user exists",
               "minLength": 1,
               "title": "Client",
               "type": "string"
            },
            "match": {
               "description": "Values client uses to identify",
               "items": {
                  "type": "string"
               },
               "minItems": 1,
               "title": "Match",
               "type": "array"
            }
         },
         "required": [
            "client",
            "match"
         ],
         "title": "RobiePersonMatchParams",
         "type": "object"
      }
   },
   "additionalProperties": false,
   "required": [
      "matches"
   ]
}

Config:
  • extra: str = forbid

Fields:
field about: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Additional optional information', metadata=[MinLen(min_length=1)])] = None#

Additional optional information

Constraints:
  • min_length = 1

field enable: Annotated[bool, Field(False, description='Determine whether child enabled')] = False#

Determine whether child enabled

field first: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Additional optional information', metadata=[MinLen(min_length=1)])] = None#

Additional optional information

Constraints:
  • min_length = 1

field last: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Additional optional information', metadata=[MinLen(min_length=1)])] = None#

Additional optional information

Constraints:
  • min_length = 1

field matches: Annotated[list[RobiePersonMatchParams], FieldInfo(annotation=NoneType, required=True, description='How the user will be identified')] [Required]#

How the user will be identified

field weight: Annotated[int, FieldInfo(annotation=NoneType, required=False, default=50, description='Determine order of precedence', metadata=[Ge(ge=1), Le(le=100)])] = 50#

Determine order of precedence

Constraints:
  • ge = 1

  • le = 100

pydantic model enrobie.robie.params.RobiePluginParams[source]#

Bases: RobieChildParams

Process and validate the Robie configuration parameters.

Show JSON schema
{
   "title": "RobiePluginParams",
   "description": "Process and validate the Robie configuration parameters.",
   "type": "object",
   "properties": {
      "enable": {
         "default": false,
         "description": "Determine whether child enabled",
         "title": "Enable",
         "type": "boolean"
      },
      "locate": {
         "anyOf": [
            {
               "minLength": 1,
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "For which plugin are parameters",
         "examples": [
            "enrobie.plugins.AinswerPlugin",
            "enrobie.plugins.AutoJoinPlugin",
            "enrobie.plugins.AutoNickPlugin",
            "enrobie.plugins.StatusPlugin"
         ],
         "title": "Locate"
      },
      "trusted": {
         "anyOf": [
            {
               "items": {
                  "type": "string"
               },
               "minItems": 1,
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Users are trusted by the plugin",
         "title": "Trusted"
      }
   },
   "additionalProperties": false
}

Config:
  • extra: str = forbid

Fields:
field enable: Annotated[bool, Field(False, description='Determine whether child enabled')] = False#

Determine whether child enabled

field locate: Annotated[str | None, FieldInfo(annotation=NoneType, required=False, default=None, description='For which plugin are parameters', examples=['enrobie.plugins.AinswerPlugin', 'enrobie.plugins.AutoJoinPlugin', 'enrobie.plugins.AutoNickPlugin', 'enrobie.plugins.StatusPlugin'], metadata=[MinLen(min_length=1)])] = None#

For which plugin are parameters

Constraints:
  • min_length = 1

field trusted: Annotated[list[str] | None, FieldInfo(annotation=NoneType, required=False, default=None, description='Users are trusted by the plugin', metadata=[MinLen(min_length=1)])] = None#

Users are trusted by the plugin

Constraints:
  • min_length = 1

pydantic model enrobie.robie.params.RobiePrinterParams[source]#

Bases: RobieParamsModel

Process and validate the Robie configuration parameters.

Show JSON schema
{
   "title": "RobiePrinterParams",
   "description": "Process and validate the Robie configuration parameters.",
   "type": "object",
   "properties": {
      "message": {
         "default": false,
         "description": "Print the messages to console",
         "title": "Message",
         "type": "boolean"
      },
      "command": {
         "default": false,
         "description": "Print the commands to console",
         "title": "Command",
         "type": "boolean"
      }
   },
   "additionalProperties": false
}

Config:
  • extra: str = forbid

Fields:
field command: Annotated[bool, FieldInfo(annotation=NoneType, required=False, default=False, description='Print the commands to console')] = False#

Print the commands to console

field message: Annotated[bool, FieldInfo(annotation=NoneType, required=False, default=False, description='Print the messages to console')] = False#

Print the messages to console

pydantic model enrobie.robie.params.RobieServiceParams[source]#

Bases: RobieParamsModel

Process and validate the Robie configuration parameters.

Show JSON schema
{
   "title": "RobieServiceParams",
   "description": "Process and validate the Robie configuration parameters.",
   "type": "object",
   "properties": {
      "respite": {
         "$ref": "#/$defs/RobieServiceRespiteParams",
         "description": "When operates are performed"
      }
   },
   "$defs": {
      "RobieServiceRespiteParams": {
         "additionalProperties": false,
         "description": "Process and validate the Robie configuration parameters.",
         "properties": {
            "health": {
               "default": 3,
               "description": "How often health is checked",
               "maximum": 15,
               "minimum": 1,
               "title": "Health",
               "type": "integer"
            }
         },
         "title": "RobieServiceRespiteParams",
         "type": "object"
      }
   },
   "additionalProperties": false
}

Config:
  • extra: str = forbid

Fields:
field respite: Annotated[RobieServiceRespiteParams, FieldInfo(annotation=NoneType, required=False, default_factory=RobieServiceRespiteParams, description='When operates are performed')] [Optional]#

When operates are performed