keplemon 0.3.3__cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl → 1.0.0__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
@@ -17,12 +17,11 @@ class Earth:
17
17
  def get_kem() -> float: ...
18
18
 
19
19
  class Satellite:
20
- satellite_id: int
21
- """Number used to distinguish the satellite from other objects.
22
-
23
- !!! note
24
- Every attempt should be made to make this unique to support satellite methods that perform comparisons or
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[int, Ephemeris]:
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: int) -> Satellite: ...
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: int) -> TLE: ...
12
- def remove(self, satellite_id: int) -> None: ...
13
- def keys(self) -> list[int]: ...
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: int) -> TLE: ...
16
+ def __getitem__(self, satellite_id: str) -> TLE: ...
keplemon/elements.pyi CHANGED
@@ -90,7 +90,11 @@ class KeplerianElements:
90
90
  ) -> None: ...
91
91
 
92
92
  class TLE:
93
- satellite_id: int
93
+
94
+ norad_id: int
95
+ """NORAD catalog ID of the satellite"""
96
+
97
+ satellite_id: str
94
98
  """"""
95
99
 
96
100
  name: str
@@ -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.3.3.dist-info/METADATA,sha256=ftj1MBl3mYuEDk9WgcUnibGTGChWrgMfiRECC6e04-g,4159
2
- keplemon-0.3.3.dist-info/WHEEL,sha256=pEltttHdPPnqgHTa5bF2yr93GvFbDDrJkZsucmwXjUs,131
3
- keplemon-0.3.3.dist-info/entry_points.txt,sha256=eYbCkvQvWfRDQ0LzaCELov1xeLAxQEHlfdgNq-LXyb0,49
1
+ keplemon-1.0.0.dist-info/METADATA,sha256=-5xvAQVYzKt011pNsM6bT83WOZEnqkRlpMQBfy7nYdM,863
2
+ keplemon-1.0.0.dist-info/WHEEL,sha256=fHySsttgWqXcJCdI_MS-Pgp4-RhoEQ6J1LzB8xroE-c,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-310-aarch64-linux-gnu.so,sha256=Hcg9LFJB7yaywKCQytb9BZfcU-gIi0EXq1bnvVPy9KI,2232937
22
+ keplemon/_keplemon.cpython-310-aarch64-linux-gnu.so,sha256=zII_r4ebAwzfnRSsBABNQBn8_u3FuojVIkl74xGfCUs,2298473
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=2kxW_n6skCf_QuVUGM_CeZIwf1UOyXu1TKCp_Y_txDk,7189
35
+ keplemon/bodies.pyi,sha256=X6hXvrGJ4wGqc0Nbn04PvSbeo7U71jTPC5vC6xTER-U,7089
36
36
  keplemon/catalogs.py,sha256=lw71NiXlVtb-z3pQR03afxtkLca4HJcnpZ6kDCcR-Lk,102
37
- keplemon/catalogs.pyi,sha256=NlWv2E7g5JH8LZyyPCDe9Lh_Me5Fmpv3sPinnbJpLf8,524
37
+ keplemon/catalogs.pyi,sha256=ls2HTk7CMGnxutyR5XLsVtzMuB_OoB45-Vhj4BpKQEw,524
38
38
  keplemon/elements.py,sha256=QSSiUGN8cA8X85FR-CVfy8lwsNrBtrQbrw9HWr_cH3I,481
39
- keplemon/elements.pyi,sha256=kkujHEbZykzdBLmhoJW9kWYBrjpI47m9X06vei7GudY,9373
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=gjXnmJuSmgxPEgLnqUZCP1_m0jHujPgmHt4YkERVcpk,652
70
- keplemon/saal/astro_func_interface.pyi,sha256=bEystOU2WG3KYeq93SJygnf30QsouHQMRcWlV3Tc0VM,2457
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.3.3.dist-info/RECORD,,
77
+ keplemon-1.0.0.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: maturin (1.9.1)
2
+ Generator: maturin (1.9.3)
3
3
  Root-Is-Purelib: false
4
4
  Tag: cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64
@@ -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
-