Source code for tatc.schemas.architecture

# -*- coding: utf-8 -*-
"""
Object schemas for architectures.

@author: Paul T. Grogan <paul.grogan@asu.edu>
"""

from typing import List, Union

from pydantic import BaseModel, Field

from .satellite import (
    Satellite,
    TrainConstellation,
    WalkerConstellation,
    MOGConstellation,
)
from .point import GroundStation


[docs] class Architecture(BaseModel): """ Mission architecture. """ name: str = Field(..., description="Name of this mission.") satellites: List[ Union[Satellite, TrainConstellation, WalkerConstellation, MOGConstellation] ] = Field([], description="List of member space systems.") stations: List[GroundStation] = Field( [], description="List of member ground stations." )