Element Templates

Defines object schemas for element templates.

Element

pydantic model spacenet.schemas.Element[source]

Generic entity that persists over time.

Show JSON schema
{
   "title": "Element",
   "description": "Generic entity that persists over time.",
   "type": "object",
   "properties": {
      "id": {
         "title": "Id",
         "description": "Unique identifier",
         "type": "string",
         "format": "uuid"
      },
      "name": {
         "title": "Name",
         "description": "Element name",
         "type": "string"
      },
      "type": {
         "title": "Type",
         "description": "Element type",
         "default": "Element",
         "enum": [
            "Element"
         ],
         "type": "string"
      },
      "description": {
         "title": "Description",
         "description": "Short description (optional)",
         "type": "string"
      },
      "classOfSupply": {
         "title": "Class of Supply",
         "description": "Class of supply",
         "default": 0,
         "allOf": [
            {
               "$ref": "#/definitions/ClassOfSupply"
            }
         ]
      },
      "environment": {
         "title": "Environment",
         "description": "Required stowage environment",
         "default": "Unpressurized",
         "allOf": [
            {
               "$ref": "#/definitions/Environment"
            }
         ]
      },
      "accommodationMass": {
         "title": "Accommodation Mass",
         "description": "Amount of COS 5 (kg) required for stowage.",
         "default": 0,
         "minimum": 0,
         "type": "number"
      },
      "mass": {
         "title": "Mass",
         "description": "Mass (kg)",
         "default": 0,
         "minimum": 0,
         "type": "number"
      },
      "volume": {
         "title": "Volume",
         "description": "Volume (m^3)",
         "default": 0,
         "minimum": 0,
         "type": "number"
      },
      "states": {
         "title": "States",
         "description": "List of operational states",
         "default": [],
         "type": "array",
         "items": {
            "$ref": "#/definitions/State"
         }
      },
      "currentStateIndex": {
         "title": "Current State",
         "description": "Index of the current operational state",
         "minimum": -1,
         "type": "integer"
      },
      "parts": {
         "title": "Parts",
         "description": "List of constituent parts",
         "default": [],
         "type": "array",
         "items": {
            "$ref": "#/definitions/Part"
         }
      },
      "icon": {
         "title": "Icon",
         "type": "string"
      }
   },
   "required": [
      "name"
   ],
   "definitions": {
      "ClassOfSupply": {
         "title": "ClassOfSupply",
         "description": "Enumeration of the ten top-level classes of supply and sub-classes of supply.",
         "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9,
            10,
            101,
            102,
            103,
            104,
            105,
            106,
            201,
            202,
            203,
            204,
            205,
            206,
            301,
            302,
            303,
            304,
            305,
            306,
            401,
            402,
            403,
            404,
            405,
            501,
            502,
            601,
            602,
            603,
            701,
            702,
            703,
            801,
            802,
            803,
            804,
            805,
            806,
            901,
            902,
            4011,
            4012,
            8041,
            8042,
            9021,
            9022,
            9023,
            9024
         ],
         "type": "integer"
      },
      "Environment": {
         "title": "Environment",
         "description": "Enumeration of stowage environments.",
         "enum": [
            "Pressurized",
            "Unpressurized"
         ],
         "type": "string"
      },
      "StateType": {
         "title": "StateType",
         "description": "Enumeration of state types.",
         "enum": [
            "Active",
            "Quiescent",
            "Dormant",
            "Decommissioned"
         ],
         "type": "string"
      },
      "DemandModelType": {
         "title": "DemandModelType",
         "description": "Enumeration of demand model types.",
         "enum": [
            "Crew Consumables",
            "Timed Impulse",
            "Rated",
            "Sparing By Mass"
         ],
         "type": "string"
      },
      "InstElementDemandModel": {
         "title": "InstElementDemandModel",
         "description": "Base class for instantiated element demand models.",
         "type": "object",
         "properties": {
            "name": {
               "title": "Name",
               "description": "Instantiated demand model name",
               "type": "string"
            },
            "type": {
               "description": "Demand model type",
               "allOf": [
                  {
                     "$ref": "#/definitions/DemandModelType"
                  }
               ]
            },
            "templateId": {
               "title": "Templateid",
               "description": "Element demand model template unique identifier",
               "type": "string",
               "format": "uuid"
            }
         },
         "required": [
            "name",
            "type",
            "templateId"
         ]
      },
      "State": {
         "title": "State",
         "description": "An element's operational state.",
         "type": "object",
         "properties": {
            "id": {
               "title": "Id",
               "description": "Unique identifier",
               "type": "string",
               "format": "uuid"
            },
            "name": {
               "title": "Name",
               "description": "State name",
               "type": "string"
            },
            "description": {
               "title": "Description",
               "description": "Short description (optional)",
               "type": "string"
            },
            "type": {
               "description": "State type",
               "allOf": [
                  {
                     "$ref": "#/definitions/StateType"
                  }
               ]
            },
            "demandModels": {
               "title": "Demand Models",
               "description": "List of instantiated demand models",
               "default": [],
               "type": "array",
               "items": {
                  "$ref": "#/definitions/InstElementDemandModel"
               }
            }
         },
         "required": [
            "name",
            "type"
         ]
      },
      "Part": {
         "title": "Part",
         "description": "Piece part of an element with attributes to describe failure and/or maintenance.",
         "type": "object",
         "properties": {
            "resource": {
               "title": "Resource",
               "description": "Unique identifier of resource",
               "type": "string",
               "format": "uuid"
            },
            "meanTimeToFailure": {
               "title": "Meantimetofailure",
               "description": "Mean operating time to failure.",
               "type": "number",
               "format": "time-delta"
            },
            "meanTimeToRepair": {
               "title": "Meantimetorepair",
               "description": "Mean crew time to repair.",
               "type": "number",
               "format": "time-delta"
            },
            "massToRepair": {
               "title": "Masstorepair",
               "description": "Mass (kg, generic COS 4) required to perform a repair.",
               "minimum": 0,
               "type": "number"
            },
            "quantity": {
               "title": "Quantity",
               "description": "Quantity of this part.",
               "default": 1,
               "minimum": 1,
               "type": "number"
            },
            "dutyCycle": {
               "title": "Dutycycle",
               "description": "Fraction of time this part is in use.",
               "default": 1,
               "minimum": 0,
               "maximum": 1,
               "type": "number"
            }
         },
         "required": [
            "resource"
         ]
      }
   }
}

field accommodation_mass: float = 0 (alias 'accommodationMass')

Amount of COS 5 (kg) required for stowage.

Constraints
  • minimum = 0

field class_of_supply: ClassOfSupply = ClassOfSupply.COS_0 (alias 'classOfSupply')

Class of supply

field current_state_index: Optional[int] = None (alias 'currentStateIndex')

Index of the current operational state

Constraints
  • minimum = -1

field description: Optional[str] = None

Short description (optional)

field environment: Environment = Environment.UNPRESSURIZED

Required stowage environment

field icon: Optional[str] = None
field id: UUID [Optional]

Unique identifier

field mass: float = 0

Mass (kg)

Constraints
  • minimum = 0

field name: str [Required]

Element name

field parts: List[Part] = []

List of constituent parts

field states: List[State] = []

List of operational states

field type: typing_extensions.Literal[Element] = ElementType.ELEMENT

Element type

field volume: float = 0

Volume (m^3)

Constraints
  • minimum = 0

Resource Container

pydantic model spacenet.schemas.ResourceContainer[source]

Container for resources.

Show JSON schema
{
   "title": "ResourceContainer",
   "description": "Container for resources.",
   "type": "object",
   "properties": {
      "id": {
         "title": "Id",
         "description": "Unique identifier",
         "type": "string",
         "format": "uuid"
      },
      "name": {
         "title": "Name",
         "description": "Element name",
         "type": "string"
      },
      "type": {
         "title": "Type",
         "description": "Element type",
         "default": "Resource Container",
         "enum": [
            "Resource Container"
         ],
         "type": "string"
      },
      "description": {
         "title": "Description",
         "description": "Short description (optional)",
         "type": "string"
      },
      "classOfSupply": {
         "title": "Class of Supply",
         "description": "Class of supply",
         "default": 0,
         "allOf": [
            {
               "$ref": "#/definitions/ClassOfSupply"
            }
         ]
      },
      "environment": {
         "title": "Environment",
         "description": "Required stowage environment",
         "default": "Unpressurized",
         "allOf": [
            {
               "$ref": "#/definitions/Environment"
            }
         ]
      },
      "accommodationMass": {
         "title": "Accommodation Mass",
         "description": "Amount of COS 5 (kg) required for stowage.",
         "default": 0,
         "minimum": 0,
         "type": "number"
      },
      "mass": {
         "title": "Mass",
         "description": "Mass (kg)",
         "default": 0,
         "minimum": 0,
         "type": "number"
      },
      "volume": {
         "title": "Volume",
         "description": "Volume (m^3)",
         "default": 0,
         "minimum": 0,
         "type": "number"
      },
      "states": {
         "title": "States",
         "description": "List of operational states",
         "default": [],
         "type": "array",
         "items": {
            "$ref": "#/definitions/State"
         }
      },
      "currentStateIndex": {
         "title": "Current State",
         "description": "Index of the current operational state",
         "minimum": -1,
         "type": "integer"
      },
      "parts": {
         "title": "Parts",
         "description": "List of constituent parts",
         "default": [],
         "type": "array",
         "items": {
            "$ref": "#/definitions/Part"
         }
      },
      "icon": {
         "title": "Icon",
         "type": "string"
      },
      "maxCargoMass": {
         "title": "Max Cargo Mass",
         "description": "Cargo mass capacity constraint (kg)",
         "default": 0,
         "minimum": 0,
         "type": "number"
      },
      "maxCargoVolume": {
         "title": "Maximum Cargo Volume",
         "description": "Cargo volume capacity constraint (m^3)",
         "default": 0,
         "minimum": 0,
         "type": "number"
      },
      "cargoEnvironment": {
         "title": "Cargo Environment",
         "description": "Cargo stowage environment",
         "default": "Unpressurized",
         "allOf": [
            {
               "$ref": "#/definitions/Environment"
            }
         ]
      },
      "contents": {
         "title": "Resource Amount",
         "description": "List of contained resource amounts",
         "default": [],
         "type": "array",
         "items": {
            "anyOf": [
               {
                  "$ref": "#/definitions/ResourceAmount"
               },
               {
                  "$ref": "#/definitions/GenericResourceAmount"
               }
            ]
         }
      }
   },
   "required": [
      "name"
   ],
   "definitions": {
      "ClassOfSupply": {
         "title": "ClassOfSupply",
         "description": "Enumeration of the ten top-level classes of supply and sub-classes of supply.",
         "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9,
            10,
            101,
            102,
            103,
            104,
            105,
            106,
            201,
            202,
            203,
            204,
            205,
            206,
            301,
            302,
            303,
            304,
            305,
            306,
            401,
            402,
            403,
            404,
            405,
            501,
            502,
            601,
            602,
            603,
            701,
            702,
            703,
            801,
            802,
            803,
            804,
            805,
            806,
            901,
            902,
            4011,
            4012,
            8041,
            8042,
            9021,
            9022,
            9023,
            9024
         ],
         "type": "integer"
      },
      "Environment": {
         "title": "Environment",
         "description": "Enumeration of stowage environments.",
         "enum": [
            "Pressurized",
            "Unpressurized"
         ],
         "type": "string"
      },
      "StateType": {
         "title": "StateType",
         "description": "Enumeration of state types.",
         "enum": [
            "Active",
            "Quiescent",
            "Dormant",
            "Decommissioned"
         ],
         "type": "string"
      },
      "DemandModelType": {
         "title": "DemandModelType",
         "description": "Enumeration of demand model types.",
         "enum": [
            "Crew Consumables",
            "Timed Impulse",
            "Rated",
            "Sparing By Mass"
         ],
         "type": "string"
      },
      "InstElementDemandModel": {
         "title": "InstElementDemandModel",
         "description": "Base class for instantiated element demand models.",
         "type": "object",
         "properties": {
            "name": {
               "title": "Name",
               "description": "Instantiated demand model name",
               "type": "string"
            },
            "type": {
               "description": "Demand model type",
               "allOf": [
                  {
                     "$ref": "#/definitions/DemandModelType"
                  }
               ]
            },
            "templateId": {
               "title": "Templateid",
               "description": "Element demand model template unique identifier",
               "type": "string",
               "format": "uuid"
            }
         },
         "required": [
            "name",
            "type",
            "templateId"
         ]
      },
      "State": {
         "title": "State",
         "description": "An element's operational state.",
         "type": "object",
         "properties": {
            "id": {
               "title": "Id",
               "description": "Unique identifier",
               "type": "string",
               "format": "uuid"
            },
            "name": {
               "title": "Name",
               "description": "State name",
               "type": "string"
            },
            "description": {
               "title": "Description",
               "description": "Short description (optional)",
               "type": "string"
            },
            "type": {
               "description": "State type",
               "allOf": [
                  {
                     "$ref": "#/definitions/StateType"
                  }
               ]
            },
            "demandModels": {
               "title": "Demand Models",
               "description": "List of instantiated demand models",
               "default": [],
               "type": "array",
               "items": {
                  "$ref": "#/definitions/InstElementDemandModel"
               }
            }
         },
         "required": [
            "name",
            "type"
         ]
      },
      "Part": {
         "title": "Part",
         "description": "Piece part of an element with attributes to describe failure and/or maintenance.",
         "type": "object",
         "properties": {
            "resource": {
               "title": "Resource",
               "description": "Unique identifier of resource",
               "type": "string",
               "format": "uuid"
            },
            "meanTimeToFailure": {
               "title": "Meantimetofailure",
               "description": "Mean operating time to failure.",
               "type": "number",
               "format": "time-delta"
            },
            "meanTimeToRepair": {
               "title": "Meantimetorepair",
               "description": "Mean crew time to repair.",
               "type": "number",
               "format": "time-delta"
            },
            "massToRepair": {
               "title": "Masstorepair",
               "description": "Mass (kg, generic COS 4) required to perform a repair.",
               "minimum": 0,
               "type": "number"
            },
            "quantity": {
               "title": "Quantity",
               "description": "Quantity of this part.",
               "default": 1,
               "minimum": 1,
               "type": "number"
            },
            "dutyCycle": {
               "title": "Dutycycle",
               "description": "Fraction of time this part is in use.",
               "default": 1,
               "minimum": 0,
               "maximum": 1,
               "type": "number"
            }
         },
         "required": [
            "resource"
         ]
      },
      "ResourceAmount": {
         "title": "ResourceAmount",
         "description": "A specified amount of a resource.",
         "type": "object",
         "properties": {
            "resource": {
               "title": "Resource UUID",
               "description": "Resource unique identifier",
               "type": "string",
               "format": "uuid"
            },
            "amount": {
               "title": "Amount",
               "description": "Fixed amount of resource (units)",
               "type": "number"
            }
         },
         "required": [
            "resource",
            "amount"
         ]
      },
      "GenericResourceAmount": {
         "title": "GenericResourceAmount",
         "description": "A specified amount of a generic resource.",
         "type": "object",
         "properties": {
            "classOfSupply": {
               "title": "Class of Suppoly",
               "description": "Class of supply",
               "allOf": [
                  {
                     "$ref": "#/definitions/ClassOfSupply"
                  }
               ]
            },
            "environment": {
               "title": "Environment",
               "description": "Required stowage environment",
               "allOf": [
                  {
                     "$ref": "#/definitions/Environment"
                  }
               ]
            },
            "amount": {
               "title": "Amount",
               "description": "Fixed amount of resource (kg)",
               "type": "number"
            }
         },
         "required": [
            "classOfSupply",
            "environment",
            "amount"
         ]
      }
   }
}

field accommodation_mass: float = 0 (alias 'accommodationMass')

Amount of COS 5 (kg) required for stowage.

Constraints
  • minimum = 0

field cargo_environment: Environment = Environment.UNPRESSURIZED (alias 'cargoEnvironment')

Cargo stowage environment

field class_of_supply: ClassOfSupply = ClassOfSupply.COS_0 (alias 'classOfSupply')

Class of supply

field contents: List[Union[ResourceAmount, GenericResourceAmount]] = []

List of contained resource amounts

field current_state_index: Optional[int] = None (alias 'currentStateIndex')

Index of the current operational state

Constraints
  • minimum = -1

field description: Optional[str] = None

Short description (optional)

field environment: Environment = Environment.UNPRESSURIZED

Required stowage environment

field icon: Optional[str] = None
field id: UUID [Optional]

Unique identifier

field mass: float = 0

Mass (kg)

Constraints
  • minimum = 0

field max_cargo_mass: Optional[float] = 0 (alias 'maxCargoMass')

Cargo mass capacity constraint (kg)

Constraints
  • minimum = 0

field max_cargo_volume: Optional[float] = 0 (alias 'maxCargoVolume')

Cargo volume capacity constraint (m^3)

Constraints
  • minimum = 0

field name: str [Required]

Element name

field parts: List[Part] = []

List of constituent parts

field states: List[State] = []

List of operational states

field type: typing_extensions.Literal[Resource Container] = ElementType.RESOURCE_CONTAINER

Element type

field volume: float = 0

Volume (m^3)

Constraints
  • minimum = 0

Element Carrier

pydantic model spacenet.schemas.ElementCarrier[source]

Carrier of other elements.

Show JSON schema
{
   "title": "ElementCarrier",
   "description": "Carrier of other elements.",
   "type": "object",
   "properties": {
      "id": {
         "title": "Id",
         "description": "Unique identifier",
         "type": "string",
         "format": "uuid"
      },
      "name": {
         "title": "Name",
         "description": "Element name",
         "type": "string"
      },
      "type": {
         "title": "Type",
         "description": "Element type",
         "default": "Element Carrier",
         "enum": [
            "Element Carrier"
         ],
         "type": "string"
      },
      "description": {
         "title": "Description",
         "description": "Short description (optional)",
         "type": "string"
      },
      "classOfSupply": {
         "title": "Class of Supply",
         "description": "Class of supply",
         "default": 0,
         "allOf": [
            {
               "$ref": "#/definitions/ClassOfSupply"
            }
         ]
      },
      "environment": {
         "title": "Environment",
         "description": "Required stowage environment",
         "default": "Unpressurized",
         "allOf": [
            {
               "$ref": "#/definitions/Environment"
            }
         ]
      },
      "accommodationMass": {
         "title": "Accommodation Mass",
         "description": "Amount of COS 5 (kg) required for stowage.",
         "default": 0,
         "minimum": 0,
         "type": "number"
      },
      "mass": {
         "title": "Mass",
         "description": "Mass (kg)",
         "default": 0,
         "minimum": 0,
         "type": "number"
      },
      "volume": {
         "title": "Volume",
         "description": "Volume (m^3)",
         "default": 0,
         "minimum": 0,
         "type": "number"
      },
      "states": {
         "title": "States",
         "description": "List of operational states",
         "default": [],
         "type": "array",
         "items": {
            "$ref": "#/definitions/State"
         }
      },
      "currentStateIndex": {
         "title": "Current State",
         "description": "Index of the current operational state",
         "minimum": -1,
         "type": "integer"
      },
      "parts": {
         "title": "Parts",
         "description": "List of constituent parts",
         "default": [],
         "type": "array",
         "items": {
            "$ref": "#/definitions/Part"
         }
      },
      "icon": {
         "title": "Icon",
         "type": "string"
      },
      "maxCargoMass": {
         "title": "Max Cargo Mass",
         "description": "Cargo mass capacity constraint (kg)",
         "default": 0,
         "minimum": 0,
         "type": "number"
      },
      "maxCargoVolume": {
         "title": "Maximum Cargo Volume",
         "description": "Cargo volume capacity constraint (m^3)",
         "default": 0,
         "minimum": 0,
         "type": "number"
      },
      "cargoEnvironment": {
         "title": "Cargo Environment",
         "description": "Cargo stowage environment",
         "default": "Unpressurized",
         "allOf": [
            {
               "$ref": "#/definitions/Environment"
            }
         ]
      },
      "contents": {
         "title": "Contents",
         "description": "List of elements (by unique identifiers) inside the carrier",
         "default": [],
         "type": "array",
         "items": {
            "type": "string",
            "format": "uuid"
         }
      },
      "maxCrew": {
         "title": "Maximum Crew Count",
         "description": "Maximum number of human agents (crew)",
         "minimum": 0,
         "type": "integer"
      }
   },
   "required": [
      "name",
      "maxCrew"
   ],
   "definitions": {
      "ClassOfSupply": {
         "title": "ClassOfSupply",
         "description": "Enumeration of the ten top-level classes of supply and sub-classes of supply.",
         "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9,
            10,
            101,
            102,
            103,
            104,
            105,
            106,
            201,
            202,
            203,
            204,
            205,
            206,
            301,
            302,
            303,
            304,
            305,
            306,
            401,
            402,
            403,
            404,
            405,
            501,
            502,
            601,
            602,
            603,
            701,
            702,
            703,
            801,
            802,
            803,
            804,
            805,
            806,
            901,
            902,
            4011,
            4012,
            8041,
            8042,
            9021,
            9022,
            9023,
            9024
         ],
         "type": "integer"
      },
      "Environment": {
         "title": "Environment",
         "description": "Enumeration of stowage environments.",
         "enum": [
            "Pressurized",
            "Unpressurized"
         ],
         "type": "string"
      },
      "StateType": {
         "title": "StateType",
         "description": "Enumeration of state types.",
         "enum": [
            "Active",
            "Quiescent",
            "Dormant",
            "Decommissioned"
         ],
         "type": "string"
      },
      "DemandModelType": {
         "title": "DemandModelType",
         "description": "Enumeration of demand model types.",
         "enum": [
            "Crew Consumables",
            "Timed Impulse",
            "Rated",
            "Sparing By Mass"
         ],
         "type": "string"
      },
      "InstElementDemandModel": {
         "title": "InstElementDemandModel",
         "description": "Base class for instantiated element demand models.",
         "type": "object",
         "properties": {
            "name": {
               "title": "Name",
               "description": "Instantiated demand model name",
               "type": "string"
            },
            "type": {
               "description": "Demand model type",
               "allOf": [
                  {
                     "$ref": "#/definitions/DemandModelType"
                  }
               ]
            },
            "templateId": {
               "title": "Templateid",
               "description": "Element demand model template unique identifier",
               "type": "string",
               "format": "uuid"
            }
         },
         "required": [
            "name",
            "type",
            "templateId"
         ]
      },
      "State": {
         "title": "State",
         "description": "An element's operational state.",
         "type": "object",
         "properties": {
            "id": {
               "title": "Id",
               "description": "Unique identifier",
               "type": "string",
               "format": "uuid"
            },
            "name": {
               "title": "Name",
               "description": "State name",
               "type": "string"
            },
            "description": {
               "title": "Description",
               "description": "Short description (optional)",
               "type": "string"
            },
            "type": {
               "description": "State type",
               "allOf": [
                  {
                     "$ref": "#/definitions/StateType"
                  }
               ]
            },
            "demandModels": {
               "title": "Demand Models",
               "description": "List of instantiated demand models",
               "default": [],
               "type": "array",
               "items": {
                  "$ref": "#/definitions/InstElementDemandModel"
               }
            }
         },
         "required": [
            "name",
            "type"
         ]
      },
      "Part": {
         "title": "Part",
         "description": "Piece part of an element with attributes to describe failure and/or maintenance.",
         "type": "object",
         "properties": {
            "resource": {
               "title": "Resource",
               "description": "Unique identifier of resource",
               "type": "string",
               "format": "uuid"
            },
            "meanTimeToFailure": {
               "title": "Meantimetofailure",
               "description": "Mean operating time to failure.",
               "type": "number",
               "format": "time-delta"
            },
            "meanTimeToRepair": {
               "title": "Meantimetorepair",
               "description": "Mean crew time to repair.",
               "type": "number",
               "format": "time-delta"
            },
            "massToRepair": {
               "title": "Masstorepair",
               "description": "Mass (kg, generic COS 4) required to perform a repair.",
               "minimum": 0,
               "type": "number"
            },
            "quantity": {
               "title": "Quantity",
               "description": "Quantity of this part.",
               "default": 1,
               "minimum": 1,
               "type": "number"
            },
            "dutyCycle": {
               "title": "Dutycycle",
               "description": "Fraction of time this part is in use.",
               "default": 1,
               "minimum": 0,
               "maximum": 1,
               "type": "number"
            }
         },
         "required": [
            "resource"
         ]
      }
   }
}

field accommodation_mass: float = 0 (alias 'accommodationMass')

Amount of COS 5 (kg) required for stowage.

Constraints
  • minimum = 0

field cargo_environment: Environment = Environment.UNPRESSURIZED (alias 'cargoEnvironment')

Cargo stowage environment

field class_of_supply: ClassOfSupply = ClassOfSupply.COS_0 (alias 'classOfSupply')

Class of supply

field contents: List[UUID] = []

List of elements (by unique identifiers) inside the carrier

field current_state_index: Optional[int] = None (alias 'currentStateIndex')

Index of the current operational state

Constraints
  • minimum = -1

field description: Optional[str] = None

Short description (optional)

field environment: Environment = Environment.UNPRESSURIZED

Required stowage environment

field icon: Optional[str] = None
field id: UUID [Optional]

Unique identifier

field mass: float = 0

Mass (kg)

Constraints
  • minimum = 0

field max_cargo_mass: Optional[float] = 0 (alias 'maxCargoMass')

Cargo mass capacity constraint (kg)

Constraints
  • minimum = 0

field max_cargo_volume: Optional[float] = 0 (alias 'maxCargoVolume')

Cargo volume capacity constraint (m^3)

Constraints
  • minimum = 0

field max_crew: int [Required] (alias 'maxCrew')

Maximum number of human agents (crew)

Constraints
  • minimum = 0

field name: str [Required]

Element name

field parts: List[Part] = []

List of constituent parts

field states: List[State] = []

List of operational states

field type: typing_extensions.Literal[Element Carrier] = ElementType.ELEMENT_CARRIER

Element type

field volume: float = 0

Volume (m^3)

Constraints
  • minimum = 0

Propulsive Vehicle

pydantic model spacenet.schemas.PropulsiveVehicle[source]

Space vehicle with impulsive propulsion that can traverse space edges.

Show JSON schema
{
   "title": "PropulsiveVehicle",
   "description": "Space vehicle with impulsive propulsion that can traverse space edges.",
   "type": "object",
   "properties": {
      "id": {
         "title": "Id",
         "description": "Unique identifier",
         "type": "string",
         "format": "uuid"
      },
      "name": {
         "title": "Name",
         "description": "Element name",
         "type": "string"
      },
      "type": {
         "title": "Type",
         "description": "Element type",
         "default": "Propulsive Vehicle",
         "enum": [
            "Propulsive Vehicle"
         ],
         "type": "string"
      },
      "description": {
         "title": "Description",
         "description": "Short description (optional)",
         "type": "string"
      },
      "classOfSupply": {
         "title": "Class of Supply",
         "description": "Class of supply",
         "default": 0,
         "allOf": [
            {
               "$ref": "#/definitions/ClassOfSupply"
            }
         ]
      },
      "environment": {
         "title": "Environment",
         "description": "Required stowage environment",
         "default": "Unpressurized",
         "allOf": [
            {
               "$ref": "#/definitions/Environment"
            }
         ]
      },
      "accommodationMass": {
         "title": "Accommodation Mass",
         "description": "Amount of COS 5 (kg) required for stowage.",
         "default": 0,
         "minimum": 0,
         "type": "number"
      },
      "mass": {
         "title": "Mass",
         "description": "Mass (kg)",
         "default": 0,
         "minimum": 0,
         "type": "number"
      },
      "volume": {
         "title": "Volume",
         "description": "Volume (m^3)",
         "default": 0,
         "minimum": 0,
         "type": "number"
      },
      "states": {
         "title": "States",
         "description": "List of operational states",
         "default": [],
         "type": "array",
         "items": {
            "$ref": "#/definitions/State"
         }
      },
      "currentStateIndex": {
         "title": "Current State",
         "description": "Index of the current operational state",
         "minimum": -1,
         "type": "integer"
      },
      "parts": {
         "title": "Parts",
         "description": "List of constituent parts",
         "default": [],
         "type": "array",
         "items": {
            "$ref": "#/definitions/Part"
         }
      },
      "icon": {
         "title": "Icon",
         "type": "string"
      },
      "maxCargoMass": {
         "title": "Max Cargo Mass",
         "description": "Cargo mass capacity constraint (kg)",
         "default": 0,
         "minimum": 0,
         "type": "number"
      },
      "maxCargoVolume": {
         "title": "Maximum Cargo Volume",
         "description": "Cargo volume capacity constraint (m^3)",
         "default": 0,
         "minimum": 0,
         "type": "number"
      },
      "cargoEnvironment": {
         "title": "Cargo Environment",
         "description": "Cargo stowage environment",
         "default": "Unpressurized",
         "allOf": [
            {
               "$ref": "#/definitions/Environment"
            }
         ]
      },
      "contents": {
         "title": "Contents",
         "description": "List of elements (by unique identifiers) inside the carrier",
         "default": [],
         "type": "array",
         "items": {
            "type": "string",
            "format": "uuid"
         }
      },
      "maxCrew": {
         "title": "Maximum Crew Count",
         "description": "Maximum number of human agents (crew)",
         "minimum": 0,
         "type": "integer"
      },
      "isp": {
         "title": "Specific Impulse",
         "description": "Specific impulse (s)",
         "minimum": 0,
         "type": "number"
      },
      "maxFuel": {
         "title": "Maximum Fuel",
         "description": "Maximum propellant amount (units)",
         "minimum": 0,
         "type": "number"
      },
      "fuel": {
         "title": "Fuel",
         "description": "Type and amount of propellant",
         "anyOf": [
            {
               "$ref": "#/definitions/ResourceAmount"
            },
            {
               "$ref": "#/definitions/GenericResourceAmount"
            }
         ]
      }
   },
   "required": [
      "name",
      "maxCrew",
      "isp",
      "maxFuel",
      "fuel"
   ],
   "definitions": {
      "ClassOfSupply": {
         "title": "ClassOfSupply",
         "description": "Enumeration of the ten top-level classes of supply and sub-classes of supply.",
         "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9,
            10,
            101,
            102,
            103,
            104,
            105,
            106,
            201,
            202,
            203,
            204,
            205,
            206,
            301,
            302,
            303,
            304,
            305,
            306,
            401,
            402,
            403,
            404,
            405,
            501,
            502,
            601,
            602,
            603,
            701,
            702,
            703,
            801,
            802,
            803,
            804,
            805,
            806,
            901,
            902,
            4011,
            4012,
            8041,
            8042,
            9021,
            9022,
            9023,
            9024
         ],
         "type": "integer"
      },
      "Environment": {
         "title": "Environment",
         "description": "Enumeration of stowage environments.",
         "enum": [
            "Pressurized",
            "Unpressurized"
         ],
         "type": "string"
      },
      "StateType": {
         "title": "StateType",
         "description": "Enumeration of state types.",
         "enum": [
            "Active",
            "Quiescent",
            "Dormant",
            "Decommissioned"
         ],
         "type": "string"
      },
      "DemandModelType": {
         "title": "DemandModelType",
         "description": "Enumeration of demand model types.",
         "enum": [
            "Crew Consumables",
            "Timed Impulse",
            "Rated",
            "Sparing By Mass"
         ],
         "type": "string"
      },
      "InstElementDemandModel": {
         "title": "InstElementDemandModel",
         "description": "Base class for instantiated element demand models.",
         "type": "object",
         "properties": {
            "name": {
               "title": "Name",
               "description": "Instantiated demand model name",
               "type": "string"
            },
            "type": {
               "description": "Demand model type",
               "allOf": [
                  {
                     "$ref": "#/definitions/DemandModelType"
                  }
               ]
            },
            "templateId": {
               "title": "Templateid",
               "description": "Element demand model template unique identifier",
               "type": "string",
               "format": "uuid"
            }
         },
         "required": [
            "name",
            "type",
            "templateId"
         ]
      },
      "State": {
         "title": "State",
         "description": "An element's operational state.",
         "type": "object",
         "properties": {
            "id": {
               "title": "Id",
               "description": "Unique identifier",
               "type": "string",
               "format": "uuid"
            },
            "name": {
               "title": "Name",
               "description": "State name",
               "type": "string"
            },
            "description": {
               "title": "Description",
               "description": "Short description (optional)",
               "type": "string"
            },
            "type": {
               "description": "State type",
               "allOf": [
                  {
                     "$ref": "#/definitions/StateType"
                  }
               ]
            },
            "demandModels": {
               "title": "Demand Models",
               "description": "List of instantiated demand models",
               "default": [],
               "type": "array",
               "items": {
                  "$ref": "#/definitions/InstElementDemandModel"
               }
            }
         },
         "required": [
            "name",
            "type"
         ]
      },
      "Part": {
         "title": "Part",
         "description": "Piece part of an element with attributes to describe failure and/or maintenance.",
         "type": "object",
         "properties": {
            "resource": {
               "title": "Resource",
               "description": "Unique identifier of resource",
               "type": "string",
               "format": "uuid"
            },
            "meanTimeToFailure": {
               "title": "Meantimetofailure",
               "description": "Mean operating time to failure.",
               "type": "number",
               "format": "time-delta"
            },
            "meanTimeToRepair": {
               "title": "Meantimetorepair",
               "description": "Mean crew time to repair.",
               "type": "number",
               "format": "time-delta"
            },
            "massToRepair": {
               "title": "Masstorepair",
               "description": "Mass (kg, generic COS 4) required to perform a repair.",
               "minimum": 0,
               "type": "number"
            },
            "quantity": {
               "title": "Quantity",
               "description": "Quantity of this part.",
               "default": 1,
               "minimum": 1,
               "type": "number"
            },
            "dutyCycle": {
               "title": "Dutycycle",
               "description": "Fraction of time this part is in use.",
               "default": 1,
               "minimum": 0,
               "maximum": 1,
               "type": "number"
            }
         },
         "required": [
            "resource"
         ]
      },
      "ResourceAmount": {
         "title": "ResourceAmount",
         "description": "A specified amount of a resource.",
         "type": "object",
         "properties": {
            "resource": {
               "title": "Resource UUID",
               "description": "Resource unique identifier",
               "type": "string",
               "format": "uuid"
            },
            "amount": {
               "title": "Amount",
               "description": "Fixed amount of resource (units)",
               "type": "number"
            }
         },
         "required": [
            "resource",
            "amount"
         ]
      },
      "GenericResourceAmount": {
         "title": "GenericResourceAmount",
         "description": "A specified amount of a generic resource.",
         "type": "object",
         "properties": {
            "classOfSupply": {
               "title": "Class of Suppoly",
               "description": "Class of supply",
               "allOf": [
                  {
                     "$ref": "#/definitions/ClassOfSupply"
                  }
               ]
            },
            "environment": {
               "title": "Environment",
               "description": "Required stowage environment",
               "allOf": [
                  {
                     "$ref": "#/definitions/Environment"
                  }
               ]
            },
            "amount": {
               "title": "Amount",
               "description": "Fixed amount of resource (kg)",
               "type": "number"
            }
         },
         "required": [
            "classOfSupply",
            "environment",
            "amount"
         ]
      }
   }
}

field accommodation_mass: float = 0 (alias 'accommodationMass')

Amount of COS 5 (kg) required for stowage.

Constraints
  • minimum = 0

field cargo_environment: Environment = Environment.UNPRESSURIZED (alias 'cargoEnvironment')

Cargo stowage environment

field class_of_supply: ClassOfSupply = ClassOfSupply.COS_0 (alias 'classOfSupply')

Class of supply

field contents: List[UUID] = []

List of elements (by unique identifiers) inside the carrier

field current_state_index: Optional[int] = None (alias 'currentStateIndex')

Index of the current operational state

Constraints
  • minimum = -1

field description: Optional[str] = None

Short description (optional)

field environment: Environment = Environment.UNPRESSURIZED

Required stowage environment

field fuel: Union[ResourceAmount, GenericResourceAmount] [Required]

Type and amount of propellant

field icon: Optional[str] = None
field id: UUID [Optional]

Unique identifier

field isp: float [Required]

Specific impulse (s)

Constraints
  • minimum = 0

field mass: float = 0

Mass (kg)

Constraints
  • minimum = 0

field max_cargo_mass: Optional[float] = 0 (alias 'maxCargoMass')

Cargo mass capacity constraint (kg)

Constraints
  • minimum = 0

field max_cargo_volume: Optional[float] = 0 (alias 'maxCargoVolume')

Cargo volume capacity constraint (m^3)

Constraints
  • minimum = 0

field max_crew: int [Required] (alias 'maxCrew')

Maximum number of human agents (crew)

Constraints
  • minimum = 0

field max_fuel: float [Required] (alias 'maxFuel')

Maximum propellant amount (units)

Constraints
  • minimum = 0

field name: str [Required]

Element name

field parts: List[Part] = []

List of constituent parts

field states: List[State] = []

List of operational states

field type: typing_extensions.Literal[Propulsive Vehicle] = ElementType.PROPULSIVE_VEHICLE

Element type

field volume: float = 0

Volume (m^3)

Constraints
  • minimum = 0

Surface Vehicle

pydantic model spacenet.schemas.SurfaceVehicle[source]

Surface vehicle that can traverse surface edges.

Show JSON schema
{
   "title": "SurfaceVehicle",
   "description": "Surface vehicle that can traverse surface edges.",
   "type": "object",
   "properties": {
      "id": {
         "title": "Id",
         "description": "Unique identifier",
         "type": "string",
         "format": "uuid"
      },
      "name": {
         "title": "Name",
         "description": "Element name",
         "type": "string"
      },
      "type": {
         "title": "Type",
         "description": "the element's type",
         "default": "Surface Vehicle",
         "enum": [
            "Surface Vehicle"
         ],
         "type": "string"
      },
      "description": {
         "title": "Description",
         "description": "Short description (optional)",
         "type": "string"
      },
      "classOfSupply": {
         "title": "Class of Supply",
         "description": "Class of supply",
         "default": 0,
         "allOf": [
            {
               "$ref": "#/definitions/ClassOfSupply"
            }
         ]
      },
      "environment": {
         "title": "Environment",
         "description": "Required stowage environment",
         "default": "Unpressurized",
         "allOf": [
            {
               "$ref": "#/definitions/Environment"
            }
         ]
      },
      "accommodationMass": {
         "title": "Accommodation Mass",
         "description": "Amount of COS 5 (kg) required for stowage.",
         "default": 0,
         "minimum": 0,
         "type": "number"
      },
      "mass": {
         "title": "Mass",
         "description": "Mass (kg)",
         "default": 0,
         "minimum": 0,
         "type": "number"
      },
      "volume": {
         "title": "Volume",
         "description": "Volume (m^3)",
         "default": 0,
         "minimum": 0,
         "type": "number"
      },
      "states": {
         "title": "States",
         "description": "List of operational states",
         "default": [],
         "type": "array",
         "items": {
            "$ref": "#/definitions/State"
         }
      },
      "currentStateIndex": {
         "title": "Current State",
         "description": "Index of the current operational state",
         "minimum": -1,
         "type": "integer"
      },
      "parts": {
         "title": "Parts",
         "description": "List of constituent parts",
         "default": [],
         "type": "array",
         "items": {
            "$ref": "#/definitions/Part"
         }
      },
      "icon": {
         "title": "Icon",
         "type": "string"
      },
      "maxCargoMass": {
         "title": "Max Cargo Mass",
         "description": "Cargo mass capacity constraint (kg)",
         "default": 0,
         "minimum": 0,
         "type": "number"
      },
      "maxCargoVolume": {
         "title": "Maximum Cargo Volume",
         "description": "Cargo volume capacity constraint (m^3)",
         "default": 0,
         "minimum": 0,
         "type": "number"
      },
      "cargoEnvironment": {
         "title": "Cargo Environment",
         "description": "Cargo stowage environment",
         "default": "Unpressurized",
         "allOf": [
            {
               "$ref": "#/definitions/Environment"
            }
         ]
      },
      "contents": {
         "title": "Contents",
         "description": "List of elements (by unique identifiers) inside the carrier",
         "default": [],
         "type": "array",
         "items": {
            "type": "string",
            "format": "uuid"
         }
      },
      "maxCrew": {
         "title": "Maximum Crew Count",
         "description": "Maximum number of human agents (crew)",
         "minimum": 0,
         "type": "integer"
      },
      "maxSpeed": {
         "title": "Maximum Speed",
         "description": "Maximum speed (km/hr)",
         "minimum": 0,
         "type": "number"
      },
      "maxFuel": {
         "title": "Maximum Fuel",
         "description": "Maximum fuel amount (units)",
         "minimum": 0,
         "type": "number"
      },
      "fuel": {
         "title": "Fuel",
         "description": "Type and amount of fuel",
         "anyOf": [
            {
               "$ref": "#/definitions/ResourceAmount"
            },
            {
               "$ref": "#/definitions/GenericResourceAmount"
            }
         ]
      }
   },
   "required": [
      "name",
      "maxCrew",
      "maxSpeed",
      "maxFuel",
      "fuel"
   ],
   "definitions": {
      "ClassOfSupply": {
         "title": "ClassOfSupply",
         "description": "Enumeration of the ten top-level classes of supply and sub-classes of supply.",
         "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9,
            10,
            101,
            102,
            103,
            104,
            105,
            106,
            201,
            202,
            203,
            204,
            205,
            206,
            301,
            302,
            303,
            304,
            305,
            306,
            401,
            402,
            403,
            404,
            405,
            501,
            502,
            601,
            602,
            603,
            701,
            702,
            703,
            801,
            802,
            803,
            804,
            805,
            806,
            901,
            902,
            4011,
            4012,
            8041,
            8042,
            9021,
            9022,
            9023,
            9024
         ],
         "type": "integer"
      },
      "Environment": {
         "title": "Environment",
         "description": "Enumeration of stowage environments.",
         "enum": [
            "Pressurized",
            "Unpressurized"
         ],
         "type": "string"
      },
      "StateType": {
         "title": "StateType",
         "description": "Enumeration of state types.",
         "enum": [
            "Active",
            "Quiescent",
            "Dormant",
            "Decommissioned"
         ],
         "type": "string"
      },
      "DemandModelType": {
         "title": "DemandModelType",
         "description": "Enumeration of demand model types.",
         "enum": [
            "Crew Consumables",
            "Timed Impulse",
            "Rated",
            "Sparing By Mass"
         ],
         "type": "string"
      },
      "InstElementDemandModel": {
         "title": "InstElementDemandModel",
         "description": "Base class for instantiated element demand models.",
         "type": "object",
         "properties": {
            "name": {
               "title": "Name",
               "description": "Instantiated demand model name",
               "type": "string"
            },
            "type": {
               "description": "Demand model type",
               "allOf": [
                  {
                     "$ref": "#/definitions/DemandModelType"
                  }
               ]
            },
            "templateId": {
               "title": "Templateid",
               "description": "Element demand model template unique identifier",
               "type": "string",
               "format": "uuid"
            }
         },
         "required": [
            "name",
            "type",
            "templateId"
         ]
      },
      "State": {
         "title": "State",
         "description": "An element's operational state.",
         "type": "object",
         "properties": {
            "id": {
               "title": "Id",
               "description": "Unique identifier",
               "type": "string",
               "format": "uuid"
            },
            "name": {
               "title": "Name",
               "description": "State name",
               "type": "string"
            },
            "description": {
               "title": "Description",
               "description": "Short description (optional)",
               "type": "string"
            },
            "type": {
               "description": "State type",
               "allOf": [
                  {
                     "$ref": "#/definitions/StateType"
                  }
               ]
            },
            "demandModels": {
               "title": "Demand Models",
               "description": "List of instantiated demand models",
               "default": [],
               "type": "array",
               "items": {
                  "$ref": "#/definitions/InstElementDemandModel"
               }
            }
         },
         "required": [
            "name",
            "type"
         ]
      },
      "Part": {
         "title": "Part",
         "description": "Piece part of an element with attributes to describe failure and/or maintenance.",
         "type": "object",
         "properties": {
            "resource": {
               "title": "Resource",
               "description": "Unique identifier of resource",
               "type": "string",
               "format": "uuid"
            },
            "meanTimeToFailure": {
               "title": "Meantimetofailure",
               "description": "Mean operating time to failure.",
               "type": "number",
               "format": "time-delta"
            },
            "meanTimeToRepair": {
               "title": "Meantimetorepair",
               "description": "Mean crew time to repair.",
               "type": "number",
               "format": "time-delta"
            },
            "massToRepair": {
               "title": "Masstorepair",
               "description": "Mass (kg, generic COS 4) required to perform a repair.",
               "minimum": 0,
               "type": "number"
            },
            "quantity": {
               "title": "Quantity",
               "description": "Quantity of this part.",
               "default": 1,
               "minimum": 1,
               "type": "number"
            },
            "dutyCycle": {
               "title": "Dutycycle",
               "description": "Fraction of time this part is in use.",
               "default": 1,
               "minimum": 0,
               "maximum": 1,
               "type": "number"
            }
         },
         "required": [
            "resource"
         ]
      },
      "ResourceAmount": {
         "title": "ResourceAmount",
         "description": "A specified amount of a resource.",
         "type": "object",
         "properties": {
            "resource": {
               "title": "Resource UUID",
               "description": "Resource unique identifier",
               "type": "string",
               "format": "uuid"
            },
            "amount": {
               "title": "Amount",
               "description": "Fixed amount of resource (units)",
               "type": "number"
            }
         },
         "required": [
            "resource",
            "amount"
         ]
      },
      "GenericResourceAmount": {
         "title": "GenericResourceAmount",
         "description": "A specified amount of a generic resource.",
         "type": "object",
         "properties": {
            "classOfSupply": {
               "title": "Class of Suppoly",
               "description": "Class of supply",
               "allOf": [
                  {
                     "$ref": "#/definitions/ClassOfSupply"
                  }
               ]
            },
            "environment": {
               "title": "Environment",
               "description": "Required stowage environment",
               "allOf": [
                  {
                     "$ref": "#/definitions/Environment"
                  }
               ]
            },
            "amount": {
               "title": "Amount",
               "description": "Fixed amount of resource (kg)",
               "type": "number"
            }
         },
         "required": [
            "classOfSupply",
            "environment",
            "amount"
         ]
      }
   }
}

field accommodation_mass: float = 0 (alias 'accommodationMass')

Amount of COS 5 (kg) required for stowage.

Constraints
  • minimum = 0

field cargo_environment: Environment = Environment.UNPRESSURIZED (alias 'cargoEnvironment')

Cargo stowage environment

field class_of_supply: ClassOfSupply = ClassOfSupply.COS_0 (alias 'classOfSupply')

Class of supply

field contents: List[UUID] = []

List of elements (by unique identifiers) inside the carrier

field current_state_index: Optional[int] = None (alias 'currentStateIndex')

Index of the current operational state

Constraints
  • minimum = -1

field description: Optional[str] = None

Short description (optional)

field environment: Environment = Environment.UNPRESSURIZED

Required stowage environment

field fuel: Union[ResourceAmount, GenericResourceAmount] [Required]

Type and amount of fuel

field icon: Optional[str] = None
field id: UUID [Optional]

Unique identifier

field mass: float = 0

Mass (kg)

Constraints
  • minimum = 0

field max_cargo_mass: Optional[float] = 0 (alias 'maxCargoMass')

Cargo mass capacity constraint (kg)

Constraints
  • minimum = 0

field max_cargo_volume: Optional[float] = 0 (alias 'maxCargoVolume')

Cargo volume capacity constraint (m^3)

Constraints
  • minimum = 0

field max_crew: int [Required] (alias 'maxCrew')

Maximum number of human agents (crew)

Constraints
  • minimum = 0

field max_fuel: float [Required] (alias 'maxFuel')

Maximum fuel amount (units)

Constraints
  • minimum = 0

field max_speed: float [Required] (alias 'maxSpeed')

Maximum speed (km/hr)

Constraints
  • minimum = 0

field name: str [Required]

Element name

field parts: List[Part] = []

List of constituent parts

field states: List[State] = []

List of operational states

field type: typing_extensions.Literal[Surface Vehicle] = ElementType.SURFACE_VEHICLE

the element’s type

field volume: float = 0

Volume (m^3)

Constraints
  • minimum = 0

Robotic Agent

pydantic model spacenet.schemas.RoboticAgent[source]

Robotic agent.

Show JSON schema
{
   "title": "RoboticAgent",
   "description": "Robotic agent.",
   "type": "object",
   "properties": {
      "id": {
         "title": "Id",
         "description": "Unique identifier",
         "type": "string",
         "format": "uuid"
      },
      "name": {
         "title": "Name",
         "description": "Element name",
         "type": "string"
      },
      "type": {
         "title": "Type",
         "description": "Element type",
         "default": "Robotic Agent",
         "enum": [
            "Robotic Agent"
         ],
         "type": "string"
      },
      "description": {
         "title": "Description",
         "description": "Short description (optional)",
         "type": "string"
      },
      "classOfSupply": {
         "title": "Class of Supply",
         "description": "Class of supply",
         "default": 0,
         "allOf": [
            {
               "$ref": "#/definitions/ClassOfSupply"
            }
         ]
      },
      "environment": {
         "title": "Environment",
         "description": "Required stowage environment",
         "default": "Unpressurized",
         "allOf": [
            {
               "$ref": "#/definitions/Environment"
            }
         ]
      },
      "accommodationMass": {
         "title": "Accommodation Mass",
         "description": "Amount of COS 5 (kg) required for stowage.",
         "default": 0,
         "minimum": 0,
         "type": "number"
      },
      "mass": {
         "title": "Mass",
         "description": "Mass (kg)",
         "default": 0,
         "minimum": 0,
         "type": "number"
      },
      "volume": {
         "title": "Volume",
         "description": "Volume (m^3)",
         "default": 0,
         "minimum": 0,
         "type": "number"
      },
      "states": {
         "title": "States",
         "description": "List of operational states",
         "default": [],
         "type": "array",
         "items": {
            "$ref": "#/definitions/State"
         }
      },
      "currentStateIndex": {
         "title": "Current State",
         "description": "Index of the current operational state",
         "minimum": -1,
         "type": "integer"
      },
      "parts": {
         "title": "Parts",
         "description": "List of constituent parts",
         "default": [],
         "type": "array",
         "items": {
            "$ref": "#/definitions/Part"
         }
      },
      "icon": {
         "title": "Icon",
         "type": "string"
      },
      "activeTimeFraction": {
         "title": "Active Time Fraction",
         "description": "fraction time an agent is available (0 to 1 inclusive)",
         "minimum": 0,
         "maximum": 1,
         "type": "number"
      }
   },
   "required": [
      "name",
      "activeTimeFraction"
   ],
   "definitions": {
      "ClassOfSupply": {
         "title": "ClassOfSupply",
         "description": "Enumeration of the ten top-level classes of supply and sub-classes of supply.",
         "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9,
            10,
            101,
            102,
            103,
            104,
            105,
            106,
            201,
            202,
            203,
            204,
            205,
            206,
            301,
            302,
            303,
            304,
            305,
            306,
            401,
            402,
            403,
            404,
            405,
            501,
            502,
            601,
            602,
            603,
            701,
            702,
            703,
            801,
            802,
            803,
            804,
            805,
            806,
            901,
            902,
            4011,
            4012,
            8041,
            8042,
            9021,
            9022,
            9023,
            9024
         ],
         "type": "integer"
      },
      "Environment": {
         "title": "Environment",
         "description": "Enumeration of stowage environments.",
         "enum": [
            "Pressurized",
            "Unpressurized"
         ],
         "type": "string"
      },
      "StateType": {
         "title": "StateType",
         "description": "Enumeration of state types.",
         "enum": [
            "Active",
            "Quiescent",
            "Dormant",
            "Decommissioned"
         ],
         "type": "string"
      },
      "DemandModelType": {
         "title": "DemandModelType",
         "description": "Enumeration of demand model types.",
         "enum": [
            "Crew Consumables",
            "Timed Impulse",
            "Rated",
            "Sparing By Mass"
         ],
         "type": "string"
      },
      "InstElementDemandModel": {
         "title": "InstElementDemandModel",
         "description": "Base class for instantiated element demand models.",
         "type": "object",
         "properties": {
            "name": {
               "title": "Name",
               "description": "Instantiated demand model name",
               "type": "string"
            },
            "type": {
               "description": "Demand model type",
               "allOf": [
                  {
                     "$ref": "#/definitions/DemandModelType"
                  }
               ]
            },
            "templateId": {
               "title": "Templateid",
               "description": "Element demand model template unique identifier",
               "type": "string",
               "format": "uuid"
            }
         },
         "required": [
            "name",
            "type",
            "templateId"
         ]
      },
      "State": {
         "title": "State",
         "description": "An element's operational state.",
         "type": "object",
         "properties": {
            "id": {
               "title": "Id",
               "description": "Unique identifier",
               "type": "string",
               "format": "uuid"
            },
            "name": {
               "title": "Name",
               "description": "State name",
               "type": "string"
            },
            "description": {
               "title": "Description",
               "description": "Short description (optional)",
               "type": "string"
            },
            "type": {
               "description": "State type",
               "allOf": [
                  {
                     "$ref": "#/definitions/StateType"
                  }
               ]
            },
            "demandModels": {
               "title": "Demand Models",
               "description": "List of instantiated demand models",
               "default": [],
               "type": "array",
               "items": {
                  "$ref": "#/definitions/InstElementDemandModel"
               }
            }
         },
         "required": [
            "name",
            "type"
         ]
      },
      "Part": {
         "title": "Part",
         "description": "Piece part of an element with attributes to describe failure and/or maintenance.",
         "type": "object",
         "properties": {
            "resource": {
               "title": "Resource",
               "description": "Unique identifier of resource",
               "type": "string",
               "format": "uuid"
            },
            "meanTimeToFailure": {
               "title": "Meantimetofailure",
               "description": "Mean operating time to failure.",
               "type": "number",
               "format": "time-delta"
            },
            "meanTimeToRepair": {
               "title": "Meantimetorepair",
               "description": "Mean crew time to repair.",
               "type": "number",
               "format": "time-delta"
            },
            "massToRepair": {
               "title": "Masstorepair",
               "description": "Mass (kg, generic COS 4) required to perform a repair.",
               "minimum": 0,
               "type": "number"
            },
            "quantity": {
               "title": "Quantity",
               "description": "Quantity of this part.",
               "default": 1,
               "minimum": 1,
               "type": "number"
            },
            "dutyCycle": {
               "title": "Dutycycle",
               "description": "Fraction of time this part is in use.",
               "default": 1,
               "minimum": 0,
               "maximum": 1,
               "type": "number"
            }
         },
         "required": [
            "resource"
         ]
      }
   }
}

field accommodation_mass: float = 0 (alias 'accommodationMass')

Amount of COS 5 (kg) required for stowage.

Constraints
  • minimum = 0

field active_time_fraction: float [Required] (alias 'activeTimeFraction')

fraction time an agent is available (0 to 1 inclusive)

Constraints
  • minimum = 0

  • maximum = 1

field class_of_supply: ClassOfSupply = ClassOfSupply.COS_0 (alias 'classOfSupply')

Class of supply

field current_state_index: Optional[int] = None (alias 'currentStateIndex')

Index of the current operational state

Constraints
  • minimum = -1

field description: Optional[str] = None

Short description (optional)

field environment: Environment = Environment.UNPRESSURIZED

Required stowage environment

field icon: Optional[str] = None
field id: UUID [Optional]

Unique identifier

field mass: float = 0

Mass (kg)

Constraints
  • minimum = 0

field name: str [Required]

Element name

field parts: List[Part] = []

List of constituent parts

field states: List[State] = []

List of operational states

field type: typing_extensions.Literal[Robotic Agent] = ElementType.ROBOTIC_AGENT

Element type

field volume: float = 0

Volume (m^3)

Constraints
  • minimum = 0

Human Agent

pydantic model spacenet.schemas.HumanAgent[source]

Human agent, i.e., a crew member.

Show JSON schema
{
   "title": "HumanAgent",
   "description": "Human agent, i.e., a crew member.",
   "type": "object",
   "properties": {
      "id": {
         "title": "Id",
         "description": "Unique identifier",
         "type": "string",
         "format": "uuid"
      },
      "name": {
         "title": "Name",
         "description": "Element name",
         "type": "string"
      },
      "type": {
         "title": "Type",
         "description": "Element type",
         "default": "Human Agent",
         "enum": [
            "Human Agent"
         ],
         "type": "string"
      },
      "description": {
         "title": "Description",
         "description": "Short description (optional)",
         "type": "string"
      },
      "classOfSupply": {
         "title": "Class of Supply",
         "description": "Class of supply",
         "default": 0,
         "allOf": [
            {
               "$ref": "#/definitions/ClassOfSupply"
            }
         ]
      },
      "environment": {
         "title": "Environment",
         "description": "Required stowage environment",
         "default": "Unpressurized",
         "allOf": [
            {
               "$ref": "#/definitions/Environment"
            }
         ]
      },
      "accommodationMass": {
         "title": "Accommodation Mass",
         "description": "Amount of COS 5 (kg) required for stowage.",
         "default": 0,
         "minimum": 0,
         "type": "number"
      },
      "mass": {
         "title": "Mass",
         "description": "Mass (kg)",
         "default": 0,
         "minimum": 0,
         "type": "number"
      },
      "volume": {
         "title": "Volume",
         "description": "Volume (m^3)",
         "default": 0,
         "minimum": 0,
         "type": "number"
      },
      "states": {
         "title": "States",
         "description": "List of operational states",
         "default": [],
         "type": "array",
         "items": {
            "$ref": "#/definitions/State"
         }
      },
      "currentStateIndex": {
         "title": "Current State",
         "description": "Index of the current operational state",
         "minimum": -1,
         "type": "integer"
      },
      "parts": {
         "title": "Parts",
         "description": "List of constituent parts",
         "default": [],
         "type": "array",
         "items": {
            "$ref": "#/definitions/Part"
         }
      },
      "icon": {
         "title": "Icon",
         "type": "string"
      },
      "activeTimeFraction": {
         "title": "Active Time Fraction",
         "description": "fraction time an agent is available (0 to 1 inclusive)",
         "minimum": 0,
         "maximum": 1,
         "type": "number"
      }
   },
   "required": [
      "name",
      "activeTimeFraction"
   ],
   "definitions": {
      "ClassOfSupply": {
         "title": "ClassOfSupply",
         "description": "Enumeration of the ten top-level classes of supply and sub-classes of supply.",
         "enum": [
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9,
            10,
            101,
            102,
            103,
            104,
            105,
            106,
            201,
            202,
            203,
            204,
            205,
            206,
            301,
            302,
            303,
            304,
            305,
            306,
            401,
            402,
            403,
            404,
            405,
            501,
            502,
            601,
            602,
            603,
            701,
            702,
            703,
            801,
            802,
            803,
            804,
            805,
            806,
            901,
            902,
            4011,
            4012,
            8041,
            8042,
            9021,
            9022,
            9023,
            9024
         ],
         "type": "integer"
      },
      "Environment": {
         "title": "Environment",
         "description": "Enumeration of stowage environments.",
         "enum": [
            "Pressurized",
            "Unpressurized"
         ],
         "type": "string"
      },
      "StateType": {
         "title": "StateType",
         "description": "Enumeration of state types.",
         "enum": [
            "Active",
            "Quiescent",
            "Dormant",
            "Decommissioned"
         ],
         "type": "string"
      },
      "DemandModelType": {
         "title": "DemandModelType",
         "description": "Enumeration of demand model types.",
         "enum": [
            "Crew Consumables",
            "Timed Impulse",
            "Rated",
            "Sparing By Mass"
         ],
         "type": "string"
      },
      "InstElementDemandModel": {
         "title": "InstElementDemandModel",
         "description": "Base class for instantiated element demand models.",
         "type": "object",
         "properties": {
            "name": {
               "title": "Name",
               "description": "Instantiated demand model name",
               "type": "string"
            },
            "type": {
               "description": "Demand model type",
               "allOf": [
                  {
                     "$ref": "#/definitions/DemandModelType"
                  }
               ]
            },
            "templateId": {
               "title": "Templateid",
               "description": "Element demand model template unique identifier",
               "type": "string",
               "format": "uuid"
            }
         },
         "required": [
            "name",
            "type",
            "templateId"
         ]
      },
      "State": {
         "title": "State",
         "description": "An element's operational state.",
         "type": "object",
         "properties": {
            "id": {
               "title": "Id",
               "description": "Unique identifier",
               "type": "string",
               "format": "uuid"
            },
            "name": {
               "title": "Name",
               "description": "State name",
               "type": "string"
            },
            "description": {
               "title": "Description",
               "description": "Short description (optional)",
               "type": "string"
            },
            "type": {
               "description": "State type",
               "allOf": [
                  {
                     "$ref": "#/definitions/StateType"
                  }
               ]
            },
            "demandModels": {
               "title": "Demand Models",
               "description": "List of instantiated demand models",
               "default": [],
               "type": "array",
               "items": {
                  "$ref": "#/definitions/InstElementDemandModel"
               }
            }
         },
         "required": [
            "name",
            "type"
         ]
      },
      "Part": {
         "title": "Part",
         "description": "Piece part of an element with attributes to describe failure and/or maintenance.",
         "type": "object",
         "properties": {
            "resource": {
               "title": "Resource",
               "description": "Unique identifier of resource",
               "type": "string",
               "format": "uuid"
            },
            "meanTimeToFailure": {
               "title": "Meantimetofailure",
               "description": "Mean operating time to failure.",
               "type": "number",
               "format": "time-delta"
            },
            "meanTimeToRepair": {
               "title": "Meantimetorepair",
               "description": "Mean crew time to repair.",
               "type": "number",
               "format": "time-delta"
            },
            "massToRepair": {
               "title": "Masstorepair",
               "description": "Mass (kg, generic COS 4) required to perform a repair.",
               "minimum": 0,
               "type": "number"
            },
            "quantity": {
               "title": "Quantity",
               "description": "Quantity of this part.",
               "default": 1,
               "minimum": 1,
               "type": "number"
            },
            "dutyCycle": {
               "title": "Dutycycle",
               "description": "Fraction of time this part is in use.",
               "default": 1,
               "minimum": 0,
               "maximum": 1,
               "type": "number"
            }
         },
         "required": [
            "resource"
         ]
      }
   }
}

field accommodation_mass: float = 0 (alias 'accommodationMass')

Amount of COS 5 (kg) required for stowage.

Constraints
  • minimum = 0

field active_time_fraction: float [Required] (alias 'activeTimeFraction')

fraction time an agent is available (0 to 1 inclusive)

Constraints
  • minimum = 0

  • maximum = 1

field class_of_supply: ClassOfSupply = ClassOfSupply.COS_0 (alias 'classOfSupply')

Class of supply

field current_state_index: Optional[int] = None (alias 'currentStateIndex')

Index of the current operational state

Constraints
  • minimum = -1

field description: Optional[str] = None

Short description (optional)

field environment: Environment = Environment.UNPRESSURIZED

Required stowage environment

field icon: Optional[str] = None
field id: UUID [Optional]

Unique identifier

field mass: float = 0

Mass (kg)

Constraints
  • minimum = 0

field name: str [Required]

Element name

field parts: List[Part] = []

List of constituent parts

field states: List[State] = []

List of operational states

field type: typing_extensions.Literal[Human Agent] = ElementType.HUMAN_AGENT

Element type

field volume: float = 0

Volume (m^3)

Constraints
  • minimum = 0

Miscellaneous

State Type

enum spacenet.schemas.StateType(value)[source]

Enumeration of state types.

Member Type

str

Valid values are as follows:

ACTIVE = <StateType.ACTIVE: 'Active'>
QUIESCENT = <StateType.QUIESCENT: 'Quiescent'>
DORMANT = <StateType.DORMANT: 'Dormant'>
DECOMMISSIONED = <StateType.DECOMMISSIONED: 'Decommissioned'>

State

pydantic model spacenet.schemas.State[source]

An element’s operational state.

Show JSON schema
{
   "title": "State",
   "description": "An element's operational state.",
   "type": "object",
   "properties": {
      "id": {
         "title": "Id",
         "description": "Unique identifier",
         "type": "string",
         "format": "uuid"
      },
      "name": {
         "title": "Name",
         "description": "State name",
         "type": "string"
      },
      "description": {
         "title": "Description",
         "description": "Short description (optional)",
         "type": "string"
      },
      "type": {
         "description": "State type",
         "allOf": [
            {
               "$ref": "#/definitions/StateType"
            }
         ]
      },
      "demandModels": {
         "title": "Demand Models",
         "description": "List of instantiated demand models",
         "default": [],
         "type": "array",
         "items": {
            "$ref": "#/definitions/InstElementDemandModel"
         }
      }
   },
   "required": [
      "name",
      "type"
   ],
   "definitions": {
      "StateType": {
         "title": "StateType",
         "description": "Enumeration of state types.",
         "enum": [
            "Active",
            "Quiescent",
            "Dormant",
            "Decommissioned"
         ],
         "type": "string"
      },
      "DemandModelType": {
         "title": "DemandModelType",
         "description": "Enumeration of demand model types.",
         "enum": [
            "Crew Consumables",
            "Timed Impulse",
            "Rated",
            "Sparing By Mass"
         ],
         "type": "string"
      },
      "InstElementDemandModel": {
         "title": "InstElementDemandModel",
         "description": "Base class for instantiated element demand models.",
         "type": "object",
         "properties": {
            "name": {
               "title": "Name",
               "description": "Instantiated demand model name",
               "type": "string"
            },
            "type": {
               "description": "Demand model type",
               "allOf": [
                  {
                     "$ref": "#/definitions/DemandModelType"
                  }
               ]
            },
            "templateId": {
               "title": "Templateid",
               "description": "Element demand model template unique identifier",
               "type": "string",
               "format": "uuid"
            }
         },
         "required": [
            "name",
            "type",
            "templateId"
         ]
      }
   }
}

field demand_models: List[InstElementDemandModel] = [] (alias 'demandModels')

List of instantiated demand models

field description: Optional[str] = None

Short description (optional)

field id: UUID [Optional]

Unique identifier

field name: str [Required]

State name

field type: StateType [Required]

State type

Part

pydantic model spacenet.schemas.Part[source]

Piece part of an element with attributes to describe failure and/or maintenance.

Show JSON schema
{
   "title": "Part",
   "description": "Piece part of an element with attributes to describe failure and/or maintenance.",
   "type": "object",
   "properties": {
      "resource": {
         "title": "Resource",
         "description": "Unique identifier of resource",
         "type": "string",
         "format": "uuid"
      },
      "meanTimeToFailure": {
         "title": "Meantimetofailure",
         "description": "Mean operating time to failure.",
         "type": "number",
         "format": "time-delta"
      },
      "meanTimeToRepair": {
         "title": "Meantimetorepair",
         "description": "Mean crew time to repair.",
         "type": "number",
         "format": "time-delta"
      },
      "massToRepair": {
         "title": "Masstorepair",
         "description": "Mass (kg, generic COS 4) required to perform a repair.",
         "minimum": 0,
         "type": "number"
      },
      "quantity": {
         "title": "Quantity",
         "description": "Quantity of this part.",
         "default": 1,
         "minimum": 1,
         "type": "number"
      },
      "dutyCycle": {
         "title": "Dutycycle",
         "description": "Fraction of time this part is in use.",
         "default": 1,
         "minimum": 0,
         "maximum": 1,
         "type": "number"
      }
   },
   "required": [
      "resource"
   ]
}

field duty_cycle: float = 1 (alias 'dutyCycle')

Fraction of time this part is in use.

Constraints
  • minimum = 0

  • maximum = 1

field mass_to_repair: Optional[float] = None (alias 'massToRepair')

Mass (kg, generic COS 4) required to perform a repair.

Constraints
  • minimum = 0

field mean_time_to_failure: Optional[timedelta] = None (alias 'meanTimeToFailure')

Mean operating time to failure.

field mean_time_to_repair: Optional[timedelta] = None (alias 'meanTimeToRepair')

Mean crew time to repair.

field quantity: float = 1

Quantity of this part.

Constraints
  • minimum = 1

field resource: UUID [Required]

Unique identifier of resource