Native Rust astrodynamics algorithms with a Python API.
Project description
Python API
pykep_rust is the typed, collision-safe Python interface to the native
pykep-core implementation. It covers foundations, epochs and anomalies,
element conversion, two-body propagation and STMs, mission-design utilities,
Lambert problems, ephemerides, evaluated dynamics, and low-thrust legs.
import pykep_rust as pk
assert pk.jd_to_mjd2000(2_451_544.5) == 0.0
assert pk.cross([1.0, 0.0, 0.0], [0.0, 1.0, 0.0]) == [0.0, 0.0, 1.0]
epoch = pk.Epoch.from_iso("2030-01")
assert epoch.to_iso() == "2030-01-01T00:00:00.000000"
eccentric = pk.mean_to_eccentric_anomaly(0.1, 0.5)
assert abs(pk.eccentric_to_mean_anomaly(eccentric, 0.5) - 0.1) < 1e-15
state = pk.classical_to_cartesian([7e6, 0.01, 0.4, 1.0, 0.5, 0.2], 3.986004418e14)
earth = pk.Planet.jpl_low_precision("earth")
earth_state = earth.state(0.0)
Angles are radians and Julian conversions are arithmetic day counts without
an implied UTC, TT, or TDB time scale. Public numerical functions reject NaN
and infinity. Sequence batch functions preserve order, release the GIL around
native work, and do not create a thread pool. Numeric Epoch arithmetic uses
days; add_seconds() and seconds_since() make second-based arithmetic
explicit. Constructor data is copied into immutable native objects.
The wheel ships a py.typed marker and complete extension stub. The full
units, shape, default, ownership, and error contract is in
docs/python-api.md. Users moving from kep3 should
read docs/python-migration.md; no partial
legacy-name facade is installed.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pykep_rust-0.1.1.tar.gz.
File metadata
- Download URL: pykep_rust-0.1.1.tar.gz
- Upload date:
- Size: 2.5 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.32 {"installer":{"name":"uv","version":"0.11.32","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
56b48e4c4a66749c6f3dbf6fcb4c216a15979fb71d0a04238e5010c85e741be0
|
|
| MD5 |
d140e5eb2ff5952db3ced53dfffcf397
|
|
| BLAKE2b-256 |
9c68e4ac57f4ea2fd4d5f1b5a30f47aeb6da3fcb060c9af55c9d93ef3bae4775
|
File details
Details for the file pykep_rust-0.1.1-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: pykep_rust-0.1.1-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 3.0 MB
- Tags: PyPy, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.32 {"installer":{"name":"uv","version":"0.11.32","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8b1f152f9535c86628589a5a84cb681e7ad5bab701bb96cc7930cfa000026794
|
|
| MD5 |
2fce8f15c50150908a9404dcea287ddc
|
|
| BLAKE2b-256 |
6a630b7c9667aa1b05477f00a8a277e6f167ab365ff08ce319afc3b9f049c1c9
|
File details
Details for the file pykep_rust-0.1.1-cp313-cp313-win_amd64.whl.
File metadata
- Download URL: pykep_rust-0.1.1-cp313-cp313-win_amd64.whl
- Upload date:
- Size: 3.0 MB
- Tags: CPython 3.13, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.32 {"installer":{"name":"uv","version":"0.11.32","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0389bd7e7638967ff5338a12a6eefc3c6d5b773e020c1ee8fa8dd415842323ba
|
|
| MD5 |
703b2b60f09472b9f124a5cc9d287f12
|
|
| BLAKE2b-256 |
c942e787d5df6cc403a59632c1ee0e06f599cd82fa23723af47f9406cd156f7d
|
File details
Details for the file pykep_rust-0.1.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: pykep_rust-0.1.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 3.0 MB
- Tags: CPython 3.13, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.32 {"installer":{"name":"uv","version":"0.11.32","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
929b37d5753438bed036c4c0fa10144a3271b2295fb004b9eeb209ad93e7694b
|
|
| MD5 |
77fa9ec24acab9d8d88aec7f7c29680f
|
|
| BLAKE2b-256 |
9f9c386da4917709c8fc5c644865cfecc414d6036fe1d2d993836b0b7bb500e2
|
File details
Details for the file pykep_rust-0.1.1-cp313-cp313-macosx_11_0_arm64.whl.
File metadata
- Download URL: pykep_rust-0.1.1-cp313-cp313-macosx_11_0_arm64.whl
- Upload date:
- Size: 3.0 MB
- Tags: CPython 3.13, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.32 {"installer":{"name":"uv","version":"0.11.32","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b25a2360af5abe39800febe54c5ecf8ef6bb20bdf9586e98d2077ec9f7f11000
|
|
| MD5 |
6679b6b5a3b3f4cd6ba8c1af18665a27
|
|
| BLAKE2b-256 |
15d2f45983eedc397842afa79d113338b9bae9415943d2186c0afe8fe83817d2
|
File details
Details for the file pykep_rust-0.1.1-cp313-cp313-macosx_10_12_x86_64.whl.
File metadata
- Download URL: pykep_rust-0.1.1-cp313-cp313-macosx_10_12_x86_64.whl
- Upload date:
- Size: 3.0 MB
- Tags: CPython 3.13, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.32 {"installer":{"name":"uv","version":"0.11.32","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
788db8b1a536a59f18bf75f9c94849823fb172f7d4f18e59c25a23dc091f6b5e
|
|
| MD5 |
74de06afd1818d33ae7793bbb7267d21
|
|
| BLAKE2b-256 |
668c88cf768de88922dc48f47fce2de70b3a5474e1cb33d86daf8ba44be39ceb
|
File details
Details for the file pykep_rust-0.1.1-cp312-cp312-win_amd64.whl.
File metadata
- Download URL: pykep_rust-0.1.1-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 3.0 MB
- Tags: CPython 3.12, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.32 {"installer":{"name":"uv","version":"0.11.32","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
11d7fe3ce7e428c5c60b742c089f1dd335892a282a232ddf80bcbc43d36f57c3
|
|
| MD5 |
4dc34e478770f73a33cf6db9bd8b2a8a
|
|
| BLAKE2b-256 |
ef1d8e382bb7ede8a0dc95665299a339b3fccca968066fb0ab386a0f66a3c885
|
File details
Details for the file pykep_rust-0.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: pykep_rust-0.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 3.0 MB
- Tags: CPython 3.12, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.32 {"installer":{"name":"uv","version":"0.11.32","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
53ebbf1478449628fb1f4e81e8db6cbe3fe726f485fb3380bbb1810feb1d3ea3
|
|
| MD5 |
b80cb1601363a0eccb8bad00f874f8bd
|
|
| BLAKE2b-256 |
f668d391d5ae339dff372aaa40693d34f60b1c04c06dd01077b6b3db28f70e6a
|
File details
Details for the file pykep_rust-0.1.1-cp312-cp312-macosx_11_0_arm64.whl.
File metadata
- Download URL: pykep_rust-0.1.1-cp312-cp312-macosx_11_0_arm64.whl
- Upload date:
- Size: 3.0 MB
- Tags: CPython 3.12, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.32 {"installer":{"name":"uv","version":"0.11.32","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5228b5d07b21e29a324c13422734de5205ef9842d1766a372c3639e374c0d143
|
|
| MD5 |
8c045e1db723c3d9423ee32937bbd5d1
|
|
| BLAKE2b-256 |
fc2ba0f81ec34ba1f4fcd961d2793ceec2041f17b2bdf8255858a0e557537c74
|
File details
Details for the file pykep_rust-0.1.1-cp312-cp312-macosx_10_12_x86_64.whl.
File metadata
- Download URL: pykep_rust-0.1.1-cp312-cp312-macosx_10_12_x86_64.whl
- Upload date:
- Size: 3.0 MB
- Tags: CPython 3.12, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.32 {"installer":{"name":"uv","version":"0.11.32","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ed59a7815456605306e5fe884e057e895771e7ffc4123a125c40e60251a81d10
|
|
| MD5 |
eed3405fa6d42afe887ed04d1030a120
|
|
| BLAKE2b-256 |
1c541a88f7a7ba8d912a5960b467193286d6b2aae7f85c380f640940945c5454
|
File details
Details for the file pykep_rust-0.1.1-cp311-cp311-win_amd64.whl.
File metadata
- Download URL: pykep_rust-0.1.1-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 3.0 MB
- Tags: CPython 3.11, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.32 {"installer":{"name":"uv","version":"0.11.32","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
07cf665cd55f908596489961b84be7a577833278f6d0dcc994f2663d3c1cb6be
|
|
| MD5 |
3b83b7b8291981cd354dcf947a7d9769
|
|
| BLAKE2b-256 |
ef836472bbae7d19c92d6bd8bdc9e9169486e3b33eefb1e0a4f53ea150fa8f79
|
File details
Details for the file pykep_rust-0.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: pykep_rust-0.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 3.0 MB
- Tags: CPython 3.11, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.32 {"installer":{"name":"uv","version":"0.11.32","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a1886feacae38fd7a87e4c7931830fa6a7d544d056dbf7aaed872798d279e818
|
|
| MD5 |
74ebac3542847b92a5ec1e9b03c0d323
|
|
| BLAKE2b-256 |
71cb1b3d10cdb70ef696e4903bcdf6e2433c2d16842dcbb0091ed1dec900db3f
|
File details
Details for the file pykep_rust-0.1.1-cp311-cp311-macosx_11_0_arm64.whl.
File metadata
- Download URL: pykep_rust-0.1.1-cp311-cp311-macosx_11_0_arm64.whl
- Upload date:
- Size: 3.0 MB
- Tags: CPython 3.11, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.32 {"installer":{"name":"uv","version":"0.11.32","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
42b32238a5d6b766290e6816b0aef15ba05a0f451c87d929b32be3714fd4e198
|
|
| MD5 |
62b51979c91cc39b6d043353da24721a
|
|
| BLAKE2b-256 |
8a27480f73c3b6485fb2d18deb58ba5eddd838fea664e84dd6e05b52288e773b
|
File details
Details for the file pykep_rust-0.1.1-cp311-cp311-macosx_10_12_x86_64.whl.
File metadata
- Download URL: pykep_rust-0.1.1-cp311-cp311-macosx_10_12_x86_64.whl
- Upload date:
- Size: 3.0 MB
- Tags: CPython 3.11, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.32 {"installer":{"name":"uv","version":"0.11.32","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e9919e0208af432a410eb2a80257378dcc535464be602aef9963e8048443626b
|
|
| MD5 |
c962f98678e97093a1adeefef4a8d6de
|
|
| BLAKE2b-256 |
f6c4c993a533fe45facac3c2880d8c2daef95c722831db80d2cada1f54cac018
|