Future of the Python wrappers

Hello,

I have a question regarding the status of the new Jpype Python Wrapper. From what I understand, the former JCC wrapper will soon be deprecated: does that mean that we can already switch operational software to the new wrapper ? Should we wait for a bit before making the switch ?

Cheers,
Clément

Hi Clement,

@petrus.hyvonen or @yzokras will correct me if I’m wrong, but it is not foreseen to continue releasing the JCC based wrapper beyond Orekit 13.X.
So yes if you can, please migrate to jpype and let us know of any painpoint.

Cheers,
Romain.

Hi Clément,

It is the intention to not proceed with the JCC version from 14.0+ if we continue to get good stability with the jpype version. There has been some quirks on the jpype version and we had to lock to a previous jpype for quite some time, but now for most users it runs well. If we don’t feel fully confident at switch to 14.0 we will not switch.

I still have some production still on JCC version, jpype running in paralell and working well. For all “analysis” type of stuff I solely use jpype to exercise it and since it is a more pleasant API.

Hope that helps a little at least :slight_smile:

Petrus

Hello,
Thanks, in that case we’ll start making the switch with the current version. So far we had no major issues, just one minor cast issue (which I’ve reported here).

Clément

Hi Petrus,
Too bad that the JCC version will be not used anymore in the next versions.
Four our part, we’re using your JCC receipe to generate an Orekit C++ wrapper.
I understand that other people are also interested in this C++ wrapper too ( Is there any support for orekit in the QT programming language? )

Guillaume

Honestly I would be interested in a native C++ version of Orekit. Java is slower, and I prefer manual memory management to garbage collectors.

C++ offers operator overload so that would be great for the automatic differentiation and other Field shenanigans. But Java is more portable. So maybe Kotlin would be the best alternative. We’d be able to keep some code as is. Anyway let’s already complete the JDK 21 upgrade, it might already make Orekit a bit faster.

Cheers,
Romain

1 Like

Hi @gcap ,

I would then guess that you are only using the wrapping command (JCC command)? That is very stable and will with low modification work for future versions. The most work with an upgrade is the manual writing of the PythonClasses, the specific classes that are used for subclassing in Python and deciding what to expose or not.

Regards

Petrus