satcat.sdk.propagation package#

Submodules#

class satcat.sdk.propagation.models.Propagation(**data)#

Bases: PropagationConfiguration

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]#
created_at: datetime#
ephemeris_id: Optional[str]#
id: str#
started_at: Optional[datetime]#
status: str#
updated_at: Optional[datetime]#
class satcat.sdk.propagation.models.PropagationConfiguration(**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.

class Config#

Bases: object

allow_population_by_field_name = True#
end_time: Optional[datetime]#
infer_interval_from_screening: bool#
purpose: str#
start_time: Optional[datetime]#
target_duration: Optional[float]#
timestep: float#
class satcat.sdk.propagation.propagation_client.PropagationClient(client)#

Bases: object

add_opm_to_propagation(propagation, opm_file)#

Configure a propagation using a CCSDS OPM (Orbit Parameter Message).

Configures the initial state and maneuvers of the propagation using the data provided in the OPM.

If the propagation is configured to use a target_duration_s instead of an explicit end_time , the propagation’s start_time will be updated to match the epoch of the state vector in the OPM.

Parameters:
  • propagation (Propagation) – The Propagation to update.

  • opm_file (TextIO) – _description_

Return type:

Propagation

await_propagation_completion(propagation, poll_interval=5, timeout=3600)#

Synchronously await the completion of a propagation.

Parameters:
  • propagation (Propagation) – The propagation 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 propagation is completed. Defaults to 3600.

Returns:

The completed Propagation.

Return type:

Propagation

client: Client#
create_propagation(config=None, opm_file=None, submit=False)#

Create a propagation on the server.

Parameters:
  • config (Optional[PropagationConfiguration], optional) – The configuration with which to run the propagation.

  • opm_file (Optional[TextIO], optional) – The content of a CCSDS OPM (Orbit Parameter Message) file to use in configuring the propagation.

  • submit (bool, optional) – Whether to submit the propagation instantly. If False, the propagation may be submitted later using client.propagation.submit_propagation(propagation).

Returns:

_description_

Return type:

Propagation

get_propagation(id)#

Get a propagation by ID from the server.

Parameters:

id (str) – The ID of the resource to retrieve.

Returns:

The retrieved propagation.

Return type:

Propagation

submit_propagation(propagation)#
Submit the Propagation for asynchronous processing on the server.

Note that propagations may only be submitted if they have the "CREATED" status.

Parameters:

propagation (Propagation) – The Propagation to submit.

Returns:

The submitted Propagation.

Return type:

Propagation