satcat.sdk.screening package#
Submodules#
- class satcat.sdk.screening.models.Catalog(**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.
-
archived:
Optional
[bool
]#
-
catalog_type:
Optional
[str
]#
-
epoch:
Optional
[datetime
]#
-
filename:
Optional
[str
]#
-
id:
str
#
-
ready:
Optional
[bool
]#
-
archived:
- class satcat.sdk.screening.models.Conjunction(**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
]#
-
created_at:
Optional
[datetime
]#
-
id:
Optional
[str
]#
- property key: str#
-
key_number:
int
#
-
launch_time:
Optional
[datetime
]#
-
miss_distance_km:
float
#
-
originator:
Optional
[str
]#
-
tca:
datetime
#
-
cdm_id:
- class satcat.sdk.screening.models.CoverageLevel(value)#
Bases:
str
,Enum
An enumeration.
- FULL = 'FULL'#
- NO_OVERLAP = 'NO_OVERLAP'#
- PARTIAL = 'PARTIAL'#
- class satcat.sdk.screening.models.Ephemeris(**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.
-
apogee_km:
Optional
[float
]#
-
archived:
Optional
[bool
]#
-
comments:
Optional
[str
]#
-
context:
Optional
[EphemerisContext
]#
-
current_operational:
Optional
[bool
]#
-
data_format:
Optional
[str
]#
-
designation:
Optional
[EphemerisDesignation
]#
-
ephemeris_source:
Union
[EphemerisSource
,str
,None
]#
-
filename:
Optional
[str
]#
-
has_covariance:
Optional
[bool
]#
-
hbr_m:
Optional
[float
]#
-
id:
Optional
[str
]#
-
launch_time:
Optional
[datetime
]#
-
norad_id:
Optional
[int
]#
-
perigee_km:
Optional
[float
]#
-
solution_time:
Optional
[datetime
]#
-
usable_time_end:
Optional
[datetime
]#
-
usable_time_start:
Optional
[datetime
]#
-
user_id:
Optional
[str
]#
-
apogee_km:
- class satcat.sdk.screening.models.EphemerisContext(value)#
Bases:
str
,Enum
An enumeration.
- COLA = 'COLA'#
- DECAY = 'DECAY'#
- MAINTENANCE = 'MAINTENANCE'#
- NOVEL = 'NOVEL'#
- ROUTINE = 'ROUTINE'#
- class satcat.sdk.screening.models.EphemerisDesignation(value)#
Bases:
str
,Enum
An enumeration.
- DEFINITIVE = 'DEFINITIVE'#
- OPERATIONAL = 'OPERATIONAL'#
- PREDICTIVE = 'PREDICTIVE'#
- THEORETICAL = 'THEORETICAL'#
- class satcat.sdk.screening.models.EphemerisGroup(value)#
Bases:
str
,Enum
An enumeration.
- OPERATOR_REPOSITORY = 'OPERATOR_REPOSITORY'#
- class satcat.sdk.screening.models.EphemerisSource(value)#
Bases:
str
,Enum
An enumeration.
- CATALOG = 'CATALOG'#
- KAYHAN_INTERNAL_PROCESS = 'KAYHAN_INTERNAL_PROCESS'#
- PATHFINDER_API = 'PATHFINDER_API'#
- PATHFINDER_AUTO_THIRDPARTY = 'PATHFINDER_AUTO_THIRDPARTY'#
- SATCAT_API = 'SATCAT_API'#
- SPACE_TRACK_PUBLIC = 'SPACE_TRACK_PUBLIC'#
- STARLINK_API_PUBLIC = 'STARLINK_API_PUBLIC'#
- TERTIARY_SCREENER = 'TERTIARY_SCREENER'#
- USER_SCREENER = 'USER_SCREENER'#
- class satcat.sdk.screening.models.EphemerisType(value)#
Bases:
str
,Enum
An enumeration.
- LAUNCH = 'LAUNCH'#
- ON_ORBIT = 'ON_ORBIT'#
- class satcat.sdk.screening.models.ExternalCatalog(value)#
Bases:
str
,Enum
An enumeration.
- STARLINK = 'STARLINK'#
- class satcat.sdk.screening.models.GeminiScreening(**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.
-
conjunctions_under_thresholds_count:
Optional
[int
]#
-
id:
str
#
-
status:
str
#
-
conjunctions_under_thresholds_count:
- class satcat.sdk.screening.models.HardBodyShape(value)#
Bases:
str
,Enum
An enumeration.
- CIRCLE = 'CIRCLE'#
- SQUARE = 'SQUARE'#
- class satcat.sdk.screening.models.RSO(**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.
-
norad_id:
int
#
-
object_name:
Optional
[str
]#
-
object_type:
Optional
[str
]#
-
norad_id:
- class satcat.sdk.screening.models.Screenable(**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.
-
catalog_id:
Optional
[str
]#
-
coverage_level:
Optional
[CoverageLevel
]#
-
coverage_ratio:
Optional
[float
]#
-
ephemeris_group:
Optional
[EphemerisGroup
]#
-
ephemeris_id:
Optional
[str
]#
-
external_catalogs:
Optional
[List
[ExternalCatalog
]]#
-
norad_id:
Optional
[int
]#
-
propagation:
Optional
[Propagation
]#
-
propagation_id:
Optional
[str
]#
-
usable_time_end:
Optional
[datetime
]#
-
usable_time_start:
Optional
[datetime
]#
-
catalog_id:
- class satcat.sdk.screening.models.Screening(**data)#
Bases:
ScreeningConfiguration
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.
-
completed_at:
Optional
[datetime
]#
-
conjunctions_count:
Optional
[int
]#
-
coverage_level:
Optional
[CoverageLevel
]#
-
coverage_ratio:
Optional
[float
]#
-
created_at:
Optional
[datetime
]#
-
id:
str
#
-
percent_complete:
Optional
[float
]#
-
primaries_count:
Optional
[int
]#
- property primary_ids_preview: List[int]#
-
screening_type:
Optional
[ScreeningType
]#
-
secondaries_count:
Optional
[int
]#
-
started_at:
Optional
[datetime
]#
-
status:
Optional
[str
]#
-
updated_at:
Optional
[datetime
]#
-
completed_at:
- class satcat.sdk.screening.models.ScreeningConfiguration(**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.
-
auto_archive:
bool
#
-
default_secondary_hbr_m:
float
#
-
hard_body_shape:
HardBodyShape
#
-
include_primary_vs_primary:
bool
#
-
launch_window_cadence_s:
Optional
[float
]#
-
launch_window_end:
Optional
[datetime
]#
-
launch_window_start:
Optional
[datetime
]#
-
notes:
Optional
[str
]#
-
propagation_start_time:
Optional
[datetime
]#
-
screening_type:
ScreeningType
#
-
threshold_radius_active_km:
Optional
[float
]#
-
threshold_radius_debris_km:
Optional
[float
]#
-
threshold_radius_km:
float
#
-
threshold_radius_manned_km:
Optional
[float
]#
-
title:
Optional
[str
]#
-
auto_archive:
- class satcat.sdk.screening.models.ScreeningType(value)#
Bases:
str
,Enum
An enumeration.
- LAUNCH = 'LAUNCH'#
- ON_ORBIT = 'ON_ORBIT'#
- class satcat.sdk.screening.screening_client.ScreeningClient(client)#
Bases:
object
- add_screening_primary(screening, primary=None, norad_id=None, from_best_catalog=True)#
Add a primary to a screening.
- Parameters:
screening (Screening) – The screening to modify.
primary (ScreenableObject) – The object to add to the screening.
norad_id (Optional[int], optional) –
Shortcut field to add an Ephemeris from a Catalog by its Norad Catalog ID. This field may only be used alongside primary if primary is a Catalog to add the ephemeris for a specific object from a Catalog by Norad ID to the screening. This is equivalent to explicitly adding the Ephemeris from the catalog to the screening directly.
For example, if you wanted to add object 25544’s ephemeris from a given catalog to a screening, you might use:
client.screening.add_screening_primary(screening, catalog, norad_id=25544)
- Returns:
The added Screenable.
- Return type:
- add_screening_secondary(screening, secondary, norad_id=None)#
Add a secondary to a screening.
- Parameters:
screening (Screening) – The screening to modify.
secondary (ScreenableObject) – The object to add to the screening.
norad_id (Optional[int], optional) –
Shortcut field to add an Ephemeris from a Catalog by its Norad Catalog ID. This field may only be used alongside primary if primary is a Catalog to add the ephemeris for a specific object from a Catalog by Norad ID to the screening. This is equivalent to explicitly adding the Ephemeris from the catalog to the screening directly.
For example, if you wanted to add object 25544’s ephemeris from a given catalog to a screening, you might use:
client.screening.add_screening_primary(screening, catalog, norad_id=25544)
- Returns:
The added Screenable.
- Return type:
- await_screening_completion(screening, poll_interval=5, timeout=3600)#
Synchronously await the completion of a screening.
- Parameters:
screening (Screening) – The screening to await.
poll_interval (int, optional) – Interval in seconds with which to poll for results. Defaults to 5.
timeout (int, optional) – Length in seconds after which the request should time out.
TimeoutError
is raised if the timeout expires before the screening is completed. Defaults to 3600.
- Returns:
The completed Screening.
- Return type:
- await_screening_completion_percent_generator(screening, poll_interval=5, timeout=3600)#
- Return type:
- create_ephemeris(path_or_buf, file_format='AUTOMATIC', norad_id=None, filename=None, comments=None, hbr_m=None, context=None, designation=None)#
- Upload an Ephemeris file to the server.
Note
Uploading an Ephemeris does not automatically trigger it to be screened. For this, you can use create_screening.
- Parameters:
path_or_buf (Union[PathLike, BinaryIO]) – Path to an ephemeris file, or alternatively an open binary file-like object containing the contents of an ephemeris file. Note that the file should be opened in binary mode, even if the ephemeris file format is a common plaintext format.
file_format (str) – The file format. By default, the format will be automatically detected based on the file content.
norad_id (Optional[int]) –
The NORAD Catalog ID of the object which the ephemeris file describes.
Note
Specifying the NORAD Catalog ID helps Kayhan ensure that the Ephemeris is not screened against other Ephemerides from the same object. While the NORAD Catalog ID field is optional to support Launch Screening and early-deployment screenings, we strongly recommend that you specify it for all on-orbit Ephemerides.
filename (Optional[str], optional) – The filename of the ephemeris file. If
path_or_buf
is aPath
, the filename will be automatically determined. Defaults to Nonecomments (Optional[str], optional) – Optional user-defined comments to attach to the file metadata. Defaults to None
hbr_m (Optional[float]) – The hard-body radius of the object in meters
context (Union[EphemerisContext, str, None]) – The Pathfinder context metadata for the ephemeris. For more information, see https://app.satcat.io/docs/pathfinder/operational-data/#ephemeris-metadata.
designation (Union[EphemerisDesignation, str, None]) – The Pathfinder designation metadata for the ephemeris. For more information, see https://app.satcat.io/docs/pathfinder/operational-data/#ephemeris-metadata.
- Returns:
The created Ephemeris
- Return type:
- create_screening(config=None, primaries=None, secondaries=None, add_best_secondary_catalog=False, add_operational_ephemeris_repository=False, submit=False)#
Create a Screening on the server.
- Parameters:
config (ScreeningConfiguration) – The configuration with which to run the screening.
primaries (Optional[List[Screenable]], optional) – The list of primaries which should be screened.
secondaries (Optional[List[Screenable]], optional) – The list of secondaries which should be screened against.
add_best_secondary_catalog (bool, optional) – Whether the secondary catalog determined by the application as “Best” (latest updated data and highest-fidelity available data source) should be automatically added to the screening.
add_operational_ephemeris_repository (bool, optional) – Whether all ephemeris with a designation of
OPERATIONAL
and with ausable_time_end
in the future should be automatically added to the screening.submit (bool, optional) – Whether to submit the screening instantly. If
False
, the screening may be submitted later usingclient.screening.submit_screening(screening)
.
- Returns:
The created Screening.
- Return type:
- download_ephemeris(id, file_format)#
Download the content of an ephemeris as a serialized ephemeris file.
- Parameters:
id (str) – The ID of the resource to retrieve.
file_format (str) –
The file format to download the ephemeris in.
Note: Only the formats
"OEM"
and"NASA"
are currently supported. This field is case insensitive.
- Returns:
A file-like object opened in text mode containing the contents of the formatted ephemeris file.
- Return type:
TextIO
- get_api_spec()#
Retrieve the OpenAPI specification from the server.
- Return type:
dict
- get_catalog(id)#
Get a Catalog by ID from the server.
- Parameters:
id (str) – The ID of the resource to retrieve.
- Returns:
The retrieved Catalog.
- Return type:
- get_conjunction_ccsds(screening_id, conjunction_id)#
List single Conjunction in CCSDS format which belong to a Screening by the Screenings’s ID.
- Parameters:
screening_id (str) – ID of Screening job for conjunctions
conjunction_id (str) – ID of individual Conjunction
- Returns:
The Conjunction resource.
- Return type:
Dict[str, Any]
- get_ephemeris(id)#
Get an Ephemeris by ID from the server.
- Parameters:
id (str) – The ID of the resource to retrieve.
- Returns:
The retrieved Ephemeris.
- Return type:
- get_latest_catalog(catalog_type='SP')#
Get the latest ready catalog for a given catalog type which is not archived.
- Parameters:
catalog_type (str, optional) – The catalog type to retrieve, defaults to BEST_CATALOG_TYPE.
- Returns:
The retrieved catalog.
- Return type:
- get_screening(id)#
Get a Screening by ID from the server.
- Parameters:
id (str) – The ID of the resource to retrieve.
- Returns:
The retrieved Screening.
- Return type:
- list_catalog_ephemerides(id, filters=None, count=None, sort_field='created_at', sort_direction=SortDirection.DESC)#
List the Ephemerides which belong to a Catalog by the Catalog’s ID.
- 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[Ephemeris]
- list_catalogs(filters=None, count=None, latest=False, sort_field='created_at', sort_direction=SortDirection.DESC)#
List the Catalogs to which the authenticated user has access.
- 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[Catalog]
- list_conjunctions(screening_id, filters=None, count=None, sort_field='created_at', sort_direction=SortDirection.DESC)#
List the Conjunctions which were generated by a Screening.
- Parameters:
screening_id (str) – The id of the screening.
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[Conjunction]
- list_conjunctions_ccsds(screening_id, filters=None, count=None, sort_field='created_at', sort_direction=SortDirection.DESC)#
List the Conjunctions in CCSDS format which belong to a Screening by the Screenings’s ID.
- Parameters:
screening_id (str) – ID of Screening job for conjunctions
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:
List[Dict[str, Any]]
- list_ephemerides(filters=None, count=None, sort_field='created_at', sort_direction=SortDirection.DESC)#
List the Ephemerides to which the authenticated user has access.
- 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[Ephemeris]
- list_ephemeris_formats()#
Retrieve the list of supported ephemeris file formats.
- Return type:
Collection
[str
]
- list_screening_primaries(screening_id, filters=None, count=None, sort_field='created_at', sort_direction=SortDirection.DESC)#
List the primaries attached to a screening.
- Parameters:
screening_id (str) – The id of the screening.
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”.
- Return type:
Collection
[Screenable
]- Returns:
The retrieved collection of resources.
:r type: Collection[models.Screenable]
- list_screening_secondaries(screening_id, filters=None, count=None, sort_field='created_at', sort_direction=SortDirection.DESC)#
List the secondaries attached to a screening.
- Parameters:
screening_id (str) – The id of the screening.
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[Screenable]
- list_screenings(filters=None, count=None, sort_field='created_at', sort_direction=SortDirection.DESC, show_archived=False)#
List the Screenings to which the authenticated user has access.
- 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”.
show_archived (bool, optional) – Whether to include archived screenings in the results.
- Returns:
The retrieved collection of resources.
- Return type:
Collection[models.Screenings]
- operationalize_ephemeris(ephemeris_id)#
Operationalize an ephemeris by ID.
- Parameters:
ephemeris_id (str) – The ID of the resource to designate as ‘OPERATIONAL’.
- Returns:
The updated Ephemeris.
- Return type:
- resolve_to_screenable(input)#
- Return type: