satcat.sdk package#
Subpackages#
- satcat.sdk.events package
- Submodules
EventClient
ConjunctionDetailed
ConjunctionDetailed.angle_of_approach
ConjunctionDetailed.created_at
ConjunctionDetailed.designation
ConjunctionDetailed.event_id
ConjunctionDetailed.frisbee_collision_probability
ConjunctionDetailed.frisbee_collision_probability_method
ConjunctionDetailed.id
ConjunctionDetailed.is_intra_org
ConjunctionDetailed.key_number
ConjunctionDetailed.mahalanobis_distance
ConjunctionDetailed.original_cdm_pc
ConjunctionDetailed.primary
ConjunctionDetailed.primary_state
ConjunctionDetailed.relative_miss_sig_m
ConjunctionDetailed.relative_position_c_km
ConjunctionDetailed.relative_position_i_km
ConjunctionDetailed.relative_position_r_km
ConjunctionDetailed.relative_sig_ct_u_m
ConjunctionDetailed.relative_sig_it_u_m
ConjunctionDetailed.relative_sig_r_u_m
ConjunctionDetailed.relative_velocity_c_km_s
ConjunctionDetailed.relative_velocity_i_km_s
ConjunctionDetailed.relative_velocity_mag_km_s
ConjunctionDetailed.relative_velocity_r_km_s
ConjunctionDetailed.secondary
ConjunctionDetailed.secondary_state
ConjunctionDetailed.updated_at
ConjunctionMinimal
ConjunctionMinimal.cdm_id
ConjunctionMinimal.collision_probability
ConjunctionMinimal.collision_probability_method
ConjunctionMinimal.creation_date
ConjunctionMinimal.event_id
ConjunctionMinimal.key
ConjunctionMinimal.miss_distance_km
ConjunctionMinimal.original_collision_probability
ConjunctionMinimal.original_collision_probability_method
ConjunctionMinimal.originator
ConjunctionMinimal.primary
ConjunctionMinimal.secondary
ConjunctionMinimal.tca
Event
PCRemediationMethod
RSODetailed
RSOMetadataModel
SpacecraftConjunctionState
SpacecraftConjunctionState.altitude_km
SpacecraftConjunctionState.cdrg_drg
SpacecraftConjunctionState.cdrg_n
SpacecraftConjunctionState.cdrg_ndot
SpacecraftConjunctionState.cdrg_r
SpacecraftConjunctionState.cdrg_rdot
SpacecraftConjunctionState.cdrg_t
SpacecraftConjunctionState.cdrg_tdot
SpacecraftConjunctionState.cn_n
SpacecraftConjunctionState.cn_r
SpacecraftConjunctionState.cn_t
SpacecraftConjunctionState.cndot_n
SpacecraftConjunctionState.cndot_ndot
SpacecraftConjunctionState.cndot_r
SpacecraftConjunctionState.cndot_rdot
SpacecraftConjunctionState.cndot_t
SpacecraftConjunctionState.cndot_tdot
SpacecraftConjunctionState.comment_covariance_scale_factor
SpacecraftConjunctionState.comment_exclusion_volume_radius
SpacecraftConjunctionState.comment_screening_data_source
SpacecraftConjunctionState.covariance_method
SpacecraftConjunctionState.cr_r
SpacecraftConjunctionState.crdot_n
SpacecraftConjunctionState.crdot_r
SpacecraftConjunctionState.crdot_rdot
SpacecraftConjunctionState.crdot_t
SpacecraftConjunctionState.csrp_drg
SpacecraftConjunctionState.csrp_n
SpacecraftConjunctionState.csrp_ndot
SpacecraftConjunctionState.csrp_r
SpacecraftConjunctionState.csrp_rdot
SpacecraftConjunctionState.csrp_srp
SpacecraftConjunctionState.csrp_t
SpacecraftConjunctionState.csrp_tdot
SpacecraftConjunctionState.ct_r
SpacecraftConjunctionState.ct_t
SpacecraftConjunctionState.ctdot_n
SpacecraftConjunctionState.ctdot_r
SpacecraftConjunctionState.ctdot_rdot
SpacecraftConjunctionState.ctdot_t
SpacecraftConjunctionState.ctdot_tdot
SpacecraftConjunctionState.ephemeris_id
SpacecraftConjunctionState.ephemeris_name
SpacecraftConjunctionState.hbr_m
SpacecraftConjunctionState.intrack_thrust
SpacecraftConjunctionState.ref_frame
SpacecraftConjunctionState.screening_id
SpacecraftConjunctionState.time_lastob_end
SpacecraftConjunctionState.time_lastob_start
SpacecraftConjunctionState.x_dot_km
SpacecraftConjunctionState.x_km
SpacecraftConjunctionState.y_dot_km
SpacecraftConjunctionState.y_km
SpacecraftConjunctionState.z_dot_km
SpacecraftConjunctionState.z_km
- Submodules
- satcat.sdk.propagation package
- satcat.sdk.screening package
- Submodules
Catalog
Conjunction
Conjunction.cdm_id
Conjunction.collision_probability
Conjunction.collision_probability_method
Conjunction.created_at
Conjunction.id
Conjunction.key
Conjunction.key_number
Conjunction.launch_time
Conjunction.miss_distance_km
Conjunction.originator
Conjunction.primary
Conjunction.secondary
Conjunction.tca
CoverageLevel
Ephemeris
Ephemeris.apogee_km
Ephemeris.archived
Ephemeris.comments
Ephemeris.context
Ephemeris.current_operational
Ephemeris.data_format
Ephemeris.designation
Ephemeris.ephemeris_source
Ephemeris.filename
Ephemeris.has_covariance
Ephemeris.hbr_m
Ephemeris.id
Ephemeris.launch_time
Ephemeris.norad_id
Ephemeris.perigee_km
Ephemeris.solution_time
Ephemeris.usable_time_end
Ephemeris.usable_time_start
Ephemeris.user_id
EphemerisContext
EphemerisDesignation
EphemerisGroup
EphemerisSource
EphemerisType
ExternalCatalog
GeminiScreening
HardBodyShape
RSO
Screenable
Screenable.catalog
Screenable.catalog_id
Screenable.coverage_level
Screenable.coverage_ratio
Screenable.ephemeris
Screenable.ephemeris_group
Screenable.ephemeris_id
Screenable.external_catalogs
Screenable.norad_id
Screenable.propagation
Screenable.propagation_id
Screenable.usable_time_end
Screenable.usable_time_start
Screening
Screening.completed_at
Screening.conjunctions_count
Screening.coverage_level
Screening.coverage_ratio
Screening.created_at
Screening.id
Screening.percent_complete
Screening.primaries_count
Screening.primary_ids_preview
Screening.primary_rsos_preview
Screening.screening_type
Screening.secondaries_count
Screening.started_at
Screening.status
Screening.updated_at
ScreeningConfiguration
ScreeningConfiguration.auto_archive
ScreeningConfiguration.default_secondary_hbr_m
ScreeningConfiguration.hard_body_shape
ScreeningConfiguration.include_primary_vs_primary
ScreeningConfiguration.launch_window_cadence_s
ScreeningConfiguration.launch_window_end
ScreeningConfiguration.launch_window_start
ScreeningConfiguration.notes
ScreeningConfiguration.propagation_start_time
ScreeningConfiguration.screening_type
ScreeningConfiguration.threshold_radius_active_km
ScreeningConfiguration.threshold_radius_debris_km
ScreeningConfiguration.threshold_radius_km
ScreeningConfiguration.threshold_radius_manned_km
ScreeningConfiguration.title
ScreeningType
ScreeningClient
ScreeningClient.add_screening_primary()
ScreeningClient.add_screening_secondary()
ScreeningClient.await_screening_completion()
ScreeningClient.await_screening_completion_percent_generator()
ScreeningClient.client
ScreeningClient.create_ephemeris()
ScreeningClient.create_screening()
ScreeningClient.download_ephemeris()
ScreeningClient.get_api_spec()
ScreeningClient.get_catalog()
ScreeningClient.get_conjunction_ccsds()
ScreeningClient.get_ephemeris()
ScreeningClient.get_latest_catalog()
ScreeningClient.get_screening()
ScreeningClient.list_catalog_ephemerides()
ScreeningClient.list_catalogs()
ScreeningClient.list_conjunctions()
ScreeningClient.list_conjunctions_ccsds()
ScreeningClient.list_ephemerides()
ScreeningClient.list_ephemeris_formats()
ScreeningClient.list_screening_primaries()
ScreeningClient.list_screening_secondaries()
ScreeningClient.list_screenings()
ScreeningClient.operationalize_ephemeris()
ScreeningClient.resolve_to_screenable()
ScreeningClient.submit_screening()
- Submodules
Submodules#
- class satcat.sdk.client.Client(default_page_size=32)#
Bases:
object
Base Client class which may be used to make requests to Satcat APIs. May be used as a context manager with the
with
keyword:with Client() as client: client.request(...)
If not used with the
with
keyword, it is recommended to explicitly close the Client withclient.close()
after the application is finished making requests.- Parameters:
default_page_size (
int
) – Default page size to use when sending repeated listing requests to a collection endpoint, defaults to 10
- authenticate_session()#
- Authenticate the HTTP session with the authentication provider using the
authentication method determined by
satcat.sdk.settings.auth_method
.
This is done automatically when using
request_authenticated
.
- close()#
Close the client and any associated network connections.
- create_ephemeris(*args, **kwargs)#
Alias for
client.screening.create_ephemeris
.
- download_ephemeris(*args, **kwargs)#
Alias for
client.screening.download_ephemeris
.
- property events: EventClient#
Library containing SDK functions for interacting with the Satcat Events API.
- get_ephemeris(*args, **kwargs)#
Alias for
client.screening.get_ephemeris
.
- list_ephemerides(*args, **kwargs)#
Alias for
client.screening.list_ephemerides
.
- operationalize_ephemeris(*args, **kwargs)#
Alias for
client.screening.operationalize_ephemeris
.
- ping_authenticated()#
Sends a request to Kayhan servers to confirm a healthy and authenticated session. Returns True if valid, raises an HTTPError if not.
- Return type:
bool
- property propagation: PropagationClient#
Library containing SDK functions for interacting with the Satcat Propagation API.
- request(path, method='GET', data=None, json=None, params=None, files=None, api='rest')#
Make an HTTP request to a Satcat API. .. warning:: For most use cases, this function should only be called internally by high level functions inside the SDK, such as those inside
client.screening
.- Return type:
Response
- request_authenticated(path, method='GET', data=None, json=None, params=None, ignore_failure=False, files=None, api='rest')#
- Return type:
Response
- Ensure that the HTTP session is authorized and make an HTTP request to
a Satcat API.
Warning
For most use cases, this function should only be called internally by high level functions inside the SDK, such as those inside
client.screening
.
- request_list(path, filters=None, count=None, params=None, sort_direction=SortDirection.DESC, sort_field='created_at', fields=None)#
- Return type:
Collection
[Any
]
- Request a list of resources from a Satcat API and automatically page through
the results if necessary.
Warning
For most use cases, this function should only be called internally by high level functions inside the SDK, such as those inside
client.screening
.
- property screening: ScreeningClient#
Library containing SDK functions for interacting with the Satcat Screening API.
-
session:
Session
#
- satcat.sdk.client.check_version()#
- satcat.sdk.client.get_latest_version(package_name)#
- Return type:
str
- class satcat.sdk.models.Model(**data)#
Bases:
BaseModel
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.
- class satcat.sdk.settings.CLISettings(**data)#
Bases:
BaseModel
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.
-
is_cli:
bool
#
-
output_format:
OutputFormat
#
-
show_progress:
bool
#
-
is_cli:
- class satcat.sdk.settings.OutputFormat(value)#
Bases:
str
,Enum
An enumeration.
- JSON = 'json'#
- RICH = 'rich'#
- class satcat.sdk.settings.Settings(_env_file='<object object>', _env_file_encoding=None, _env_nested_delimiter=None, _secrets_dir=None, **values)#
Bases:
BaseSettings
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.
- class Config#
Bases:
object
- classmethod customise_sources(init_settings, env_settings, file_secret_settings)#
- env_file_encoding = 'utf-8'#
- env_prefix = 'satcat_'#
- extra = 'allow'#
-
auth_client_id:
Optional
[str
]#
-
auth_client_secret:
Optional
[str
]#
-
auth_method:
Literal
['password'
,'client_credentials'
]#
-
auth_password:
Optional
[str
]#
-
auth_url:
AnyUrl
#
-
auth_username:
Optional
[str
]#
-
cli:
CLISettings
#
-
default_timeout:
int
#
-
satcat_base_url:
AnyUrl
#
- classmethod satcat_base_url_must_end_with_slash(v)#
- property satcat_rest_api_url: str#
-
satcat_rest_api_url_override:
Optional
[AnyUrl
]#
- property satcat_web_api_url: str#
-
satcat_web_api_url_override:
Optional
[AnyUrl
]#
- satcat.sdk.settings.json_config_settings_source(settings)#
A simple settings source that loads variables from a JSON file at the project’s root.
Here we happen to choose to use the env_file_encoding from Config when reading config.json
- Return type:
Dict
[str
,Any
]
- satcat.sdk.settings.load_settings_file(config_path)#
- class satcat.sdk.utils.SortDirection(value)#
Bases:
Enum
An enumeration.
- ASC = 'asc'#
- DESC = 'desc'#
- satcat.sdk.utils.kebab_case(text)#
- Return type:
str
- class satcat.sdk.utils.open_path_or_buf(path_or_buf, mode='r')#
Bases:
object
-
buf:
IO
#
-
need_to_close_buf:
bool
= False#
-
path_or_buf:
Union
[Path
,IO
]#
-
buf:
- satcat.sdk.utils.poll_job_for_completion(get_job_fn, poll_interval=5, timeout=3600, created_timeout=30)#
- satcat.sdk.utils.poll_job_for_completion_percent_generator(get_job_fn, poll_interval=5, timeout=3600)#
- satcat.sdk.utils.remove_none_vals(d)#
- Return type:
Dict
- satcat.sdk.utils.utc(timestamp)#
Create a datetime object from an ISO8601 timestamp string. The timestamp string must include the “Z” suffix indicating that the timestamp is expressed in the UTC time system.
It is recommended that you use this function to pass any datetime parameters to Satcat SDK functions to ensure that your datetime is created with the correct timezone information.
- Parameters:
timestamp (str) – The timestamp string to convert
- Returns:
The created datetime object
- Return type:
datetime