keplemon 1.0.5__cp312-cp312-macosx_11_0_arm64.whl → 1.0.6__cp312-cp312-macosx_11_0_arm64.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.

Binary file
keplemon/bodies.pyi CHANGED
@@ -1,5 +1,5 @@
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
@@ -35,6 +35,9 @@ class Satellite:
35
35
  keplerian_state: KeplerianState | None
36
36
  """Keplerian state of the satellite at the epoch of the TLE, if available"""
37
37
 
38
+ geodetic_position: GeodeticPosition | None
39
+ """Geodetic position of the satellite at the epoch of the TLE, if available"""
40
+
38
41
  def __init__(self) -> None: ...
39
42
  @classmethod
40
43
  def from_tle(cls, tle: TLE) -> Satellite:
@@ -68,6 +71,8 @@ class Satellite:
68
71
  """
69
72
  ...
70
73
 
74
+ def get_plot_data(self, start: Epoch, end: Epoch, step: TimeSpan) -> OrbitPlotData | None: ...
75
+
71
76
  class Constellation:
72
77
 
73
78
  count: int
@@ -77,6 +82,7 @@ class Constellation:
77
82
  """Human-readable name of the constellation"""
78
83
 
79
84
  def __init__(self) -> None: ...
85
+ def get_plot_data(self, start: Epoch, end: Epoch, step: TimeSpan) -> dict[str, OrbitPlotData]: ...
80
86
  @classmethod
81
87
  def from_tle_catalog(cls, tle_catalog: TLECatalog) -> Constellation:
82
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:
@@ -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.5
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,10 +1,10 @@
1
- keplemon-1.0.5.dist-info/METADATA,sha256=l0b2cTyJbCUpNiCbm8PHD1dSWuq1kEpseFXtf80GMIw,863
2
- keplemon-1.0.5.dist-info/WHEEL,sha256=EhaWXx4fd8VOPM6W-6pxsePGk73OLk2gBi7fwS90pc8,104
3
- keplemon-1.0.5.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=qPmdr8fB5VyzHuEe_BZYkwViBC6_YLDjr40IyuSix7k,104
3
+ keplemon-1.0.6.dist-info/entry_points.txt,sha256=eYbCkvQvWfRDQ0LzaCELov1xeLAxQEHlfdgNq-LXyb0,49
4
4
  keplemon/__init__.py,sha256=M9q5lNYh_BE6l4xCGJ5IH5PQH9aNm4q_r67ljsNkKvM,832
5
5
  keplemon/__init__.pyi,sha256=uE60ln_KJgcfvKburVmbcKT0h_wLPgjBWuyNLgI8ETI,1295
6
6
  keplemon/__main__.py,sha256=-3GVkDOA0lV0MIqU9gPb4zbVimg2lA8HMkvdPDw1O28,669
7
- keplemon/_keplemon.cpython-312-darwin.so,sha256=KnjXxF-ML2N3fH5p6vlHMQg-OVR9zw9gTeIc3lGAeTM,1830976
7
+ keplemon/_keplemon.cpython-312-darwin.so,sha256=qbgD32uBFA5Kip4h4el4UhHvU-y_lHL1rSBKhHSKDqE,1942272
8
8
  keplemon/assets/EGM-2008.GEO,sha256=K2nG8HGLATIHZYMfw3GSClYOTCuZ7rq4RdCeUNgCw5A,148770
9
9
  keplemon/assets/EGM-96.GEO,sha256=VBkILuvEMwAPuWmUHy2PeyEfULOwJ4PEJLNf5hr84mU,148770
10
10
  keplemon/assets/GEM_5-22.GEO,sha256=stemYLn1ChXa-VdLGHYfa15AXZa_xxGZQ65p4c3gffI,6852
@@ -17,11 +17,11 @@ keplemon/assets/SGP4_Open_License.txt,sha256=0WofOXQb5YJqnYhXWXnBdCajiTJQAT60UAk
17
17
  keplemon/assets/WGS84-70.GEO,sha256=ARjEC_5s2SVd0Kh9udbTy1ztBwTeuBYPOhUVJgIqit8,148510
18
18
  keplemon/assets/time_constants.dat,sha256=qDpJ2UrQvIDfxsBc4P2AdLS-b2lyR7RCzjqmeG4Ypl8,1226736
19
19
  keplemon/bodies.py,sha256=XnaY6XTuj8CHM3XOwOSY3E8nSo0RWwCcAY0FGxAVWa8,208
20
- keplemon/bodies.pyi,sha256=onacYuFwIutSQOKhNJxNfwAvP2oWAZcx1RAPo6tt3oQ,7269
20
+ keplemon/bodies.pyi,sha256=vTh2m_sbQ5QN56o_fJr46O-b_mvbQiEUMTRE61cxIXE,7636
21
21
  keplemon/catalogs.py,sha256=lw71NiXlVtb-z3pQR03afxtkLca4HJcnpZ6kDCcR-Lk,102
22
- keplemon/catalogs.pyi,sha256=ls2HTk7CMGnxutyR5XLsVtzMuB_OoB45-Vhj4BpKQEw,524
23
- keplemon/elements.py,sha256=QSSiUGN8cA8X85FR-CVfy8lwsNrBtrQbrw9HWr_cH3I,481
24
- keplemon/elements.pyi,sha256=8ZbXx4euKeW4Bj5jUhP87npmNoesmD4DpND1u3JxnTs,9437
22
+ keplemon/catalogs.pyi,sha256=NU_6Mc_JY8xTYAKXOqubtPnt91YA9ZHd1hMqMFf6onc,589
23
+ keplemon/elements.py,sha256=P4tlpQpCUG5jkgAT_yIeL2V14AhXtekMYxRBOsPlOgc,609
24
+ keplemon/elements.pyi,sha256=L5s_2AJz6HYYIncKmpkbYcejMVht09WWVrXRqo-ZV-Y,10240
25
25
  keplemon/enums.py,sha256=Jh0tFHg_rZXnOyLUXmHjSm3MSZFbvQKTBcP0BqHXeMY,308
26
26
  keplemon/enums.pyi,sha256=s9uqkm3Zrx6HLV4dQBScRiUy0CT4QoQwFjaCLOEMW1c,2330
27
27
  keplemon/estimation.py,sha256=2K87pFhOfaFohbAtBXv2SA6m_oIN-56toJOftu350fY,228
@@ -55,8 +55,10 @@ keplemon/saal/astro_func_interface.py,sha256=uJuJAV4beTHjk5Jr5rHzMkeBFSo-2vDiW81
55
55
  keplemon/saal/astro_func_interface.pyi,sha256=8__K4QTOYGAAwgIm5KloUADXNrR3fOrReyiN8RZcVhQ,2696
56
56
  keplemon/saal/obs_interface.py,sha256=EtsaPKixjMWfCUpMd79SvhCs3f9sRcBaal6-ickj3Vs,248
57
57
  keplemon/saal/obs_interface.pyi,sha256=eIXbFnZSF3cX3MyXaCYLUAp0wUAbJiQ4rosqpXdf2I0,228
58
+ keplemon/saal/sgp4_prop_interface.py,sha256=BBKlIvXdUypcZspC8GJ2rPqfFoDKy0RM7w5qsqvobrE,127
59
+ keplemon/saal/sgp4_prop_interface.pyi,sha256=Fv41UrqSPuITtYy_CcbyMxhysqtN3oeY38Ov4t81hvw,235
58
60
  keplemon/saal/time_func_interface.py,sha256=cshqJ15p_gcenMdmVuXTIoLeij1gsgVi0tujRQ4O6kA,421
59
61
  keplemon/saal/time_func_interface.pyi,sha256=GCj_EOmOceJorYQLGQQj1fE2cHxPvNrYml1DLvsaMy4,1508
60
62
  keplemon/time.py,sha256=vvHcwWQ1JXPaQSvdBfXYZrk2_-ukDw0RnXDeN5wy3nU,2792
61
63
  keplemon/time.pyi,sha256=S2Ul8fpuWnor9wKNFBxLwAiwrGrVN_LJH_xy6WSocv4,6260
62
- keplemon-1.0.5.dist-info/RECORD,,
64
+ 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: cp312-cp312-macosx_11_0_arm64