keplemon 0.3.3__cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl → 1.0.0__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/_keplemon.cpython-311-aarch64-linux-gnu.so +0 -0
- keplemon/bodies.pyi +7 -8
- keplemon/catalogs.pyi +4 -4
- keplemon/elements.pyi +5 -1
- keplemon/saal/astro_func_interface.py +2 -0
- keplemon/saal/astro_func_interface.pyi +12 -0
- keplemon-1.0.0.dist-info/METADATA +21 -0
- {keplemon-0.3.3.dist-info → keplemon-1.0.0.dist-info}/RECORD +10 -10
- {keplemon-0.3.3.dist-info → keplemon-1.0.0.dist-info}/WHEEL +1 -1
- keplemon-0.3.3.dist-info/METADATA +0 -114
- {keplemon-0.3.3.dist-info → keplemon-1.0.0.dist-info}/entry_points.txt +0 -0
|
Binary file
|
keplemon/bodies.pyi
CHANGED
|
@@ -17,12 +17,11 @@ class Earth:
|
|
|
17
17
|
def get_kem() -> float: ...
|
|
18
18
|
|
|
19
19
|
class Satellite:
|
|
20
|
-
|
|
21
|
-
"""
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
bookkeeping.
|
|
20
|
+
id: str
|
|
21
|
+
"""Unique identifier for the satellite."""
|
|
22
|
+
|
|
23
|
+
norad_id: int
|
|
24
|
+
"""Number corresponding to the satellite's NORAD catalog ID.
|
|
26
25
|
"""
|
|
27
26
|
name: str | None
|
|
28
27
|
"""Human-readable name of the satellite"""
|
|
@@ -100,7 +99,7 @@ class Constellation:
|
|
|
100
99
|
start: Epoch,
|
|
101
100
|
end: Epoch,
|
|
102
101
|
step: TimeSpan,
|
|
103
|
-
) -> dict[
|
|
102
|
+
) -> dict[str, Ephemeris]:
|
|
104
103
|
"""
|
|
105
104
|
Args:
|
|
106
105
|
start: UTC epoch of the start of the ephemeris
|
|
@@ -155,7 +154,7 @@ class Constellation:
|
|
|
155
154
|
"""
|
|
156
155
|
...
|
|
157
156
|
|
|
158
|
-
def __getitem__(self, satellite_id:
|
|
157
|
+
def __getitem__(self, satellite_id: str) -> Satellite: ...
|
|
159
158
|
def get_horizon_access_report(
|
|
160
159
|
self,
|
|
161
160
|
site: Observatory,
|
keplemon/catalogs.pyi
CHANGED
|
@@ -8,9 +8,9 @@ class TLECatalog:
|
|
|
8
8
|
@classmethod
|
|
9
9
|
def from_tle_file(cls, filename: str) -> TLECatalog: ...
|
|
10
10
|
def add(self, tle: TLE) -> None: ...
|
|
11
|
-
def get(self, satellite_id:
|
|
12
|
-
def remove(self, satellite_id:
|
|
13
|
-
def keys(self) -> list[
|
|
11
|
+
def get(self, satellite_id: str) -> TLE: ...
|
|
12
|
+
def remove(self, satellite_id: str) -> None: ...
|
|
13
|
+
def keys(self) -> list[str]: ...
|
|
14
14
|
def get_count(self) -> int: ...
|
|
15
15
|
def clear(self) -> None: ...
|
|
16
|
-
def __getitem__(self, satellite_id:
|
|
16
|
+
def __getitem__(self, satellite_id: str) -> TLE: ...
|
keplemon/elements.pyi
CHANGED
|
@@ -2,6 +2,7 @@ from keplemon._keplemon.saal.astro_func_interface import ( # type: ignore
|
|
|
2
2
|
teme_to_topo,
|
|
3
3
|
ra_dec_to_az_el_time,
|
|
4
4
|
ra_dec_to_az_el,
|
|
5
|
+
mean_motion_to_sma,
|
|
5
6
|
XA_TOPO_RA,
|
|
6
7
|
XA_TOPO_DEC,
|
|
7
8
|
XA_TOPO_AZ,
|
|
@@ -30,4 +31,5 @@ __all__ = [
|
|
|
30
31
|
"XA_TOPO_ELDOT",
|
|
31
32
|
"XA_TOPO_RANGEDOT",
|
|
32
33
|
"XA_TOPO_SIZE",
|
|
34
|
+
"mean_motion_to_sma",
|
|
33
35
|
]
|
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# flake8: noqa: F401
|
|
2
2
|
|
|
3
|
+
def mean_motion_to_sma(mean_motion: float) -> float:
|
|
4
|
+
"""
|
|
5
|
+
Convert mean motion to semi-major axis.
|
|
6
|
+
|
|
7
|
+
Args:
|
|
8
|
+
mean_motion: Mean motion in revolutions/day.
|
|
9
|
+
|
|
10
|
+
Returns:
|
|
11
|
+
Semi-major axis in kilometers.
|
|
12
|
+
"""
|
|
13
|
+
...
|
|
14
|
+
|
|
3
15
|
def ra_dec_to_az_el(
|
|
4
16
|
theta: float,
|
|
5
17
|
lat: float,
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: keplemon
|
|
3
|
+
Version: 1.0.0
|
|
4
|
+
Requires-Dist: requests
|
|
5
|
+
Requires-Dist: click
|
|
6
|
+
Requires-Dist: maturin>=1.0,<2.0 ; extra == 'dev'
|
|
7
|
+
Requires-Dist: keplemon[test] ; extra == 'dev'
|
|
8
|
+
Requires-Dist: mkdocstrings[python] ; extra == 'dev'
|
|
9
|
+
Requires-Dist: mkdocs-material ; extra == 'dev'
|
|
10
|
+
Requires-Dist: markdown-include ; extra == 'dev'
|
|
11
|
+
Requires-Dist: tomli ; python_full_version < '3.11' and extra == 'dev'
|
|
12
|
+
Requires-Dist: pytest ; extra == 'test'
|
|
13
|
+
Provides-Extra: dev
|
|
14
|
+
Provides-Extra: test
|
|
15
|
+
Summary: Citra Space Corporation's Rust-accelerated astrodynamics library.
|
|
16
|
+
Author-email: Brandon Sexton <brandon@citra.space>
|
|
17
|
+
License-Expression: MIT
|
|
18
|
+
Requires-Python: >=3.9
|
|
19
|
+
Project-URL: Documentation, https://keplemon.citra.space
|
|
20
|
+
Project-URL: Repository, https://github.com/citra-space/keplemon.git
|
|
21
|
+
Project-URL: Issues, https://github.com/citra-space/keplemon/issues
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
keplemon-0.
|
|
2
|
-
keplemon-0.
|
|
3
|
-
keplemon-0.
|
|
1
|
+
keplemon-1.0.0.dist-info/METADATA,sha256=-5xvAQVYzKt011pNsM6bT83WOZEnqkRlpMQBfy7nYdM,863
|
|
2
|
+
keplemon-1.0.0.dist-info/WHEEL,sha256=IAadO81wm343UqOIaV9GjMviulKs2s2PMDs4ascmt3A,131
|
|
3
|
+
keplemon-1.0.0.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=
|
|
22
|
+
keplemon/_keplemon.cpython-311-aarch64-linux-gnu.so,sha256=UEsqXeyCMG8NQPsP1qNmFXClJ8Tw0Ej1DbY4p418y9g,2298513
|
|
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=
|
|
35
|
+
keplemon/bodies.pyi,sha256=X6hXvrGJ4wGqc0Nbn04PvSbeo7U71jTPC5vC6xTER-U,7089
|
|
36
36
|
keplemon/catalogs.py,sha256=lw71NiXlVtb-z3pQR03afxtkLca4HJcnpZ6kDCcR-Lk,102
|
|
37
|
-
keplemon/catalogs.pyi,sha256=
|
|
37
|
+
keplemon/catalogs.pyi,sha256=ls2HTk7CMGnxutyR5XLsVtzMuB_OoB45-Vhj4BpKQEw,524
|
|
38
38
|
keplemon/elements.py,sha256=QSSiUGN8cA8X85FR-CVfy8lwsNrBtrQbrw9HWr_cH3I,481
|
|
39
|
-
keplemon/elements.pyi,sha256=
|
|
39
|
+
keplemon/elements.pyi,sha256=8ZbXx4euKeW4Bj5jUhP87npmNoesmD4DpND1u3JxnTs,9437
|
|
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
|
|
@@ -66,12 +66,12 @@ keplemon/propagation.pyi,sha256=YSA3cBzgHLW3_dykrjMX4PbReYJmz5Z7bzfuibPaegc,464
|
|
|
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=
|
|
70
|
-
keplemon/saal/astro_func_interface.pyi,sha256=
|
|
69
|
+
keplemon/saal/astro_func_interface.py,sha256=uJuJAV4beTHjk5Jr5rHzMkeBFSo-2vDiW818AnIEYPs,702
|
|
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
73
|
keplemon/saal/time_func_interface.py,sha256=cshqJ15p_gcenMdmVuXTIoLeij1gsgVi0tujRQ4O6kA,421
|
|
74
74
|
keplemon/saal/time_func_interface.pyi,sha256=GCj_EOmOceJorYQLGQQj1fE2cHxPvNrYml1DLvsaMy4,1508
|
|
75
75
|
keplemon/time.py,sha256=vvHcwWQ1JXPaQSvdBfXYZrk2_-ukDw0RnXDeN5wy3nU,2792
|
|
76
76
|
keplemon/time.pyi,sha256=S2Ul8fpuWnor9wKNFBxLwAiwrGrVN_LJH_xy6WSocv4,6260
|
|
77
|
-
keplemon-0.
|
|
77
|
+
keplemon-1.0.0.dist-info/RECORD,,
|
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.4
|
|
2
|
-
Name: keplemon
|
|
3
|
-
Version: 0.3.3
|
|
4
|
-
Requires-Dist: requests
|
|
5
|
-
Requires-Dist: click
|
|
6
|
-
Requires-Dist: maturin>=1.0,<2.0 ; extra == 'dev'
|
|
7
|
-
Requires-Dist: keplemon[test] ; extra == 'dev'
|
|
8
|
-
Requires-Dist: mkdocstrings[python] ; extra == 'dev'
|
|
9
|
-
Requires-Dist: mkdocs-material ; extra == 'dev'
|
|
10
|
-
Requires-Dist: markdown-include ; extra == 'dev'
|
|
11
|
-
Requires-Dist: tomli ; python_full_version < '3.11' and extra == 'dev'
|
|
12
|
-
Requires-Dist: pytest ; extra == 'test'
|
|
13
|
-
Provides-Extra: dev
|
|
14
|
-
Provides-Extra: test
|
|
15
|
-
Summary: Citra Space Corporation's Rust-accelerated astrodynamics library.
|
|
16
|
-
Author-email: Brandon Sexton <brandon@citra.space>
|
|
17
|
-
License: MIT
|
|
18
|
-
Requires-Python: >=3.9
|
|
19
|
-
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
|
|
20
|
-
Project-URL: Documentation, https://keplemon.citra.space
|
|
21
|
-
Project-URL: Repository, https://github.com/citra-space/keplemon.git
|
|
22
|
-
Project-URL: Issues, https://github.com/citra-space/keplemon/issues
|
|
23
|
-
|
|
24
|
-
# KepLemon
|
|
25
|
-
|
|
26
|
-
[Citra Space Corporation's](https://citra.space) Rust-accelerated astrodynamics package built on the shared libraries
|
|
27
|
-
provided by [space-track](https://space-track.org). Please visit the [documentation](https://keplemon.citra.space)
|
|
28
|
-
page for additional details.
|
|
29
|
-
|
|
30
|
-
## Installation
|
|
31
|
-
|
|
32
|
-
### From PyPI (Preferred)
|
|
33
|
-
|
|
34
|
-
KepLemon can be installed directly for any operating system from a command line using `pip install keplemon`.
|
|
35
|
-
|
|
36
|
-
### From a Local Build
|
|
37
|
-
|
|
38
|
-
For python users, the **_preferred installation method is through [PyPI](https://www.pypi.org)_**; however, the package can be
|
|
39
|
-
installed locally by following the steps below.
|
|
40
|
-
|
|
41
|
-
1. `git clone https://github.com/citra-space/keplemon.git`
|
|
42
|
-
2. `cargo install cargo-make`
|
|
43
|
-
3. `cargo make build-<os>-<architecture>` (e.g. for Linux x86 `cargo make build-linux-x86`)
|
|
44
|
-
4. `pip install target/wheels/*.whl`
|
|
45
|
-
|
|
46
|
-
To avoid potential conflicts with system libraries, you can alternatively build the wheel using Docker.
|
|
47
|
-
|
|
48
|
-
```bash
|
|
49
|
-
docker buildx build \
|
|
50
|
-
--build-arg OS="${OS:-linux}" \
|
|
51
|
-
--build-arg ARCH="${ARCH:-x86}" \
|
|
52
|
-
--build-arg PYTHON_VERSION="${PYTHON_VERSION:-310}" \
|
|
53
|
-
--output type=local,dest=./target .
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
Then install the wheel the same way with:
|
|
57
|
-
`pip install target/wheels/*.whl`
|
|
58
|
-
|
|
59
|
-
## Environment Settings
|
|
60
|
-
|
|
61
|
-
Although not required, it is recommended to explicitly apply the settings in this section before using KepLemon to avoid
|
|
62
|
-
unexpected behaviors and inaccurate calculations.
|
|
63
|
-
|
|
64
|
-
### CPU Limits
|
|
65
|
-
|
|
66
|
-
By default, KepLemon will have access to all available cores when performing parallel functions. Limit this by calling
|
|
67
|
-
`set_thread_count` **_before_** using other KepLemon functions.
|
|
68
|
-
|
|
69
|
-
```python
|
|
70
|
-
from keplemon import set_thread_count, get_thread_count
|
|
71
|
-
|
|
72
|
-
# Update this to the desired core count
|
|
73
|
-
set_thread_count(4)
|
|
74
|
-
```
|
|
75
|
-
|
|
76
|
-
### Time Constants and Earth-Orientation Parameters (EOP)
|
|
77
|
-
|
|
78
|
-
All astrodynamics packages have a strict dependence on measured changes to time and Earth's orientation. Since KepLemon
|
|
79
|
-
uses the public Standardized Astrodynamics Algorithms Library (SAAL) at the core, the time and (EOP) data must conform
|
|
80
|
-
to a specific format required by the underlying binaries. Rather than referencing data directly provided by the
|
|
81
|
-
[USNO](https://maia.usno.navy.mil/), utility scripts are provided in KepLemon to request and export the relevant data.
|
|
82
|
-
|
|
83
|
-
#### Global Update
|
|
84
|
-
|
|
85
|
-
Use the command below from a terminal to update time constants and EOP data package-wide.
|
|
86
|
-
|
|
87
|
-
```bash
|
|
88
|
-
keplemon --update-eop global
|
|
89
|
-
```
|
|
90
|
-
|
|
91
|
-
#### Local Override
|
|
92
|
-
|
|
93
|
-
EOP data can also be written to explicit paths for inspection or package overrides using the commands below.
|
|
94
|
-
|
|
95
|
-
```bash
|
|
96
|
-
keplemon --update-eop custom_path.txt
|
|
97
|
-
```
|
|
98
|
-
|
|
99
|
-
!!! note
|
|
100
|
-
If you intend to use the data written to a local override, you must use the `load_time_constants` method at the
|
|
101
|
-
beginning of your scripts. **_This is not needed if you maintain constants using the global method_**.
|
|
102
|
-
|
|
103
|
-
```python
|
|
104
|
-
from keplemon.time import load_time_constants
|
|
105
|
-
|
|
106
|
-
# Update this to reflect the desired override path
|
|
107
|
-
load_time_constants("custom_path.txt")
|
|
108
|
-
```
|
|
109
|
-
|
|
110
|
-
## Contributing
|
|
111
|
-
|
|
112
|
-
Anyone is welcome to contribute to KepLemon. Users are encouraged to start by opening issues or forking the repository.
|
|
113
|
-
Changes directly to the baseline may be approved by contacting the owner at <brandon@citra.space>.
|
|
114
|
-
|
|
File without changes
|