Resources

Resources define substances that can be produced or consumed during a scenario.

Custom Resource Types

Discrete Resource

pydantic model spacenet.schemas.DiscreteResource[source]

A resource instantiated in discrete (integer) amounts.

Show JSON schema
{
   "title": "DiscreteResource",
   "description": "A resource instantiated in discrete (integer) amounts.",
   "type": "object",
   "properties": {
      "id": {
         "title": "Id",
         "description": "Unique identifier",
         "type": "string",
         "format": "uuid"
      },
      "name": {
         "title": "Name",
         "description": "Resource name",
         "type": "string"
      },
      "classOfSupply": {
         "title": "Class of Supply",
         "description": "Class of supply",
         "allOf": [
            {
               "$ref": "#/definitions/ClassOfSupply"
            }
         ]
      },
      "environment": {
         "title": "Environment",
         "description": "Required stowage environment",
         "allOf": [
            {
               "$ref": "#/definitions/Environment"
            }
         ]
      },
      "packingFactor": {
         "title": "Packing Factor",
         "description": "Mass (kg) of packing material (generic COS 5) required per unit",
         "minimum": 0,
         "type": "number"
      },
      "units": {
         "title": "Units",
         "description": "Unit resource label (default: kg)",
         "default": "kg",
         "type": "string"
      },
      "description": {
         "title": "Description",
         "description": "Short description (optional)",
         "type": "string"
      },
      "unitMass": {
         "title": "Unit Mass",
         "description": "Mass (kg) of 1.0 units",
         "exclusiveMinimum": 0,
         "type": "number"
      },
      "unitVolume": {
         "title": "Unit Volume",
         "description": "Volume (m^3) of 1.0 units",
         "minimum": 0,
         "type": "number"
      },
      "type": {
         "title": "Type",
         "description": "Resource type",
         "default": "Discrete",
         "enum": [
            "Discrete"
         ],
         "type": "string"
      }
   },
   "required": [
      "name",
      "classOfSupply",
      "environment",
      "packingFactor",
      "unitMass",
      "unitVolume"
   ],
   "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"
      }
   }
}

field class_of_supply: ClassOfSupply [Required] (alias 'classOfSupply')

Class of supply

field description: Optional[str] = None

Short description (optional)

field environment: Environment [Required]

Required stowage environment

field id: UUID [Optional]

Unique identifier

field name: str [Required]

Resource name

field packing_factor: float [Required] (alias 'packingFactor')

Mass (kg) of packing material (generic COS 5) required per unit

Constraints
  • minimum = 0

field type: typing_extensions.Literal[Discrete] = ResourceType.DISCRETE

Resource type

field unit_mass: float [Required] (alias 'unitMass')

Mass (kg) of 1.0 units

Constraints
  • exclusiveMinimum = 0

field unit_volume: float [Required] (alias 'unitVolume')

Volume (m^3) of 1.0 units

Constraints
  • minimum = 0

field units: str = 'kg'

Unit resource label (default: kg)

Continuous Resource

pydantic model spacenet.schemas.ContinuousResource[source]

A resource instantiated in continuous (floating point) amounts.

Show JSON schema
{
   "title": "ContinuousResource",
   "description": "A resource instantiated in continuous (floating point) amounts.",
   "type": "object",
   "properties": {
      "id": {
         "title": "Id",
         "description": "Unique identifier",
         "type": "string",
         "format": "uuid"
      },
      "name": {
         "title": "Name",
         "description": "Resource name",
         "type": "string"
      },
      "classOfSupply": {
         "title": "Class of Supply",
         "description": "Class of supply",
         "allOf": [
            {
               "$ref": "#/definitions/ClassOfSupply"
            }
         ]
      },
      "environment": {
         "title": "Environment",
         "description": "Required stowage environment",
         "allOf": [
            {
               "$ref": "#/definitions/Environment"
            }
         ]
      },
      "packingFactor": {
         "title": "Packing Factor",
         "description": "Mass (kg) of packing material (generic COS 5) required per unit",
         "minimum": 0,
         "type": "number"
      },
      "units": {
         "title": "Units",
         "description": "Unit resource label (default: kg)",
         "default": "kg",
         "type": "string"
      },
      "description": {
         "title": "Description",
         "description": "Short description (optional)",
         "type": "string"
      },
      "unitMass": {
         "title": "Unit Mass",
         "description": "Mass (kg) of 1.0 units",
         "exclusiveMinimum": 0,
         "type": "number"
      },
      "unitVolume": {
         "title": "Unit Volume",
         "description": "Volume (m^3) of 1.0 units",
         "minimum": 0,
         "type": "number"
      },
      "type": {
         "title": "Type",
         "description": "Resource type",
         "default": "Continuous",
         "enum": [
            "Continuous"
         ],
         "type": "string"
      }
   },
   "required": [
      "name",
      "classOfSupply",
      "environment",
      "packingFactor",
      "unitMass",
      "unitVolume"
   ],
   "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"
      }
   }
}

field class_of_supply: ClassOfSupply [Required] (alias 'classOfSupply')

Class of supply

field description: Optional[str] = None

Short description (optional)

field environment: Environment [Required]

Required stowage environment

field id: UUID [Optional]

Unique identifier

field name: str [Required]

Resource name

field packing_factor: float [Required] (alias 'packingFactor')

Mass (kg) of packing material (generic COS 5) required per unit

Constraints
  • minimum = 0

field type: typing_extensions.Literal[Continuous] = ResourceType.CONTINUOUS

Resource type

field unit_mass: float [Required] (alias 'unitMass')

Mass (kg) of 1.0 units

Constraints
  • exclusiveMinimum = 0

field unit_volume: float [Required] (alias 'unitVolume')

Volume (m^3) of 1.0 units

Constraints
  • minimum = 0

field units: str = 'kg'

Unit resource label (default: kg)

Custom Resources

Resource Amount

pydantic model spacenet.schemas.ResourceAmount[source]

A specified amount of a resource.

Show JSON schema
{
   "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"
   ]
}

field amount: float [Required]

Fixed amount of resource (units)

field resource: UUID [Required]

Resource unique identifier

Resource Amount Rate

pydantic model spacenet.schemas.ResourceAmountRate[source]

A specified amount of a resource type.

Show JSON schema
{
   "title": "ResourceAmountRate",
   "description": "A specified amount of a resource type.",
   "type": "object",
   "properties": {
      "resource": {
         "title": "Resource UUID",
         "description": "Resource unique identifier",
         "type": "string",
         "format": "uuid"
      },
      "rate": {
         "title": "Rate",
         "description": "Time-rate of resource (units/day)",
         "type": "number"
      }
   },
   "required": [
      "resource",
      "rate"
   ]
}

field rate: float [Required]

Time-rate of resource (units/day)

field resource: UUID [Required]

Resource unique identifier

Generic Resources

Generic Resource Amount

pydantic model spacenet.schemas.GenericResourceAmount[source]

A specified amount of a generic resource.

Show JSON schema
{
   "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"
   ],
   "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"
      }
   }
}

field amount: float [Required]

Fixed amount of resource (kg)

field class_of_supply: ClassOfSupply [Required] (alias 'classOfSupply')

Class of supply

field environment: Environment [Required]

Required stowage environment

Generic Resource Amount Rate

pydantic model spacenet.schemas.GenericResourceAmountRate[source]

A specified amount of a generic resource.

Show JSON schema
{
   "title": "GenericResourceAmountRate",
   "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"
            }
         ]
      },
      "rate": {
         "title": "Rate",
         "description": "Time-rate of resource (kg/day)",
         "type": "number"
      }
   },
   "required": [
      "classOfSupply",
      "environment",
      "rate"
   ],
   "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"
      }
   }
}

field class_of_supply: ClassOfSupply [Required] (alias 'classOfSupply')

Class of supply

field environment: Environment [Required]

Required stowage environment

field rate: float [Required]

Time-rate of resource (kg/day)

Environment

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

Enumeration of stowage environments.

Member Type

str

Valid values are as follows:

PRESSURIZED = <Environment.PRESSURIZED: 'Pressurized'>
UNPRESSURIZED = <Environment.UNPRESSURIZED: 'Unpressurized'>

Class of Supply

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

Enumeration of the ten top-level classes of supply and sub-classes of supply.

Member Type

int

Valid values are as follows:

COS_0 = <ClassOfSupply.COS_0: 0>

None

COS_1 = <ClassOfSupply.COS_1: 1>

Propellants and Fuels

COS_2 = <ClassOfSupply.COS_2: 2>

Crew Provisions

COS_3 = <ClassOfSupply.COS_3: 3>

Crew Operations

COS_4 = <ClassOfSupply.COS_4: 4>

Maintenance and Upkeep

COS_5 = <ClassOfSupply.COS_5: 5>

Stowage and Restraint

COS_6 = <ClassOfSupply.COS_6: 6>

Exploration and Research

COS_7 = <ClassOfSupply.COS_7: 7>

Waste and Disposal

COS_8 = <ClassOfSupply.COS_8: 8>

Habitation and Infrastructure

COS_9 = <ClassOfSupply.COS_9: 9>

Transportation and Carriers

COS_10 = <ClassOfSupply.COS_10: 10>

Miscellaneous

COS_101 = <ClassOfSupply.COS_101: 101>

Cryogens

COS_102 = <ClassOfSupply.COS_102: 102>

Hypergols

COS_103 = <ClassOfSupply.COS_103: 103>

Nuclear Fuel

COS_104 = <ClassOfSupply.COS_104: 104>

Petroleum Fuels

COS_105 = <ClassOfSupply.COS_105: 105>

Other Fuels

COS_106 = <ClassOfSupply.COS_106: 106>

Green Propellant

COS_201 = <ClassOfSupply.COS_201: 201>

Water and Support Equipment

COS_202 = <ClassOfSupply.COS_202: 202>

Food and Support Equipment

COS_203 = <ClassOfSupply.COS_203: 203>

Gases

COS_204 = <ClassOfSupply.COS_204: 204>

Hygiene Items

COS_205 = <ClassOfSupply.COS_205: 205>

Clothing

COS_206 = <ClassOfSupply.COS_206: 206>

Personal Items

COS_301 = <ClassOfSupply.COS_301: 301>

Office Equipment and Supplies

COS_302 = <ClassOfSupply.COS_302: 302>

EVA Equipment and Consumables

COS_303 = <ClassOfSupply.COS_303: 303>

Health Equipment and Consumables

COS_304 = <ClassOfSupply.COS_304: 304>

Safety Equipment

COS_305 = <ClassOfSupply.COS_305: 305>

Communications Equipment

COS_306 = <ClassOfSupply.COS_306: 306>

Computers and Support Equipment

COS_401 = <ClassOfSupply.COS_401: 401>

Spares and Repair Parts

COS_402 = <ClassOfSupply.COS_402: 402>

Maintenance Tools

COS_403 = <ClassOfSupply.COS_403: 403>

Lubricants and Bulk Chemicals

COS_404 = <ClassOfSupply.COS_404: 404>

Batteries

COS_405 = <ClassOfSupply.COS_405: 405>

Cleaning Equipment and Consumables

COS_501 = <ClassOfSupply.COS_501: 501>

Cargo Containers and Restraints

COS_502 = <ClassOfSupply.COS_502: 502>

Inventory Management Equipment

COS_601 = <ClassOfSupply.COS_601: 601>

Science Payloads and Instruments

COS_602 = <ClassOfSupply.COS_602: 602>

Field Equipment

COS_603 = <ClassOfSupply.COS_603: 603>

Samples

COS_701 = <ClassOfSupply.COS_701: 701>

Waste

COS_702 = <ClassOfSupply.COS_702: 702>

Waste Management Equipment

COS_703 = <ClassOfSupply.COS_703: 703>

Failed Parts

COS_801 = <ClassOfSupply.COS_801: 801>

Habitation Facilities

COS_802 = <ClassOfSupply.COS_802: 802>

Surface Mobility Systems

COS_803 = <ClassOfSupply.COS_803: 803>

Power Systems

COS_804 = <ClassOfSupply.COS_804: 804>

Robotic Systems

COS_805 = <ClassOfSupply.COS_805: 805>

Resource Utilization Systems

COS_806 = <ClassOfSupply.COS_806: 806>

Orbiting Service Systems

COS_901 = <ClassOfSupply.COS_901: 901>

Carriers, Non-propulsive Elements

COS_902 = <ClassOfSupply.COS_902: 902>

Propulsive Elements

COS_4011 = <ClassOfSupply.COS_4011: 4011>

Spares

COS_4012 = <ClassOfSupply.COS_4012: 4012>

Repair Parts

COS_8041 = <ClassOfSupply.COS_8041: 8041>

Science Robotics

COS_8042 = <ClassOfSupply.COS_8042: 8042>

Construction/Maintenance Robotics

COS_9021 = <ClassOfSupply.COS_9021: 9021>

Launch Vehicles

COS_9022 = <ClassOfSupply.COS_9022: 9022>

Upper Stages/In-Space Propulsion Systems

COS_9023 = <ClassOfSupply.COS_9023: 9023>

Descent Stages

COS_9024 = <ClassOfSupply.COS_9024: 9024>

Ascent Stages