satcat.sdk.events package#

Submodules#

class satcat.sdk.events.event_client.EventClient(client)#

Bases: object

client: Client#
download_conjunction(cdm_id, file_format='json', satcat_updated=True)#

Downloads a specific conjunction message file by its CDM ID or key.

Parameters:
  • cdm_id (str) – The CDM ID or key of the conjunction to retrieve.

  • updated (Optional[bool]) – Flag indicating whether to retrieve the updated version of the conjunction file. Defaults to False.

  • file_format (Optional[str]) – The desired file format for the conjunction file (e.g., “json”). Defaults to “json”.

  • satcat_updated (bool) – Flag indicating whether to retrieve the Satcat-updated version of the conjunction file. This updated version would contain the remediated collision probability value computed by Satcat as well as the updated exclusion volume radius (HBR) values used to compute them. Defaults to True.

Returns:

The content of the retrieved conjunction file.

Return type:

bytes

get_conjunction(cdm_id)#

Get a specific conjunction by its cdm_id or key. Note that this returns a more details Conjunction description than the screening conjunction endpoint.

Parameters:

cdm_id (str) – the cdm_id or cdm key of the conjunction to retrieve.

Returns:

The retrieved conjunction.

Return type:

ConjunctionDetailed

get_conjunction_ccsds(cdm_id)#

Get a specific conjunction by its cdm_id or key in CCSDS format. Note that this returns a more details Conjunction description than the screening conjunction endpoint.

Parameters:

cdm_id (str) – the cdm_id or cdm key of the conjunction to retrieve.

Returns:

The retrieved conjunction.

Return type:

dict

list_conjunctions(filters=None, count=None, sort_field='created_at', sort_direction=SortDirection.DESC)#

List available conjunctions

Parameters:
  • filters (Optional[List[Dict]], optional) – Filters to apply to the list of resources, defaults to None.

  • count (Optional[int], optional) – Maximum number of results to return. If None, return the entire collection. Defaults to None.

  • sort_field (str, optional) – The field on which to sort results, defaults to DEFAULT_SORT_FIELD.

  • sort_direction (str, optional) – The direction in which to sort results, defaults to “asc”.

Returns:

The retrieved collection of resources.

Return type:

Collection[ConjunctionMinimal]

list_conjunctions_ccsds(filters=None, count=None, sort_field='created_at', sort_direction=SortDirection.DESC)#

List available conjunctions in CCSDS format

Parameters:
  • filters (Optional[List[Dict]], optional) – Filters to apply to the list of resources, defaults to None.

  • count (Optional[int], optional) – Maximum number of results to return. If None, return the entire collection. Defaults to None.

  • sort_field (str, optional) – The field on which to sort results, defaults to DEFAULT_SORT_FIELD.

  • sort_direction (str, optional) – The direction in which to sort results, defaults to “asc”.

Returns:

The retrieved collection of resources.

Return type:

Collection[dict]

list_event_conjunctions(event_key, filters=None, count=None, sort_field='created_at', sort_direction=SortDirection.DESC)#

List available conjunctions for a specific event

Parameters:
  • event_key (str) – The key of the event to filter by.

  • filters (Optional[List[Dict]], optional) – Filters to apply to the list of resources, defaults to None.

  • count (Optional[int], optional) – Maximum number of results to return. If None, return the entire collection. Defaults to None.

  • sort_field (str, optional) – The field on which to sort results, defaults to DEFAULT_SORT_FIELD.

  • sort_direction (str, optional) – The direction in which to sort results, defaults to “asc”.

Returns:

The retrieved collection of resources.

Return type:

Collection[ConjunctionMinimal]

list_events(filters=None, count=None, sort_field='created_at', sort_direction=SortDirection.DESC)#

List available events

Parameters:
  • filters (Optional[List[Dict]], optional) – Filters to apply to the list of resources, defaults to None.

  • count (Optional[int], optional) – Maximum number of results to return. If None, return the entire collection. Defaults to None.

  • sort_field (str, optional) – The field on which to sort results, defaults to DEFAULT_SORT_FIELD.

  • sort_direction (str, optional) – The direction in which to sort results, defaults to “asc”.

Returns:

The retrieved collection of resources.

Return type:

Collection[Event]

request_cdm_pc_method(cdm, method)#

Requests a specific collision probability method for a conjunction message by its CDM ID or key.

Parameters:
  • cdm (Union[ConjunctionDetailed, str]) – The Conjunction object to request the collision probability method for, or a string representing the CDM ID or key (e.g. “CDM-S123456”).

  • method (PCRemediationMethod) – The PC method to request.

Returns:

The content of the CDM in CCSDS JSON format with the requested PC method populated in the standard COLLISION_PROBABILITY field.

Return type:

Dict

class satcat.sdk.events.models.ConjunctionDetailed(**data)#

Bases: ConjunctionMinimal

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

Raises ValidationError if the input data cannot be parsed to form a valid model.

angle_of_approach: Optional[float]#
created_at: datetime#
designation: Optional[str]#
event_id: str#
frisbee_collision_probability: Optional[float]#
frisbee_collision_probability_method: Optional[str]#
id: str#
is_intra_org: Optional[bool]#
key_number: Optional[int]#
mahalanobis_distance: Optional[float]#
original_cdm_pc: Optional[float]#
primary: Optional[RSODetailed]#
primary_state: Optional[SpacecraftConjunctionState]#
relative_miss_sig_m: Optional[float]#
relative_position_c_km: Optional[float]#
relative_position_i_km: Optional[float]#
relative_position_r_km: Optional[float]#
relative_sig_ct_u_m: Optional[float]#
relative_sig_it_u_m: Optional[float]#
relative_sig_r_u_m: Optional[float]#
relative_velocity_c_km_s: Optional[float]#
relative_velocity_i_km_s: Optional[float]#
relative_velocity_mag_km_s: Optional[float]#
relative_velocity_r_km_s: Optional[float]#
secondary: Optional[RSODetailed]#
secondary_state: Optional[SpacecraftConjunctionState]#
updated_at: datetime#
class satcat.sdk.events.models.ConjunctionMinimal(**data)#

Bases: Model

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

Raises ValidationError if the input data cannot be parsed to form a valid model.

cdm_id: Optional[int]#
collision_probability: Optional[float]#
collision_probability_method: Optional[str]#
creation_date: Optional[datetime]#
event_id: str#
key: Optional[str]#
miss_distance_km: float#
original_collision_probability: Optional[float]#
original_collision_probability_method: Optional[str]#
originator: Optional[str]#
primary: Optional[RSO]#
secondary: Optional[RSO]#
tca: datetime#
class satcat.sdk.events.models.Event(**data)#

Bases: Model

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

Raises ValidationError if the input data cannot be parsed to form a valid model.

created_at: datetime#
default_cdm: Optional[ConjunctionMinimal]#
id: str#
key: str#
tca_range_end: datetime#
tca_range_start: datetime#
updated_at: datetime#
class satcat.sdk.events.models.PCRemediationMethod(value)#

Bases: str, Enum

An enumeration.

FRISBEE = 'frisbee'#
HALL = 'hall'#
MULTISTEP = 'multistep'#
class satcat.sdk.events.models.RSODetailed(**data)#

Bases: RSO

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

Raises ValidationError if the input data cannot be parsed to form a valid model.

id: str#
interational_id: Optional[str]#
rso_metadata: Optional[RSOMetadataModel]#
class satcat.sdk.events.models.RSOMetadataModel(**data)#

Bases: Model

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

Raises ValidationError if the input data cannot be parsed to form a valid model.

country: Optional[str]#
class satcat.sdk.events.models.SpacecraftConjunctionState(**data)#

Bases: Model

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

Raises ValidationError if the input data cannot be parsed to form a valid model.

altitude_km: Optional[float]#
cdrg_drg: Optional[float]#
cdrg_n: Optional[float]#
cdrg_ndot: Optional[float]#
cdrg_r: Optional[float]#
cdrg_rdot: Optional[float]#
cdrg_t: Optional[float]#
cdrg_tdot: Optional[float]#
cn_n: Optional[float]#
cn_r: Optional[float]#
cn_t: Optional[float]#
cndot_n: Optional[float]#
cndot_ndot: Optional[float]#
cndot_r: Optional[float]#
cndot_rdot: Optional[float]#
cndot_t: Optional[float]#
cndot_tdot: Optional[float]#
comment_covariance_scale_factor: Optional[str]#
comment_exclusion_volume_radius: Optional[str]#
comment_screening_data_source: Optional[str]#
covariance_method: Optional[str]#
cr_r: Optional[float]#
crdot_n: Optional[float]#
crdot_r: Optional[float]#
crdot_rdot: Optional[float]#
crdot_t: Optional[float]#
csrp_drg: Optional[float]#
csrp_n: Optional[float]#
csrp_ndot: Optional[float]#
csrp_r: Optional[float]#
csrp_rdot: Optional[float]#
csrp_srp: Optional[float]#
csrp_t: Optional[float]#
csrp_tdot: Optional[float]#
ct_r: Optional[float]#
ct_t: Optional[float]#
ctdot_n: Optional[float]#
ctdot_r: Optional[float]#
ctdot_rdot: Optional[float]#
ctdot_t: Optional[float]#
ctdot_tdot: Optional[float]#
ephemeris_id: Optional[UUID]#
ephemeris_name: Optional[str]#
hbr_m: Optional[str]#
intrack_thrust: Optional[str]#
ref_frame: Optional[str]#
screening_id: Optional[UUID]#
time_lastob_end: Optional[datetime]#
time_lastob_start: Optional[datetime]#
x_dot_km: Optional[float]#
x_km: Optional[float]#
y_dot_km: Optional[float]#
y_km: Optional[float]#
z_dot_km: Optional[float]#
z_km: Optional[float]#