Orekit Python Wrapper v12.0 released

Following the major release of v12.0, an updated version of the Orekit Python Wrapper is released.

The v12.0 Orekit is a major release and contains lots of new features as described in the release note at Orekit 12.0 released. These features are available in the wrapper as well. As with a major release there are some changes and refactorings so some minor modifications may be needed.

Beside the changes in the core Orekit, one major change is done in the wrapper regarding the approach on overloaded methods in subclassing, which is a quite advanced usage few will experience. Previously each overloaded method was renamed for the wrapper. In the new version these are all pointing to the same python method, where the handling of different parameters is managed by the python side. The idea is that this new way makes the wrapper more close to the API of the original library. For details see discussion in Plan for new way of multiple dispatch in orekit python wrapper

On the platform side, the aim is to have conda packages for linux, windows and osx (arm and x64) for python 3.8-3.12. There are still issues with the osx builds for x64 & > python 3.8 and for arm & python3.12 which is believed to be more related to the CI pipeline. For these platforms I would recommend to try to build the conda package locally, which has worked in some cases.

Nominally the package is installed from https://anaconda.org/conda-forge/orekit with:

conda install -c conda-forge orekit

To build locally (which may help for the issues with osx):

git clone https://github.com/conda-forge/orekit-feedstock.git
cd orekit-feedstock
conda build recipe
conda install --use-local orekit

Thank you very much @petrus.hyvonen

Wow, I’m amazed by your reactivity @petrus.hyvonen ! Thank you very much :partying_face:

1 Like

Hi @petrus.hyvonen,

Thanks for this work.

Is there a reason why the build script here have been deleted, we customize it to add rugged as dependancy, thus we don’t use the conda forge package.


As usual, your tracking of new Orekit releases and your ability to release an updated version of the wrapper within days is impressive. Many thanks to you @petrus.hyvonen.

Thanks Petrus for the Python release basically with no delay whatsoever w.r.t. Java.

I was able to run some simple code smoothly!


Thank you @petrus.hyvonen !

Thank you!

Hi @jonathan.guinet ,
The reason I removed that was that the build script that is being maintained is that in the conda build package (build.sh), which is very close to a generic script. The freestanding one on the git was from v10 and I do not plan to maintain the separate script. But it is quite straightforward to take the build.sh from the conda package and make it free standing. Rugged is now part of that script.

thanks a lot, i have found the build script from conda packaqe, but i am surprised to see that rugged 3.0 is binded since it rely on orekit 11.2

Awesome, thanks a lot for the super fast release Petrus!

Hm interesting, actually I don’t have any test case for rugged, but I would have expected it to complain already on the wrapping if it needed other dependencies, but not sure. Orekit 11.3 also has rugged.

Awesome! I thought I have to wait a few days. Thank you so much. @petrus.hyvonen

@petrus.hyvonen Just wanted to say thank you for the updates in 12.0 that mean we no longer have to create custom python classes in order to detect significant events during propagation (max elevation, satellite rise/set times, etc). I have updated my code accordingly and the result is much neater.

1 Like

Thank you very much!

Thanks Petrus! And thank you to all that make this project possible. I have been using Orekit for a year now and it does not stop impressing me!