fds package

Subpackages

Submodules

fds.client module

class fds.client.FdsClient(*args, **kwargs)

Bases: object

This class wraps the functions of the Fds API .

MODELS_MAP = {Models.ACTION: {'destroy': <function FdsClient.<lambda>>, 'retrieve': <function FdsClient.<lambda>>, 'retrieve_all': <function FdsClient.<lambda>>}, Models.ACTION_ATTITUDE: {'create': <function FdsClient.<lambda>>, 'destroy': <function FdsClient.<lambda>>, 'object': <class 'spacetower_python_client.models.attitude_action_dto.AttitudeActionDto'>, 'retrieve': <function FdsClient.<lambda>>, 'retrieve_all': <function FdsClient.<lambda>>}, Models.ACTION_FIRING: {'create': <function FdsClient.<lambda>>, 'destroy': <function FdsClient.<lambda>>, 'object': <class 'spacetower_python_client.models.firing_action_dto.FiringActionDto'>, 'retrieve': <function FdsClient.<lambda>>, 'retrieve_all': <function FdsClient.<lambda>>}, Models.ACTION_THRUSTER: {'destroy': <function FdsClient.<lambda>>, 'retrieve': <function FdsClient.<lambda>>, 'retrieve_all': <function FdsClient.<lambda>>}, Models.BATTERY: {'create': <function FdsClient.<lambda>>, 'destroy': <function FdsClient.<lambda>>, 'object': <class 'spacetower_python_client.models.battery_dto.BatteryDto'>, 'retrieve': <function FdsClient.<lambda>>, 'retrieve_all': <function FdsClient.<lambda>>}, Models.CARTESIAN_ORBIT: {'create': <function FdsClient.<lambda>>, 'destroy': <function FdsClient.<lambda>>, 'object': <class 'spacetower_python_client.models.cartesian_orbit_dto.CartesianOrbitDto'>, 'retrieve': <function FdsClient.<lambda>>, 'retrieve_all': <function FdsClient.<lambda>>}, Models.COVARIANCE_MATRIX: {'create': <function FdsClient.<lambda>>, 'destroy': <function FdsClient.<lambda>>, 'object': <class 'spacetower_python_client.models.full_covariance_matrix_dto.FullCovarianceMatrixDto'>, 'retrieve': <function FdsClient.<lambda>>, 'retrieve_all': <function FdsClient.<lambda>>}, Models.DIAGONAL_COVARIANCE_MATRIX: {'create': <function FdsClient.<lambda>>, 'destroy': <function FdsClient.<lambda>>, 'object': <class 'spacetower_python_client.models.diagonal_covariance_matrix_dto.DiagonalCovarianceMatrixDto'>, 'retrieve': <function FdsClient.<lambda>>, 'retrieve_all': <function FdsClient.<lambda>>}, Models.DRAG_COEFFICIENT_ESTIMATION_REQUEST: {'create': <function FdsClient.<lambda>>, 'destroy': <function FdsClient.<lambda>>, 'object': <class 'spacetower_python_client.models.drag_coefficient_estimation_request_input_dto.DragCoefficientEstimationRequestInputDto'>, 'retrieve': <function FdsClient.<lambda>>, 'retrieve_all': <function FdsClient.<lambda>>}, Models.EPHEMERIDES_REQUEST: {'create': <function FdsClient.<lambda>>, 'destroy': <function FdsClient.<lambda>>, 'object': <class 'spacetower_python_client.models.ephemeris_request_dto.EphemerisRequestDto'>, 'retrieve': <function FdsClient.<lambda>>, 'retrieve_all': <function FdsClient.<lambda>>}, Models.EVENT_REQUEST_ORBITAL: {'create': <function FdsClient.<lambda>>, 'destroy': <function FdsClient.<lambda>>, 'object': <class 'spacetower_python_client.models.orbital_events_request_dto.OrbitalEventsRequestDto'>, 'retrieve': <function FdsClient.<lambda>>, 'retrieve_all': <function FdsClient.<lambda>>}, Models.EVENT_REQUEST_SENSOR: {'create': <function FdsClient.<lambda>>, 'destroy': <function FdsClient.<lambda>>, 'object': <class 'spacetower_python_client.models.sensor_event_request_dto.SensorEventRequestDto'>, 'retrieve': <function FdsClient.<lambda>>, 'retrieve_all': <function FdsClient.<lambda>>}, Models.EVENT_REQUEST_STATION_VISIBILITY: {'create': <function FdsClient.<lambda>>, 'destroy': <function FdsClient.<lambda>>, 'object': <class 'spacetower_python_client.models.station_visibility_events_request_dto.StationVisibilityEventsRequestDto'>, 'retrieve': <function FdsClient.<lambda>>, 'retrieve_all': <function FdsClient.<lambda>>}, Models.GROUND_STATION: {'create': <function FdsClient.<lambda>>, 'destroy': <function FdsClient.<lambda>>, 'object': <class 'spacetower_python_client.models.ground_station_dto.GroundStationDto'>, 'retrieve': <function FdsClient.<lambda>>, 'retrieve_all': <function FdsClient.<lambda>>}, Models.KEPLERIAN_ORBIT: {'create': <function FdsClient.<lambda>>, 'destroy': <function FdsClient.<lambda>>, 'object': <class 'spacetower_python_client.models.keplerian_orbit_dto.KeplerianOrbitDto'>, 'retrieve': <function FdsClient.<lambda>>, 'retrieve_all': <function FdsClient.<lambda>>}, Models.MANEUVER_STRATEGY: {'create': <function FdsClient.<lambda>>, 'destroy': <function FdsClient.<lambda>>, 'object': <class 'spacetower_python_client.models.maneuver_strategy_dto.ManeuverStrategyDto'>, 'retrieve': <function FdsClient.<lambda>>, 'retrieve_all': <function FdsClient.<lambda>>}, Models.MEASUREMENT_REQUEST_GPS_NMEA: {'create': <function FdsClient.<lambda>>, 'destroy': <function FdsClient.<lambda>>, 'object': <class 'spacetower_python_client.models.gps_nmea_measurements_request_dto.GpsNmeaMeasurementsRequestDto'>, 'retrieve': <function FdsClient.<lambda>>, 'retrieve_all': <function FdsClient.<lambda>>}, Models.MEASUREMENT_REQUEST_GPS_PV: {'create': <function FdsClient.<lambda>>, 'destroy': <function FdsClient.<lambda>>, 'object': <class 'spacetower_python_client.models.gps_pv_measurements_request_dto.GpsPvMeasurementsRequestDto'>, 'retrieve': <function FdsClient.<lambda>>, 'retrieve_all': <function FdsClient.<lambda>>}, Models.MEASUREMENT_REQUEST_OPTICAL: {'create': <function FdsClient.<lambda>>, 'destroy': <function FdsClient.<lambda>>, 'object': <class 'spacetower_python_client.models.optical_measurements_request_dto.OpticalMeasurementsRequestDto'>, 'retrieve': <function FdsClient.<lambda>>, 'retrieve_all': <function FdsClient.<lambda>>}, Models.MEASUREMENT_REQUEST_RADAR: {'create': <function FdsClient.<lambda>>, 'destroy': <function FdsClient.<lambda>>, 'object': <class 'spacetower_python_client.models.radar_measurements_request_dto.RadarMeasurementsRequestDto'>, 'retrieve': <function FdsClient.<lambda>>, 'retrieve_all': <function FdsClient.<lambda>>}, Models.OEM_REQUEST: {'create': <function FdsClient.<lambda>>, 'destroy': <function FdsClient.<lambda>>, 'object': <class 'spacetower_python_client.models.oem_request_dto.OemRequestDto'>, 'retrieve': <function FdsClient.<lambda>>, 'retrieve_all': <function FdsClient.<lambda>>}, Models.ORBIT: {'destroy': <function FdsClient.<lambda>>, 'retrieve': <function FdsClient.<lambda>>, 'retrieve_all': <function FdsClient.<lambda>>}, Models.ORBITAL_STATE: {'create': <function FdsClient.<lambda>>, 'destroy': <function FdsClient.<lambda>>, 'object': <class 'spacetower_python_client.models.orbital_state_creation_request_dto.OrbitalStateCreationRequestDto'>, 'retrieve': <function FdsClient.<lambda>>, 'retrieve_all': <function FdsClient.<lambda>>}, Models.ORBIT_DETERMINATION_CONFIG: {'create': <function FdsClient.<lambda>>, 'destroy': <function FdsClient.<lambda>>, 'object': <class 'spacetower_python_client.models.ukf_orbit_determination_configuration_dto.UkfOrbitDeterminationConfigurationDto'>, 'retrieve': <function FdsClient.<lambda>>, 'retrieve_all': <function FdsClient.<lambda>>}, Models.PARAMETER_ESTIMATION_REQUEST: {'destroy': <function FdsClient.<lambda>>, 'retrieve': <function FdsClient.<lambda>>, 'retrieve_all': <function FdsClient.<lambda>>}, Models.PROPAGATION_CONTEXT: {'create': <function FdsClient.<lambda>>, 'destroy': <function FdsClient.<lambda>>, 'object': <class 'spacetower_python_client.models.propagation_context_dto.PropagationContextDto'>, 'retrieve': <function FdsClient.<lambda>>, 'retrieve_all': <function FdsClient.<lambda>>}, Models.REFLECTIVITY_COEFFICIENT_ESTIMATION_REQUEST: {'create': <function FdsClient.<lambda>>, 'destroy': <function FdsClient.<lambda>>, 'object': <class 'spacetower_python_client.models.reflectivity_coefficient_estimation_request_input_dto.ReflectivityCoefficientEstimationRequestInputDto'>, 'retrieve': <function FdsClient.<lambda>>, 'retrieve_all': <function FdsClient.<lambda>>}, Models.RESULT_MANEUVER_GENERATION: {'object': <class 'spacetower_python_client.models.maneuver_generation_result_dto.ManeuverGenerationResultDto'>, 'retrieve': <function FdsClient.<lambda>>, 'retrieve_from_use_case': <function FdsClient.<lambda>>}, Models.RESULT_ORBIT_DETERMINATION: {'object': <class 'spacetower_python_client.models.orbit_determination_result_dto.OrbitDeterminationResultDto'>, 'retrieve': <function FdsClient.<lambda>>, 'retrieve_from_use_case': <function FdsClient.<lambda>>}, Models.RESULT_ORBIT_EXTRAPOLATION: {'object': <class 'spacetower_python_client.models.orbit_extrapolation_result_dto.OrbitExtrapolationResultDto'>, 'retrieve': <function FdsClient.<lambda>>, 'retrieve_from_use_case': <function FdsClient.<lambda>>}, Models.RESULT_TLE_EXTRAPOLATION: {'object': <class 'spacetower_python_client.models.tle_extrapolation_result_dto.TleExtrapolationResultDto'>, 'retrieve': <function FdsClient.<lambda>>, 'retrieve_from_use_case': <function FdsClient.<lambda>>}, Models.ROADMAP_FROM_ACTIONS: {'create': <function FdsClient.<lambda>>, 'destroy': <function FdsClient.<lambda>>, 'object': <class 'spacetower_python_client.models.roadmap_from_actions_dto.RoadmapFromActionsDto'>, 'retrieve': <function FdsClient.<lambda>>, 'retrieve_all': <function FdsClient.<lambda>>}, Models.ROADMAP_FROM_SIMULATION: {'destroy': <function FdsClient.<lambda>>, 'retrieve': <function FdsClient.<lambda>>, 'retrieve_all': <function FdsClient.<lambda>>}, Models.SOLAR_ARRAY: {'create': <function FdsClient.<lambda>>, 'destroy': <function FdsClient.<lambda>>, 'object': <class 'spacetower_python_client.models.solar_array_dto.SolarArrayDto'>, 'retrieve': <function FdsClient.<lambda>>, 'retrieve_all': <function FdsClient.<lambda>>}, Models.SPACECRAFT: {'destroy': <function FdsClient.<lambda>>, 'retrieve': <function FdsClient.<lambda>>, 'retrieve_all': <function FdsClient.<lambda>>}, Models.SPACECRAFT_BOX: {'create': <function FdsClient.<lambda>>, 'destroy': <function FdsClient.<lambda>>, 'object': <class 'spacetower_python_client.models.box_spacecraft_input_dto.BoxSpacecraftInputDto'>, 'retrieve': <function FdsClient.<lambda>>, 'retrieve_all': <function FdsClient.<lambda>>}, Models.SPACECRAFT_SPHERE: {'create': <function FdsClient.<lambda>>, 'destroy': <function FdsClient.<lambda>>, 'object': <class 'spacetower_python_client.models.spherical_spacecraft_dto.SphericalSpacecraftDto'>, 'retrieve': <function FdsClient.<lambda>>, 'retrieve_all': <function FdsClient.<lambda>>}, Models.TELEMETRY: {'destroy': <function FdsClient.<lambda>>, 'retrieve': <function FdsClient.<lambda>>, 'retrieve_all': <function FdsClient.<lambda>>}, Models.TELEMETRY_GPS_NMEA: {'create': <function FdsClient.<lambda>>, 'destroy': <function FdsClient.<lambda>>, 'object': <class 'spacetower_python_client.models.gps_nmea_telemetry_dto.GpsNmeaTelemetryDto'>, 'retrieve': <function FdsClient.<lambda>>, 'retrieve_all': <function FdsClient.<lambda>>}, Models.TELEMETRY_GPS_NMEA_RAW: {'create': <function FdsClient.<lambda>>, 'destroy': <function FdsClient.<lambda>>, 'object': <class 'spacetower_python_client.models.gps_nmea_raw_telemetry_dto.GpsNmeaRawTelemetryDto'>, 'retrieve': <function FdsClient.<lambda>>, 'retrieve_all': <function FdsClient.<lambda>>}, Models.TELEMETRY_GPS_PV: {'create': <function FdsClient.<lambda>>, 'destroy': <function FdsClient.<lambda>>, 'object': <class 'spacetower_python_client.models.gps_pv_telemetry_dto.GpsPvTelemetryDto'>, 'retrieve': <function FdsClient.<lambda>>, 'retrieve_all': <function FdsClient.<lambda>>}, Models.TELEMETRY_OPTICAL: {'create': <function FdsClient.<lambda>>, 'destroy': <function FdsClient.<lambda>>, 'object': <class 'spacetower_python_client.models.optical_telemetry_dto.OpticalTelemetryDto'>, 'retrieve': <function FdsClient.<lambda>>, 'retrieve_all': <function FdsClient.<lambda>>}, Models.TELEMETRY_RADAR: {'create': <function FdsClient.<lambda>>, 'destroy': <function FdsClient.<lambda>>, 'object': <class 'spacetower_python_client.models.radar_telemetry_dto.RadarTelemetryDto'>, 'retrieve': <function FdsClient.<lambda>>, 'retrieve_all': <function FdsClient.<lambda>>}, Models.THRUSTER: {'destroy': <function FdsClient.<lambda>>, 'retrieve': <function FdsClient.<lambda>>, 'retrieve_all': <function FdsClient.<lambda>>}, Models.THRUSTER_CHEMICAL: {'create': <function FdsClient.<lambda>>, 'destroy': <function FdsClient.<lambda>>, 'object': <class 'spacetower_python_client.models.chemical_thruster_dto.ChemicalThrusterDto'>, 'retrieve': <function FdsClient.<lambda>>, 'retrieve_all': <function FdsClient.<lambda>>}, Models.THRUSTER_ELECTRICAL: {'create': <function FdsClient.<lambda>>, 'destroy': <function FdsClient.<lambda>>, 'object': <class 'spacetower_python_client.models.electrical_thruster_dto.ElectricalThrusterDto'>, 'retrieve': <function FdsClient.<lambda>>, 'retrieve_all': <function FdsClient.<lambda>>}, Models.THRUST_VECTOR_ESTIMATION_REQUEST: {'create': <function FdsClient.<lambda>>, 'destroy': <function FdsClient.<lambda>>, 'object': <class 'spacetower_python_client.models.thrust_vector_estimation_request_input_dto.ThrustVectorEstimationRequestInputDto'>, 'retrieve': <function FdsClient.<lambda>>, 'retrieve_all': <function FdsClient.<lambda>>}}
class Models(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: str, Enum

ACTION = 'ACTION'
ACTION_ATTITUDE = 'ACTION_ATTITUDE'
ACTION_FIRING = 'ACTION_FIRING'
ACTION_QUATERNION = 'ACTION_QUATERNION'
ACTION_THRUSTER = 'ACTION_THRUSTER'
BATTERY = 'BATTERY'
CARTESIAN_ORBIT = 'CARTESIAN_ORBIT'
COVARIANCE_MATRIX = 'COVARIANCE_MATRIX'
DIAGONAL_COVARIANCE_MATRIX = 'DIAGONAL_COVARIANCE_MATRIX'
DRAG_COEFFICIENT_ESTIMATION_REQUEST = 'DRAG_COEFFICIENT_ESTIMATION_REQUEST'
EPHEMERIDES_REQUEST = 'EPHEMERIDES_REQUEST'
EVENT_REQUEST_ORBITAL = 'EVENT_REQUEST_ORBITAL'
EVENT_REQUEST_SENSOR = 'EVENT_REQUEST_SENSOR'
EVENT_REQUEST_STATION_VISIBILITY = 'EVENT_REQUEST_STATION_VISIBILITY'
GROUND_STATION = 'GROUND_STATION'
KEPLERIAN_ORBIT = 'KEPLERIAN_ORBIT'
MANEUVER_STRATEGY = 'MANEUVER_STRATEGY'
MEASUREMENT_REQUEST_GPS_NMEA = 'MEASUREMENT_REQUEST_GPS_NMEA'
MEASUREMENT_REQUEST_GPS_PV = 'MEASUREMENT_REQUEST_GPS_PV'
MEASUREMENT_REQUEST_OPTICAL = 'MEASUREMENT_REQUEST_OPTICAL'
MEASUREMENT_REQUEST_RADAR = 'MEASUREMENT_REQUEST_RADAR'
OEM_REQUEST = 'OEM_REQUEST'
ORBIT = 'ORBIT'
ORBITAL_STATE = 'ORBITAL_STATE'
ORBIT_DETERMINATION_CONFIG = 'ORBIT_DETERMINATION_CONFIG'
PARAMETER_ESTIMATION_REQUEST = 'PARAMETER_ESTIMATION_REQUEST'
PROPAGATION_CONTEXT = 'PROPAGATION_CONTEXT'
REFLECTIVITY_COEFFICIENT_ESTIMATION_REQUEST = 'REFLECTIVITY_COEFFICIENT_ESTIMATION_REQUEST'
RESULT_MANEUVER_GENERATION = 'RESULT_MANEUVER_GENERATION'
RESULT_ORBIT_DETERMINATION = 'RESULT_ORBIT_DETERMINATION'
RESULT_ORBIT_EXTRAPOLATION = 'RESULT_ORBIT_EXTRAPOLATION'
RESULT_TLE_EXTRAPOLATION = 'RESULT_TLE_EXTRAPOLATION'
ROADMAP_FROM_ACTIONS = 'ROADMAP_FROM_ACTIONS'
ROADMAP_FROM_SIMULATION = 'ROADMAP_FROM_SIMULATION'
SOLAR_ARRAY = 'SOLAR_ARRAY'
SPACECRAFT = 'SPACECRAFT'
SPACECRAFT_BOX = 'SPACECRAFT_BOX'
SPACECRAFT_SPHERE = 'SPACECRAFT_SPHERE'
TELEMETRY = 'TELEMETRY'
TELEMETRY_GPS_NMEA = 'TELEMETRY_GPS_NMEA'
TELEMETRY_GPS_NMEA_RAW = 'TELEMETRY_GPS_NMEA_RAW'
TELEMETRY_GPS_PV = 'TELEMETRY_GPS_PV'
TELEMETRY_OPTICAL = 'TELEMETRY_OPTICAL'
TELEMETRY_RADAR = 'TELEMETRY_RADAR'
THRUSTER = 'THRUSTER'
THRUSTER_CHEMICAL = 'THRUSTER_CHEMICAL'
THRUSTER_ELECTRICAL = 'THRUSTER_ELECTRICAL'
THRUST_VECTOR_ESTIMATION_REQUEST = 'THRUST_VECTOR_ESTIMATION_REQUEST'
USE_CASES_MAP = {UseCases.MANEUVER_GENERATION: {'command': <class 'spacetower_python_client.models.maneuver_generation_input_dto.ManeuverGenerationInputDto'>, 'retrieve': <function FdsClient.<lambda>>, 'runner': <function FdsClient.<lambda>>}, UseCases.ORBIT_DETERMINATION: {'command': <class 'spacetower_python_client.models.ukf_orbit_determination_input_dto.UkfOrbitDeterminationInputDto'>, 'retrieve': <function FdsClient.<lambda>>, 'runner': <function FdsClient.<lambda>>}, UseCases.ORBIT_EXTRAPOLATION: {'command': <class 'spacetower_python_client.models.orbit_extrapolation_input_dto.OrbitExtrapolationInputDto'>, 'retrieve': <function FdsClient.<lambda>>, 'runner': <function FdsClient.<lambda>>}, UseCases.TLE_EXTRAPOLATION: {'command': <class 'spacetower_python_client.models.tle_extrapolation_dto.TleExtrapolationDto'>, 'retrieve': <function FdsClient.<lambda>>, 'runner': <function FdsClient.<lambda>>}}
class UseCases(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: str, Enum

MANEUVER_GENERATION = 'MANEUVER_GENERATION'
ORBIT_DETERMINATION = 'ORBIT_DETERMINATION'
ORBIT_EXTRAPOLATION = 'ORBIT_EXTRAPOLATION'
TLE_EXTRAPOLATION = 'TLE_EXTRAPOLATION'
property api_config
property api_url_msg
create_object(object_type: str, **kwargs) object
destroy_object(object_type: str, client_id: str) None
get_api_client()
classmethod get_client()
static get_id(obj: object | dict)

The following is only needed because objects returned are sometimes classes, sometimes dicts (at the current client version, to be fixed in future releases)

model_exists(model_type: str, client_id: str)
retrieve_all(model_type: str)
retrieve_model(model_type: str, client_id: str)
retrieve_result_from_use_case(model_type: str, use_case_client_id: str)
retrieve_use_case(use_case_type: str, client_id: str)
run_use_case(use_case_type: str, **kwargs)
use_case_exists(use_case_type: str, client_id: str)
class fds.client.SingletonMeta

Bases: type

fds.config module

class fds.config.Config(client_id: str = '')

Bases: object

api_key = 'ArgI4ianwmOptKGJ6WB5LkmITsekujhO'
api_url = 'https://api.spacetower.exotrail.space/fds/test/'
client_id: str = ''
client_secret = ''
instrumentation = True
proxy = None
station_keeping_api_url = 'http://numerical-leo-station-keeping.exoops.37.59.31.223.sslip.io/'
fds.config.get_api_key()
fds.config.get_api_url()
fds.config.get_client_id()
fds.config.get_client_secret()
fds.config.get_proxy()
fds.config.get_station_keeping_api_url()
fds.config.set_api_key(token: str)
fds.config.set_api_url(url: str)
fds.config.set_client_id(client_id: str)
fds.config.set_client_secret(client_secret: str)
fds.config.set_station_keeping_api_url(url: str)

fds.constants module

Module contents