keplemon 1.0.3__cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl → 1.0.6__cp310-cp310-manylinux_2_17_aarch64.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.

Potentially problematic release.


This version of keplemon might be problematic. Click here for more details.

keplemon/bodies.pyi CHANGED
@@ -1,8 +1,9 @@
1
1
  # flake8: noqa
2
- from keplemon.elements import TLE, CartesianState, Ephemeris, KeplerianState
2
+ from keplemon.elements import TLE, CartesianState, Ephemeris, KeplerianState, GeodeticPosition, OrbitPlotData
3
3
  from keplemon.catalogs import TLECatalog
4
4
  from keplemon.time import Epoch, TimeSpan
5
5
  from keplemon.events import CloseApproach, CloseApproachReport, HorizonAccessReport
6
+ from keplemon.propagation import ForceProperties
6
7
 
7
8
  class Earth:
8
9
  @staticmethod
@@ -17,18 +18,26 @@ class Earth:
17
18
  def get_kem() -> float: ...
18
19
 
19
20
  class Satellite:
21
+
20
22
  id: str
21
23
  """Unique identifier for the satellite."""
22
24
 
23
25
  norad_id: int
24
26
  """Number corresponding to the satellite's NORAD catalog ID.
25
27
  """
28
+
29
+ force_properties: ForceProperties
30
+ """Force properties of the satellite used for propagation"""
31
+
26
32
  name: str | None
27
33
  """Human-readable name of the satellite"""
28
34
 
29
35
  keplerian_state: KeplerianState | None
30
36
  """Keplerian state of the satellite at the epoch of the TLE, if available"""
31
37
 
38
+ geodetic_position: GeodeticPosition | None
39
+ """Geodetic position of the satellite at the epoch of the TLE, if available"""
40
+
32
41
  def __init__(self) -> None: ...
33
42
  @classmethod
34
43
  def from_tle(cls, tle: TLE) -> Satellite:
@@ -62,6 +71,8 @@ class Satellite:
62
71
  """
63
72
  ...
64
73
 
74
+ def get_plot_data(self, start: Epoch, end: Epoch, step: TimeSpan) -> OrbitPlotData | None: ...
75
+
65
76
  class Constellation:
66
77
 
67
78
  count: int
@@ -71,6 +82,7 @@ class Constellation:
71
82
  """Human-readable name of the constellation"""
72
83
 
73
84
  def __init__(self) -> None: ...
85
+ def get_plot_data(self, start: Epoch, end: Epoch, step: TimeSpan) -> dict[str, OrbitPlotData]: ...
74
86
  @classmethod
75
87
  def from_tle_catalog(cls, tle_catalog: TLECatalog) -> Constellation:
76
88
  """
keplemon/catalogs.pyi CHANGED
@@ -1,5 +1,5 @@
1
1
  # flake8: noqa
2
- from keplemon.elements import TLE
2
+ from keplemon.elements import TLE, OrbitPlotData
3
3
 
4
4
  class TLECatalog:
5
5
  count: int
@@ -14,3 +14,4 @@ class TLECatalog:
14
14
  def get_count(self) -> int: ...
15
15
  def clear(self) -> None: ...
16
16
  def __getitem__(self, satellite_id: str) -> TLE: ...
17
+ def get_plot_data(self) -> OrbitPlotData: ...
keplemon/elements.py CHANGED
@@ -9,6 +9,9 @@ from keplemon._keplemon.elements import ( # type: ignore
9
9
  TopocentricElements,
10
10
  HorizonState,
11
11
  HorizonElements,
12
+ GeodeticPosition,
13
+ OrbitPlotData,
14
+ OrbitPlotState,
12
15
  )
13
16
 
14
17
  __all__ = [
@@ -22,4 +25,7 @@ __all__ = [
22
25
  "TopocentricElements",
23
26
  "HorizonState",
24
27
  "HorizonElements",
28
+ "GeodeticPosition",
29
+ "OrbitPlotData",
30
+ "OrbitPlotState",
25
31
  ]
keplemon/elements.pyi CHANGED
@@ -4,6 +4,39 @@ from keplemon.time import Epoch
4
4
  from keplemon.enums import Classification, KeplerianType, ReferenceFrame
5
5
  from keplemon.events import CloseApproach
6
6
 
7
+ class OrbitPlotData:
8
+ satellite_id: str
9
+ epochs: list[str]
10
+ semi_major_axes: list[float]
11
+ eccentricities: list[float]
12
+ inclinations: list[float]
13
+ raans: list[float]
14
+ radii: list[float]
15
+ apogee_radii: list[float]
16
+ perigee_radii: list[float]
17
+ latitudes: list[float]
18
+ longitudes: list[float]
19
+ altitudes: list[float]
20
+
21
+ class GeodeticPosition:
22
+ """
23
+ Args:
24
+ latitude: Latitude in **_degrees_**
25
+ longitude: Longitude in **_degrees_**
26
+ altitude: Altitude in **_kilometers_**
27
+ """
28
+
29
+ latitude: float
30
+ """Latitude in **_degrees_**"""
31
+
32
+ longitude: float
33
+ """Longitude in **_degrees_**"""
34
+
35
+ altitude: float
36
+ """Altitude in **_kilometers_**"""
37
+
38
+ def __init__(self, latitude: float, longitude: float, altitude: float) -> None: ...
39
+
7
40
  class HorizonElements:
8
41
  """
9
42
  Args:
keplemon/propagation.py CHANGED
@@ -1,5 +1,7 @@
1
1
  from keplemon._keplemon.propagation import ( # type: ignore
2
2
  ForceProperties,
3
+ b_star_to_drag_coefficient,
4
+ drag_coefficient_to_b_star,
3
5
  )
4
6
 
5
- __all__ = ["ForceProperties"]
7
+ __all__ = ["ForceProperties", "b_star_to_drag_coefficient", "drag_coefficient_to_b_star"]
keplemon/propagation.pyi CHANGED
@@ -17,3 +17,11 @@ class ForceProperties:
17
17
  mean_motion_dot: float,
18
18
  mean_motion_dot_dot: float,
19
19
  ) -> None: ...
20
+
21
+ def b_star_to_drag_coefficient(b_star: float) -> float:
22
+ """Convert B* to drag coefficient."""
23
+ ...
24
+
25
+ def drag_coefficient_to_b_star(drag_coefficient: float) -> float:
26
+ """Convert drag coefficient to B*."""
27
+ ...
@@ -0,0 +1,7 @@
1
+ from keplemon._keplemon.saal.sgp4_prop_interface import ( # type: ignore
2
+ reepoch_tle,
3
+ )
4
+
5
+ __all__ = [
6
+ "reepoch_tle",
7
+ ]
@@ -0,0 +1,9 @@
1
+ def reepoch_tle(tle_key: int, new_ds50_epoch: float) -> None:
2
+ """
3
+ Re-epoch a TLE in the SGP4 propagator.
4
+
5
+ Args:
6
+ tle_key: Key of the TLE to re-epoch.
7
+ new_ds50_epoch: New epoch in DS50 format.
8
+ """
9
+ ...
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: keplemon
3
- Version: 1.0.3
3
+ Version: 1.0.6
4
4
  Requires-Dist: requests
5
5
  Requires-Dist: click
6
6
  Requires-Dist: maturin>=1.0,<2.0 ; extra == 'dev'
@@ -1,6 +1,6 @@
1
- keplemon-1.0.3.dist-info/METADATA,sha256=T361V5KRsjJfojM0op_MHhu-oirewUpMy_ecTZxKIRM,863
2
- keplemon-1.0.3.dist-info/WHEEL,sha256=fHySsttgWqXcJCdI_MS-Pgp4-RhoEQ6J1LzB8xroE-c,131
3
- keplemon-1.0.3.dist-info/entry_points.txt,sha256=eYbCkvQvWfRDQ0LzaCELov1xeLAxQEHlfdgNq-LXyb0,49
1
+ keplemon-1.0.6.dist-info/METADATA,sha256=N2FoAuRlTq2QklipfVMJvGTMfbVhn_N91oIbe8WaLpg,863
2
+ keplemon-1.0.6.dist-info/WHEEL,sha256=Xci0wQUn185O40gd7BpQOd6FhkCRTTECoTx1iWoeZos,131
3
+ keplemon-1.0.6.dist-info/entry_points.txt,sha256=eYbCkvQvWfRDQ0LzaCELov1xeLAxQEHlfdgNq-LXyb0,49
4
4
  keplemon.libs/libastrofunc-d5d29f1a.so,sha256=e5roPhiI5MEQZvQ6o8SY2c2WhSThxXGHLE5HdJzP_1Y,468593
5
5
  keplemon.libs/libdllmain-83b073db.so,sha256=YD97bgzxLVt6Yip-fNxEKSOj3iYCtBmaip0d2RpBQgs,331977
6
6
  keplemon.libs/libelops-d6961cbd.so,sha256=4XTr3Ip2PWvjLVBAGe53r77_M6t5R9_L3go4KS-BKfI,331017
@@ -19,7 +19,7 @@ keplemon.libs/libvcm-460d66c8.so,sha256=yDcaK-v2FOOiFf-doyTvPcGPvRK_vuNMMEomKNac
19
19
  keplemon/__init__.py,sha256=M9q5lNYh_BE6l4xCGJ5IH5PQH9aNm4q_r67ljsNkKvM,832
20
20
  keplemon/__init__.pyi,sha256=uE60ln_KJgcfvKburVmbcKT0h_wLPgjBWuyNLgI8ETI,1295
21
21
  keplemon/__main__.py,sha256=-3GVkDOA0lV0MIqU9gPb4zbVimg2lA8HMkvdPDw1O28,669
22
- keplemon/_keplemon.cpython-310-aarch64-linux-gnu.so,sha256=DX7PiagzIBIPLl3KbbABk2wDyucuEyhT6VcOCpAG-PE,2298505
22
+ keplemon/_keplemon.cpython-310-aarch64-linux-gnu.so,sha256=bTjJNKlvHIpzQ4qqCHxiKVuEX3-_3v5Z0M9QpYsjDck,2429593
23
23
  keplemon/assets/EGM-2008.GEO,sha256=K2nG8HGLATIHZYMfw3GSClYOTCuZ7rq4RdCeUNgCw5A,148770
24
24
  keplemon/assets/EGM-96.GEO,sha256=VBkILuvEMwAPuWmUHy2PeyEfULOwJ4PEJLNf5hr84mU,148770
25
25
  keplemon/assets/GEM_5-22.GEO,sha256=stemYLn1ChXa-VdLGHYfa15AXZa_xxGZQ65p4c3gffI,6852
@@ -32,11 +32,11 @@ keplemon/assets/SGP4_Open_License.txt,sha256=0WofOXQb5YJqnYhXWXnBdCajiTJQAT60UAk
32
32
  keplemon/assets/WGS84-70.GEO,sha256=ARjEC_5s2SVd0Kh9udbTy1ztBwTeuBYPOhUVJgIqit8,148510
33
33
  keplemon/assets/time_constants.dat,sha256=qDpJ2UrQvIDfxsBc4P2AdLS-b2lyR7RCzjqmeG4Ypl8,1226736
34
34
  keplemon/bodies.py,sha256=XnaY6XTuj8CHM3XOwOSY3E8nSo0RWwCcAY0FGxAVWa8,208
35
- keplemon/bodies.pyi,sha256=yVabnTrT_LgFSs6rx7ogz3eka-zIvBQqmZD49fpjlfs,7114
35
+ keplemon/bodies.pyi,sha256=vTh2m_sbQ5QN56o_fJr46O-b_mvbQiEUMTRE61cxIXE,7636
36
36
  keplemon/catalogs.py,sha256=lw71NiXlVtb-z3pQR03afxtkLca4HJcnpZ6kDCcR-Lk,102
37
- keplemon/catalogs.pyi,sha256=ls2HTk7CMGnxutyR5XLsVtzMuB_OoB45-Vhj4BpKQEw,524
38
- keplemon/elements.py,sha256=QSSiUGN8cA8X85FR-CVfy8lwsNrBtrQbrw9HWr_cH3I,481
39
- keplemon/elements.pyi,sha256=8ZbXx4euKeW4Bj5jUhP87npmNoesmD4DpND1u3JxnTs,9437
37
+ keplemon/catalogs.pyi,sha256=NU_6Mc_JY8xTYAKXOqubtPnt91YA9ZHd1hMqMFf6onc,589
38
+ keplemon/elements.py,sha256=P4tlpQpCUG5jkgAT_yIeL2V14AhXtekMYxRBOsPlOgc,609
39
+ keplemon/elements.pyi,sha256=L5s_2AJz6HYYIncKmpkbYcejMVht09WWVrXRqo-ZV-Y,10240
40
40
  keplemon/enums.py,sha256=Jh0tFHg_rZXnOyLUXmHjSm3MSZFbvQKTBcP0BqHXeMY,308
41
41
  keplemon/enums.pyi,sha256=s9uqkm3Zrx6HLV4dQBScRiUy0CT4QoQwFjaCLOEMW1c,2330
42
42
  keplemon/estimation.py,sha256=2K87pFhOfaFohbAtBXv2SA6m_oIN-56toJOftu350fY,228
@@ -61,8 +61,8 @@ keplemon/libspvec.so,sha256=s874olIREYXAan8jrH4AFxpgNeQvYybFwC0iGCvClK4,202721
61
61
  keplemon/libtimefunc.so,sha256=1JFWUpE1iRLFnzNN54x_bm_gFWVCuaiSZ5Lsyn9dyPk,137897
62
62
  keplemon/libtle.so,sha256=cgBDdbfVaD3vdMI1Tiy9WU8jlkepBpgbyShX8-FDDl4,203041
63
63
  keplemon/libvcm.so,sha256=Rg1myLpbG9emj7KPpB1MJQV7rMiq7khoJWxCoB-FsYk,202417
64
- keplemon/propagation.py,sha256=sFP4PYDkTFAuZ815J_XaLneLNKx0s_cW4yJBCJKpDxE,115
65
- keplemon/propagation.pyi,sha256=YSA3cBzgHLW3_dykrjMX4PbReYJmz5Z7bzfuibPaegc,464
64
+ keplemon/propagation.py,sha256=hvf_V3hXYAG4G5cvoRtUTQ4uLU6OQyhPjVpz7u-OMK0,239
65
+ keplemon/propagation.pyi,sha256=qJOCbtgYma4MOg3-aw9_r1IvBDnknwsJlMwlgaJiEZk,688
66
66
  keplemon/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
67
67
  keplemon/saal/__init__.py,sha256=aoTB13q7IvXuQ80jgGCnwXA29yjpOqLiTdrtyjyRqLE,123
68
68
  keplemon/saal/__init__.pyi,sha256=GPB5f0dcK7srvSDq2i5wvHMyi-OYZakMvlrstKdDwkk,143
@@ -70,8 +70,10 @@ keplemon/saal/astro_func_interface.py,sha256=uJuJAV4beTHjk5Jr5rHzMkeBFSo-2vDiW81
70
70
  keplemon/saal/astro_func_interface.pyi,sha256=8__K4QTOYGAAwgIm5KloUADXNrR3fOrReyiN8RZcVhQ,2696
71
71
  keplemon/saal/obs_interface.py,sha256=EtsaPKixjMWfCUpMd79SvhCs3f9sRcBaal6-ickj3Vs,248
72
72
  keplemon/saal/obs_interface.pyi,sha256=eIXbFnZSF3cX3MyXaCYLUAp0wUAbJiQ4rosqpXdf2I0,228
73
+ keplemon/saal/sgp4_prop_interface.py,sha256=BBKlIvXdUypcZspC8GJ2rPqfFoDKy0RM7w5qsqvobrE,127
74
+ keplemon/saal/sgp4_prop_interface.pyi,sha256=Fv41UrqSPuITtYy_CcbyMxhysqtN3oeY38Ov4t81hvw,235
73
75
  keplemon/saal/time_func_interface.py,sha256=cshqJ15p_gcenMdmVuXTIoLeij1gsgVi0tujRQ4O6kA,421
74
76
  keplemon/saal/time_func_interface.pyi,sha256=GCj_EOmOceJorYQLGQQj1fE2cHxPvNrYml1DLvsaMy4,1508
75
77
  keplemon/time.py,sha256=vvHcwWQ1JXPaQSvdBfXYZrk2_-ukDw0RnXDeN5wy3nU,2792
76
78
  keplemon/time.pyi,sha256=S2Ul8fpuWnor9wKNFBxLwAiwrGrVN_LJH_xy6WSocv4,6260
77
- keplemon-1.0.3.dist-info/RECORD,,
79
+ keplemon-1.0.6.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: maturin (1.9.3)
2
+ Generator: maturin (1.9.4)
3
3
  Root-Is-Purelib: false
4
4
  Tag: cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64