Data models modules

DOTModel

Module: src.__init__

pydantic model DOTModel[source]

Bases: BaseModel

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Show JSON schema
{
   "title": "DOTModel",
   "type": "object",
   "properties": {},
   "additionalProperties": false
}

Config:
  • extra: str = forbid

  • validate_assignment: bool = True

classmethod convert_api_payload_to_response(data)[source]
classmethod convert_list_api_payloads_to_responses(data)[source]

Metadata

Module: src.v0.models.meta

pydantic model MetaData[source]

Bases: DOTModel

Metadata for database components. They are automatically generated.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Show JSON schema
{
   "title": "MetaData",
   "description": "Metadata for database components. They are automatically generated.",
   "type": "object",
   "properties": {
      "version": {
         "default": "v0",
         "title": "Version",
         "type": "string"
      },
      "uuid": {
         "format": "uuid",
         "title": "Uuid",
         "type": "string"
      }
   },
   "additionalProperties": false
}

field version: str = 'v0'

version of the database

field uuid: UUID [Optional]

Unique identifier of the vertex

pydantic model VertexMetaData[source]

Bases: MetaData

Metadata for Vertices. They are automatically generated.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Show JSON schema
{
   "title": "VertexMetaData",
   "description": "Metadata for Vertices. They are automatically generated.",
   "type": "object",
   "properties": {
      "version": {
         "default": "v0",
         "title": "Version",
         "type": "string"
      },
      "uuid": {
         "format": "uuid",
         "title": "Uuid",
         "type": "string"
      },
      "timestamp": {
         "title": "Timestamp",
         "type": "number"
      },
      "date": {
         "format": "date-time",
         "title": "Date",
         "type": "string"
      },
      "ids": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": "test",
         "title": "Ids"
      }
   },
   "additionalProperties": false
}

field timestamp: float [Optional]

Timestamp at vertex creation

field date: datetime [Optional]

Date at vertex creation

field ids: str | None = 'test'

Partition key for Azure cosmos DB

pydantic model EdgeMetaData[source]

Bases: MetaData

Metadata for Edges. They are automatically generated.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Show JSON schema
{
   "title": "EdgeMetaData",
   "description": "Metadata for Edges. They are automatically generated.",
   "type": "object",
   "properties": {
      "version": {
         "default": "v0",
         "title": "Version",
         "type": "string"
      },
      "uuid": {
         "format": "uuid",
         "title": "Uuid",
         "type": "string"
      }
   },
   "additionalProperties": false
}

pydantic model VertexMetaDataResponse[source]

Bases: VertexMetaData

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Show JSON schema
{
   "title": "VertexMetaDataResponse",
   "type": "object",
   "properties": {
      "version": {
         "default": "v0",
         "title": "Version",
         "type": "string"
      },
      "uuid": {
         "title": "Uuid",
         "type": "string"
      },
      "timestamp": {
         "title": "Timestamp",
         "type": "string"
      },
      "date": {
         "title": "Date",
         "type": "string"
      },
      "ids": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": "test",
         "title": "Ids"
      }
   },
   "additionalProperties": false,
   "required": [
      "uuid",
      "timestamp",
      "date"
   ]
}

field uuid: str [Required]

Unique identifier of the vertex

field timestamp: str [Required]

Timestamp at vertex creation

field date: str [Required]

Date at vertex creation

pydantic model EdgeMetaDataResponse[source]

Bases: EdgeMetaData

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Show JSON schema
{
   "title": "EdgeMetaDataResponse",
   "type": "object",
   "properties": {
      "version": {
         "default": "v0",
         "title": "Version",
         "type": "string"
      },
      "uuid": {
         "title": "Uuid",
         "type": "string"
      }
   },
   "additionalProperties": false,
   "required": [
      "uuid"
   ]
}

field uuid: str [Required]

Unique identifier of the vertex

Edges

Module: src.v0.models.edge

pydantic model EdgeCreate[source]

Bases: DOTModel

Edge data model. They are directed edge and have thus a tail and a head vertex.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Show JSON schema
{
   "title": "EdgeCreate",
   "description": "Edge data model. They are directed edge and have thus a tail and a head vertex.",
   "type": "object",
   "properties": {
      "id": {
         "title": "Id",
         "type": "string"
      },
      "outV": {
         "title": "Outv",
         "type": "string"
      },
      "inV": {
         "title": "Inv",
         "type": "string"
      },
      "label": {
         "default": "",
         "title": "Label",
         "type": "string"
      }
   },
   "additionalProperties": false,
   "examples": [
      {
         "id": "22222222-bbbb-eeee-aaaa-333333333333",
         "inV": "11111111-aaaa-2222-bbbb-888888888888",
         "label": "contains",
         "outV": "44444444-0000-1111-ffff-cccccccccccc"
      }
   ],
   "required": [
      "id",
      "outV",
      "inV"
   ]
}

field id: str [Required]

identifier of the edge (same as uuid, generated by Gremlin)

field outV: str [Required]

UUID of tail vertex

field inV: str [Required]

UUID of head vertex

field label: str = ''

Label of the edge. Can be ‘contains’, ‘influences’, ‘has_value_metric, or ‘merged_into’. ‘contains’ means a project contains a vertex, ‘influences’ means a vertex influences another vertex (e.g. an uncertaintyinfluences a decision), ‘has_value_metric’ means an objective may have a Value Metric issue, and ‘merged_into’ means two issues may be merged into a merged issue.

pydantic model EdgeResponse[source]

Bases: EdgeMetaDataResponse

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Show JSON schema
{
   "title": "EdgeResponse",
   "type": "object",
   "properties": {
      "version": {
         "default": "v0",
         "title": "Version",
         "type": "string"
      },
      "uuid": {
         "title": "Uuid",
         "type": "string"
      },
      "outV": {
         "title": "Outv",
         "type": "string"
      },
      "inV": {
         "title": "Inv",
         "type": "string"
      },
      "T.id": {
         "title": "T.Id",
         "type": "string"
      },
      "T.label": {
         "title": "T.Label",
         "type": "string"
      }
   },
   "additionalProperties": false,
   "examples": [
      {
         "id": "22222222-bbbb-eeee-aaaa-333333333333",
         "inV": "11111111-aaaa-2222-bbbb-888888888888",
         "label": "contains",
         "outV": "44444444-0000-1111-ffff-cccccccccccc",
         "uuid": "22222222-bbbb-eeee-aaaa-333333333333"
      }
   ],
   "required": [
      "uuid",
      "outV",
      "inV",
      "T.id",
      "T.label"
   ]
}

field outV: str [Required]
field inV: str [Required]
field id: str [Required]
field label: Annotated[str, StringConstraints(strip_whitespace=None, to_upper=None, to_lower=True, strict=None, min_length=None, max_length=None, pattern=None)] [Required]

Vertex

Module: src.v0.models.vertex

Vertices instances overwrite the DOTModel configuration with

CONFIG:

  • extra: str = allow

pydantic model VertexCreate[source]

Bases: DOTModel

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Show JSON schema
{
   "title": "VertexCreate",
   "type": "object",
   "properties": {},
   "additionalProperties": true
}

pydantic model VertexUpdate[source]

Bases: DOTModel

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Show JSON schema
{
   "title": "VertexUpdate",
   "type": "object",
   "properties": {},
   "additionalProperties": true
}

pydantic model VertexResponse[source]

Bases: VertexMetaDataResponse

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Show JSON schema
{
   "title": "VertexResponse",
   "type": "object",
   "properties": {
      "version": {
         "default": "v0",
         "title": "Version",
         "type": "string"
      },
      "uuid": {
         "title": "Uuid",
         "type": "string"
      },
      "timestamp": {
         "title": "Timestamp",
         "type": "string"
      },
      "date": {
         "title": "Date",
         "type": "string"
      },
      "ids": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": "test",
         "title": "Ids"
      },
      "T.id": {
         "title": "T.Id",
         "type": "string"
      },
      "T.label": {
         "title": "T.Label",
         "type": "string"
      }
   },
   "additionalProperties": true,
   "required": [
      "uuid",
      "timestamp",
      "date",
      "T.id",
      "T.label"
   ]
}

field id: str [Required]
field label: Annotated[str, StringConstraints(strip_whitespace=None, to_upper=None, to_lower=True, strict=None, min_length=None, max_length=None, pattern=None)] [Required]

Projects

Module: src.v0.models.project

pydantic model ProjectCreate[source]

Bases: DOTModel

Project data model

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Show JSON schema
{
   "title": "ProjectCreate",
   "description": "Project data model",
   "type": "object",
   "properties": {
      "name": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "title": "Name"
      },
      "description": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Description"
      },
      "tag": {
         "anyOf": [
            {
               "items": {
                  "type": "string"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Tag"
      },
      "decision_maker": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Decision Maker"
      },
      "decision_date": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Decision Date"
      },
      "sensitivity_label": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": "Restricted",
         "title": "Sensitivity Label"
      },
      "index": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Index"
      }
   },
   "additionalProperties": false,
   "examples": [
      {
         "decision_date": "2021-01-01",
         "decision_maker": "John Doe",
         "description": "This is a project example",
         "index": "0",
         "name": "the little project example",
         "sensitivity_label": "Restricted",
         "tag": "subsurface"
      }
   ],
   "required": [
      "name"
   ]
}

field name: str | None [Required]

Name of the project

field description: str | None = None

Description of the project

field tag: list[str] | None = None

List of user input keywords

field decision_maker: str | None = None

Name of the decision maker

field decision_date: str | None = None

Date by which the project needs to be ended

field sensitivity_label: str | None = 'Restricted'

Security level of the project (Open, Internal, Restricted, Confidential)

field index: str | None = None

Index of the project

pydantic model ProjectUpdate[source]

Bases: DOTModel

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Show JSON schema
{
   "title": "ProjectUpdate",
   "type": "object",
   "properties": {
      "name": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Name"
      },
      "tag": {
         "anyOf": [
            {
               "items": {
                  "type": "string"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Tag"
      },
      "description": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Description"
      },
      "index": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Index"
      },
      "decision_maker": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Decision Maker"
      },
      "decision_date": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Decision Date"
      },
      "sensitivity_label": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Sensitivity Label"
      }
   },
   "additionalProperties": false,
   "examples": [
      {
         "decision_date": "2021-01-01",
         "decision_maker": "John Doe",
         "description": "This is a project example",
         "index": "0",
         "name": "the little project example",
         "sensitivity_label": "Restricted",
         "tag": "subsurface"
      }
   ]
}

field name: str | None = None
field tag: list[str] | None = None
field description: str | None = None
field index: str | None = None
field decision_maker: str | None = None
field decision_date: str | None = None
field sensitivity_label: str | None = None
pydantic model ProjectResponse[source]

Bases: VertexMetaDataResponse

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Show JSON schema
{
   "title": "ProjectResponse",
   "type": "object",
   "properties": {
      "version": {
         "default": "v0",
         "title": "Version",
         "type": "string"
      },
      "uuid": {
         "title": "Uuid",
         "type": "string"
      },
      "timestamp": {
         "title": "Timestamp",
         "type": "string"
      },
      "date": {
         "title": "Date",
         "type": "string"
      },
      "ids": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": "test",
         "title": "Ids"
      },
      "name": {
         "title": "Name",
         "type": "string"
      },
      "description": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "title": "Description"
      },
      "tag": {
         "anyOf": [
            {
               "items": {
                  "type": "string"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "title": "Tag"
      },
      "decision_maker": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "title": "Decision Maker"
      },
      "decision_date": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "title": "Decision Date"
      },
      "sensitivity_label": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "title": "Sensitivity Label"
      },
      "index": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "title": "Index"
      },
      "T.id": {
         "title": "T.Id",
         "type": "string"
      },
      "T.label": {
         "title": "T.Label",
         "type": "string"
      }
   },
   "additionalProperties": false,
   "examples": [
      {
         "decision_date": "2021-01-01",
         "decision_maker": "John Doe",
         "description": "This is a project example",
         "index": "0",
         "name": "the little project example",
         "sensitivity_label": "Restricted",
         "tag": "subsurface"
      }
   ],
   "required": [
      "uuid",
      "timestamp",
      "date",
      "name",
      "description",
      "tag",
      "decision_maker",
      "decision_date",
      "sensitivity_label",
      "index",
      "T.id",
      "T.label"
   ]
}

field name: str [Required]
field description: str | None [Required]
field tag: list[str] | None [Required]
field decision_maker: str | None [Required]
field decision_date: str | None [Required]
field sensitivity_label: str | None [Required]
field index: str | None [Required]
field id: str [Required]
field label: Annotated[str, StringConstraints(strip_whitespace=None, to_upper=None, to_lower=True, strict=None, min_length=None, max_length=None, pattern=None)] [Required]

Sessions

Warning

Not yet in used!

Module: src.v0.models.session

pydantic model SessionData[source]

Bases: DOTModel

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Show JSON schema
{
   "title": "SessionData",
   "type": "object",
   "properties": {
      "name": {
         "title": "Name",
         "type": "string"
      },
      "description": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Description"
      },
      "tag": {
         "anyOf": [
            {
               "items": {
                  "type": "string"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Tag"
      },
      "owner": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Owner"
      },
      "shared": {
         "default": "True",
         "title": "Shared",
         "type": "string"
      },
      "index": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Index"
      }
   },
   "additionalProperties": false,
   "examples": [
      {
         "description": "objectively objecting the objectives",
         "index": "0",
         "name": "this is an objective",
         "owner": "John Doe",
         "shared": "True",
         "tag": [
            "subsurface"
         ]
      }
   ],
   "required": [
      "name"
   ]
}

Validators:
field name: str [Required]
field description: str | None = None
field tag: list[str] | None = None
field owner: str | None = None
field shared: str = 'True'
Validated by:
field index: str | None = None
validator check_shared  »  shared[source]
pydantic model Session[source]

Bases: VertexMetaData, SessionData

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Show JSON schema
{
   "title": "Session",
   "type": "object",
   "properties": {
      "name": {
         "title": "Name",
         "type": "string"
      },
      "description": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Description"
      },
      "tag": {
         "anyOf": [
            {
               "items": {
                  "type": "string"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Tag"
      },
      "owner": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Owner"
      },
      "shared": {
         "default": "True",
         "title": "Shared",
         "type": "string"
      },
      "index": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Index"
      },
      "version": {
         "default": "v0",
         "title": "Version",
         "type": "string"
      },
      "uuid": {
         "format": "uuid",
         "title": "Uuid",
         "type": "string"
      },
      "timestamp": {
         "title": "Timestamp",
         "type": "number"
      },
      "date": {
         "format": "date-time",
         "title": "Date",
         "type": "string"
      },
      "ids": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": "test",
         "title": "Ids"
      }
   },
   "additionalProperties": false,
   "examples": [
      {
         "description": "objectively objecting the objectives",
         "index": "0",
         "name": "this is an objective",
         "owner": "John Doe",
         "shared": "True",
         "tag": [
            "subsurface"
         ]
      }
   ],
   "required": [
      "name"
   ]
}

Validators:

pydantic model SessionResponse[source]

Bases: VertexMetaDataResponse, Session

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Show JSON schema
{
   "title": "SessionResponse",
   "type": "object",
   "properties": {
      "name": {
         "title": "Name",
         "type": "string"
      },
      "description": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Description"
      },
      "tag": {
         "anyOf": [
            {
               "items": {
                  "type": "string"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Tag"
      },
      "owner": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Owner"
      },
      "shared": {
         "default": "True",
         "title": "Shared",
         "type": "string"
      },
      "index": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Index"
      },
      "version": {
         "default": "v0",
         "title": "Version",
         "type": "string"
      },
      "uuid": {
         "title": "Uuid",
         "type": "string"
      },
      "timestamp": {
         "title": "Timestamp",
         "type": "string"
      },
      "date": {
         "title": "Date",
         "type": "string"
      },
      "ids": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": "test",
         "title": "Ids"
      },
      "T.id": {
         "title": "T.Id",
         "type": "string"
      },
      "T.label": {
         "title": "T.Label",
         "type": "string"
      }
   },
   "additionalProperties": false,
   "examples": [
      {
         "description": "objectively objecting the objectives",
         "index": "0",
         "name": "this is an objective",
         "owner": "John Doe",
         "shared": "True",
         "tag": [
            "subsurface"
         ]
      }
   ],
   "required": [
      "name",
      "uuid",
      "timestamp",
      "date",
      "T.id",
      "T.label"
   ]
}

Validators:

field id: str [Required]
field label: Annotated[str, StringConstraints(strip_whitespace=None, to_upper=None, to_lower=True, strict=None, min_length=None, max_length=None, pattern=None)] [Required]

Opportunities

Module: src.v0.models.opportunity

pydantic model OpportunityCreate[source]

Bases: DOTModel

Opportunity data model

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Show JSON schema
{
   "title": "OpportunityCreate",
   "description": "Opportunity data model",
   "type": "object",
   "properties": {
      "description": {
         "title": "Description",
         "type": "string"
      },
      "tag": {
         "anyOf": [
            {
               "items": {
                  "type": "string"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Tag"
      },
      "index": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Index"
      }
   },
   "additionalProperties": false,
   "examples": [
      {
         "description": "opportunistic opportunity",
         "index": "0",
         "tag": [
            "subsurface"
         ]
      }
   ],
   "required": [
      "description"
   ]
}

field description: str [Required]

Description of the opportunity

field tag: list[str] | None = None

List of user input keywords

field index: str | None = None

Index of the opportunity

pydantic model OpportunityUpdate[source]

Bases: DOTModel

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Show JSON schema
{
   "title": "OpportunityUpdate",
   "type": "object",
   "properties": {
      "description": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Description"
      },
      "tag": {
         "anyOf": [
            {
               "items": {
                  "type": "string"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Tag"
      },
      "index": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Index"
      }
   },
   "additionalProperties": false,
   "examples": [
      {
         "description": "opportunistic opportunity",
         "index": "0",
         "tag": [
            "subsurface"
         ]
      }
   ]
}

field description: str | None = None
field tag: list[str] | None = None
field index: str | None = None
pydantic model OpportunityResponse[source]

Bases: VertexMetaDataResponse

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Show JSON schema
{
   "title": "OpportunityResponse",
   "type": "object",
   "properties": {
      "version": {
         "default": "v0",
         "title": "Version",
         "type": "string"
      },
      "uuid": {
         "title": "Uuid",
         "type": "string"
      },
      "timestamp": {
         "title": "Timestamp",
         "type": "string"
      },
      "date": {
         "title": "Date",
         "type": "string"
      },
      "ids": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": "test",
         "title": "Ids"
      },
      "description": {
         "title": "Description",
         "type": "string"
      },
      "tag": {
         "anyOf": [
            {
               "items": {
                  "type": "string"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "title": "Tag"
      },
      "index": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "title": "Index"
      },
      "T.id": {
         "title": "T.Id",
         "type": "string"
      },
      "T.label": {
         "title": "T.Label",
         "type": "string"
      }
   },
   "additionalProperties": false,
   "examples": [
      {
         "description": "objectively objecting the objectives",
         "index": "0",
         "tag": [
            "subsurface"
         ]
      }
   ],
   "required": [
      "uuid",
      "timestamp",
      "date",
      "description",
      "tag",
      "index",
      "T.id",
      "T.label"
   ]
}

field description: str [Required]
field tag: list[str] | None [Required]
field index: str | None [Required]
field id: str [Required]
field label: Annotated[str, StringConstraints(strip_whitespace=None, to_upper=None, to_lower=True, strict=None, min_length=None, max_length=None, pattern=None)] [Required]

Objectives

Module: src.v0.models.objective

pydantic model ObjectiveCreate[source]

Bases: DOTModel

Objective data model

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Show JSON schema
{
   "title": "ObjectiveCreate",
   "description": "Objective data model",
   "type": "object",
   "properties": {
      "description": {
         "title": "Description",
         "type": "string"
      },
      "hierarchy": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Hierarchy"
      },
      "tag": {
         "anyOf": [
            {
               "items": {
                  "type": "string"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Tag"
      },
      "index": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Index"
      }
   },
   "additionalProperties": false,
   "examples": [
      {
         "description": "objectively objecting the objectives",
         "hierarchy": "Fundamental",
         "index": "0",
         "tag": [
            "subsurface"
         ]
      }
   ],
   "required": [
      "description"
   ]
}

field description: str [Required]

Description of the opportunity

field hierarchy: str | None = None

Hierarchy of the opportunity (Strategic, Fundamental, Mean)

field tag: list[str] | None = None

List of user input keywords

field index: str | None = None

Index of the objective

pydantic model ObjectiveUpdate[source]

Bases: DOTModel

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Show JSON schema
{
   "title": "ObjectiveUpdate",
   "type": "object",
   "properties": {
      "description": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Description"
      },
      "tag": {
         "anyOf": [
            {
               "items": {
                  "type": "string"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Tag"
      },
      "index": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Index"
      },
      "hierarchy": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Hierarchy"
      }
   },
   "additionalProperties": false,
   "examples": [
      {
         "description": "objectively objecting the objectives",
         "hierarchy": "Fundamental",
         "index": "0",
         "tag": [
            "subsurface"
         ]
      }
   ]
}

field description: str | None = None
field tag: list[str] | None = None
field index: str | None = None
field hierarchy: str | None = None
pydantic model ObjectiveResponse[source]

Bases: VertexMetaDataResponse

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Show JSON schema
{
   "title": "ObjectiveResponse",
   "type": "object",
   "properties": {
      "version": {
         "default": "v0",
         "title": "Version",
         "type": "string"
      },
      "uuid": {
         "title": "Uuid",
         "type": "string"
      },
      "timestamp": {
         "title": "Timestamp",
         "type": "string"
      },
      "date": {
         "title": "Date",
         "type": "string"
      },
      "ids": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": "test",
         "title": "Ids"
      },
      "description": {
         "title": "Description",
         "type": "string"
      },
      "tag": {
         "anyOf": [
            {
               "items": {
                  "type": "string"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "title": "Tag"
      },
      "index": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "title": "Index"
      },
      "hierarchy": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "title": "Hierarchy"
      },
      "T.id": {
         "title": "T.Id",
         "type": "string"
      },
      "T.label": {
         "title": "T.Label",
         "type": "string"
      }
   },
   "additionalProperties": false,
   "examples": [
      {
         "description": "objectively objecting the objectives",
         "hierarchy": "Fundamental",
         "index": "0",
         "tag": [
            "subsurface"
         ]
      }
   ],
   "required": [
      "uuid",
      "timestamp",
      "date",
      "description",
      "tag",
      "index",
      "hierarchy",
      "T.id",
      "T.label"
   ]
}

field description: str [Required]
field tag: list[str] | None [Required]
field index: str | None [Required]
field hierarchy: str | None [Required]
field id: str [Required]
field label: Annotated[str, StringConstraints(strip_whitespace=None, to_upper=None, to_lower=True, strict=None, min_length=None, max_length=None, pattern=None)] [Required]

Issues

Module: src.v0.models.issue

pydantic model CommentData[source]

Bases: DOTModel

Model for comments on issues

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Show JSON schema
{
   "title": "CommentData",
   "description": "Model for comments on issues",
   "type": "object",
   "properties": {
      "comment": {
         "title": "Comment",
         "type": "string"
      },
      "author": {
         "title": "Author",
         "type": "string"
      }
   },
   "additionalProperties": false,
   "required": [
      "comment",
      "author"
   ]
}

field comment: str [Required]

Comment itself

field author: str [Required]

Author of the comment

pydantic model ProbabilityData[source]

Bases: DOTModel

Model for the probability description

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Show JSON schema
{
   "title": "ProbabilityData",
   "description": "Model for the probability description",
   "type": "object",
   "properties": {
      "dtype": {
         "title": "Dtype",
         "type": "string"
      },
      "probability_function": {
         "anyOf": [
            {
               "items": {
                  "items": {
                     "type": "number"
                  },
                  "type": "array"
               },
               "type": "array"
            },
            {
               "items": {
                  "items": {
                     "type": "null"
                  },
                  "type": "array"
               },
               "type": "array"
            }
         ],
         "title": "Probability Function"
      },
      "variables": {
         "additionalProperties": {
            "items": {
               "type": "string"
            },
            "type": "array"
         },
         "title": "Variables",
         "type": "object"
      }
   },
   "additionalProperties": false,
   "required": [
      "dtype",
      "probability_function",
      "variables"
   ]
}

Validators:
field dtype: str [Required]

Type of probability (Discrete conditional/unconditional)

Validated by:
field probability_function: list[list[float]] | list[list[None]] [Required]

Values of the probability itself

Validated by:
field variables: dict[str, list[str]] [Required]

variables and their outcomes

Validated by:
validator check_type  »  dtype[source]
validator nullify_probability_function  »  all fields[source]
pydantic model IssueValidator[source]

Bases: DOTModel

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Show JSON schema
{
   "title": "IssueValidator",
   "type": "object",
   "properties": {},
   "additionalProperties": false
}

Validators:
validator set_shortname_as_probability_variable  »  all fields[source]
pydantic model IssueCreate[source]

Bases: IssueValidator

Issue data model

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Show JSON schema
{
   "title": "IssueCreate",
   "description": "Issue data model",
   "type": "object",
   "properties": {
      "description": {
         "title": "Description",
         "type": "string"
      },
      "shortname": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Shortname"
      },
      "category": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Category"
      },
      "tag": {
         "anyOf": [
            {
               "items": {
                  "type": "string"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Tag"
      },
      "keyUncertainty": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Keyuncertainty"
      },
      "decisionType": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Decisiontype"
      },
      "probabilities": {
         "anyOf": [
            {
               "$ref": "#/$defs/ProbabilityData"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "alternatives": {
         "anyOf": [
            {
               "items": {
                  "type": "string"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Alternatives"
      },
      "boundary": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Boundary"
      },
      "comments": {
         "anyOf": [
            {
               "items": {
                  "$ref": "#/$defs/CommentData"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Comments"
      },
      "influenceNodeUUID": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Influencenodeuuid"
      },
      "index": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Index"
      }
   },
   "$defs": {
      "CommentData": {
         "additionalProperties": false,
         "description": "Model for comments on issues",
         "properties": {
            "comment": {
               "title": "Comment",
               "type": "string"
            },
            "author": {
               "title": "Author",
               "type": "string"
            }
         },
         "required": [
            "comment",
            "author"
         ],
         "title": "CommentData",
         "type": "object"
      },
      "ProbabilityData": {
         "additionalProperties": false,
         "description": "Model for the probability description",
         "properties": {
            "dtype": {
               "title": "Dtype",
               "type": "string"
            },
            "probability_function": {
               "anyOf": [
                  {
                     "items": {
                        "items": {
                           "type": "number"
                        },
                        "type": "array"
                     },
                     "type": "array"
                  },
                  {
                     "items": {
                        "items": {
                           "type": "null"
                        },
                        "type": "array"
                     },
                     "type": "array"
                  }
               ],
               "title": "Probability Function"
            },
            "variables": {
               "additionalProperties": {
                  "items": {
                     "type": "string"
                  },
                  "type": "array"
               },
               "title": "Variables",
               "type": "object"
            }
         },
         "required": [
            "dtype",
            "probability_function",
            "variables"
         ],
         "title": "ProbabilityData",
         "type": "object"
      }
   },
   "additionalProperties": false,
   "examples": [
      {
         "alternatives": "[\"do or do not\", \"there is no try\"]",
         "boundary": "in",
         "category": "Decision",
         "comments": {
            "author": "John Doe",
            "comment": "Question: is this correct?"
         },
         "decisionType": "tactical",
         "description": "this is an issue to call yours",
         "index": "0",
         "influenceNodeUUID": "123",
         "keyUncertainty": "true",
         "probabilities": {
            "dtype": "DiscreteUnconditionalProbability",
            "probability_function": [
               [
                  0.5,
                  0.5
               ],
               [
                  0.4,
                  0.6
               ]
            ],
            "variables": {
               "Node1": [
                  "Outcome1",
                  "Outcome2"
               ],
               "Node2": [
                  "Outcome21",
                  "Outcome22"
               ]
            }
         },
         "shortname": "thelitissue",
         "tag": [
            "subsurface"
         ]
      }
   ],
   "required": [
      "description"
   ]
}

Validators:

field description: str [Required]

Description of the issue

Validated by:
field shortname: str | None = None

Name of the issue. It should be given for at least all issues which will appear in the influence diagram and should be short as it will be displayed there

Validated by:
field category: str | None = None
Validated by:
field tag: list[str] | None = None

List of user input keywords

Validated by:
field keyUncertainty: str | None = None

In case the issue is an uncertainty, true if it is a key uncertainty, false otherwise

Validated by:
field decisionType: str | None = None

In case the issue is a decision, type of decision (Strategic, Focus, Tactical)

Validated by:
field probabilities: ProbabilityData | None = None

In case the issue is an uncertainty, probability description

Validated by:
field alternatives: list[str] | None = None

In case the issue is a decision, list of alternatives

Validated by:
field boundary: str | None = None

Boundary of the issue (in, on, or out)

Validated by:
field comments: list[CommentData] | None = None

List of comments added to the issue

Validated by:
field influenceNodeUUID: str | None = None

Deprecated

Validated by:
field index: str | None = None

Index of the opportunity

Validated by:
pydantic model IssueUpdate[source]

Bases: IssueValidator

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Show JSON schema
{
   "title": "IssueUpdate",
   "type": "object",
   "properties": {
      "shortname": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Shortname"
      },
      "description": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Description"
      },
      "tag": {
         "anyOf": [
            {
               "items": {
                  "type": "string"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Tag"
      },
      "category": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Category"
      },
      "index": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Index"
      },
      "keyUncertainty": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Keyuncertainty"
      },
      "decisionType": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Decisiontype"
      },
      "alternatives": {
         "anyOf": [
            {
               "items": {
                  "type": "string"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Alternatives"
      },
      "probabilities": {
         "anyOf": [
            {
               "$ref": "#/$defs/ProbabilityData"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "influenceNodeUUID": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Influencenodeuuid"
      },
      "boundary": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Boundary"
      },
      "comments": {
         "anyOf": [
            {
               "items": {
                  "$ref": "#/$defs/CommentData"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Comments"
      }
   },
   "$defs": {
      "CommentData": {
         "additionalProperties": false,
         "description": "Model for comments on issues",
         "properties": {
            "comment": {
               "title": "Comment",
               "type": "string"
            },
            "author": {
               "title": "Author",
               "type": "string"
            }
         },
         "required": [
            "comment",
            "author"
         ],
         "title": "CommentData",
         "type": "object"
      },
      "ProbabilityData": {
         "additionalProperties": false,
         "description": "Model for the probability description",
         "properties": {
            "dtype": {
               "title": "Dtype",
               "type": "string"
            },
            "probability_function": {
               "anyOf": [
                  {
                     "items": {
                        "items": {
                           "type": "number"
                        },
                        "type": "array"
                     },
                     "type": "array"
                  },
                  {
                     "items": {
                        "items": {
                           "type": "null"
                        },
                        "type": "array"
                     },
                     "type": "array"
                  }
               ],
               "title": "Probability Function"
            },
            "variables": {
               "additionalProperties": {
                  "items": {
                     "type": "string"
                  },
                  "type": "array"
               },
               "title": "Variables",
               "type": "object"
            }
         },
         "required": [
            "dtype",
            "probability_function",
            "variables"
         ],
         "title": "ProbabilityData",
         "type": "object"
      }
   },
   "additionalProperties": false,
   "examples": [
      {
         "alternatives": "[\"do or do not\", \"there is no try\"]",
         "boundary": "in",
         "category": "Decision",
         "comments": {
            "author": "John Doe",
            "comment": "Question: is this correct?"
         },
         "decisionType": "tactical",
         "description": "this is an issue to call yours",
         "index": "0",
         "influenceNodeUUID": "123",
         "keyUncertainty": "true",
         "probabilities": {
            "dtype": "DiscreteUnconditionalProbability",
            "probability_function": [
               [
                  0.5,
                  0.5
               ],
               [
                  0.4,
                  0.6
               ]
            ],
            "variables": {
               "Node1": [
                  "Outcome1",
                  "Outcome2"
               ],
               "Node2": [
                  "Outcome21",
                  "Outcome22"
               ]
            }
         },
         "shortname": "thelitissue",
         "tag": [
            "subsurface"
         ]
      }
   ]
}

Validators:

field shortname: str | None = None
Validated by:
field description: str | None = None
Validated by:
field tag: list[str] | None = None
Validated by:
field category: str | None = None
Validated by:
field index: str | None = None
Validated by:
field keyUncertainty: str | None = None
Validated by:
field decisionType: str | None = None
Validated by:
field alternatives: list[str] | None = None
Validated by:
field probabilities: ProbabilityData | None = None
Validated by:
field influenceNodeUUID: str | None = None
Validated by:
field boundary: str | None = None
Validated by:
field comments: list[CommentData] | None = None
Validated by:
pydantic model IssueResponse[source]

Bases: VertexMetaDataResponse

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Show JSON schema
{
   "title": "IssueResponse",
   "type": "object",
   "properties": {
      "version": {
         "default": "v0",
         "title": "Version",
         "type": "string"
      },
      "uuid": {
         "title": "Uuid",
         "type": "string"
      },
      "timestamp": {
         "title": "Timestamp",
         "type": "string"
      },
      "date": {
         "title": "Date",
         "type": "string"
      },
      "ids": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": "test",
         "title": "Ids"
      },
      "shortname": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "title": "Shortname"
      },
      "description": {
         "title": "Description",
         "type": "string"
      },
      "tag": {
         "anyOf": [
            {
               "items": {
                  "type": "string"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "title": "Tag"
      },
      "category": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "title": "Category"
      },
      "index": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "title": "Index"
      },
      "keyUncertainty": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "title": "Keyuncertainty"
      },
      "decisionType": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "title": "Decisiontype"
      },
      "alternatives": {
         "anyOf": [
            {
               "items": {
                  "type": "string"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "title": "Alternatives"
      },
      "probabilities": {
         "anyOf": [
            {
               "$ref": "#/$defs/ProbabilityData"
            },
            {
               "type": "null"
            }
         ]
      },
      "influenceNodeUUID": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "title": "Influencenodeuuid"
      },
      "boundary": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "title": "Boundary"
      },
      "comments": {
         "anyOf": [
            {
               "items": {
                  "$ref": "#/$defs/CommentData"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "title": "Comments"
      },
      "T.id": {
         "title": "T.Id",
         "type": "string"
      },
      "T.label": {
         "title": "T.Label",
         "type": "string"
      }
   },
   "$defs": {
      "CommentData": {
         "additionalProperties": false,
         "description": "Model for comments on issues",
         "properties": {
            "comment": {
               "title": "Comment",
               "type": "string"
            },
            "author": {
               "title": "Author",
               "type": "string"
            }
         },
         "required": [
            "comment",
            "author"
         ],
         "title": "CommentData",
         "type": "object"
      },
      "ProbabilityData": {
         "additionalProperties": false,
         "description": "Model for the probability description",
         "properties": {
            "dtype": {
               "title": "Dtype",
               "type": "string"
            },
            "probability_function": {
               "anyOf": [
                  {
                     "items": {
                        "items": {
                           "type": "number"
                        },
                        "type": "array"
                     },
                     "type": "array"
                  },
                  {
                     "items": {
                        "items": {
                           "type": "null"
                        },
                        "type": "array"
                     },
                     "type": "array"
                  }
               ],
               "title": "Probability Function"
            },
            "variables": {
               "additionalProperties": {
                  "items": {
                     "type": "string"
                  },
                  "type": "array"
               },
               "title": "Variables",
               "type": "object"
            }
         },
         "required": [
            "dtype",
            "probability_function",
            "variables"
         ],
         "title": "ProbabilityData",
         "type": "object"
      }
   },
   "additionalProperties": false,
   "examples": [
      {
         "alternatives": "[\"do or do not\", \"there is no try\"]",
         "boundary": "in",
         "category": "Decision",
         "comments": {
            "author": "John Doe",
            "comment": "Question: is this correct?"
         },
         "decisionType": "tactical",
         "description": "this is an issue to call yours",
         "index": "0",
         "influenceNodeUUID": "123",
         "keyUncertainty": "true",
         "probabilities": {
            "dtype": "DiscreteUnconditionalProbability",
            "probability_function": [
               [
                  0.5,
                  0.5
               ],
               [
                  0.4,
                  0.6
               ]
            ],
            "variables": {
               "Node1": [
                  "Outcome1",
                  "Outcome2"
               ],
               "Node2": [
                  "Outcome21",
                  "Outcome22"
               ]
            }
         },
         "shortname": "thelitissue",
         "tag": [
            "subsurface"
         ]
      }
   ],
   "required": [
      "uuid",
      "timestamp",
      "date",
      "shortname",
      "description",
      "tag",
      "category",
      "index",
      "keyUncertainty",
      "decisionType",
      "alternatives",
      "probabilities",
      "influenceNodeUUID",
      "boundary",
      "comments",
      "T.id",
      "T.label"
   ]
}

field shortname: str | None [Required]
field description: str [Required]
field tag: list[str] | None [Required]
field category: str | None [Required]
field index: str | None [Required]
field keyUncertainty: str | None [Required]
field decisionType: str | None [Required]
field alternatives: list[str] | None [Required]
field probabilities: ProbabilityData | None [Required]
field influenceNodeUUID: str | None [Required]
field boundary: str | None [Required]
field comments: list[CommentData] | None [Required]
field id: str [Required]
field label: Annotated[str, StringConstraints(strip_whitespace=None, to_upper=None, to_lower=True, strict=None, min_length=None, max_length=None, pattern=None)] [Required]

Utilities

Warning

Not yet in used!

Module: src.v0.models.utility

pydantic model DiscreteUtilityData[source]

Bases: DOTModel

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Show JSON schema
{
   "title": "DiscreteUtilityData",
   "type": "object",
   "properties": {
      "parents_uuid": {
         "items": {
            "type": "string"
         },
         "title": "Parents Uuid",
         "type": "array"
      },
      "values": {
         "items": {
            "items": {
               "type": "number"
            },
            "type": "array"
         },
         "title": "Values",
         "type": "array"
      }
   },
   "additionalProperties": false,
   "required": [
      "parents_uuid",
      "values"
   ]
}

field parents_uuid: list[str] [Required]
field values: list[list[float]] [Required]
pydantic model ContinuousUtilityData[source]

Bases: DOTModel

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Show JSON schema
{
   "title": "ContinuousUtilityData",
   "type": "object",
   "properties": {
      "parents_uuid": {
         "items": {
            "type": "string"
         },
         "title": "Parents Uuid",
         "type": "array"
      }
   },
   "additionalProperties": false,
   "required": [
      "parents_uuid"
   ]
}

field parents_uuid: list[str] [Required]
pydantic model UtilityData[source]

Bases: DOTModel

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Show JSON schema
{
   "title": "UtilityData",
   "type": "object",
   "properties": {
      "dtype": {
         "anyOf": [
            {
               "$ref": "#/$defs/DiscreteUtilityData"
            },
            {
               "$ref": "#/$defs/ContinuousUtilityData"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Dtype"
      },
      "unit": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Unit"
      }
   },
   "$defs": {
      "ContinuousUtilityData": {
         "additionalProperties": false,
         "properties": {
            "parents_uuid": {
               "items": {
                  "type": "string"
               },
               "title": "Parents Uuid",
               "type": "array"
            }
         },
         "required": [
            "parents_uuid"
         ],
         "title": "ContinuousUtilityData",
         "type": "object"
      },
      "DiscreteUtilityData": {
         "additionalProperties": false,
         "properties": {
            "parents_uuid": {
               "items": {
                  "type": "string"
               },
               "title": "Parents Uuid",
               "type": "array"
            },
            "values": {
               "items": {
                  "items": {
                     "type": "number"
                  },
                  "type": "array"
               },
               "title": "Values",
               "type": "array"
            }
         },
         "required": [
            "parents_uuid",
            "values"
         ],
         "title": "DiscreteUtilityData",
         "type": "object"
      }
   },
   "additionalProperties": false
}

field dtype: DiscreteUtilityData | ContinuousUtilityData | None = None
field unit: str | None = None
pydantic model Utility[source]

Bases: VertexMetaData, UtilityData

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Show JSON schema
{
   "title": "Utility",
   "type": "object",
   "properties": {
      "dtype": {
         "anyOf": [
            {
               "$ref": "#/$defs/DiscreteUtilityData"
            },
            {
               "$ref": "#/$defs/ContinuousUtilityData"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Dtype"
      },
      "unit": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Unit"
      },
      "version": {
         "default": "v0",
         "title": "Version",
         "type": "string"
      },
      "uuid": {
         "format": "uuid",
         "title": "Uuid",
         "type": "string"
      },
      "timestamp": {
         "title": "Timestamp",
         "type": "number"
      },
      "date": {
         "format": "date-time",
         "title": "Date",
         "type": "string"
      },
      "ids": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": "test",
         "title": "Ids"
      }
   },
   "$defs": {
      "ContinuousUtilityData": {
         "additionalProperties": false,
         "properties": {
            "parents_uuid": {
               "items": {
                  "type": "string"
               },
               "title": "Parents Uuid",
               "type": "array"
            }
         },
         "required": [
            "parents_uuid"
         ],
         "title": "ContinuousUtilityData",
         "type": "object"
      },
      "DiscreteUtilityData": {
         "additionalProperties": false,
         "properties": {
            "parents_uuid": {
               "items": {
                  "type": "string"
               },
               "title": "Parents Uuid",
               "type": "array"
            },
            "values": {
               "items": {
                  "items": {
                     "type": "number"
                  },
                  "type": "array"
               },
               "title": "Values",
               "type": "array"
            }
         },
         "required": [
            "parents_uuid",
            "values"
         ],
         "title": "DiscreteUtilityData",
         "type": "object"
      }
   },
   "additionalProperties": false
}

pydantic model UtilityResponse[source]

Bases: VertexMetaDataResponse, Utility

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Show JSON schema
{
   "title": "UtilityResponse",
   "type": "object",
   "properties": {
      "dtype": {
         "anyOf": [
            {
               "$ref": "#/$defs/DiscreteUtilityData"
            },
            {
               "$ref": "#/$defs/ContinuousUtilityData"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Dtype"
      },
      "unit": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Unit"
      },
      "version": {
         "default": "v0",
         "title": "Version",
         "type": "string"
      },
      "uuid": {
         "title": "Uuid",
         "type": "string"
      },
      "timestamp": {
         "title": "Timestamp",
         "type": "string"
      },
      "date": {
         "title": "Date",
         "type": "string"
      },
      "ids": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": "test",
         "title": "Ids"
      },
      "T.id": {
         "title": "T.Id",
         "type": "string"
      },
      "T.label": {
         "title": "T.Label",
         "type": "string"
      }
   },
   "$defs": {
      "ContinuousUtilityData": {
         "additionalProperties": false,
         "properties": {
            "parents_uuid": {
               "items": {
                  "type": "string"
               },
               "title": "Parents Uuid",
               "type": "array"
            }
         },
         "required": [
            "parents_uuid"
         ],
         "title": "ContinuousUtilityData",
         "type": "object"
      },
      "DiscreteUtilityData": {
         "additionalProperties": false,
         "properties": {
            "parents_uuid": {
               "items": {
                  "type": "string"
               },
               "title": "Parents Uuid",
               "type": "array"
            },
            "values": {
               "items": {
                  "items": {
                     "type": "number"
                  },
                  "type": "array"
               },
               "title": "Values",
               "type": "array"
            }
         },
         "required": [
            "parents_uuid",
            "values"
         ],
         "title": "DiscreteUtilityData",
         "type": "object"
      }
   },
   "additionalProperties": false,
   "required": [
      "uuid",
      "timestamp",
      "date",
      "T.id",
      "T.label"
   ]
}

field id: str [Required]
field label: Annotated[str, StringConstraints(strip_whitespace=None, to_upper=None, to_lower=True, strict=None, min_length=None, max_length=None, pattern=None)] [Required]

Filter

Module: src.v0.models.filter

pydantic model Filter[source]

Bases: DOTModel

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Show JSON schema
{
   "title": "Filter",
   "type": "object",
   "properties": {
      "category": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Category"
      },
      "hierarchy": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Hierarchy"
      },
      "tag": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Tag"
      },
      "shortname": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Shortname"
      },
      "name": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Name"
      },
      "decisionType": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Decisiontype"
      },
      "keyUncertainty": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Keyuncertainty"
      },
      "boundary": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Boundary"
      }
   },
   "additionalProperties": false
}

field category: str | None = None
field hierarchy: str | None = None
field tag: str | None = None
field shortname: str | None = None
field name: str | None = None
field decisionType: str | None = None
field keyUncertainty: str | None = None
field boundary: str | None = None

Strategy tables

Warning

Under development!

Module: src.v0.models.strategy_table

pydantic model Strategy[source]

Bases: DOTModel

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Show JSON schema
{
   "title": "Strategy",
   "type": "object",
   "properties": {
      "name": {
         "title": "Name",
         "type": "string"
      },
      "rationale": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Rationale"
      },
      "objective": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Objective"
      },
      "path": {
         "anyOf": [
            {
               "additionalProperties": {
                  "anyOf": [
                     {
                        "type": "string"
                     },
                     {
                        "type": "null"
                     }
                  ]
               },
               "type": "object"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Path"
      },
      "symbole": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Symbole"
      },
      "colour": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Colour"
      }
   },
   "additionalProperties": false,
   "required": [
      "name"
   ]
}

field name: str [Required]
field rationale: str | None = None
field objective: str | None = None
field path: dict[str, str | None] | None = None
field symbole: str | None = None
field colour: str | None = None
pydantic model StrategyTableData[source]

Bases: DOTModel

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Show JSON schema
{
   "title": "StrategyTableData",
   "type": "object",
   "properties": {
      "table": {
         "items": {
            "$ref": "#/$defs/Strategy"
         },
         "title": "Table",
         "type": "array"
      }
   },
   "$defs": {
      "Strategy": {
         "additionalProperties": false,
         "properties": {
            "name": {
               "title": "Name",
               "type": "string"
            },
            "rationale": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Rationale"
            },
            "objective": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Objective"
            },
            "path": {
               "anyOf": [
                  {
                     "additionalProperties": {
                        "anyOf": [
                           {
                              "type": "string"
                           },
                           {
                              "type": "null"
                           }
                        ]
                     },
                     "type": "object"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Path"
            },
            "symbole": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Symbole"
            },
            "colour": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Colour"
            }
         },
         "required": [
            "name"
         ],
         "title": "Strategy",
         "type": "object"
      }
   },
   "additionalProperties": false,
   "required": [
      "table"
   ]
}

field table: list[Strategy] [Required]
pydantic model StrategyTable[source]

Bases: VertexMetaData, StrategyTableData

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Show JSON schema
{
   "title": "StrategyTable",
   "type": "object",
   "properties": {
      "table": {
         "items": {
            "$ref": "#/$defs/Strategy"
         },
         "title": "Table",
         "type": "array"
      },
      "version": {
         "default": "v0",
         "title": "Version",
         "type": "string"
      },
      "uuid": {
         "format": "uuid",
         "title": "Uuid",
         "type": "string"
      },
      "timestamp": {
         "title": "Timestamp",
         "type": "number"
      },
      "date": {
         "format": "date-time",
         "title": "Date",
         "type": "string"
      },
      "ids": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": "test",
         "title": "Ids"
      }
   },
   "$defs": {
      "Strategy": {
         "additionalProperties": false,
         "properties": {
            "name": {
               "title": "Name",
               "type": "string"
            },
            "rationale": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Rationale"
            },
            "objective": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Objective"
            },
            "path": {
               "anyOf": [
                  {
                     "additionalProperties": {
                        "anyOf": [
                           {
                              "type": "string"
                           },
                           {
                              "type": "null"
                           }
                        ]
                     },
                     "type": "object"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Path"
            },
            "symbole": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Symbole"
            },
            "colour": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Colour"
            }
         },
         "required": [
            "name"
         ],
         "title": "Strategy",
         "type": "object"
      }
   },
   "additionalProperties": false,
   "required": [
      "table"
   ]
}

pydantic model StrategyTableResponse[source]

Bases: VertexMetaDataResponse, StrategyTable

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Show JSON schema
{
   "title": "StrategyTableResponse",
   "type": "object",
   "properties": {
      "table": {
         "items": {
            "$ref": "#/$defs/Strategy"
         },
         "title": "Table",
         "type": "array"
      },
      "version": {
         "default": "v0",
         "title": "Version",
         "type": "string"
      },
      "uuid": {
         "title": "Uuid",
         "type": "string"
      },
      "timestamp": {
         "title": "Timestamp",
         "type": "string"
      },
      "date": {
         "title": "Date",
         "type": "string"
      },
      "ids": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": "test",
         "title": "Ids"
      },
      "T.id": {
         "title": "T.Id",
         "type": "string"
      },
      "T.label": {
         "title": "T.Label",
         "type": "string"
      }
   },
   "$defs": {
      "Strategy": {
         "additionalProperties": false,
         "properties": {
            "name": {
               "title": "Name",
               "type": "string"
            },
            "rationale": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Rationale"
            },
            "objective": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Objective"
            },
            "path": {
               "anyOf": [
                  {
                     "additionalProperties": {
                        "anyOf": [
                           {
                              "type": "string"
                           },
                           {
                              "type": "null"
                           }
                        ]
                     },
                     "type": "object"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Path"
            },
            "symbole": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Symbole"
            },
            "colour": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Colour"
            }
         },
         "required": [
            "name"
         ],
         "title": "Strategy",
         "type": "object"
      }
   },
   "additionalProperties": false,
   "required": [
      "table",
      "uuid",
      "timestamp",
      "date",
      "T.id",
      "T.label"
   ]
}

field id: str [Required]
field label: Annotated[str, StringConstraints(strip_whitespace=None, to_upper=None, to_lower=True, strict=None, min_length=None, max_length=None, pattern=None)] [Required]