open-space-toolkit-astrodynamics 13.1.0__py313-none-manylinux2014_aarch64.whl → 15.0.0__py313-none-manylinux2014_aarch64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. {open_space_toolkit_astrodynamics-13.1.0.dist-info → open_space_toolkit_astrodynamics-15.0.0.dist-info}/METADATA +4 -4
  2. {open_space_toolkit_astrodynamics-13.1.0.dist-info → open_space_toolkit_astrodynamics-15.0.0.dist-info}/RECORD +59 -28
  3. {open_space_toolkit_astrodynamics-13.1.0.dist-info → open_space_toolkit_astrodynamics-15.0.0.dist-info}/WHEEL +1 -1
  4. ostk/astrodynamics/OpenSpaceToolkitAstrodynamicsPy.cpython-313-aarch64-linux-gnu.so +0 -0
  5. ostk/astrodynamics/__init__.pyi +785 -0
  6. ostk/astrodynamics/access.pyi +588 -0
  7. ostk/astrodynamics/conjunction/__init__.pyi +3 -0
  8. ostk/astrodynamics/conjunction/message/__init__.pyi +3 -0
  9. ostk/astrodynamics/conjunction/message/ccsds.pyi +723 -0
  10. ostk/astrodynamics/converters.pyi +54 -0
  11. ostk/astrodynamics/data/__init__.pyi +3 -0
  12. ostk/astrodynamics/data/provider.pyi +22 -0
  13. ostk/astrodynamics/dynamics.pyi +329 -0
  14. ostk/astrodynamics/event_condition.pyi +580 -0
  15. ostk/astrodynamics/flight/__init__.pyi +547 -0
  16. ostk/astrodynamics/flight/profile/__init__.pyi +102 -0
  17. ostk/astrodynamics/flight/profile/model.pyi +176 -0
  18. ostk/astrodynamics/flight/system.pyi +277 -0
  19. ostk/astrodynamics/guidance_law.pyi +282 -0
  20. ostk/astrodynamics/libopen-space-toolkit-astrodynamics.so.15 +0 -0
  21. ostk/astrodynamics/pytrajectory/__init__.pyi +3 -0
  22. ostk/astrodynamics/pytrajectory/pystate.py +2 -4
  23. ostk/astrodynamics/pytrajectory/pystate.pyi +63 -0
  24. ostk/astrodynamics/solver.pyi +232 -0
  25. ostk/astrodynamics/test/access/test_generator.py +130 -59
  26. ostk/astrodynamics/test/access/test_visibility_criterion.py +198 -0
  27. ostk/astrodynamics/test/data/provider/test_off_nadir.py +58 -0
  28. ostk/astrodynamics/test/dynamics/test_dynamics.py +1 -1
  29. ostk/astrodynamics/test/flight/system/test_propulsion_system.py +2 -11
  30. ostk/astrodynamics/test/flight/system/test_satellite_system.py +6 -14
  31. ostk/astrodynamics/test/flight/test_maneuver.py +49 -64
  32. ostk/astrodynamics/test/flight/test_profile.py +4 -2
  33. ostk/astrodynamics/test/flight/test_system.py +5 -15
  34. ostk/astrodynamics/test/solvers/test_finite_difference_solver.py +31 -16
  35. ostk/astrodynamics/test/solvers/test_temporal_condition_solver.py +9 -1
  36. ostk/astrodynamics/test/test_display.py +11 -5
  37. ostk/astrodynamics/test/test_event_condition.py +4 -2
  38. ostk/astrodynamics/test/test_utilities.py +1 -1
  39. ostk/astrodynamics/test/test_viewer.py +70 -1
  40. ostk/astrodynamics/test/trajectory/state/coordinate_subset/test_cartesian_acceleration.py +136 -0
  41. ostk/astrodynamics/test/trajectory/state/test_coordinate_subset.py +9 -0
  42. ostk/astrodynamics/test/trajectory/state/test_numerical_solver.py +4 -2
  43. ostk/astrodynamics/test/trajectory/test_local_orbital_frame_factory.py +25 -15
  44. ostk/astrodynamics/test/trajectory/test_propagator.py +21 -27
  45. ostk/astrodynamics/test/trajectory/test_segment.py +0 -1
  46. ostk/astrodynamics/test/trajectory/test_state_builder.py +1 -0
  47. ostk/astrodynamics/trajectory/__init__.pyi +1800 -0
  48. ostk/astrodynamics/trajectory/orbit/__init__.pyi +361 -0
  49. ostk/astrodynamics/trajectory/orbit/message/__init__.pyi +3 -0
  50. ostk/astrodynamics/trajectory/orbit/message/spacex.pyi +273 -0
  51. ostk/astrodynamics/trajectory/orbit/model/__init__.pyi +517 -0
  52. ostk/astrodynamics/trajectory/orbit/model/brouwerLyddaneMean.pyi +127 -0
  53. ostk/astrodynamics/trajectory/orbit/model/kepler.pyi +581 -0
  54. ostk/astrodynamics/trajectory/orbit/model/sgp4.pyi +333 -0
  55. ostk/astrodynamics/trajectory/state/__init__.pyi +406 -0
  56. ostk/astrodynamics/trajectory/state/coordinate_subset.pyi +223 -0
  57. ostk/astrodynamics/viewer.py +32 -0
  58. ostk/astrodynamics/libopen-space-toolkit-astrodynamics.so.13 +0 -0
  59. {open_space_toolkit_astrodynamics-13.1.0.dist-info → open_space_toolkit_astrodynamics-15.0.0.dist-info}/top_level.txt +0 -0
  60. {open_space_toolkit_astrodynamics-13.1.0.dist-info → open_space_toolkit_astrodynamics-15.0.0.dist-info}/zip-safe +0 -0
@@ -0,0 +1,176 @@
1
+ from __future__ import annotations
2
+ import ostk.astrodynamics
3
+ import ostk.astrodynamics.flight.profile
4
+ import ostk.astrodynamics.trajectory
5
+ import ostk.core.type
6
+ import ostk.mathematics.geometry.d3.transformation.rotation
7
+ import ostk.physics.coordinate
8
+ import ostk.physics.coordinate.frame.provider
9
+ import ostk.physics.time
10
+ __all__ = ['Tabulated', 'Transform']
11
+ class Tabulated(ostk.astrodynamics.flight.profile.Model):
12
+ """
13
+
14
+ A flight profile model defined by a set of states.
15
+
16
+
17
+ """
18
+ @staticmethod
19
+ def _pybind11_conduit_v1_(*args, **kwargs):
20
+ ...
21
+ def __init__(self, states: list[ostk.astrodynamics.trajectory.State]) -> None:
22
+ """
23
+ Constructor.
24
+
25
+ Args:
26
+ states (Array[State]): The states of the model.
27
+ """
28
+ def __repr__(self) -> str:
29
+ """
30
+ Convert the model to a string.
31
+
32
+ Returns:
33
+ str: The string representation of the model.
34
+ """
35
+ def __str__(self) -> str:
36
+ """
37
+ Convert the model to a string.
38
+
39
+ Returns:
40
+ str: The string representation of the model.
41
+ """
42
+ def calculate_state_at(self, instant: ostk.physics.time.Instant) -> ostk.astrodynamics.trajectory.State:
43
+ """
44
+ Calculate the state of the model at a specific instant.
45
+
46
+ Args:
47
+ instant (Instant): The instant at which to calculate the state.
48
+
49
+ Returns:
50
+ State: The state of the model at the specified instant.
51
+ """
52
+ def get_axes_at(self, instant: ostk.physics.time.Instant) -> ostk.physics.coordinate.Axes:
53
+ """
54
+ Get the axes of the model at a specific instant.
55
+
56
+ Args:
57
+ instant (Instant): The instant at which to get the axes.
58
+
59
+ Returns:
60
+ numpy.ndarray: The axes of the model at the specified instant.
61
+ """
62
+ def get_body_frame(self, frame_name: ostk.core.type.String) -> ostk.physics.coordinate.Frame:
63
+ """
64
+ Get the body frame of the model with the specified name.
65
+
66
+ Args:
67
+ frame_name (str): The name of the body frame.
68
+
69
+ Returns:
70
+ Frame: The body frame of the model with the specified name.
71
+ """
72
+ def get_interval(self) -> ostk.physics.time.Interval:
73
+ """
74
+ Get the interval of the model.
75
+
76
+ Returns:
77
+ Interval: The interval of the model.
78
+ """
79
+ def is_defined(self) -> bool:
80
+ """
81
+ Check if the model is defined.
82
+
83
+ Returns:
84
+ bool: True if the model is defined, False otherwise.
85
+ """
86
+ class Transform(ostk.astrodynamics.flight.profile.Model):
87
+ """
88
+
89
+ A flight profile model defined by a transform.
90
+
91
+
92
+ """
93
+ @staticmethod
94
+ def _pybind11_conduit_v1_(*args, **kwargs):
95
+ ...
96
+ @staticmethod
97
+ def inertial_pointing(trajectory: ostk.astrodynamics.Trajectory, quaternion: ostk.mathematics.geometry.d3.transformation.rotation.Quaternion) -> Transform:
98
+ """
99
+ Create a transform for inertial pointing.
100
+
101
+ Args:
102
+ trajectory (Trajectory): The trajectory of the satellite.
103
+ quaternion (Quaternion): The quaternion to rotate the axes by.
104
+
105
+ Returns:
106
+ Transform: The transform for inertial pointing.
107
+ """
108
+ @staticmethod
109
+ def local_orbital_frame_pointing(orbit: ostk.astrodynamics.trajectory.Orbit, orbital_frame_type: ostk.astrodynamics.trajectory.Orbit.FrameType) -> Transform:
110
+ """
111
+ Create a profile aligned with the provided local orbital frame type.
112
+
113
+ Args:
114
+ orbit (Orbit): The orbit of the satellite.
115
+ orbital_frame_type (OrbitalFrameType): The type of the orbital frame.
116
+
117
+ Returns:
118
+ Transform: The transform for the local orbital frame pointing.
119
+ """
120
+ @staticmethod
121
+ def undefined() -> Transform:
122
+ """
123
+ Get an undefined transform.
124
+
125
+ Returns:
126
+ Transform: The undefined transform.
127
+ """
128
+ def __init__(self, dynamic_provider: ostk.physics.coordinate.frame.provider.Dynamic, frame: ostk.physics.coordinate.Frame) -> None:
129
+ """
130
+ Constructor.
131
+
132
+ Args:
133
+ dynamic_provider (DynamicProvider): The dynamic provider of the transform.
134
+ frame (Frame): The frame of the transform.
135
+ """
136
+ def __repr__(self) -> str:
137
+ ...
138
+ def __str__(self) -> str:
139
+ ...
140
+ def calculate_state_at(self, instant: ostk.physics.time.Instant) -> ostk.astrodynamics.trajectory.State:
141
+ """
142
+ Calculate the state of the model at a specific instant.
143
+
144
+ Args:
145
+ instant (Instant): The instant at which to calculate the state.
146
+
147
+ Returns:
148
+ State: The state of the model at the specified instant.
149
+ """
150
+ def get_axes_at(self, instant: ostk.physics.time.Instant) -> ostk.physics.coordinate.Axes:
151
+ """
152
+ Get the axes of the model at a specific instant.
153
+
154
+ Args:
155
+ instant (Instant): The instant at which to get the axes.
156
+
157
+ Returns:
158
+ numpy.ndarray: The axes of the model at the specified instant.
159
+ """
160
+ def get_body_frame(self, frame_name: ostk.core.type.String) -> ostk.physics.coordinate.Frame:
161
+ """
162
+ Get the body frame of the model with the specified name.
163
+
164
+ Args:
165
+ frame_name (str): The name of the body frame.
166
+
167
+ Returns:
168
+ Frame: The body frame of the model with the specified name.
169
+ """
170
+ def is_defined(self) -> bool:
171
+ """
172
+ Check if the model is defined.
173
+
174
+ Returns:
175
+ bool: True if the model is defined, False otherwise.
176
+ """
@@ -0,0 +1,277 @@
1
+ from __future__ import annotations
2
+ import numpy
3
+ import ostk.astrodynamics.flight
4
+ import ostk.core.type
5
+ import ostk.mathematics.geometry.d3.object
6
+ import ostk.physics.unit
7
+ import typing
8
+ __all__ = ['PropulsionSystem', 'SatelliteSystem', 'SatelliteSystemBuilder']
9
+ class PropulsionSystem:
10
+ """
11
+
12
+ A propulsion system.
13
+
14
+
15
+ """
16
+ __hash__: typing.ClassVar[None] = None
17
+ @staticmethod
18
+ def _pybind11_conduit_v1_(*args, **kwargs):
19
+ ...
20
+ @staticmethod
21
+ def default() -> PropulsionSystem:
22
+ """
23
+ Return a default propulsion system.
24
+
25
+ Returns:
26
+ PropulsionSystem: A default propulsion system.
27
+ """
28
+ @staticmethod
29
+ def undefined() -> PropulsionSystem:
30
+ """
31
+ Return an undefined propulsion system.
32
+
33
+ Returns:
34
+ PropulsionSystem: An undefined propulsion system.
35
+ """
36
+ def __eq__(self, arg0: PropulsionSystem) -> bool:
37
+ ...
38
+ def __init__(self, thrust_si_unit: ostk.core.type.Real, specific_impulse_si_unit: ostk.core.type.Real) -> None:
39
+ """
40
+ Construct a propulsion system.
41
+
42
+ Args:
43
+ thrust (float): Thrust in Newton.
44
+ specific_impulse (float): Specific impulse in Seconds.
45
+ """
46
+ def __ne__(self, arg0: PropulsionSystem) -> bool:
47
+ ...
48
+ def __repr__(self) -> str:
49
+ ...
50
+ def __str__(self) -> str:
51
+ ...
52
+ def get_acceleration(self, mass: ostk.physics.unit.Mass) -> ostk.core.type.Real:
53
+ """
54
+ Return the acceleration.
55
+
56
+ Args:
57
+ mass (float): Mass in Kilograms.
58
+
59
+ Returns:
60
+ float: The acceleration in Meters per Second squared.
61
+ """
62
+ def get_mass_flow_rate(self) -> ostk.core.type.Real:
63
+ """
64
+ Return the mass flow rate.
65
+
66
+ Returns:
67
+ float: The mass flow rate in Kilograms per Second.
68
+ """
69
+ def get_specific_impulse(self) -> ostk.core.type.Real:
70
+ """
71
+ Return the specific impulse.
72
+
73
+ Returns:
74
+ float: The specific impulse in Seconds.
75
+ """
76
+ def get_thrust(self) -> ostk.core.type.Real:
77
+ """
78
+ Return the thrust.
79
+
80
+ Returns:
81
+ float: The thrust in Newton.
82
+ """
83
+ def is_defined(self) -> bool:
84
+ """
85
+ Check if the propulsion system is defined.
86
+
87
+ Returns:
88
+ bool: True if the propulsion system is defined, False otherwise.
89
+ """
90
+ class SatelliteSystem(ostk.astrodynamics.flight.System):
91
+ """
92
+
93
+ A Satellite System.
94
+
95
+
96
+ """
97
+ __hash__: typing.ClassVar[None] = None
98
+ @staticmethod
99
+ def _pybind11_conduit_v1_(*args, **kwargs):
100
+ ...
101
+ @staticmethod
102
+ def default() -> SatelliteSystem:
103
+ """
104
+ Create a default satellite system.
105
+
106
+ Returns:
107
+ SatelliteSystem: The default satellite system.
108
+ """
109
+ @staticmethod
110
+ def undefined() -> SatelliteSystem:
111
+ """
112
+ Create an undefined satellite system.
113
+
114
+ Returns:
115
+ SatelliteSystem: The undefined satellite system.
116
+ """
117
+ def __eq__(self, arg0: SatelliteSystem) -> bool:
118
+ ...
119
+ def __init__(self, mass: ostk.physics.unit.Mass, satellite_geometry: ostk.mathematics.geometry.d3.object.Composite, inertia_tensor: numpy.ndarray[numpy.float64[3, 3]], cross_sectional_surface_area: ostk.core.type.Real, drag_coefficient: ostk.core.type.Real, propulsion_system: PropulsionSystem = ...) -> None:
120
+ """
121
+ Constructor.
122
+
123
+ Args:
124
+ mass (Mass): The mass of the satellite system.
125
+ satellite_geometry (Composite): The geometry of the satellite system.
126
+ inertia_tensor (np.ndarray): The inertia tensor of the satellite system.
127
+ cross_sectional_surface_area (float): The cross-sectional surface area of the satellite system.
128
+ drag_coefficient (float): The drag coefficient of the satellite system.
129
+ propulsion_system (PropulsionSystem): The propulsion system of the satellite system.
130
+ """
131
+ def __ne__(self, arg0: SatelliteSystem) -> bool:
132
+ ...
133
+ def __repr__(self) -> str:
134
+ ...
135
+ def __str__(self) -> str:
136
+ ...
137
+ def get_cross_sectional_surface_area(self) -> ostk.core.type.Real:
138
+ """
139
+ Get the cross-sectional surface area of the satellite system.
140
+
141
+ Returns:
142
+ float: The cross-sectional surface area of the satellite system.
143
+ """
144
+ def get_drag_coefficient(self) -> ostk.core.type.Real:
145
+ """
146
+ Get the drag coefficient of the satellite system.
147
+
148
+ Returns:
149
+ float: The drag coefficient of the satellite system.
150
+ """
151
+ def get_inertia_tensor(self) -> numpy.ndarray[numpy.float64[3, 3]]:
152
+ """
153
+ Get the inertia tensor of the satellite system.
154
+
155
+ Returns:
156
+ Matrix3d: The inertia tensor of the satellite system.
157
+ """
158
+ def get_propulsion_system(self) -> PropulsionSystem:
159
+ """
160
+ Get the propulsion system of the satellite system.
161
+
162
+ Returns:
163
+ PropulsionSystem: The propulsion system of the satellite system.
164
+ """
165
+ def is_defined(self) -> bool:
166
+ """
167
+ Check if the satellite system is defined.
168
+
169
+ Returns:
170
+ bool: True if the satellite system is defined, False otherwise.
171
+ """
172
+ class SatelliteSystemBuilder:
173
+ """
174
+
175
+ A Satellite System Builder, meant to simplify creation of a SatelliteSystem, by allowing
176
+ you to only specify the parameters you want. There are two ways of doing this:
177
+
178
+ Chaining together your desired parameters like so:
179
+
180
+ .. code-block:: python
181
+
182
+ satellite_system = SatelliteSystemBuilder().with_dry_mass(X).with_area(Y).build()
183
+
184
+ Using the default SatelliteSystem and changing one parameters like so:
185
+
186
+ .. code-block:: python
187
+
188
+ satellite_system = SatelliteSystemBuilder.default().with_dry_mass(X)
189
+
190
+
191
+ """
192
+ @staticmethod
193
+ def _pybind11_conduit_v1_(*args, **kwargs):
194
+ ...
195
+ @staticmethod
196
+ def default() -> SatelliteSystemBuilder:
197
+ """
198
+ Create a satellite system builder with default values.
199
+
200
+ Returns:
201
+ SatelliteSystem: The satellite system builder with default values.
202
+ """
203
+ def __init__(self) -> None:
204
+ """
205
+ Constructor.
206
+ """
207
+ def __repr__(self) -> str:
208
+ ...
209
+ def __str__(self) -> str:
210
+ ...
211
+ def build(self) -> SatelliteSystem:
212
+ """
213
+ Build a new satellite system.
214
+
215
+ Returns:
216
+ SatelliteSystem: A new satellite system.
217
+ """
218
+ def with_cross_sectional_surface_area(self, cross_sectional_surface_area: ostk.core.type.Real) -> SatelliteSystemBuilder:
219
+ """
220
+ Set the dry mass.
221
+
222
+ Args:
223
+ cross_sectional_surface_area (float): The cross-sectional surface area.
224
+
225
+ Returns:
226
+ SatelliteSystemBuilder: The builder.
227
+ """
228
+ def with_drag_coefficient(self, drag_coefficient: ostk.core.type.Real) -> SatelliteSystemBuilder:
229
+ """
230
+ Set the drag coefficient.
231
+
232
+ Args:
233
+ drag_coefficient (float): The drag coefficient.
234
+
235
+ Returns:
236
+ SatelliteSystemBuilder: The builder.
237
+ """
238
+ def with_dry_mass(self, dry_mass: ostk.physics.unit.Mass) -> SatelliteSystemBuilder:
239
+ """
240
+ Set the dry mass.
241
+
242
+ Args:
243
+ dry_mass (Mass): The dry mass.
244
+
245
+ Returns:
246
+ SatelliteSystemBuilder: The builder.
247
+ """
248
+ def with_geometry(self, geometry: ostk.mathematics.geometry.d3.object.Composite) -> SatelliteSystemBuilder:
249
+ """
250
+ Set the geometry.
251
+
252
+ Args:
253
+ geometry (Composite): The geometry.
254
+
255
+ Returns:
256
+ SatelliteSystemBuilder: The builder.
257
+ """
258
+ def with_inertia_tensor(self, inertia_tensor: numpy.ndarray[numpy.float64[3, 3]]) -> SatelliteSystemBuilder:
259
+ """
260
+ Set the inertia tensor.
261
+
262
+ Args:
263
+ inertia_tensor (Matrix3d): The inertia tensor.
264
+
265
+ Returns:
266
+ SatelliteSystemBuilder: The builder.
267
+ """
268
+ def with_propulsion_system(self, propulsion_system: PropulsionSystem) -> SatelliteSystemBuilder:
269
+ """
270
+ Set the propulsion system.
271
+
272
+ Args:
273
+ propulsion_system (PropulsionSystem): The propulsion system.
274
+
275
+ Returns:
276
+ SatelliteSystemBuilder: The builder.
277
+ """