keplemon 1.1.1__cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl → 1.1.3__cp311-cp311-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
@@ -80,6 +80,29 @@ class Satellite:
80
80
  ...
81
81
 
82
82
  def get_plot_data(self, start: Epoch, end: Epoch, step: TimeSpan) -> OrbitPlotData | None: ...
83
+ def get_observatory_access_report(
84
+ self,
85
+ observatories: list[Observatory],
86
+ start: Epoch,
87
+ end: Epoch,
88
+ min_el: float,
89
+ min_duration: TimeSpan,
90
+ ) -> HorizonAccessReport | None:
91
+ """
92
+ Calculate horizon access from multiple observatories to this satellite.
93
+
94
+ Args:
95
+ observatories: List of observatories to check for horizon access
96
+ start: UTC epoch of the start of the report
97
+ end: UTC epoch of the end of the report
98
+ min_el: Minimum elevation angle in **_degrees_**
99
+ min_duration: Minimum duration of access
100
+
101
+ Returns:
102
+ Horizon access report containing accesses from all observatories to the satellite,
103
+ or None if the satellite ephemeris cannot be generated
104
+ """
105
+ ...
83
106
 
84
107
  class Constellation:
85
108
 
@@ -247,6 +270,17 @@ class Observatory:
247
270
  """
248
271
  ...
249
272
 
273
+ @classmethod
274
+ def from_cartesian_state(cls, state: CartesianState) -> Observatory:
275
+ """
276
+ Create an observatory from a Cartesian state.
277
+
278
+ Args:
279
+ state: Cartesian state of the observatory
280
+
281
+ """
282
+ ...
283
+
250
284
  def get_horizon_access_report(
251
285
  self,
252
286
  satellite: Satellite,
keplemon/events.pyi CHANGED
@@ -29,10 +29,10 @@ class CloseApproach:
29
29
  epoch: Epoch
30
30
  """UTC epoch of the close approach"""
31
31
 
32
- primary_id: int
32
+ primary_id: str
33
33
  """Satellite ID of the primary body in the close approach"""
34
34
 
35
- secondary_id: int
35
+ secondary_id: str
36
36
  """Satellite ID of the secondary body in the close approach"""
37
37
 
38
38
  distance: float
@@ -57,6 +57,9 @@ class HorizonAccess:
57
57
  satellite_id: str
58
58
  """ID of the satellite for which the access is calculated"""
59
59
 
60
+ observatory_id: str
61
+ """ID of the observatory for which the access is calculated"""
62
+
60
63
  start: HorizonState
61
64
  """State of the satellite at the start of the access period"""
62
65
 
@@ -4,6 +4,9 @@ from keplemon._keplemon.saal.astro_func_interface import ( # type: ignore
4
4
  ra_dec_to_az_el,
5
5
  mean_motion_to_sma,
6
6
  topo_date_to_equinox,
7
+ topo_equinox_to_date,
8
+ theta_teme_to_lla,
9
+ time_teme_to_lla,
7
10
  XA_TOPO_RA,
8
11
  XA_TOPO_DEC,
9
12
  XA_TOPO_AZ,
@@ -23,6 +26,8 @@ __all__ = [
23
26
  "teme_to_topo",
24
27
  "ra_dec_to_az_el_time",
25
28
  "ra_dec_to_az_el",
29
+ "theta_teme_to_lla",
30
+ "time_teme_to_lla",
26
31
  "XA_TOPO_RA",
27
32
  "XA_TOPO_DEC",
28
33
  "XA_TOPO_AZ",
@@ -38,4 +43,5 @@ __all__ = [
38
43
  "topo_date_to_equinox",
39
44
  "YROFEQNX_2000",
40
45
  "YROFEQNX_CURR",
46
+ "topo_equinox_to_date",
41
47
  ]
@@ -83,7 +83,7 @@ def topo_date_to_equinox(yr_of_equinox: int, ds50utc: float, ra: float, dec: flo
83
83
  Convert topocentric right ascension and declination to equinox coordinates for a given year of equinox.
84
84
 
85
85
  Args:
86
- yr_of_equinox: Year of the equinox (e.g., 2000 for J2000).
86
+ yr_of_equinox: Year of the equinox (using YROFEQNX_ constants).
87
87
  ds50utc: Epoch in DS50 UTC format.
88
88
  ra: Topocentric right ascension in degrees.
89
89
  dec: Topocentric declination in degrees.
@@ -93,6 +93,46 @@ def topo_date_to_equinox(yr_of_equinox: int, ds50utc: float, ra: float, dec: flo
93
93
  """
94
94
  ...
95
95
 
96
+ def topo_equinox_to_date(yr_of_equinox: int, ds50utc: float, ra: float, dec: float) -> tuple[float, float]:
97
+ """
98
+ Convert equinox right ascension and declination to topocentric coordinates for a given year of equinox.
99
+
100
+ Args:
101
+ yr_of_equinox: Year of the equinox (using YROFEQNX_ constants).
102
+ ds50utc: Epoch in DS50 UTC format.
103
+ ra: Equinox right ascension in degrees.
104
+ dec: Equinox declination in degrees.
105
+
106
+ Returns:
107
+ A tuple containing the topocentric right ascension and declination in degrees.
108
+ """
109
+ ...
110
+
111
+ def theta_teme_to_lla(theta: float, lat: float, long: float, ra: float, dec: float) -> tuple[float, float]:
112
+ """
113
+ Convert TEME coordinates to latitude, longitude, and altitude.
114
+
115
+ Args:
116
+ theta: Greenwich angle in radians.
117
+ lat: Sensor latitude in degrees.
118
+ long: Sensor longitude in degrees.
119
+ ra: TEME right ascension in degrees.
120
+ dec: TEME declination in degrees.
121
+ """
122
+ ...
123
+
124
+ def time_teme_to_lla(ds50_utc: float, lat: float, long: float, ra: float, dec: float) -> tuple[float, float]:
125
+ """
126
+ Convert TEME coordinates to latitude, longitude, and altitude.
127
+
128
+ Args:
129
+ ds50_utc: Epoch in DS50 UTC format.
130
+ lat: Sensor latitude in degrees.
131
+ long: Sensor longitude in degrees.
132
+ ra: TEME right ascension in degrees.
133
+ dec: TEME declination in degrees.
134
+ """
135
+
96
136
  XA_TOPO_AZ: int
97
137
  """Index for topocentric azimuth in degrees."""
98
138
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: keplemon
3
- Version: 1.1.1
3
+ Version: 1.1.3
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.1.1.dist-info/METADATA,sha256=uYVoCOkt9AffNNbAJkp3WIkgNd76kEWsoNyvT-Dvkcs,863
2
- keplemon-1.1.1.dist-info/WHEEL,sha256=WEZtCvLeV3UwMT_WfyW28Ro-tAebS9nXtdNZbP-JwPk,131
3
- keplemon-1.1.1.dist-info/entry_points.txt,sha256=eYbCkvQvWfRDQ0LzaCELov1xeLAxQEHlfdgNq-LXyb0,49
1
+ keplemon-1.1.3.dist-info/METADATA,sha256=nIV1B6nVcgMIMYk8CBPRexx82ZXOJ1IK9DkT9fsoo4Q,863
2
+ keplemon-1.1.3.dist-info/WHEEL,sha256=L4tc8P0dEMfgwDIpLfQnhFzDSIIOv9emxQEbtjoAqis,131
3
+ keplemon-1.1.3.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-311-aarch64-linux-gnu.so,sha256=xjsvmeMmjWF4TdfCU5Z5eezte1SGVyyw0O6p-92EtZ0,2429657
22
+ keplemon/_keplemon.cpython-311-aarch64-linux-gnu.so,sha256=fQV_eZnK2YGq8cFCXG7rBQe_Y9TZzcpBPHiasYWqRPE,2560729
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,7 +32,7 @@ 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=VfG0cH5EsDGAbrViB4pSjJjvBJ03AXdxDWjYxiy152U,8442
35
+ keplemon/bodies.pyi,sha256=AU8veUqXkgA3CnYO3XycMUlOwnep-YoUvJZA2cXieYs,9532
36
36
  keplemon/catalogs.py,sha256=lw71NiXlVtb-z3pQR03afxtkLca4HJcnpZ6kDCcR-Lk,102
37
37
  keplemon/catalogs.pyi,sha256=NU_6Mc_JY8xTYAKXOqubtPnt91YA9ZHd1hMqMFf6onc,589
38
38
  keplemon/elements.py,sha256=P4tlpQpCUG5jkgAT_yIeL2V14AhXtekMYxRBOsPlOgc,609
@@ -42,7 +42,7 @@ keplemon/enums.pyi,sha256=s9uqkm3Zrx6HLV4dQBScRiUy0CT4QoQwFjaCLOEMW1c,2330
42
42
  keplemon/estimation.py,sha256=2K87pFhOfaFohbAtBXv2SA6m_oIN-56toJOftu350fY,228
43
43
  keplemon/estimation.pyi,sha256=zb_llx8pCx9Iv95mXXpGnXPZeJsg9Oh5GRWDLyXrMFI,5521
44
44
  keplemon/events.py,sha256=PGp-xE-eyjYSMWpugplA7bPlrYjkR1NKSHRurFMnBcE,359
45
- keplemon/events.pyi,sha256=_5pqLG1wrzC9CD5KQtFuu8VSF8KtbY_FyqvLqgJCqx8,2813
45
+ keplemon/events.pyi,sha256=8ydd7aWJ6upPRs6oHQL1-Mpp8iv_dOHxRnNyto1FbwA,2905
46
46
  keplemon/exceptions.py,sha256=gTKSkN4yJ2VwR3_anpWqnIO9kQcJCO41_818NjgItiM,102
47
47
  keplemon/libastrofunc.so,sha256=1dKfGkf2KN6WSKUA25EEo7Phrik0Ey1GTy5KeHYzkuw,274897
48
48
  keplemon/libdllmain.so,sha256=g7Bz27qWLn77QgcRiSYe2eL-947wMr1S7oiQWkfWSTY,136849
@@ -66,8 +66,8 @@ 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
69
- keplemon/saal/astro_func_interface.py,sha256=_dFUUnT86u0-yIUB7CtztCUQEvbrxT4UhXsvFp92mz4,836
70
- keplemon/saal/astro_func_interface.pyi,sha256=RZA1JRidGiazZ0TG01Zxe1AIJj9OJwWnyz4LjgXLMiY,3371
69
+ keplemon/saal/astro_func_interface.py,sha256=Z3UEbviqkGCU4OcpvgShvMoT5_WeenYZkec6A5hyDgs,984
70
+ keplemon/saal/astro_func_interface.pyi,sha256=it0olsVygZtIY4ekh_Hbu1_q_o87IvE7Ezslzr0_hZo,4782
71
71
  keplemon/saal/obs_interface.py,sha256=EtsaPKixjMWfCUpMd79SvhCs3f9sRcBaal6-ickj3Vs,248
72
72
  keplemon/saal/obs_interface.pyi,sha256=eIXbFnZSF3cX3MyXaCYLUAp0wUAbJiQ4rosqpXdf2I0,228
73
73
  keplemon/saal/sgp4_prop_interface.py,sha256=BBKlIvXdUypcZspC8GJ2rPqfFoDKy0RM7w5qsqvobrE,127
@@ -76,4 +76,4 @@ keplemon/saal/time_func_interface.py,sha256=cshqJ15p_gcenMdmVuXTIoLeij1gsgVi0tuj
76
76
  keplemon/saal/time_func_interface.pyi,sha256=GCj_EOmOceJorYQLGQQj1fE2cHxPvNrYml1DLvsaMy4,1508
77
77
  keplemon/time.py,sha256=vvHcwWQ1JXPaQSvdBfXYZrk2_-ukDw0RnXDeN5wy3nU,2792
78
78
  keplemon/time.pyi,sha256=S2Ul8fpuWnor9wKNFBxLwAiwrGrVN_LJH_xy6WSocv4,6260
79
- keplemon-1.1.1.dist-info/RECORD,,
79
+ keplemon-1.1.3.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: maturin (1.9.5)
2
+ Generator: maturin (1.9.6)
3
3
  Root-Is-Purelib: false
4
4
  Tag: cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64