diff --git a/java_additions/Readme.txt b/java_additions/Readme.txt
new file mode 100644
index 0000000000000000000000000000000000000000..134af6a88be087eb421a60d38198fa0c5ed36652
--- /dev/null
+++ b/java_additions/Readme.txt
@@ -0,0 +1,9 @@
+The sources for the java classes that allows Python subclassing are no longer in a separate package
+but integrated in a modified orekit source fork.
+
+This fork is available at:
+https://github.com/petrushy/Orekit
+
+A compiled jar and some other artifacts are available at:
+https://github.com/petrushy/orekit_python_artifacts/tree/version-10.1
+
diff --git a/java_additions/src/main/java/org/orekit/python/PythonAbstractAnalyticalPropagator.java b/java_additions/src/main/java/org/orekit/python/PythonAbstractAnalyticalPropagator.java
deleted file mode 100644
index ba9f9a65b46734183ef46dfcb9ea8e68e1072d4a..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonAbstractAnalyticalPropagator.java
+++ /dev/null
@@ -1,70 +0,0 @@
-package org.orekit.python;
-
-import org.orekit.attitudes.AttitudeProvider;
-import org.orekit.orbits.Orbit;
-import org.orekit.propagation.SpacecraftState;
-import org.orekit.propagation.analytical.AbstractAnalyticalPropagator;
-import org.orekit.time.AbsoluteDate;
-
-public class PythonAbstractAnalyticalPropagator extends AbstractAnalyticalPropagator {
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-    /**
-     * Build a new instance.
-     *
-     * @param attitudeProvider provider for attitude computation
-     */
-    public PythonAbstractAnalyticalPropagator(AttitudeProvider attitudeProvider) {
-        super(attitudeProvider);
-    }
-
-    /**
-     * Get the mass. Extension point for Python.
-     *
-     * @param date target date for the orbit
-     * @return mass mass
-     */
-    @Override
-    public native double getMass(AbsoluteDate date);
-
-    /**
-     * Reset an intermediate state.
-     * Extension point for Python.
-     * @param state   new intermediate state to consider
-     * @param forward if true, the intermediate state is valid for
-     */
-    @Override
-    public native void resetIntermediateState(SpacecraftState state, boolean forward);
-
-    /**
-     * Extrapolate an orbit up to a specific target date.
-     * Extension point for Python.
-     * @param date target date for the orbit
-     * @return extrapolated parameters
-     */
-    @Override
-    public native Orbit propagateOrbit(AbsoluteDate date);
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonAbstractCovarianceMatrixProvider.java b/java_additions/src/main/java/org/orekit/python/PythonAbstractCovarianceMatrixProvider.java
deleted file mode 100644
index 08510376fa2e84c59a6aad4aeb93b956e0803435..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonAbstractCovarianceMatrixProvider.java
+++ /dev/null
@@ -1,77 +0,0 @@
-package org.orekit.python;
-
-import org.hipparchus.linear.RealMatrix;
-import org.orekit.estimation.sequential.AbstractCovarianceMatrixProvider;
-import org.orekit.propagation.SpacecraftState;
-import org.orekit.propagation.conversion.PropagatorBuilder;
-
-public class PythonAbstractCovarianceMatrixProvider extends AbstractCovarianceMatrixProvider {
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-    /**
-     * Simple constructor.
-     *
-     * @param initialNoiseMatrix initial process noise
-     */
-    public PythonAbstractCovarianceMatrixProvider(RealMatrix initialNoiseMatrix) {
-        super(initialNoiseMatrix);
-    }
-
-    /**
-     * Get the process noise matrix between previous and current states.
-     * Extension point for Python.
-     * <p>
-     * The process noise matrix is a covariance matrix corresponding to the
-     * parameters managed by the {@link KalmanEstimator Kalman estimator}.
-     * The number of rows/columns and their order are as follows:
-     * </p>
-     * <ul>
-     * <li>The first 6 components correspond to the 6 orbital parameters
-     * of the associated propagator. All 6 parameters must always be present,
-     * regardless of the fact they are estimated or not.</li>
-     * <li>The following components correspond to the subset of propagation
-     * parameters of the associated propagator that are estimated.</li>
-     * <li>The remaining components correspond to the subset of measurements
-     * parameters that are estimated, considering all measurements, even
-     * the ones that correspond to spacecrafts not related to the
-     * associated propagator</li>
-     * </ul>
-     * <p>
-     * In most cases, the process noise for the part corresponding to measurements
-     * (the final rows and columns) will be set to 0 for the process noise corresponding
-     * to the evolution between a non-null previous and current state.
-     * </p>
-     *
-     * @param previous previous state
-     * @param current  current state
-     * @return physical (i.e. non normalized) process noise matrix between
-     * previous and current states
-     * @see PropagatorBuilder#getOrbitalParametersDrivers()
-     * @see PropagatorBuilder#getPropagationParametersDrivers()
-     */
-    @Override
-    public native RealMatrix getProcessNoiseMatrix(SpacecraftState previous, SpacecraftState current);
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonAbstractDetector.java b/java_additions/src/main/java/org/orekit/python/PythonAbstractDetector.java
deleted file mode 100644
index e6ec0ba7c0184dd91412ab75ad292a0b576fa71c..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonAbstractDetector.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/** Copyright 2014 SSC and 2002-2014 CS Systèmes d'Information
- * Licensed to CS Systèmes d'Information (CS) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * CS licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-// this file was created by SCC and is largely a derived work from the
-// original file AbstractDetector.java created by CS Systèmes d'Information
-
-package org.orekit.python;
-
-import org.orekit.propagation.SpacecraftState;
-import org.orekit.propagation.events.AbstractDetector;
-import org.orekit.propagation.events.EventDetector;
-import org.orekit.propagation.events.handlers.EventHandler;
-
-/** Common parts shared by several orbital events finders.
- * @see org.orekit.propagation.Propagator#addEventDetector(EventDetector)
- * @author Luc Maisonobe
- */
-public class PythonAbstractDetector<T extends EventDetector> extends AbstractDetector<T> {
-
-	/** Serializable UID. */
-    private static final long serialVersionUID = -334171965326514174L;
-
-    private long pythonObject;
-
-    /** Part of JCC Python interface to object */
-  	public void pythonExtension(long pythonObject)
-  	{
-  		this.pythonObject = pythonObject;
-  	}
-
-  	/** Part of JCC Python interface to object */
-  	public long pythonExtension()
-  	{
-  		return this.pythonObject;
-  	}
-
-  	/** Part of JCC Python interface to object */
-  	public void finalize()
-  			throws Throwable
-  			{
-  				pythonDecRef();
-  			}
-
-  	/** Part of JCC Python interface to object */
-  	public native void pythonDecRef();
-
-	public PythonAbstractDetector(double maxCheck, double threshold,
-			int maxIter, EventHandler<T> handler) {
-		super(maxCheck, threshold, maxIter, handler);
-	}
-
-    /** {@inheritDoc} */
-    @Override
-    public native double g(SpacecraftState s);
-
-    /** {@inheritDoc} */
-	@Override
-	public native T create(double newMaxCheck, double newThreshold, int newMaxIter,
-			EventHandler<? super T> newHandler);
-	
-
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonAbstractForceModel.java b/java_additions/src/main/java/org/orekit/python/PythonAbstractForceModel.java
deleted file mode 100644
index 268c68eaad14595afc99601c8978ac9db821ed22..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonAbstractForceModel.java
+++ /dev/null
@@ -1,118 +0,0 @@
-package org.orekit.python;
-
-import org.hipparchus.Field;
-import org.hipparchus.RealFieldElement;
-import org.hipparchus.geometry.euclidean.threed.FieldVector3D;
-import org.hipparchus.geometry.euclidean.threed.Vector3D;
-import org.orekit.forces.AbstractForceModel;
-import org.orekit.propagation.FieldSpacecraftState;
-import org.orekit.propagation.SpacecraftState;
-import org.orekit.propagation.events.EventDetector;
-import org.orekit.propagation.events.FieldEventDetector;
-import org.orekit.utils.ParameterDriver;
-
-import java.util.stream.Stream;
-
-public class PythonAbstractForceModel extends AbstractForceModel {
-
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-    /**
-     * Check if force models depends on position only.
-     * Extension point for Python.
-     * @return true if force model depends on position only, false
-     * if it depends on velocity, either directly or due to a dependency
-     * on attitude
-     * @since 9.0
-     */
-    @Override
-    public native boolean dependsOnPositionOnly();
-
-    /**
-     * Compute acceleration.
-     * Extension point for Python.
-     * @param s          current state information: date, kinematics, attitude
-     * @param parameters values of the force model parameters
-     * @return acceleration in same frame as state
-     * @since 9.0
-     */
-    @Override
-    public native Vector3D acceleration(SpacecraftState s, double[] parameters);
-
-    /**
-     * Compute acceleration. Automatically directs to the Python extension point Fieldacceleration
-     *
-     * @param s          current state information: date, kinematics, attitude
-     * @param parameters values of the force model parameters
-     * @return acceleration in same frame as state
-     * @since 9.0
-     */
-    @Override
-    public <T extends RealFieldElement<T>> FieldVector3D<T> acceleration(FieldSpacecraftState<T> s, T[] parameters) {
-        return this.Fieldacceleration(s,parameters);
-    }
-
-    /**
-     * Compute acceleration, Alternative python interface point for the acceleration method.
-     * Extension point for Python.
-     *
-     * @param s          current state information: date, kinematics, attitude
-     * @param parameters values of the force model parameters
-     * @return acceleration in same frame as state
-     * @since 9.0
-     */
-    public native <T extends RealFieldElement<T>> FieldVector3D<T> Fieldacceleration(FieldSpacecraftState<T> s, T[] parameters);
-
-    /**
-     * Get the discrete events related to the model.
-     * Extension point for Python.
-     *
-     * @return stream of events detectors
-     */
-    @Override
-    public native Stream<EventDetector> getEventsDetectors();
-
-    /**
-     * Get the discrete events related to the model.
-     * Extension point for Python.
-     *
-     * @param field field to which the state belongs
-     * @return stream of events detectors
-     */
-    @Override
-    public native <T extends RealFieldElement<T>> Stream<FieldEventDetector<T>> getFieldEventsDetectors(Field<T> field);
-
-    /**
-     * Get the drivers for force model parameters.
-     * Extension point for Python.
-     *
-     * @return drivers for force model parameters
-     * @since 8.0
-     */
-    @Override
-    public native ParameterDriver[] getParametersDrivers();
-
-    }
\ No newline at end of file
diff --git a/java_additions/src/main/java/org/orekit/python/PythonAbstractGaussianContribution.java b/java_additions/src/main/java/org/orekit/python/PythonAbstractGaussianContribution.java
deleted file mode 100644
index 7203300dffa80dcbec8ef96f0d737ce50767361a..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonAbstractGaussianContribution.java
+++ /dev/null
@@ -1,66 +0,0 @@
-package org.orekit.python;
-
-import org.orekit.forces.ForceModel;
-import org.orekit.propagation.SpacecraftState;
-import org.orekit.propagation.events.EventDetector;
-import org.orekit.propagation.semianalytical.dsst.forces.AbstractGaussianContribution;
-
-public class PythonAbstractGaussianContribution extends AbstractGaussianContribution {
-
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-
-    /**
-     * Build a new instance.
-     *
-     * @param coefficientsKeyPrefix prefix for coefficients keys
-     * @param threshold             tolerance for the choice of the Gauss quadrature order
-     * @param contribution          the {@link ForceModel} to be numerically averaged
-     */
-    public PythonAbstractGaussianContribution(String coefficientsKeyPrefix, double threshold, ForceModel contribution) {
-        super(coefficientsKeyPrefix, threshold, contribution);
-    }
-
-    /**
-     * Compute the limits in L, the true longitude, for integration.
-     * Extension point for Python.
-     *
-     * @param state current state information: date, kinematics, attitude
-     * @return the integration limits in L
-     */
-    @Override
-    public native double[] getLLimits(SpacecraftState state);
-
-    /**
-     * Get the discrete events related to the model.
-     * Extension point for Python.
-     *
-     * @return array of events detectors or null if the model is not
-     * related to any discrete events
-     */
-    @Override
-    public native EventDetector[] getEventsDetectors();
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonAbstractIntegratedPropagator.java b/java_additions/src/main/java/org/orekit/python/PythonAbstractIntegratedPropagator.java
deleted file mode 100644
index cc59050c2d1c08d3ac34ad35df57bbd710a1bab6..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonAbstractIntegratedPropagator.java
+++ /dev/null
@@ -1,79 +0,0 @@
-package org.orekit.python;
-
-import org.hipparchus.ode.ODEIntegrator;
-import org.orekit.attitudes.AttitudeProvider;
-import org.orekit.frames.Frame;
-import org.orekit.orbits.OrbitType;
-import org.orekit.orbits.PositionAngle;
-import org.orekit.propagation.integration.AbstractIntegratedPropagator;
-import org.orekit.propagation.integration.StateMapper;
-import org.orekit.time.AbsoluteDate;
-
-public class PythonAbstractIntegratedPropagator extends AbstractIntegratedPropagator {
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-    /**
-     * Build a new instance.
-     *
-     * @param integrator numerical integrator to use for propagation.
-     * @param meanOrbit  output only the mean orbit.
-     */
-    protected PythonAbstractIntegratedPropagator(ODEIntegrator integrator, boolean meanOrbit) {
-        super(integrator, meanOrbit);
-    }
-
-    /**
-     * Create a mapper between raw double components and spacecraft state.
-     * /** Simple constructor.
-     *  Extension point for Python.
-     * <p>
-     * The position parameter type is meaningful only if {@link
-     * #getOrbitType() propagation orbit type}
-     * support it. As an example, it is not meaningful for propagation
-     * in {@link OrbitType#CARTESIAN Cartesian} parameters.
-     * </p>
-     *
-     * @param referenceDate     reference date
-     * @param mu                central attraction coefficient (m³/s²)
-     * @param orbitType         orbit type to use for mapping
-     * @param positionAngleType angle type to use for propagation
-     * @param attitudeProvider  attitude provider
-     * @param frame             inertial frame
-     * @return new mapper
-     */
-    @Override
-    public native StateMapper createMapper(AbsoluteDate referenceDate, double mu, OrbitType orbitType, PositionAngle positionAngleType, AttitudeProvider attitudeProvider, Frame frame);
-
-    /**
-     * Get the differential equations to integrate (for main state only).
-     * Extension point for Python.
-     *
-     * @param integ numerical integrator to use for propagation.
-     * @return differential equations for main state
-     */
-    @Override
-    public native MainStateEquations getMainStateEquations(ODEIntegrator integ);
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonAbstractMeasurement.java b/java_additions/src/main/java/org/orekit/python/PythonAbstractMeasurement.java
deleted file mode 100644
index 7af9c37b60d3ce07149983256a8949bdd847fe4a..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonAbstractMeasurement.java
+++ /dev/null
@@ -1,68 +0,0 @@
-package org.orekit.python;
-
-import org.orekit.estimation.measurements.*;
-import org.orekit.propagation.SpacecraftState;
-import org.orekit.time.AbsoluteDate;
-
-import java.util.List;
-
-public class PythonAbstractMeasurement<T extends ObservedMeasurement<T>> extends AbstractMeasurement<T> {
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /**
-     * Simple constructor for mono-dimensional measurements.
-     * <p>
-     * At construction, a measurement is enabled.
-     * </p>
-     *
-     * @param date       date of the measurement
-     * @param observed   observed value
-     * @param sigma      theoretical standard deviation
-     * @param baseWeight base weight
-     * @param satellites satellites related to this measurement
-     * @since 9.3
-     */
-    public PythonAbstractMeasurement(AbsoluteDate date, double observed, double sigma, double baseWeight, List<ObservableSatellite> satellites) {
-        super(date, observed, sigma, baseWeight, satellites);
-    }
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-    /**
-     * Estimate the theoretical value.
-     * Extension point for Python.
-     * <p>
-     * The theoretical value does not have <em>any</em> modifiers applied.
-     * </p>
-     *
-     * @param iteration  iteration number
-     * @param evaluation evaluation number
-     * @param states     orbital states at measurement date
-     * @return theoretical value
-     * @see #estimate(int, int, SpacecraftState[])
-     */
-    @Override
-    public native EstimatedMeasurement<T> theoreticalEvaluation(int iteration, int evaluation, SpacecraftState[] states);
-
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonAbstractMeasurementBuilder.java b/java_additions/src/main/java/org/orekit/python/PythonAbstractMeasurementBuilder.java
deleted file mode 100644
index 006867b47443ba1f2975c06a6eb5fc4157f54b08..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonAbstractMeasurementBuilder.java
+++ /dev/null
@@ -1,70 +0,0 @@
-package org.orekit.python;
-
-import org.hipparchus.random.CorrelatedRandomVectorGenerator;
-import org.orekit.estimation.measurements.ObservableSatellite;
-import org.orekit.estimation.measurements.ObservedMeasurement;
-import org.orekit.estimation.measurements.generation.AbstractMeasurementBuilder;
-import org.orekit.propagation.SpacecraftState;
-
-public class PythonAbstractMeasurementBuilder<T extends ObservedMeasurement<T>> extends AbstractMeasurementBuilder<T> {
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-    /**
-     * Simple constructor.
-     *
-     * @param noiseSource noise source, may be null for generating perfect measurements
-     * @param sigma       theoretical standard deviation
-     * @param baseWeight  base weight
-     * @param satellites  satellites related to this builder
-     */
-    public PythonAbstractMeasurementBuilder(CorrelatedRandomVectorGenerator noiseSource, double sigma, double baseWeight, ObservableSatellite... satellites) {
-        super(noiseSource, sigma, baseWeight, satellites);
-    }
-
-    /**
-     * Simple constructor.
-     *
-     * @param noiseSource noise source, may be null for generating perfect measurements
-     * @param sigma       theoretical standard deviation
-     * @param baseWeight  base weight
-     * @param satellites  satellites related to this builder
-     */
-    public PythonAbstractMeasurementBuilder(CorrelatedRandomVectorGenerator noiseSource, double[] sigma, double[] baseWeight, ObservableSatellite... satellites) {
-        super(noiseSource, sigma, baseWeight, satellites);
-    }
-
-
-    /**
-     * Generate a single measurement.
-     * Extension point for Python.
-     *
-     * @param states spacecraft states
-     * @return generated measurement
-     */
-    @Override
-    public native T build(SpacecraftState[] states);
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonAbstractParametricAcceleration.java b/java_additions/src/main/java/org/orekit/python/PythonAbstractParametricAcceleration.java
deleted file mode 100644
index 22ba024e1a1fa78168c6196b76d1369085353e23..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonAbstractParametricAcceleration.java
+++ /dev/null
@@ -1,101 +0,0 @@
-package org.orekit.python;
-
-import org.hipparchus.RealFieldElement;
-import org.hipparchus.geometry.euclidean.threed.Vector3D;
-import org.orekit.attitudes.AttitudeProvider;
-import org.orekit.forces.AbstractParametricAcceleration;
-import org.orekit.propagation.FieldSpacecraftState;
-import org.orekit.propagation.Propagator;
-import org.orekit.propagation.SpacecraftState;
-import org.orekit.utils.ParameterDriver;
-
-public class PythonAbstractParametricAcceleration extends AbstractParametricAcceleration {
-    /**
-     * Simple constructor.
-     *
-     * @param direction        acceleration direction in overridden spacecraft frame
-     * @param isInertial       if true, direction is defined in the same inertial
-     *                         frame used for propagation (i.e. {@link SpacecraftState#getFrame()}),
-     *                         otherwise direction is defined in spacecraft frame (i.e. using the
-     *                         propagation {@link
-     *                         Propagator#setAttitudeProvider(AttitudeProvider)
-     *                         attitude law})
-     * @param attitudeOverride provider for attitude used to compute acceleration
-     */
-    public PythonAbstractParametricAcceleration(Vector3D direction, boolean isInertial, AttitudeProvider attitudeOverride) {
-        super(direction, isInertial, attitudeOverride);
-    }
-
-    /**
-     * Compute the signed amplitude of the acceleration.
-     * Extension point for Python.
-     * <p>
-     * The acceleration is the direction multiplied by the signed amplitude. So if
-     * signed amplitude is negative, the acceleratin is towards the opposite of the
-     * direction specified at construction.
-     * </p>
-     *
-     * @param state      current state information: date, kinematics, attitude
-     * @param parameters values of the force model parameters
-     * @return norm of the acceleration
-     */
-    @Override
-    public native double signedAmplitude(SpacecraftState state, double[] parameters);
-
-    /**
-     * Compute the signed amplitude of the acceleration.
-     * <p>
-     * The acceleration is the direction multiplied by the signed amplitude. So if
-     * signed amplitude is negative, the acceleratin is towards the opposite of the
-     * direction specified at construction.
-     * </p>
-     *
-     * @param state      current state information: date, kinematics, attitude
-     * @param parameters values of the force model parameters
-     * @return norm of the acceleration
-     */
-    @Override
-    protected <T extends RealFieldElement<T>> T signedAmplitude(FieldSpacecraftState<T> state, T[] parameters) {
-        return this.signedFieldAmplitude(state, parameters);
-    }
-
-
-
-    /**
-     * Compute the signed amplitude of the acceleration.
-     * Extension point for Python linked to the signedAmplitude method.
-     * <p>
-     * The acceleration is the direction multiplied by the signed amplitude. So if
-     * signed amplitude is negative, the acceleratin is towards the opposite of the
-     * direction specified at construction.
-     * </p>
-     *
-     * @param state      current state information: date, kinematics, attitude
-     * @param parameters values of the force model parameters
-     * @return norm of the acceleration
-     */
-
-    public native <T extends RealFieldElement<T>> T signedFieldAmplitude(FieldSpacecraftState<T> state, T[] parameters);
-
-    /**
-     * Check if force models depends on position only.
-     * Extension point for Python
-     *
-     * @return true if force model depends on position only, false
-     * if it depends on velocity, either directly or due to a dependency
-     * on attitude
-     * @since 9.0
-     */
-    @Override
-    public native boolean dependsOnPositionOnly();
-
-    /**
-     * Get the drivers for force model parameters.
-     * Extension Point for Python
-     *
-     * @return drivers for force model parameters
-     * @since 8.0
-     */
-    @Override
-    public native ParameterDriver[] getParametersDrivers();
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonAbstractPropagator.java b/java_additions/src/main/java/org/orekit/python/PythonAbstractPropagator.java
deleted file mode 100644
index 0dff0047a227537cfd2482a70a72bfb7cfc65878..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonAbstractPropagator.java
+++ /dev/null
@@ -1,83 +0,0 @@
-package org.orekit.python;
-
-import org.orekit.propagation.AbstractPropagator;
-import org.orekit.propagation.BoundedPropagator;
-import org.orekit.propagation.SpacecraftState;
-import org.orekit.propagation.events.EventDetector;
-import org.orekit.time.AbsoluteDate;
-
-import java.util.Collection;
-
-public class PythonAbstractPropagator extends AbstractPropagator {
-
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public native BoundedPropagator getGeneratedEphemeris();
-
-    /**
-     * Extension point for Python.
-     * {@inheritDoc}
-     *
-     * @param detector
-     */
-    @Override
-    public native <T extends EventDetector> void addEventDetector(T detector);
-
-    /**
-     * Extension point for Python.
-     * {@inheritDoc}
-     */
-    @Override
-    public native Collection<EventDetector> getEventsDetectors();
-
-    /**
-     * Extension point for Python.
-     * {@inheritDoc}
-     */
-    @Override
-    public native void clearEventsDetectors();
-
-    /**
-     * Propagate from a start date towards a target date.
-     * Extension point for Python.
-     *
-     * <p>Those propagators use a start date and a target date to
-     * compute the propagated state. For propagators using event detection mechanism,
-     * if the provided start date is different from the initial state date, a first,
-     * simple propagation is performed, without processing any event computation.
-     * Then complete propagation is performed from start date to target date.</p>
-     *
-     * @param start  start date from which orbit state should be propagated
-     * @param target target date to which orbit state should be propagated
-     * @return propagated state
-     */
-    @Override
-    public native SpacecraftState propagate(AbsoluteDate start, AbsoluteDate target);
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonAbstractPropagatorBuilder.java b/java_additions/src/main/java/org/orekit/python/PythonAbstractPropagatorBuilder.java
deleted file mode 100644
index 05f91a2e61d50c59b47d5c4a9a24999af7785736..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonAbstractPropagatorBuilder.java
+++ /dev/null
@@ -1,75 +0,0 @@
-package org.orekit.python;
-
-import org.orekit.orbits.Orbit;
-import org.orekit.orbits.PositionAngle;
-import org.orekit.propagation.Propagator;
-import org.orekit.propagation.conversion.AbstractPropagatorBuilder;
-
-public class PythonAbstractPropagatorBuilder extends AbstractPropagatorBuilder {
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-    /**
-     * Build a new instance.
-     * <p>
-     * The template orbit is used as a model to {@link
-     * #createInitialOrbit() create initial orbit}. It defines the
-     * inertial frame, the central attraction coefficient, the orbit type, and is also
-     * used together with the {@code positionScale} to convert from the {@link
-     * ParameterDriver#setNormalizedValue(double) normalized} parameters used by the
-     * callers of this builder to the real orbital parameters.
-     * </p>
-     * <p>
-     * By default, all the {@link #getOrbitalParametersDrivers() orbital parameters drivers}
-     * are selected, which means that if the builder is used for orbit determination or
-     * propagator conversion, all orbital parameters will be estimated. If only a subset
-     * of the orbital parameters must be estimated, caller must retrieve the orbital
-     * parameters by calling {@link #getOrbitalParametersDrivers()} and then call
-     * {@link ParameterDriver#setSelected(boolean) setSelected(false)}.
-     * </p>
-     *
-     * @param templateOrbit                 reference orbit from which real orbits will be built
-     * @param positionAngle                 position angle type to use
-     * @param positionScale                 scaling factor used for orbital parameters normalization
-     *                                      (typically set to the expected standard deviation of the position)
-     * @param addDriverForCentralAttraction if true, a {@link ParameterDriver} should
-     *                                      be set up for central attraction coefficient
-     * @since 8.0
-     */
-    public PythonAbstractPropagatorBuilder(Orbit templateOrbit, PositionAngle positionAngle, double positionScale, boolean addDriverForCentralAttraction) {
-        super(templateOrbit, positionAngle, positionScale, addDriverForCentralAttraction);
-    }
-
-    /**
-     * Build a propagator.
-     * Extension point for Python.
-     *
-     *
-     * @param normalizedParameters normalized values for the selected parameters
-     * @return an initialized propagator
-     */
-    @Override
-    public native Propagator buildPropagator(double[] normalizedParameters);
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonAbstractPropagatorConverter.java b/java_additions/src/main/java/org/orekit/python/PythonAbstractPropagatorConverter.java
deleted file mode 100644
index 3162377d40a3314e9328160099634b356848da56..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonAbstractPropagatorConverter.java
+++ /dev/null
@@ -1,63 +0,0 @@
-package org.orekit.python;
-
-import org.hipparchus.analysis.MultivariateVectorFunction;
-import org.hipparchus.optim.nonlinear.vector.leastsquares.MultivariateJacobianFunction;
-import org.orekit.propagation.conversion.AbstractPropagatorConverter;
-import org.orekit.propagation.conversion.PropagatorBuilder;
-
-public class PythonAbstractPropagatorConverter extends AbstractPropagatorConverter {
-
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-    /**
-     * Build a new instance.
-     *
-     * @param builder       propagator builder
-     * @param threshold     absolute convergence threshold for optimization algorithm
-     * @param maxIterations maximum number of iterations for fitting
-     */
-    public PythonAbstractPropagatorConverter(PropagatorBuilder builder, double threshold, int maxIterations) {
-        super(builder, threshold, maxIterations);
-    }
-
-    /**
-     * Get the function computing position/velocity at sample points.
-     * Extension point for Python.
-     *
-     * @return function computing position/velocity at sample points
-     */
-    @Override
-    public native MultivariateVectorFunction getObjectiveFunction();
-
-    /**
-     * Get the Jacobian of the function computing position/velocity at sample points.
-     * Extension point for Python.
-     *
-     * @return Jacobian of the function computing position/velocity at sample points
-     */
-    @Override
-    public native MultivariateJacobianFunction getModel();
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonAbstractScheduler.java b/java_additions/src/main/java/org/orekit/python/PythonAbstractScheduler.java
deleted file mode 100644
index 43e21993f6b797f828aa4664e405309733221179..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonAbstractScheduler.java
+++ /dev/null
@@ -1,57 +0,0 @@
-package org.orekit.python;
-
-import org.orekit.estimation.measurements.ObservedMeasurement;
-import org.orekit.estimation.measurements.generation.AbstractScheduler;
-import org.orekit.estimation.measurements.generation.MeasurementBuilder;
-import org.orekit.propagation.sampling.OrekitStepInterpolator;
-import org.orekit.time.DatesSelector;
-
-import java.util.List;
-import java.util.SortedSet;
-
-public class PythonAbstractScheduler<T extends ObservedMeasurement<T>> extends AbstractScheduler<T> {
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /**
-     * Simple constructor.
-     *
-     * @param builder  builder for individual measurements
-     * @param selector selector for dates
-     */
-    protected PythonAbstractScheduler(MeasurementBuilder<T> builder, DatesSelector selector) {
-        super(builder, selector);
-    }
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-    /**
-     * Generate a sequence of measurements.
-     * Extension point for Python.
-     *
-     * @param interpolators interpolators for spacecraft states
-     * @return generated measurements
-     */
-    @Override
-    public native SortedSet<T> generate(List<OrekitStepInterpolator> interpolators);
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonAdditionalEquations.java b/java_additions/src/main/java/org/orekit/python/PythonAdditionalEquations.java
deleted file mode 100644
index 58101db2a06edf6957944eeca97809af31bff1fb..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonAdditionalEquations.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/* Copyright 2010-2011 Centre National d'Études Spatiales
- * Licensed to CS Systèmes d'Information (CS) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * CS licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-// this file was created by SCC 2018 and is largely a derived work from the
-// original java class
-
-
-package org.orekit.python;
-
-import org.orekit.propagation.SpacecraftState;
-import org.orekit.propagation.integration.AdditionalEquations;
-import org.orekit.time.AbsoluteDate;
-
-/** This interface allows users to add their own differential equations to a numerical propagator.
- *
- * <p>
- * In some cases users may need to integrate some problem-specific equations along with
- * classical spacecraft equations of motions. One example is optimal control in low
- * thrust where adjoint parameters linked to the minimized Hamiltonian must be integrated.
- * Another example is formation flying or rendez-vous which use the Clohessy-Whiltshire
- * equations for the relative motion.
- * </p>
- * <p>
- * This interface allows users to add such equations to a {@link
- * org.orekit.propagation.numerical.NumericalPropagator numerical propagator}. Users provide the
- * equations as an implementation of this interface and register it to the propagator thanks to
- * its {@link org.orekit.propagation.numerical.NumericalPropagator#addAdditionalEquations(AdditionalEquations)}
- * method. Several such objects can be registered with each numerical propagator, but it is
- * recommended to gather in the same object the sets of parameters which equations can interact
- * on each others states.
- * </p>
- * <p>
- * The additional parameters are gathered in a simple p array. The additional equations compute
- * the pDot array, which is the time-derivative of the p array. Since the additional parameters
- * p may also have an influence on the equations of motion themselves that should be accumulated
- * to the main state derivatives (for example an equation linked to a complex thrust model may
- * induce an acceleration and a mass change), the {@link #computeDerivatives(SpacecraftState, double[])
- * computeDerivatives} method can return a double array that will be
- * <em>added</em> to the main state derivatives. This means these equations can be used as an
- * additional force model if needed. If the additional parameters have no influence at all on
- * the main spacecraft state, a null reference may be returned.
- * </p>
- * <p>
- * This interface is the numerical (read not already integrated) counterpart of
- * the {@link org.orekit.propagation.AdditionalStateProvider} interface.
- * It allows to append various additional state parameters to any {@link
- * org.orekit.propagation.numerical.NumericalPropagator numerical propagator}.
- * </p>
- * @see AbstractIntegratedPropagator
- * @see org.orekit.propagation.AdditionalStateProvider
- * @author Luc Maisonobe
- */
-
-
-
-public class PythonAdditionalEquations implements AdditionalEquations {
-	
-	
-	static final long serialVersionUID = 1L;
-	
-	/** Part of JCC Python interface to object */
-	private long pythonObject;
-
-	/** Part of JCC Python interface to object */
-	public void pythonExtension(long pythonObject)
-	{
-		this.pythonObject = pythonObject;
-	}
-
-	/** Part of JCC Python interface to object */
-	public long pythonExtension()
-	{
-		return this.pythonObject;
-	}
-
-	/** Part of JCC Python interface to object */
-	public void finalize()
-			throws Throwable
-			{
-		pythonDecRef();
-			}
-
-	/** Part of JCC Python interface to object */
-	public native void pythonDecRef();
-	
-
-    /** Get the name of the additional state.
-	 * Extension point for Python.
-	 *
-     * @return name of the additional state
-     */
-    public native String getName();
-
-    /** Extension point for Python.
-	 * {@inheritDoc} */
-	@Override
-	public native void init(final SpacecraftState initialState, final AbsoluteDate target);
-
-	/**
-	 * Extension point for Python.
-	 *
-	 * {@inheritDoc} */
-	@Override
-	public native double[] computeDerivatives(SpacecraftState s,  double[] pDot);
-
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonAdditionalStateProvider.java b/java_additions/src/main/java/org/orekit/python/PythonAdditionalStateProvider.java
deleted file mode 100644
index 5c9de458012a26b8e28bd17f2d68c2fd3d8b70f7..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonAdditionalStateProvider.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/* Copyright 2002-2019 CS Systèmes d'Information
- * Licensed to CS Systèmes d'Information (CS) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * CS licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-// this file was created by SCC 2019 and is largely a derived work from the
-// original java class/interface
-
-package org.orekit.python;
-
-import org.orekit.propagation.AdditionalStateProvider;
-import org.orekit.propagation.SpacecraftState;
-
-public class PythonAdditionalStateProvider implements AdditionalStateProvider {
-
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-    
-    /**
-     * Get the name of the additional state.
-     * Extension point for Python.
-     *
-     * @return name of the additional state
-     */
-    @Override
-    public native String getName();
-
-    /**
-     * Get the additional state.
-     * Extension point for Python.
-     *
-     * @param state spacecraft state to which additional state should correspond
-     * @return additional state corresponding to spacecraft state
-     */
-    @Override
-    public native double[] getAdditionalState(SpacecraftState state);
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonAtmosphere.java b/java_additions/src/main/java/org/orekit/python/PythonAtmosphere.java
deleted file mode 100644
index c66626ca0f494ae3e42308211054ec8ecf975089..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonAtmosphere.java
+++ /dev/null
@@ -1,148 +0,0 @@
-/* Copyright 2002-2019 CS Systèmes d'Information
- * Licensed to CS Systèmes d'Information (CS) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * CS licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-// this file was created by SCC 2019 and is largely a derived work from the
-// original java class/interface
-
-package org.orekit.python;
-
-import org.hipparchus.RealFieldElement;
-import org.hipparchus.geometry.euclidean.threed.FieldVector3D;
-import org.hipparchus.geometry.euclidean.threed.Vector3D;
-import org.orekit.forces.drag.atmosphere.Atmosphere;
-import org.orekit.frames.Frame;
-import org.orekit.time.AbsoluteDate;
-import org.orekit.time.FieldAbsoluteDate;
-
-public class PythonAtmosphere implements Atmosphere {
-
-    private static final long serialVersionUID = 335860944218555301L;
-    
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-    /**
-     * Get the frame of the central body.
-     *
-     * @return frame of the central body.
-     * @since 6.0
-     */
-    @Override
-    public native Frame getFrame();
-
-    /**
-     * Get the local density.
-     * Extension point for Python.
-     *
-     * @param date     current date
-     * @param position current position in frame
-     * @param frame    the frame in which is defined the position
-     * @return local density (kg/m³)
-     */
-    @Override
-    public native double getDensity(AbsoluteDate date, Vector3D position, Frame frame);
-
-    /**
-     * Get the local density.
-     * Redirects to getFieldDensity
-     *
-     * @param date     current date
-     * @param position current position in frame
-     * @param frame    the frame in which is defined the position
-     * @return local density (kg/m³)
-     */
-    @Override
-    public <T extends RealFieldElement<T>> T getDensity(FieldAbsoluteDate<T> date, FieldVector3D<T> position, Frame frame) {
-        return this.getFieldDensity(date, position, frame);
-    }
-
-
-    /**
-     * Get the local density.
-     * Extension point for Python.
-     *
-     * @param date     current date
-     * @param position current position in frame
-     * @param frame    the frame in which is defined the position
-     * @return local density (kg/m³)
-     */
-    public native <T extends RealFieldElement<T>> T getFieldDensity(FieldAbsoluteDate<T> date, FieldVector3D<T> position, Frame frame);
-
-
-    /**
-     * Get the inertial velocity of atmosphere molecules.
-     * Extension point for Python.
-     *
-     * <p>By default, atmosphere is supposed to have a null
-     * velocity in the central body frame.</p>
-     *
-     * @param date     current date
-     * @param position current position in frame
-     * @param frame    the frame in which is defined the position
-     * @return velocity (m/s) (defined in the same frame as the position)
-     */
-    @Override
-    public native Vector3D getVelocity(AbsoluteDate date, Vector3D position, Frame frame);
-
-    /**
-     * Get the inertial velocity of atmosphere molecules.
-     * Redirects to getFieldVelocity(...)
-     *
-     * @param date     current date
-     * @param position current position in frame
-     * @param frame    the frame in which is defined the position
-     * @return velocity (m/s) (defined in the same frame as the position)
-     */
-    @Override
-    public <T extends RealFieldElement<T>> FieldVector3D<T> getVelocity(FieldAbsoluteDate<T> date, FieldVector3D<T> position, Frame frame) {
-        return this.getFieldVelocity(date, position, frame);
-    }
-
-    /**
-     * Get the inertial velocity of atmosphere molecules.
-     * Extension point for Python.
-     *
-     * @param date     current date
-     * @param position current position in frame
-     * @param frame    the frame in which is defined the position
-     * @return velocity (m/s) (defined in the same frame as the position)
-     */
-    public native <T extends RealFieldElement<T>> FieldVector3D<T> getFieldVelocity(FieldAbsoluteDate<T> date, FieldVector3D<T> position, Frame frame);
-
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonAtmosphericRefractionModel.java b/java_additions/src/main/java/org/orekit/python/PythonAtmosphericRefractionModel.java
deleted file mode 100644
index 789a3ed914b8a4e3ac2e84cc3165f8ddc20909f8..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonAtmosphericRefractionModel.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/* Copyright 2013 Applied Defense Solutions, Inc.
- * Licensed to CS Communication & Systèmes (CS) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * CS licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-// this file was created by SCC 2019 and is largely a derived work from the
-// original java class/interface
-
-package org.orekit.python;
-
-import org.orekit.models.AtmosphericRefractionModel;
-
-public class PythonAtmosphericRefractionModel implements AtmosphericRefractionModel {
-
-    private static final long serialVersionUID = -6933430021018867767L;
-    
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-    /**
-     * Compute the refraction angle from the true (geometrical) elevation.
-     * Extension point for Python.
-     *
-     * @param trueElevation true elevation (rad)
-     * @return refraction angle (rad)
-     */
-    @Override
-    public native double getRefraction(double trueElevation);
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonAttitudeProvider.java b/java_additions/src/main/java/org/orekit/python/PythonAttitudeProvider.java
deleted file mode 100644
index 367e0a7b61bce5d89e8ff5540f161b028a7b4322..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonAttitudeProvider.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/* Copyright 2002-2019 CS Systèmes d'Information
- * Licensed to CS Systèmes d'Information (CS) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * CS licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-// this file was created by SCC 2018 and is largely a derived work from the
-// original java class
-
-
-package org.orekit.python;
-
-import org.hipparchus.RealFieldElement;
-import org.orekit.attitudes.Attitude;
-import org.orekit.attitudes.AttitudeProvider;
-import org.orekit.attitudes.FieldAttitude;
-import org.orekit.frames.Frame;
-import org.orekit.time.AbsoluteDate;
-import org.orekit.time.FieldAbsoluteDate;
-import org.orekit.utils.FieldPVCoordinatesProvider;
-import org.orekit.utils.PVCoordinatesProvider;
-
-public class PythonAttitudeProvider implements AttitudeProvider {
-
-    private static final long serialVersionUID = 6448449255147110967L;
-    
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-    /**
-     * Compute the attitude corresponding to an orbital state.
-     * Extension point for Python for the basic parameter set.
-     *
-     * @param pvProv local position-velocity provider around current date
-     * @param date   current date
-     * @param frame  reference frame from which attitude is computed
-     * @return attitude attitude on the specified date and position-velocity state
-     */
-    @Override
-    public native Attitude getAttitude(PVCoordinatesProvider pvProv, AbsoluteDate date, Frame frame);
-
-    /**
-     * Compute the attitude corresponding to an orbital state.
-     * Redirects to getFieldAttitude(...) for extension
-     *
-     * @param pvProv local position-velocity provider around current date
-     * @param date   current date
-     * @param frame  reference frame from which attitude is computed
-     * @return attitude attitude on the specified date and position-velocity state
-     * @since 9.0
-     */
-    @Override
-    public <T extends RealFieldElement<T>> FieldAttitude<T> getAttitude(FieldPVCoordinatesProvider<T> pvProv, FieldAbsoluteDate<T> date, Frame frame) {
-        return this.getFieldAttitude(pvProv, date, frame);
-    }
-
-    /**
-     * Compute the attitude corresponding to an orbital state.
-     * Extension point for Python. Connected to getAttitude(...) orekit function.
-     *
-     * @param pvProv local position-velocity provider around current date
-     * @param date   current date
-     * @param frame  reference frame from which attitude is computed
-     * @return attitude attitude on the specified date and position-velocity state
-     * @since 9.3
-     */
-    public native <T extends RealFieldElement<T>> FieldAttitude<T> getFieldAttitude(FieldPVCoordinatesProvider<T> pvProv, FieldAbsoluteDate<T> date, Frame frame);
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonAttitudeProviderModifier.java b/java_additions/src/main/java/org/orekit/python/PythonAttitudeProviderModifier.java
deleted file mode 100644
index 9963a3eb5f3e911ccb7a79d515a2bed0d887c175..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonAttitudeProviderModifier.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/* Copyright 2002-2019 CS Systèmes d'Information
- * Licensed to CS Systèmes d'Information (CS) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * CS licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-// this file was created by SCC 2019 and is largely a derived work from the
-// original java class/interface
-
-package org.orekit.python;
-
-import org.hipparchus.RealFieldElement;
-import org.orekit.attitudes.Attitude;
-import org.orekit.attitudes.AttitudeProvider;
-import org.orekit.attitudes.AttitudeProviderModifier;
-import org.orekit.attitudes.FieldAttitude;
-import org.orekit.frames.Frame;
-import org.orekit.time.AbsoluteDate;
-import org.orekit.time.FieldAbsoluteDate;
-import org.orekit.utils.FieldPVCoordinatesProvider;
-import org.orekit.utils.PVCoordinatesProvider;
-
-public class PythonAttitudeProviderModifier  implements AttitudeProviderModifier {
-
-    private static final long serialVersionUID = 4242537148465131675L;
-    
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-    
-    /**
-     * Get the underlying attitude provider.
-     * Extension point for Python.
-     *
-     * @return underlying attitude provider
-     */
-    @Override
-    public native AttitudeProvider getUnderlyingAttitudeProvider();
-
-    /**
-     * Compute the attitude corresponding to an orbital state.
-     * Extension point for Python.
-     *
-     * @param pvProv local position-velocity provider around current date
-     * @param date   current date
-     * @param frame  reference frame from which attitude is computed
-     * @return attitude attitude on the specified date and position-velocity state
-     */
-    @Override
-    public native Attitude getAttitude(PVCoordinatesProvider pvProv, AbsoluteDate date, Frame frame);
-
-    /**
-     * Compute the attitude corresponding to an orbital state.
-     * Redirects to getFieldAttitude(...) for Python extension
-     *
-     * @param pvProv local position-velocity provider around current date
-     * @param date   current date
-     * @param frame  reference frame from which attitude is computed
-     * @return attitude attitude on the specified date and position-velocity state
-     * @since 9.0
-     */
-    @Override
-    public <T extends RealFieldElement<T>> FieldAttitude<T> getAttitude(FieldPVCoordinatesProvider<T> pvProv, FieldAbsoluteDate<T> date, Frame frame) {
-        return this.getFieldAttitude(pvProv, date, frame);
-    }
-
-    /**
-     * Compute the attitude corresponding to an orbital state.
-     * Extension point for Python. Connected to getAttitude(...)
-     *
-     * @param pvProv local position-velocity provider around current date
-     * @param date   current date
-     * @param frame  reference frame from which attitude is computed
-     * @return attitude attitude on the specified date and position-velocity state
-     * @since 9.3
-     */
-    public native <T extends RealFieldElement<T>> FieldAttitude<T> getFieldAttitude(FieldPVCoordinatesProvider<T> pvProv, FieldAbsoluteDate<T> date, Frame frame);
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonBatchLSObserver.java b/java_additions/src/main/java/org/orekit/python/PythonBatchLSObserver.java
deleted file mode 100644
index b0b4efdd9889cfb71968857b9030bce3698f721b..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonBatchLSObserver.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/* Copyright 2002-2019 CS Systèmes d'Information
- * Licensed to CS Systèmes d'Information (CS) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * CS licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-// this file was created by SCC 2019 and is largely a derived work from the
-// original java class/interface
-
-package org.orekit.python;
-
-import org.hipparchus.optim.nonlinear.vector.leastsquares.LeastSquaresProblem;
-import org.orekit.estimation.leastsquares.BatchLSObserver;
-import org.orekit.estimation.measurements.EstimationsProvider;
-import org.orekit.orbits.Orbit;
-import org.orekit.utils.ParameterDriversList;
-
-public class PythonBatchLSObserver implements BatchLSObserver {
-
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-    /**
-     * Notification callback for the end of each evaluation.
-     * Extension point for Python.
-     *
-     * @param iterationsCount                 iterations count
-     * @param evaluationsCount                evaluations count
-     * @param orbits                          current estimated orbits
-     * @param estimatedOrbitalParameters      estimated orbital parameters
-     * @param estimatedPropagatorParameters   estimated propagator parameters
-     * @param estimatedMeasurementsParameters estimated measurements parameters
-     * @param evaluationsProvider             provider for measurements evaluations resulting
-     *                                        from the current estimated orbit (this is an unmodifiable view of the
-     *                                        current evaluations, its content is changed at each iteration)
-     * @param lspEvaluation                   current evaluation of the underlying {@link LeastSquaresProblem
-     *                                        least squares problem}
-     */
-    @Override
-    public native void evaluationPerformed(int iterationsCount, int evaluationsCount, Orbit[] orbits, ParameterDriversList estimatedOrbitalParameters, ParameterDriversList estimatedPropagatorParameters, ParameterDriversList estimatedMeasurementsParameters, EstimationsProvider evaluationsProvider, LeastSquaresProblem.Evaluation lspEvaluation);
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonBodyShape.java b/java_additions/src/main/java/org/orekit/python/PythonBodyShape.java
deleted file mode 100644
index e4286bbdfc7cb6eca2b7615538be70391dfb38dd..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonBodyShape.java
+++ /dev/null
@@ -1,217 +0,0 @@
-/* Copyright 2002-2019 CS Systèmes d'Information
- * Licensed to CS Systèmes d'Information (CS) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * CS licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-// this file was created by SCC 2019 and is largely a derived work from the
-// original java class/interface
-
-
-package org.orekit.python;
-
-import org.hipparchus.RealFieldElement;
-import org.hipparchus.geometry.euclidean.threed.FieldLine;
-import org.hipparchus.geometry.euclidean.threed.FieldVector3D;
-import org.hipparchus.geometry.euclidean.threed.Line;
-import org.hipparchus.geometry.euclidean.threed.Vector3D;
-import org.orekit.bodies.BodyShape;
-import org.orekit.bodies.FieldGeodeticPoint;
-import org.orekit.bodies.GeodeticPoint;
-import org.orekit.frames.Frame;
-import org.orekit.time.AbsoluteDate;
-import org.orekit.time.FieldAbsoluteDate;
-import org.orekit.utils.TimeStampedPVCoordinates;
-
-
-
-public class PythonBodyShape  implements BodyShape {
-
-    private static final long serialVersionUID = -8332951800383544536L;
-    
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-    /**
-     * Get body frame related to body shape.
-     * Extension point for Python.
-     *
-     * @return body frame related to body shape
-     */
-    @Override
-    public native Frame getBodyFrame();
-
-    /**
-     * Get the intersection point of a line with the surface of the body.
-     * Extension point for Python.
-     *
-     * <p>A line may have several intersection points with a closed
-     * surface (we consider the one point case as a degenerated two
-     * points case). The close parameter is used to select which of
-     * these points should be returned. The selected point is the one
-     * that is closest to the close point.</p>
-     *
-     * @param line  test line (may intersect the body or not)
-     * @param close point used for intersections selection
-     * @param frame frame in which line is expressed
-     * @param date  date of the line in given frame
-     * @return intersection point at altitude zero or null if the line does
-     * not intersect the surface
-     */
-    @Override
-    public native GeodeticPoint getIntersectionPoint(Line line, Vector3D close, Frame frame, AbsoluteDate date);
-
-    /**
-     * Get the intersection point of a line with the surface of the body.
-     * Extension point for Python.
-     *
-     * <p>A line may have several intersection points with a closed
-     * surface (we consider the one point case as a degenerated two
-     * points case). The close parameter is used to select which of
-     * these points should be returned. The selected point is the one
-     * that is closest to the close point.</p>
-     *
-     * @param line  test line (may intersect the body or not)
-     * @param close point used for intersections selection
-     * @param frame frame in which line is expressed
-     * @param date  date of the line in given frame
-     * @return intersection point at altitude zero or null if the line does
-     * not intersect the surface
-     * @since 9.0
-     */
-    @Override
-    public native <T extends RealFieldElement<T>> FieldGeodeticPoint<T> getIntersectionPoint(FieldLine<T> line, FieldVector3D<T> close, Frame frame, FieldAbsoluteDate<T> date);
-
-    /**
-     * Project a point to the ground.
-     * Extension point for Python.
-     *
-     * @param point point to project
-     * @param date  current date
-     * @param frame frame in which moving point is expressed
-     * @return ground point exactly at the local vertical of specified point,
-     * in the same frame as specified point
-     * @see #projectToGround(TimeStampedPVCoordinates, Frame)
-     * @since 7.0
-     */
-    @Override
-    public native Vector3D projectToGround(Vector3D point, AbsoluteDate date, Frame frame);
-
-    /**
-     * Project a moving point to the ground.
-     * Extension point for Python.
-     *
-     * @param pv    moving point
-     * @param frame frame in which moving point is expressed
-     * @return ground point exactly at the local vertical of specified point,
-     * in the same frame as specified point
-     * @see #projectToGround(Vector3D, AbsoluteDate, Frame)
-     * @since 7.0
-     */
-    @Override
-    public native TimeStampedPVCoordinates projectToGround(TimeStampedPVCoordinates pv, Frame frame);
-
-    /**
-     * Transform a Cartesian point to a surface-relative point.
-     * Extension point for Python.
-     *
-     * @param point Cartesian point
-     * @param frame frame in which Cartesian point is expressed
-     * @param date  date of the computation (used for frames conversions)
-     * @return point at the same location but as a surface-relative point
-     */
-    @Override
-    public native GeodeticPoint transform(Vector3D point, Frame frame, AbsoluteDate date);
-
-    /**
-     * Transform a Cartesian point to a surface-relative point.
-     * Redirects to Fieldtransform(...) for Python extension
-     *
-     * @param point Cartesian point
-     * @param frame frame in which Cartesian point is expressed
-     * @param date  date of the computation (used for frames conversions)
-     * @return point at the same location but as a surface-relative point
-     * @since 9.0
-     */
-    @Override
-    public <T extends RealFieldElement<T>> FieldGeodeticPoint<T> transform(FieldVector3D<T> point, Frame frame, FieldAbsoluteDate<T> date) {
-        return this.Fieldtransform(point, frame,date);
-    }
-
-    /**
-     * Transform a Cartesian point to a surface-relative point.
-     * Extension point for Python.
-     *
-     * @param point Cartesian point
-     * @param frame frame in which Cartesian point is expressed
-     * @param date  date of the computation (used for frames conversions)
-     * @return point at the same location but as a surface-relative point
-     * @since 9.0
-     */
-     public native <T extends RealFieldElement<T>> FieldGeodeticPoint<T> Fieldtransform(FieldVector3D<T> point, Frame frame, FieldAbsoluteDate<T> date);
-
-    /**
-     * Transform a surface-relative point to a Cartesian point.
-     * Extension point for Python.
-     *
-     * @param point surface-relative point
-     * @return point at the same location but as a Cartesian point
-     */
-    @Override
-    public native Vector3D transform(GeodeticPoint point);
-
-    /**
-     * Transform a surface-relative point to a Cartesian point.
-     * Redirects to FieldVector3Dtransfor(...) for Python extension.
-     *
-     * @param point surface-relative point
-     * @return point at the same location but as a Cartesian point
-     * @since 9.0
-     */
-    @Override
-    public <T extends RealFieldElement<T>> FieldVector3D<T> transform(FieldGeodeticPoint<T> point) {
-        return this.FieldVector3Dtransform(point);
-    }
-
-    /**
-     * Transform a surface-relative point to a Cartesian point.
-     * Extension point for Python. Connects to method transform.
-     *
-     * @param point surface-relative point
-     * @return point at the same location but as a Cartesian point
-     * @since 9.0
-     */
-    public native <T extends RealFieldElement<T>> FieldVector3D<T> FieldVector3Dtransform(FieldGeodeticPoint<T> point);
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonBoundedPropagator.java b/java_additions/src/main/java/org/orekit/python/PythonBoundedPropagator.java
deleted file mode 100644
index e1e8296da8a14428970c0085bf8be402abcde45e..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonBoundedPropagator.java
+++ /dev/null
@@ -1,403 +0,0 @@
-/* Copyright 2002-2019 CS Systèmes d'Information
- * Licensed to CS Systèmes d'Information (CS) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * CS licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-// this file was created by SCC 2019 and is largely a derived work from the
-// original java class/interface
-
-package org.orekit.python;
-
-import org.orekit.attitudes.AttitudeProvider;
-import org.orekit.frames.Frame;
-import org.orekit.propagation.AdditionalStateProvider;
-import org.orekit.propagation.BoundedPropagator;
-import org.orekit.propagation.SpacecraftState;
-import org.orekit.propagation.events.EventDetector;
-import org.orekit.propagation.integration.AbstractIntegratedPropagator;
-import org.orekit.propagation.integration.AdditionalEquations;
-import org.orekit.propagation.sampling.OrekitFixedStepHandler;
-import org.orekit.propagation.sampling.OrekitStepHandler;
-import org.orekit.time.AbsoluteDate;
-import org.orekit.utils.TimeStampedPVCoordinates;
-
-import java.util.Collection;
-import java.util.List;
-
-public class PythonBoundedPropagator implements BoundedPropagator {
-
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-    /**
-     * Get the first date of the range.
-     *
-     * @return the first date of the range
-     */
-    @Override
-    public native AbsoluteDate getMinDate();
-
-    /**
-     * Get the last date of the range.
-     *
-     * @return the last date of the range
-     */
-    @Override
-    public native AbsoluteDate getMaxDate();
-
-    /**
-     * Get the current operating mode of the propagator.
-     *
-     * @return one of {@link #SLAVE_MODE}, {@link #MASTER_MODE},
-     * {@link #EPHEMERIS_GENERATION_MODE}
-     * @see #setSlaveMode()
-     * @see #setMasterMode(double, OrekitFixedStepHandler)
-     * @see #setMasterMode(OrekitStepHandler)
-     * @see #setEphemerisMode()
-     */
-    @Override
-    public native int getMode();
-
-    /**
-     * Set the propagator to slave mode.
-     * Extension point for Python.
-     *
-     * <p>This mode is used when the user needs only the final orbit at the target time.
-     * The (slave) propagator computes this result and return it to the calling
-     * (master) application, without any intermediate feedback.
-     * <p>This is the default mode.</p>
-     *
-     * @see #setMasterMode(double, OrekitFixedStepHandler)
-     * @see #setMasterMode(OrekitStepHandler)
-     * @see #setEphemerisMode()
-     * @see #getMode()
-     * @see #SLAVE_MODE
-     */
-    @Override
-    public native void setSlaveMode();
-
-    /**
-     * Set the propagator to master mode with fixed steps.
-     * <p>This mode is used when the user needs to have some custom function called at the
-     * end of each finalized step during integration. The (master) propagator integration
-     * loop calls the (slave) application callback methods at each finalized step.</p>
-     *
-     * @param h       fixed stepsize (s)
-     * @param handler handler called at the end of each finalized step
-     * @see #setSlaveMode()
-     * @see #setMasterMode(OrekitStepHandler)
-     * @see #setEphemerisMode()
-     * @see #getMode()
-     * @see #MASTER_MODE
-     */
-    @Override
-    public void setMasterMode(double h, OrekitFixedStepHandler handler) {
-        setMasterMode_2p(h, handler);
-    }
-
-
-    /**
-     * Set the propagator to master mode with fixed steps.
-     * <p>This mode is used when the user needs to have some custom function called at the
-     * end of each finalized step during integration. The (master) propagator integration
-     * loop calls the (slave) application callback methods at each finalized step.</p>
-     *
-     * @param h       fixed stepsize (s)
-     * @param handler handler called at the end of each finalized step
-     * @see #setSlaveMode()
-     * @see #setMasterMode(OrekitStepHandler)
-     * @see #setEphemerisMode()
-     * @see #getMode()
-     * @see #MASTER_MODE
-     */
-    public native void setMasterMode_2p(double h, OrekitFixedStepHandler handler);
-
-    /**
-     * Set the propagator to master mode with variable steps.
-     * <p>This mode is used when the user needs to have some custom function called at the
-     * end of each finalized step during integration. The (master) propagator integration
-     * loop calls the (slave) application callback methods at each finalized step.</p>
-     *
-     * @param handler handler called at the end of each finalized step
-     * @see #setSlaveMode()
-     * @see #setMasterMode(double, OrekitFixedStepHandler)
-     * @see #setEphemerisMode()
-     * @see #getMode()
-     * @see #MASTER_MODE
-     */
-    @Override
-    public native void setMasterMode(OrekitStepHandler handler);
-
-    /**
-     * Set the propagator to ephemeris generation mode.
-     * <p>This mode is used when the user needs random access to the orbit state at any time
-     * between the initial and target times, and in no sequential order. A typical example is
-     * the implementation of search and iterative algorithms that may navigate forward and
-     * backward inside the propagation range before finding their result.</p>
-     * <p>Beware that since this mode stores <strong>all</strong> intermediate results,
-     * it may be memory intensive for long integration ranges and high precision/short
-     * time steps.</p>
-     *
-     * @see #getGeneratedEphemeris()
-     * @see #setSlaveMode()
-     * @see #setMasterMode(double, OrekitFixedStepHandler)
-     * @see #setMasterMode(OrekitStepHandler)
-     * @see #getMode()
-     * @see #EPHEMERIS_GENERATION_MODE
-     */
-    @Override
-    public native void setEphemerisMode();
-
-    /**
-     * Set the propagator to ephemeris generation mode with the specified handler for each
-     * integration step.
-     *
-     * <p>This mode is used when the user needs random access to the orbit state at any
-     * time between the initial and target times, as well as access to the steps computed
-     * by the integrator as in Master Mode. A typical example is the implementation of
-     * search and iterative algorithms that may navigate forward and backward inside the
-     * propagation range before finding their result.</p>
-     *
-     * <p>Beware that since this mode stores <strong>all</strong> intermediate results, it
-     * may be memory intensive for long integration ranges and high precision/short time
-     * steps.</p>
-     *
-     * @param handler handler called at the end of each finalized step
-     * @see #setEphemerisMode()
-     * @see #getGeneratedEphemeris()
-     * @see #setSlaveMode()
-     * @see #setMasterMode(double, OrekitFixedStepHandler)
-     * @see #setMasterMode(OrekitStepHandler)
-     * @see #getMode()
-     * @see #EPHEMERIS_GENERATION_MODE
-     */
-    @Override
-    public native void setEphemerisMode(OrekitStepHandler handler);
-
-    /**
-     * Get the ephemeris generated during propagation.
-     *
-     * @return generated ephemeris
-     * @throws IllegalStateException if the propagator was not set in ephemeris
-     *                               generation mode before propagation
-     * @see #setEphemerisMode()
-     */
-    @Override
-    public native BoundedPropagator getGeneratedEphemeris() throws IllegalStateException;
-
-    /**
-     * Get the propagator initial state.
-     *
-     * @return initial state
-     */
-    @Override
-    public native SpacecraftState getInitialState();
-
-    /**
-     * Reset the propagator initial state.
-     *
-     * @param state new initial state to consider
-     */
-    @Override
-    public native void resetInitialState(SpacecraftState state);
-
-    /**
-     * Add a set of user-specified state parameters to be computed along with the orbit propagation.
-     *
-     * @param additionalStateProvider provider for additional state
-     */
-    @Override
-    public native void addAdditionalStateProvider(AdditionalStateProvider additionalStateProvider);
-
-    /**
-     * Get an unmodifiable list of providers for additional state.
-     *
-     * @return providers for the additional states
-     */
-    @Override
-    public native List<AdditionalStateProvider> getAdditionalStateProviders();
-
-    /**
-     * Check if an additional state is managed.
-     * <p>
-     * Managed states are states for which the propagators know how to compute
-     * its evolution. They correspond to additional states for which an
-     * {@link AdditionalStateProvider additional state provider} has been registered
-     * by calling the {@link #addAdditionalStateProvider(AdditionalStateProvider)
-     * addAdditionalStateProvider} method. If the propagator is an {@link
-     * AbstractIntegratedPropagator integrator-based
-     * propagator}, the states for which a set of {@link
-     * AdditionalEquations additional equations} has
-     * been registered by calling the {@link
-     * AbstractIntegratedPropagator#addAdditionalEquations(
-     *AdditionalEquations) addAdditionalEquations}
-     * method are also counted as managed additional states.
-     * </p>
-     * <p>
-     * Additional states that are present in the {@link #getInitialState() initial state}
-     * but have no evolution method registered are <em>not</em> considered as managed states.
-     * These unmanaged additional states are not lost during propagation, though. Their
-     * value will simply be copied unchanged throughout propagation.
-     * </p>
-     *
-     * @param name name of the additional state
-     * @return true if the additional state is managed
-     */
-    @Override
-    public native boolean isAdditionalStateManaged(String name);
-
-    /**
-     * Get all the names of all managed states.
-     *
-     * @return names of all managed states
-     */
-    @Override
-    public native String[] getManagedAdditionalStates();
-
-    /**
-     * Add an event detector.
-     *
-     * @param detector event detector to add
-     * @see #clearEventsDetectors()
-     * @see #getEventsDetectors()
-     */
-    @Override
-    public native <T extends EventDetector> void addEventDetector(T detector);
-
-    /**
-     * Get all the events detectors that have been added.
-     *
-     * @return an unmodifiable collection of the added detectors
-     * @see #addEventDetector(EventDetector)
-     * @see #clearEventsDetectors()
-     */
-    @Override
-    public native Collection<EventDetector> getEventsDetectors();
-
-    /**
-     * Remove all events detectors.
-     *
-     * @see #addEventDetector(EventDetector)
-     * @see #getEventsDetectors()
-     */
-    @Override
-    public native void clearEventsDetectors();
-
-    /**
-     * Get attitude provider.
-     *
-     * @return attitude provider
-     */
-    @Override
-    public native AttitudeProvider getAttitudeProvider();
-
-    /**
-     * Set attitude provider.
-     *
-     * @param attitudeProvider attitude provider
-     */
-    @Override
-    public native void setAttitudeProvider(AttitudeProvider attitudeProvider);
-
-    /**
-     * Get the frame in which the orbit is propagated.
-     * <p>
-     * The propagation frame is the definition frame of the initial
-     * state, so this method should be called after this state has
-     * been set, otherwise it may return null.
-     * </p>
-     *
-     * @return frame in which the orbit is propagated
-     * @see #resetInitialState(SpacecraftState)
-     */
-    @Override
-    public native Frame getFrame();
-
-    /**
-     * Propagate towards a target date.
-     * <p>Simple propagators use only the target date as the specification for
-     * computing the propagated state. More feature rich propagators can consider
-     * other information and provide different operating modes or G-stop
-     * facilities to stop at pinpointed events occurrences. In these cases, the
-     * target date is only a hint, not a mandatory objective.</p>
-     *
-     * @param target target date towards which orbit state should be propagated
-     * @return propagated state
-     */
-    @Override
-    public native SpacecraftState propagate(AbsoluteDate target);
-
-    /**
-     * Propagate from a start date towards a target date.
-     * <p>Those propagators use a start date and a target date to
-     * compute the propagated state. For propagators using event detection mechanism,
-     * if the provided start date is different from the initial state date, a first,
-     * simple propagation is performed, without processing any event computation.
-     * Then complete propagation is performed from start date to target date.</p>
-     *
-     * @param start  start date from which orbit state should be propagated
-     * @param target target date to which orbit state should be propagated
-     * @return propagated state
-     */
-    @Override
-    public SpacecraftState propagate(AbsoluteDate start, AbsoluteDate target) {
-        return this.propagate_2p(start, target);
-    }
-
-    /**
-     * Propagate from a start date towards a target date.
-     * <p>Those propagators use a start date and a target date to
-     * compute the propagated state. For propagators using event detection mechanism,
-     * if the provided start date is different from the initial state date, a first,
-     * simple propagation is performed, without processing any event computation.
-     * Then complete propagation is performed from start date to target date.</p>
-     *
-     * @param start  start date from which orbit state should be propagated
-     * @param target target date to which orbit state should be propagated
-     * @return propagated state
-     */
-    public native SpacecraftState propagate_2p(AbsoluteDate start, AbsoluteDate target);
-
-    /**
-     * Get the {@link PVCoordinates} of the body in the selected frame.
-     *
-     * @param date  current date
-     * @param frame the frame where to define the position
-     * @return time-stamped position/velocity of the body (m and m/s)
-     */
-    @Override
-    public native TimeStampedPVCoordinates getPVCoordinates(AbsoluteDate date, Frame frame);
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonCelestialBody.java b/java_additions/src/main/java/org/orekit/python/PythonCelestialBody.java
deleted file mode 100644
index 1b16538df06f4ba5c37b54ec4e74894a6768c58e..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonCelestialBody.java
+++ /dev/null
@@ -1,149 +0,0 @@
-/* Copyright 2002-2019 CS Systèmes d'Information
- * Licensed to CS Systèmes d'Information (CS) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * CS licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-// this file was created by SCC 2019 and is largely a derived work from the
-// original java class/interface
-
-package org.orekit.python;
-
-import org.hipparchus.Field;
-import org.hipparchus.RealFieldElement;
-import org.orekit.bodies.CelestialBody;
-import org.orekit.frames.Frame;
-import org.orekit.time.AbsoluteDate;
-import org.orekit.time.FieldAbsoluteDate;
-import org.orekit.utils.FieldPVCoordinatesProvider;
-import org.orekit.utils.TimeStampedFieldPVCoordinates;
-import org.orekit.utils.TimeStampedPVCoordinates;
-
-public class PythonCelestialBody implements CelestialBody {
-
-    private static final long serialVersionUID = -7481310063914250761L;
-    
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-    /**
-     * Get an inertially oriented, body centered frame.
-     * Extension point for Python.
-     *
-     * <p>The frame is always bound to the body center, and its axes have a
-     * fixed orientation with respect to other inertial frames.</p>
-     *
-     * @return an inertially oriented, body centered frame
-     * @see #getBodyOrientedFrame()
-     */
-    @Override
-    public native Frame getInertiallyOrientedFrame();
-
-    /**
-     * Get a body oriented, body centered frame.
-     * Extension point for Python.
-     *
-     * <p>The frame is always bound to the body center, and its axes have a
-     * fixed orientation with respect to the celestial body.</p>
-     *
-     * @return a body oriented, body centered frame
-     * @see #getInertiallyOrientedFrame()
-     */
-    @Override
-    public native Frame getBodyOrientedFrame();
-
-    /**
-     * Get the name of the body.
-     * Extension point for Python.
-     *
-     * @return name of the body
-     */
-    @Override
-    public native String getName();
-
-    /**
-     * Get the attraction coefficient of the body.
-     * Extension point for Python.
-     *
-     * @return attraction coefficient of the body (m³/s²)
-     */
-    @Override
-    public native double getGM();
-
-    /**
-     * Convert to a {@link FieldPVCoordinatesProvider} with a specific type.
-     * Extension point for Python.
-     *
-     * @param field field for the argument and value
-     * @return converted function
-     */
-    @Override
-    public native <T extends RealFieldElement<T>> FieldPVCoordinatesProvider<T> toFieldPVCoordinatesProvider(Field<T> field);
-
-    /**
-     * Get the {@link FieldPVCoordinates} of the body in the selected frame.
-     * Links to getFieldPVCoordinates() for Python extension
-     *
-     * @param date  current date
-     * @param frame the frame where to define the position
-     * @return time-stamped position/velocity of the body (m and m/s)
-     */
-    @Override
-    public <T extends RealFieldElement<T>> TimeStampedFieldPVCoordinates<T> getPVCoordinates(FieldAbsoluteDate<T> date, Frame frame) {
-        return this.getFieldPVCoordinates(date, frame);
-    }
-
-    /**
-     * Get the {@link FieldPVCoordinates} of the body in the selected frame.
-     * Extension point for Python. Links to getPVCoordinates()
-     *
-     * @param date  current date
-     * @param frame the frame where to define the position
-     * @return time-stamped position/velocity of the body (m and m/s)
-     */
-    public native <T extends RealFieldElement<T>> TimeStampedFieldPVCoordinates<T> getFieldPVCoordinates(FieldAbsoluteDate<T> date, Frame frame);
-
-
-    /**
-     * Get the {@link PVCoordinates} of the body in the selected frame.
-     * Extension point for Python.
-     *
-     * @param date  current date
-     * @param frame the frame where to define the position
-     * @return time-stamped position/velocity of the body (m and m/s)
-     */
-    @Override
-    public native TimeStampedPVCoordinates getPVCoordinates(AbsoluteDate date, Frame frame);
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonCelestialBodyLoader.java b/java_additions/src/main/java/org/orekit/python/PythonCelestialBodyLoader.java
deleted file mode 100644
index e766818ac0620f1a314e4fac585258e57ddcae31..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonCelestialBodyLoader.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/* Copyright 2002-2019 CS Systèmes d'Information
- * Licensed to CS Systèmes d'Information (CS) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * CS licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-// this file was created by SCC 2019 and is largely a derived work from the
-// original java class/interface
-
-package org.orekit.python;
-
-import org.orekit.bodies.CelestialBody;
-import org.orekit.bodies.CelestialBodyLoader;
-
-public class PythonCelestialBodyLoader implements CelestialBodyLoader {
-
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-    /**
-     * Load celestial body.
-     * Extension point for Python.
-     *
-     * @param name name of the celestial body
-     * @return loaded celestial body
-     */
-    @Override
-    public native CelestialBody loadCelestialBody(String name);
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonComparableMeasurement.java b/java_additions/src/main/java/org/orekit/python/PythonComparableMeasurement.java
deleted file mode 100644
index c8347f85e11471d57ce9f5b6273ddf6e1038bcf0..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonComparableMeasurement.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/* Copyright 2002-2019 CS Systèmes d'Information
- * Licensed to CS Systèmes d'Information (CS) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * CS licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-// this file was created by SCC 2019 and is largely a derived work from the
-// original java class/interface
-
-package org.orekit.python;
-
-import org.orekit.estimation.measurements.ComparableMeasurement;
-import org.orekit.time.AbsoluteDate;
-
-import java.util.SortedSet;
-
-public class PythonComparableMeasurement implements ComparableMeasurement {
-
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-    /**
-     * Get the observed value.
-     * <p>
-     * The observed value is the value that was measured by the instrument.
-     * </p>
-     *
-     * @return observed value (array of size {@link #getDimension()}
-     */
-    @Override
-    public native double[] getObservedValue();
-
-    /**
-     * {@inheritDoc}
-     *
-     * Extension point for Python.
-     * <p>
-     * Measurements comparison is primarily chronological, but measurements
-     * with the same date are sorted based on the observed value. Even if they
-     * have the same value too, they will <em>not</em> be considered equal if they
-     * correspond to different instances. This allows to store measurements in
-     * {@link SortedSet SortedSet} without losing any measurements, even
-     * redundant ones.
-     * </p>
-     *
-     * @param other
-     */
-    @Override
-    public native int compareTo(ComparableMeasurement other);
-
-    /**
-     * Get the date.
-     * Extension point for Python.
-     *
-     * @return date attached to the object
-     */
-    @Override
-    public native AbsoluteDate getDate();
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonCovarianceMatrixProvider.java b/java_additions/src/main/java/org/orekit/python/PythonCovarianceMatrixProvider.java
deleted file mode 100644
index bc28b145eb6bf1281447377a3b50ff85cb2142bf..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonCovarianceMatrixProvider.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/* Copyright 2002-2019 CS Systèmes d'Information
- * Licensed to CS Systèmes d'Information (CS) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * CS licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-// this file was created by SCC 2019 and is largely a derived work from the
-// original java class/interface
-
-package org.orekit.python;
-
-import org.hipparchus.linear.RealMatrix;
-import org.orekit.estimation.sequential.CovarianceMatrixProvider;
-import org.orekit.propagation.SpacecraftState;
-import org.orekit.propagation.conversion.PropagatorBuilder;
-
-public class PythonCovarianceMatrixProvider implements CovarianceMatrixProvider {
-
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-    /**
-     * Get the initial covariance matrix.
-     * Extension point for Python.
-     * <p>
-     * The initial covariance matrix is a covariance matrix corresponding to the
-     * parameters managed by the {@link KalmanEstimator Kalman estimator}.
-     * The number of rows/columns and their order are as follows:
-     * </p>
-     * <ul>
-     * <li>The first 6 components correspond to the 6 orbital parameters
-     * of the associated propagator. All 6 parameters must always be present,
-     * regardless of the fact they are estimated or not.</li>
-     * <li>The following components correspond to the subset of propagation
-     * parameters of the associated propagator that are estimated.</li>
-     * <li>The remaining components correspond to the subset of measurements
-     * parameters that are estimated, considering all measurements, even
-     * the ones that correspond to spacecrafts not related to the
-     * associated propagator</li>
-     * </ul>
-     * <p>
-     * In most cases, the initial covariance matrix will be the output matrix
-     * of a previous run of the Kalman filter.
-     * </p>
-     *
-     * @param initial initial state state
-     * @return physical (i.e. non normalized) initial covariance matrix
-     * @see PropagatorBuilder#getOrbitalParametersDrivers()
-     * @see PropagatorBuilder#getPropagationParametersDrivers()
-     */
-    @Override
-    public native RealMatrix getInitialCovarianceMatrix(SpacecraftState initial);
-
-    /**
-     * Get the process noise matrix between previous and current states.
-     * Extension point for Python.
-     *
-     * <p>
-     * The process noise matrix is a covariance matrix corresponding to the
-     * parameters managed by the {@link KalmanEstimator Kalman estimator}.
-     * The number of rows/columns and their order are as follows:
-     * </p>
-     * <ul>
-     * <li>The first 6 components correspond to the 6 orbital parameters
-     * of the associated propagator. All 6 parameters must always be present,
-     * regardless of the fact they are estimated or not.</li>
-     * <li>The following components correspond to the subset of propagation
-     * parameters of the associated propagator that are estimated.</li>
-     * <li>The remaining components correspond to the subset of measurements
-     * parameters that are estimated, considering all measurements, even
-     * the ones that correspond to spacecrafts not related to the
-     * associated propagator</li>
-     * </ul>
-     * <p>
-     * In most cases, the process noise for the part corresponding to measurements
-     * (the final rows and columns) will be set to 0 for the process noise corresponding
-     * to the evolution between a non-null previous and current state.
-     * </p>
-     *
-     * @param previous previous state
-     * @param current  current state
-     * @return physical (i.e. non normalized) process noise matrix between
-     * previous and current states
-     * @see PropagatorBuilder#getOrbitalParametersDrivers()
-     * @see PropagatorBuilder#getPropagationParametersDrivers()
-     */
-    @Override
-    public native RealMatrix getProcessNoiseMatrix(SpacecraftState previous, SpacecraftState current);
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonDTM2000InputParameters.java b/java_additions/src/main/java/org/orekit/python/PythonDTM2000InputParameters.java
deleted file mode 100644
index ed8dac9e9c94753902c5f8eefe639100ae2e817b..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonDTM2000InputParameters.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/* Copyright 2002-2019 CS Systèmes d'Information
- * Licensed to CS Systèmes d'Information (CS) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * CS licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-// this file was created by SCC 2019 and is largely a derived work from the
-// original java class/interface
-
-package org.orekit.python;
-
-import org.orekit.forces.drag.atmosphere.DTM2000InputParameters;
-import org.orekit.time.AbsoluteDate;
-
-public class PythonDTM2000InputParameters implements DTM2000InputParameters {
-
-    private static final long serialVersionUID = -3411393378880910291L;
-    
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-    /**
-     * Gets the available data range minimum date.
-     *
-     * @return the minimum date.
-     */
-    @Override
-    public native AbsoluteDate getMinDate();
-
-    /**
-     * Gets the available data range maximum date.
-     *
-     * @return the maximum date.
-     */
-    @Override
-    public native AbsoluteDate getMaxDate();
-
-    /**
-     * Get the value of the instantaneous solar flux.
-     *
-     * @param date the current date
-     * @return the instantaneous solar flux
-     */
-    @Override
-    public native double getInstantFlux(AbsoluteDate date);
-
-    /**
-     * Get the value of the mean solar flux.
-     *
-     * @param date the current date
-     * @return the mean solar flux
-     */
-    @Override
-    public native double getMeanFlux(AbsoluteDate date);
-
-    /**
-     * Get the value of the 3 hours geomagnetic index.
-     * With a delay of 3 hours at pole to 6 hours at equator using:
-     * delay=6-abs(lat)*0.033 (lat in deg.)
-     *
-     * @param date the current date
-     * @return the 3H geomagnetic index
-     */
-    @Override
-    public native double getThreeHourlyKP(AbsoluteDate date);
-
-    /**
-     * Get the last 24H mean geomagnetic index.
-     *
-     * @param date the current date
-     * @return the 24H geomagnetic index
-     */
-    @Override
-    public native double get24HoursKp(AbsoluteDate date);
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonDataFilter.java b/java_additions/src/main/java/org/orekit/python/PythonDataFilter.java
deleted file mode 100644
index c1e5efb9c3ac18ff193b7752390726e779b54b9f..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonDataFilter.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/* Copyright 2002-2019 CS Systèmes d'Information
- * Licensed to CS Systèmes d'Information (CS) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * CS licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-// this file was created by SCC 2019 and is largely a derived work from the
-// original java class/interface
-
-package org.orekit.python;
-
-import org.orekit.data.DataFilter;
-import org.orekit.data.NamedData;
-
-import java.io.IOException;
-
-public class PythonDataFilter implements DataFilter {
-
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-    /**
-     * Filter the named data.
-     * Extension point for Python.
-     * <p>
-     * Filtering is often based on suffix. For example a gzip compressed
-     * file will have an original name of the form base.ext.gz when the
-     * corresponding uncompressed file will have a filtered name base.ext.
-     * </p>
-     * <p>
-     * Beware that as the {@link DataProvidersManager data providers manager}
-     * will attempt to pile all filters in a stack as long as their implementation
-     * of this method returns a value different from the {@code original} parameter.
-     * This implies that the filter, <em>must</em> perform some checks to see if it must
-     * be applied or not. If for example there is a need for a deciphering filter
-     * to be applied once to all data, then the filter should for example check
-     * for a suffix in the {@link NamedData#getName() name} and create a new
-     * filtered {@link NamedData} instance <em>only</em> if the suffix is present,
-     * removing the suffix from the filtered instance. Failing to do so and simply
-     * creating a filtered instance with one deciphering layer without changing the
-     * name would result in an infinite stack of deciphering filters being built, until
-     * a stack overflow or memory exhaustion exception occurs.
-     * </p>
-     *
-     * @param original original named data
-     * @return filtered named data, or {@code original} if this filter
-     * does not apply to this named data
-     * @throws IOException if filtered stream cannot be created
-     */
-    @Override
-    public native NamedData filter(NamedData original) throws IOException;
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonDataLoader.java b/java_additions/src/main/java/org/orekit/python/PythonDataLoader.java
deleted file mode 100644
index 3da6a00ee57271603e282e6e4305d67ee4ebb1c5..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonDataLoader.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/* Copyright 2002-2019 CS Systèmes d'Information
- * Licensed to CS Systèmes d'Information (CS) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * CS licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-// this file was created by SCC 2019 and is largely a derived work from the
-// original java class/interface
-
-package org.orekit.python;
-
-import org.orekit.data.DataLoader;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.text.ParseException;
-
-public class PythonDataLoader implements DataLoader {
-
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-    
-    /**
-     * Check if the loader still accepts new data.
-     * Extension point for Python.
-     * <p>
-     * This method is used to speed up data loading by interrupting crawling
-     * the data sets as soon as a loader has found the data it was waiting for.
-     * For loaders that can merge data from any number of sources (for example
-     * JPL ephemerides or Earth Orientation Parameters that are split among
-     * several files), this method should always return true to make sure no
-     * data is left over.
-     * </p>
-     *
-     * @return true while the loader still accepts new data
-     */
-    @Override
-    public native boolean stillAcceptsData();
-
-    /**
-     * Load data from a stream.
-     * Extension point for Python.
-     *
-     * @param input data input stream
-     * @param name  name of the file (or zip entry)
-     * @throws IOException    if data can't be read
-     * @throws ParseException if data can't be parsed
-     *                        or if some loader specific error occurs
-     */
-    @Override
-    public native void loadData(InputStream input, String name) throws IOException, ParseException;
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonDataProvider.java b/java_additions/src/main/java/org/orekit/python/PythonDataProvider.java
deleted file mode 100644
index 4f5f47d5aa67c9cb3bc1961d25dd80ec82c46927..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonDataProvider.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/* Copyright 2002-2019 CS Systèmes d'Information
- * Licensed to CS Systèmes d'Information (CS) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * CS licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-// this file was created by SCC 2019 and is largely a derived work from the
-// original java class/interface
-
-package org.orekit.python;
-
-import org.orekit.data.DataLoader;
-import org.orekit.data.DataProvider;
-
-import java.util.regex.Pattern;
-
-public class PythonDataProvider implements DataProvider {
-
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-    /**
-     * Feed a data file loader by browsing the data collection.
-     * Extension point for Python.
-     * <p>
-     * The method crawls all files referenced in the instance (for example
-     * all files in a directories tree) and for each file supported by the
-     * file loader it asks the file loader to load it.
-     * </p>
-     * <p>
-     * If the method completes without exception, then the data loader
-     * is considered to have been fed successfully and the top level
-     * {@link DataProvidersManager data providers manager} will return
-     * immediately without attempting to use the next configured providers.
-     * </p>
-     * <p>
-     * If the method completes abruptly with an exception, then the top level
-     * {@link DataProvidersManager data providers manager} will try to use
-     * the next configured providers, in case another one can feed the
-     * {@link DataLoader data loader}.
-     * </p>
-     *
-     * @param supported pattern for file names supported by the visitor
-     * @param visitor   data file visitor to use
-     * @return true if some data has been loaded
-     */
-    @Override
-    public native boolean feed(Pattern supported, DataLoader visitor);
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonDatesSelector.java b/java_additions/src/main/java/org/orekit/python/PythonDatesSelector.java
deleted file mode 100644
index 1f1ffc0127d600df46bff78cd264e413b696da1a..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonDatesSelector.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/* Copyright 2002-2019 CS Systèmes d'Information
- * Licensed to CS Systèmes d'Information (CS) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * CS licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-// this file was created by SCC 2019 and is largely a derived work from the
-// original java class/interface
-
-package org.orekit.python;
-
-import org.orekit.time.AbsoluteDate;
-import org.orekit.time.DatesSelector;
-
-import java.util.List;
-
-public class PythonDatesSelector implements DatesSelector {
-
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-    /**
-     * Select dates within an interval.
-     * Extension point for Python.
-     * <p>
-     * The {@code start} and {@code end} date may be either in direct or reverse
-     * chronological order. The list is produced in the same order as {@code start}
-     * and {@code end}, i.e. direct chronological order if {@code start} is earlier
-     * than {@code end} or reverse chronological order if {@code start} is later
-     * than {@code end}.
-     * </p>
-     * <p>
-     * The ordering (direct or reverse chronological order) should not be changed
-     * between calls, otherwise unpredictable results may occur.
-     * </p>
-     *
-     * @param start interval start
-     * @param end   interval end
-     * @return selected dates within this interval
-     */
-    @Override
-    public native List<AbsoluteDate> selectDates(AbsoluteDate start, AbsoluteDate end);
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonDiscreteTroposphericModel.java b/java_additions/src/main/java/org/orekit/python/PythonDiscreteTroposphericModel.java
deleted file mode 100644
index 4ad47b59c68ed1272b88fa412d6645cc42565b53..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonDiscreteTroposphericModel.java
+++ /dev/null
@@ -1,259 +0,0 @@
-/* Copyright 2002-2019 CS Systèmes d'Information
- * Licensed to CS Systèmes d'Information (CS) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * CS licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-// this file was created by SCC 2019 and is largely a derived work from the
-// original java class/interface
-
-// TODO: Same name of methods!
-
-package org.orekit.python;
-
-import org.hipparchus.Field;
-import org.hipparchus.RealFieldElement;
-import org.orekit.models.earth.DiscreteTroposphericModel;
-import org.orekit.time.AbsoluteDate;
-import org.orekit.time.FieldAbsoluteDate;
-import org.orekit.utils.ParameterDriver;
-
-import java.util.List;
-
-public class PythonDiscreteTroposphericModel implements DiscreteTroposphericModel {
-
-    private static final long serialVersionUID = -3910892044583856313L;
-    
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-    /**
-     * Calculates the tropospheric path delay for the signal path from a ground
-     * station to a satellite.
-     * Extension point for Python.
-     *
-     * @param elevation  the elevation of the satellite, in radians
-     * @param height     the height of the station in m above sea level
-     * @param parameters tropospheric model parameters.
-     * @param date       current date
-     * @return the path delay due to the troposphere in m
-     */
-    @Override
-    public native double pathDelay(double elevation, double height, double[] parameters, AbsoluteDate date);
-
-    /**
-     * Calculates the tropospheric path delay for the signal path from a ground
-     * station to a satellite.
-     * Redirects to pathFieldDelay(...) for Python extension
-     *
-     * @param elevation  the elevation of the satellite, in radians
-     * @param height     the height of the station in m above sea level
-     * @param parameters tropospheric model parameters.
-     * @param date       current date
-     * @return the path delay due to the troposphere in m
-     */
-    @Override
-    public <T extends RealFieldElement<T>> T pathDelay(T elevation, T height, T[] parameters, FieldAbsoluteDate<T> date) {
-        return this.pathFieldDelay(elevation, height, parameters, date);
-    }
-
-    /**
-     * Calculates the tropospheric path delay for the signal path from a ground
-     * station to a satellite.
-     * Extension point for Python. Called by pathDelay for this parameter set.
-     *
-     * @param elevation  the elevation of the satellite, in radians
-     * @param height     the height of the station in m above sea level
-     * @param parameters tropospheric model parameters.
-     * @param date       current date
-     * @return the path delay due to the troposphere in m
-     */
-    public native <T extends RealFieldElement<T>> T pathFieldDelay(T elevation, T height, T[] parameters, FieldAbsoluteDate<T> date);
-
-
-    /**
-     * Extension point for Python.
-     *
-     * This method allows the  computation of the zenith hydrostatic and
-     * zenith wet delay. The resulting element is an array having the following form:
-     * <ul>
-     * <li>double[0] = D<sub>hz</sub> -&gt zenith hydrostatic delay
-     * <li>double[1] = D<sub>wz</sub> -&gt zenith wet delay
-     * </ul>
-     *
-     * @param height     the height of the station in m above sea level.
-     * @param parameters tropospheric model parameters.
-     * @param date       current date
-     * @return a two components array containing the zenith hydrostatic and wet delays.
-     */
-    @Override
-    public native double[] computeZenithDelay(double height, double[] parameters, AbsoluteDate date);
-
-    /**
-     * This method allows the  computation of the zenith hydrostatic and
-     * zenith wet delay. The resulting element is an array having the following form:
-     * <ul>
-     * <li>T[0] = D<sub>hz</sub> -&gt zenith hydrostatic delay
-     * <li>T[1] = D<sub>wz</sub> -&gt zenith wet delay
-     * </ul>
-     *
-     * Calls computeFieldZenithDelay(...) for Python extension.
-     *
-     * @param height     the height of the station in m above sea level.
-     * @param parameters tropospheric model parameters.
-     * @param date       current date
-     * @return a two components array containing the zenith hydrostatic and wet delays.
-     */
-    @Override
-    public <T extends RealFieldElement<T>> T[] computeZenithDelay(T height, T[] parameters, FieldAbsoluteDate<T> date) {
-        return this.computeFieldZenithDelay(height, parameters, date);
-    }
-
-    /**
-     * This method allows the  computation of the zenith hydrostatic and
-     * zenith wet delay. The resulting element is an array having the following form:
-     * <ul>
-     * <li>T[0] = D<sub>hz</sub> -&gt zenith hydrostatic delay
-     * <li>T[1] = D<sub>wz</sub> -&gt zenith wet delay
-     * </ul>
-     *
-     * Extension point for Python. Connected to computeZenithDelay.
-     *
-     * @param height     the height of the station in m above sea level.
-     * @param parameters tropospheric model parameters.
-     * @param date       current date
-     * @return a two components array containing the zenith hydrostatic and wet delays.
-     */
-     public native <T extends RealFieldElement<T>> T[] computeFieldZenithDelay(T height, T[] parameters, FieldAbsoluteDate<T> date);
-
-    /**
-     * This method allows the computation of the hydrostatic and
-     * wet mapping functions. The resulting element is an array having the following form:
-     * <ul>
-     * <li>double[0] = m<sub>h</sub>(e) -&gt hydrostatic mapping function
-     * <li>double[1] = m<sub>w</sub>(e) -&gt wet mapping function
-     * </ul>
-     *
-     * Extension point for Python.
-     *
-     * @param elevation  the elevation of the satellite, in radians.
-     * @param height     the height of the station in m above sea level.
-     * @param parameters tropospheric model parameters.
-     * @param date       current date
-     * @return a two components array containing the hydrostatic and wet mapping functions.
-     */
-    @Override
-    public native double[] mappingFactors(double elevation, double height, double[] parameters, AbsoluteDate date);
-
-    /**
-     * This method allows the computation of the hydrostatic and
-     * wet mapping functions. The resulting element is an array having the following form:
-     * <ul>
-     * <li>T[0] = m<sub>h</sub>(e) -&gt hydrostatic mapping function
-     * <li>T[1] = m<sub>w</sub>(e) -&gt wet mapping function
-     * </ul>
-     *
-     * Calls mappingFieldFactors(...) for Python extension.
-     *
-     * @param elevation  the elevation of the satellite, in radians.
-     * @param height     the height of the station in m above sea level.
-     * @param parameters tropospheric model parameters.
-     * @param date       current date
-     * @return a two components array containing the hydrostatic and wet mapping functions.
-     */
-    @Override
-    public <T extends RealFieldElement<T>> T[] mappingFactors(T elevation, T height, T[] parameters, FieldAbsoluteDate<T> date) {
-        return this.mappingFieldFactors(elevation, height, parameters, date);
-    }
-
-    /**
-     * This method allows the computation of the hydrostatic and
-     * wet mapping functions. The resulting element is an array having the following form:
-     * <ul>
-     * <li>T[0] = m<sub>h</sub>(e) -&gt hydrostatic mapping function
-     * <li>T[1] = m<sub>w</sub>(e) -&gt wet mapping function
-     * </ul>
-     *
-     * Extension point for Python. Connected to mappingFactor(...)
-     *
-     * @param elevation  the elevation of the satellite, in radians.
-     * @param height     the height of the station in m above sea level.
-     * @param parameters tropospheric model parameters.
-     * @param date       current date
-     * @return a two components array containing the hydrostatic and wet mapping functions.
-     */
-    public native <T extends RealFieldElement<T>> T[] mappingFieldFactors(T elevation, T height, T[] parameters, FieldAbsoluteDate<T> date);
-
-
-    /**
-     * Get the drivers for tropospheric model parameters.
-     * Extension point for Python.
-     *
-     * @return drivers for tropospheric model parameters
-     */
-    @Override
-    public native List<ParameterDriver> getParametersDrivers();
-
-    /**
-     * Get tropospheric model parameters.
-     * Extension point for Python.
-     *
-     * @return tropospheric model parameters
-     */
-    @Override
-    public native double[] getParameters();
-
-    /**
-     * Get tropospheric model parameters.
-     * Extension point for Python.
-     *
-     * @param field field to which the elements belong
-     * @return tropospheric model parameters
-     */
-    @Override
-    public <T extends RealFieldElement<T>> T[] getParameters(Field<T> field) {
-        return this.getFieldParameters(field);
-    }
-
-    /**
-     * Get tropospheric model parameters.
-     * Extension point for Python.
-     *
-     * @param field field to which the elements belong
-     * @return tropospheric model parameters
-     */
-    public native <T extends RealFieldElement<T>> T[] getFieldParameters(Field<T> field);
-
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonDragSensitive.java b/java_additions/src/main/java/org/orekit/python/PythonDragSensitive.java
deleted file mode 100644
index 82803839d77ba10645960edce6c7bd5b45ff68a9..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonDragSensitive.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/* Copyright 2002-2019 CS Systèmes d'Information
- * Licensed to CS Systèmes d'Information (CS) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * CS licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-// this file was created by SCC 2019 and is largely a derived work from the
-// original java class/interface
-
-package org.orekit.python;
-
-import org.hipparchus.RealFieldElement;
-import org.hipparchus.analysis.differentiation.DerivativeStructure;
-import org.hipparchus.geometry.euclidean.threed.FieldRotation;
-import org.hipparchus.geometry.euclidean.threed.FieldVector3D;
-import org.hipparchus.geometry.euclidean.threed.Rotation;
-import org.hipparchus.geometry.euclidean.threed.Vector3D;
-import org.orekit.forces.drag.DragSensitive;
-import org.orekit.frames.Frame;
-import org.orekit.time.AbsoluteDate;
-import org.orekit.time.FieldAbsoluteDate;
-import org.orekit.utils.ParameterDriver;
-
-public class PythonDragSensitive implements DragSensitive {
-
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-    /**
-     * Get the drivers for supported parameters.
-     * Extension point for Python.
-     *
-     * @return parameters drivers
-     * @since 8.0
-     */
-    @Override
-    public native ParameterDriver[] getDragParametersDrivers();
-
-    /**
-     * Compute the acceleration due to drag.
-     * Extension point for Python.
-     *
-     * <p>
-     * The computation includes all spacecraft specific characteristics
-     * like shape, area and coefficients.
-     * </p>
-     *
-     * @param date             current date
-     * @param frame            inertial reference frame for state (both orbit and attitude)
-     * @param position         position of spacecraft in reference frame
-     * @param rotation         orientation (attitude) of the spacecraft with respect to reference frame
-     * @param mass             current mass
-     * @param density          atmospheric density at spacecraft position
-     * @param relativeVelocity relative velocity of atmosphere with respect to spacecraft,
-     *                         in the same inertial frame as spacecraft orbit (m/s)
-     * @param parameters       values of the force model parameters
-     * @return spacecraft acceleration in the same inertial frame as spacecraft orbit (m/s²)
-     */
-    @Override
-    public native Vector3D dragAcceleration(AbsoluteDate date, Frame frame, Vector3D position, Rotation rotation, double mass, double density, Vector3D relativeVelocity, double[] parameters);
-
-    /**
-     * Compute the acceleration due to drag.
-     * Connects to dragRealFieldElementAcceleration for Python extension.
-     * <p>
-     * The computation includes all spacecraft specific characteristics
-     * like shape, area and coefficients.
-     * </p>
-     *
-     * @param date             current date
-     * @param frame            inertial reference frame for state (both orbit and attitude)
-     * @param position         position of spacecraft in reference frame
-     * @param rotation         orientation (attitude) of the spacecraft with respect to reference frame
-     * @param mass             current mass
-     * @param density          atmospheric density at spacecraft position
-     * @param relativeVelocity relative velocity of atmosphere with respect to spacecraft,
-     *                         in the same inertial frame as spacecraft orbit (m/s)
-     * @param parameters       values of the force model parameters
-     * @return spacecraft acceleration in the same inertial frame as spacecraft orbit (m/s²)
-     * @since 9.0
-     */
-    @Override
-    public <T extends RealFieldElement<T>> FieldVector3D<T> dragAcceleration(FieldAbsoluteDate<T> date, Frame frame, FieldVector3D<T> position, FieldRotation<T> rotation, T mass, T density, FieldVector3D<T> relativeVelocity, T[] parameters) {
-        return this.dragRealFieldElementAcceleration(date,frame, position, rotation, mass, density, relativeVelocity, parameters);
-    }
-
-    /* Extension point for Python. Connected to dragAcceleration(...)*/
-    public native <T extends RealFieldElement<T>> FieldVector3D<T> dragRealFieldElementAcceleration(FieldAbsoluteDate<T> date, Frame frame, FieldVector3D<T> position, FieldRotation<T> rotation, T mass, T density, FieldVector3D<T> relativeVelocity, T[] parameters);
-
-
-    /**
-     * Compute acceleration due to drag, with parameters derivatives.
-     * Connects to dragFieldVector3DAcceleration for Python extension.
-     *
-     * @param date             current date
-     * @param frame            inertial reference frame for state (both orbit and attitude)
-     * @param position         position of spacecraft in reference frame
-     * @param rotation         orientation (attitude) of the spacecraft with respect to reference frame
-     * @param mass             current mass
-     * @param density          atmospheric density at spacecraft position
-     * @param relativeVelocity relative velocity of atmosphere with respect to spacecraft,
-     *                         in the same inertial frame as spacecraft orbit (m/s)
-     * @param parameters       values of the force model parameters
-     * @param paramName        name of the parameter with respect to which derivatives are required
-     * @return spacecraft acceleration in the same inertial frame as spacecraft orbit (m/s²)
-     */
-    @Override
-    public FieldVector3D<DerivativeStructure> dragAcceleration(AbsoluteDate date, Frame frame, Vector3D position, Rotation rotation, double mass, double density, Vector3D relativeVelocity, double[] parameters, String paramName) {
-        return this.dragFieldVector3DAcceleration(date,frame,position, rotation, mass, density, relativeVelocity, parameters, paramName);
-    }
-
-    /* Extension point for Python. Connects to dragAcceleration(...) */
-    public native FieldVector3D<DerivativeStructure> dragFieldVector3DAcceleration(AbsoluteDate date, Frame frame, Vector3D position, Rotation rotation, double mass, double density, Vector3D relativeVelocity, double[] parameters, String paramName);
-
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonEOPBasedTransformProvider.java b/java_additions/src/main/java/org/orekit/python/PythonEOPBasedTransformProvider.java
deleted file mode 100644
index f7844a77f5a96d06d0601d1dc6b2646142a7e205..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonEOPBasedTransformProvider.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/* Copyright 2002-2019 CS Systèmes d'Information
- * Licensed to CS Systèmes d'Information (CS) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * CS licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-// this file was created by SCC 2019 and is largely a derived work from the
-// original java class/interface
-
-package org.orekit.python;
-
-import org.hipparchus.RealFieldElement;
-import org.orekit.frames.EOPBasedTransformProvider;
-import org.orekit.frames.EOPHistory;
-import org.orekit.frames.FieldTransform;
-import org.orekit.frames.Transform;
-import org.orekit.time.AbsoluteDate;
-import org.orekit.time.FieldAbsoluteDate;
-
-public class PythonEOPBasedTransformProvider implements EOPBasedTransformProvider {
-
-    private static final long serialVersionUID = 6434996513250596254L;
-    
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-    /**
-     * Get the EOP history.
-     *
-     * @return EOP history
-     */
-    @Override
-    public native EOPHistory getEOPHistory();
-
-    /**
-     * Get a version of the provider that does <em>not</em> cache tidal corrections.
-     * <p>
-     * This method removes the performance enhancing interpolation features that are
-     * used by default in EOP-based provider, in order to focus on accuracy. The
-     * interpolation features are intended to save processing time by avoiding doing
-     * tidal correction evaluation at each time step and caching some results. This
-     * method can be used to avoid this (it is automatically called by {@link
-     * FramesFactory#getNonInterpolatingTransform(Frame, Frame, AbsoluteDate)}, when
-     * very high accuracy is desired, or for testing purposes. It should be used with
-     * care, as doing the full computation is <em>really</em> costly.
-     * </p>
-     *
-     * @return version of the provider that does <em>not</em> cache tidal corrections
-     * @see FramesFactory#getNonInterpolatingTransform(Frame, Frame, AbsoluteDate)
-     */
-    @Override
-    public native EOPBasedTransformProvider getNonInterpolatingProvider();
-
-    /**
-     * Get the {@link Transform} corresponding to specified date.
-     *
-     * @param date current date
-     * @return transform at specified date
-     */
-    @Override
-    public native Transform getTransform(AbsoluteDate date);
-
-    /* TODO: These methods needs to be separated */
-
-    /**
-     * Get the {@link FieldTransform} corresponding to specified date.
-     *
-     * @param date current date
-     * @return transform at specified date
-     * @since 9.0
-     */
-    @Override
-    public native <T extends RealFieldElement<T>> FieldTransform<T> getTransform(FieldAbsoluteDate<T> date);
-
-    /**
-     * Get the {@link FieldTransform} corresponding to specified date.
-     *
-     * @param date current date
-     * @return transform at specified date
-     * @since 9.0
-     */
-
-    public native <T extends RealFieldElement<T>> FieldTransform<T> getFieldTransform(FieldAbsoluteDate<T> date);
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonEOPHistoryLoader.java b/java_additions/src/main/java/org/orekit/python/PythonEOPHistoryLoader.java
deleted file mode 100644
index 0341c629c0f929fa6eded9a1d6d7d7e9286f2cba..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonEOPHistoryLoader.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/* Copyright 2002-2019 CS Systèmes d'Information
- * Licensed to CS Systèmes d'Information (CS) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * CS licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-// this file was created by SCC 2019 and is largely a derived work from the
-// original java class/interface
-
-package org.orekit.python;
-
-import org.orekit.frames.EOPEntry;
-import org.orekit.frames.EOPHistoryLoader;
-import org.orekit.utils.IERSConventions;
-
-import java.util.SortedSet;
-
-public class PythonEOPHistoryLoader implements EOPHistoryLoader {
-
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-    /**
-     * Load celestial body.
-     *
-     * @param converter converter to use for nutation corrections
-     * @param history   history to fill up
-     */
-    @Override
-    public native void fillHistory(IERSConventions.NutationCorrectionConverter converter, SortedSet<EOPEntry> history);
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonEarthShape.java b/java_additions/src/main/java/org/orekit/python/PythonEarthShape.java
deleted file mode 100644
index aacd30938cd57a39985868517b76348e7a15d371..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonEarthShape.java
+++ /dev/null
@@ -1,226 +0,0 @@
-/* Contributed in the public domain.
- * Licensed to CS Systèmes d'Information (CS) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * CS licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-// this file was created by SCC 2019 and is largely a derived work from the
-// original java class/interface
-
-package org.orekit.python;
-
-import org.hipparchus.RealFieldElement;
-import org.hipparchus.geometry.euclidean.threed.FieldLine;
-import org.hipparchus.geometry.euclidean.threed.FieldVector3D;
-import org.hipparchus.geometry.euclidean.threed.Line;
-import org.hipparchus.geometry.euclidean.threed.Vector3D;
-import org.orekit.bodies.FieldGeodeticPoint;
-import org.orekit.bodies.GeodeticPoint;
-import org.orekit.frames.Frame;
-import org.orekit.models.earth.EarthShape;
-import org.orekit.models.earth.ReferenceEllipsoid;
-import org.orekit.time.AbsoluteDate;
-import org.orekit.time.FieldAbsoluteDate;
-import org.orekit.utils.TimeStampedPVCoordinates;
-
-public class PythonEarthShape implements EarthShape {
-
-    private static final long serialVersionUID = -3177940928549930595L;
-    
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-    /**
-     * Get the underlying ellipsoid model that defines latitude and longitude. If the
-     * height component of a {@link GeodeticPoint} is not needed,
-     * then using the ellipsoid will provide the quickest transformation.
-     *
-     * @return the reference ellipsoid. May be {@code this}, but never {@code null}.
-     */
-    @Override
-    public native ReferenceEllipsoid getEllipsoid();
-
-    /**
-     * Get body frame related to body shape.
-     *
-     * @return body frame related to body shape
-     */
-    @Override
-    public native Frame getBodyFrame();
-
-    /**
-     * Get the intersection point of a line with the surface of the body.
-     * <p>A line may have several intersection points with a closed
-     * surface (we consider the one point case as a degenerated two
-     * points case). The close parameter is used to select which of
-     * these points should be returned. The selected point is the one
-     * that is closest to the close point.</p>
-     *
-     * @param line  test line (may intersect the body or not)
-     * @param close point used for intersections selection
-     * @param frame frame in which line is expressed
-     * @param date  date of the line in given frame
-     * @return intersection point at altitude zero or null if the line does
-     * not intersect the surface
-     */
-    @Override
-    public native GeodeticPoint getIntersectionPoint(Line line, Vector3D close, Frame frame, AbsoluteDate date);
-
-    /**
-     * Get the intersection point of a line with the surface of the body.
-     * <p>A line may have several intersection points with a closed
-     * surface (we consider the one point case as a degenerated two
-     * points case). The close parameter is used to select which of
-     * these points should be returned. The selected point is the one
-     * that is closest to the close point.</p>
-     *
-     * @param line  test line (may intersect the body or not)
-     * @param close point used for intersections selection
-     * @param frame frame in which line is expressed
-     * @param date  date of the line in given frame
-     * @return intersection point at altitude zero or null if the line does
-     * not intersect the surface
-     * @since 9.0
-     */
-    @Override
-    public <T extends RealFieldElement<T>> FieldGeodeticPoint<T> getIntersectionPoint(FieldLine<T> line, FieldVector3D<T> close, Frame frame, FieldAbsoluteDate<T> date) {
-        return this.getFieldIntersectionPoint(line, close, frame, date);
-    }
-
-    public native <T extends RealFieldElement<T>> FieldGeodeticPoint<T> getFieldIntersectionPoint(FieldLine<T> line, FieldVector3D<T> close, Frame frame, FieldAbsoluteDate<T> date);
-
-    /**
-     * Project a point to the ground.
-     *
-     * @param point point to project
-     * @param date  current date
-     * @param frame frame in which moving point is expressed
-     * @return ground point exactly at the local vertical of specified point,
-     * in the same frame as specified point
-     * @see #projectToGround(TimeStampedPVCoordinates, Frame)
-     * @since 7.0
-     */
-    @Override
-    public native Vector3D projectToGround(Vector3D point, AbsoluteDate date, Frame frame);
-
-    /**
-     * Project a moving point to the ground.
-     *
-     * @param pv    moving point
-     * @param frame frame in which moving point is expressed
-     * @return ground point exactly at the local vertical of specified point,
-     * in the same frame as specified point
-     * @see #projectToGround(Vector3D, AbsoluteDate, Frame)
-     * @since 7.0
-     */
-    @Override
-    public TimeStampedPVCoordinates projectToGround(TimeStampedPVCoordinates pv, Frame frame) {
-        return this.projectTimeStampedToGround(pv,frame);
-    }
-
-    public native TimeStampedPVCoordinates projectTimeStampedToGround(TimeStampedPVCoordinates pv, Frame frame);
-
-    /**
-     * Transform a Cartesian point to a surface-relative point.
-     *
-     * @param point Cartesian point
-     * @param frame frame in which Cartesian point is expressed
-     * @param date  date of the computation (used for frames conversions)
-     * @return point at the same location but as a surface-relative point
-     */
-    @Override
-    public native GeodeticPoint transform(Vector3D point, Frame frame, AbsoluteDate date);
-
-    /**
-     * Transform a Cartesian point to a surface-relative point.
-     *
-     * @param point Cartesian point
-     * @param frame frame in which Cartesian point is expressed
-     * @param date  date of the computation (used for frames conversions)
-     * @return point at the same location but as a surface-relative point
-     * @since 9.0
-     */
-    @Override
-    public <T extends RealFieldElement<T>> FieldGeodeticPoint<T> transform(FieldVector3D<T> point, Frame frame, FieldAbsoluteDate<T> date) {
-        return this.transformFV(point,frame, date);
-    }
-
-    /**
-     * Transform a surface-relative point to a Cartesian point.
-     *
-     * @param point surface-relative point
-     * @return point at the same location but as a Cartesian point
-     */
-    @Override
-    public Vector3D transform(GeodeticPoint point) {
-        return this.transformGP(point);
-    }
-
-    /**
-     * Transform a Cartesian point to a surface-relative point.
-     *
-     * @param point Cartesian point
-     * @param frame frame in which Cartesian point is expressed
-     * @param date  date of the computation (used for frames conversions)
-     * @return point at the same location but as a surface-relative point
-     * @since 9.0
-     */
-
-    public native <T extends RealFieldElement<T>> FieldGeodeticPoint<T> transformFV(FieldVector3D<T> point, Frame frame, FieldAbsoluteDate<T> date);
-
-    /**
-     * Transform a surface-relative point to a Cartesian point.
-     *
-     * @param point surface-relative point
-     * @return point at the same location but as a Cartesian point
-     */
-
-    public native Vector3D transformGP(GeodeticPoint point);
-
-    /**
-     * Transform a surface-relative point to a Cartesian point.
-     *
-     * @param point surface-relative point
-     * @return point at the same location but as a Cartesian point
-     * @since 9.0
-     */
-    @Override
-    public <T extends RealFieldElement<T>> FieldVector3D<T> transform(FieldGeodeticPoint<T> point) {
-        return this.transformFGP(point);
-    }
-
-    public native <T extends RealFieldElement<T>> FieldVector3D<T> transformFGP(FieldGeodeticPoint<T> point);
-
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonEnablingPredicate.java b/java_additions/src/main/java/org/orekit/python/PythonEnablingPredicate.java
deleted file mode 100644
index e74775ec73901ac4e612b5c83ae5509eddb90528..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonEnablingPredicate.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/* Copyright 2002-2019 CS Systèmes d'Information
- * Licensed to CS Systèmes d'Information (CS) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * CS licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-// this file was created by SCC 2019 and is largely a derived work from the
-// original java class/interface
-
-package org.orekit.python;
-
-import org.orekit.propagation.SpacecraftState;
-import org.orekit.propagation.events.EnablingPredicate;
-import org.orekit.propagation.events.EventDetector;
-
-public class PythonEnablingPredicate<S extends EventDetector> implements EnablingPredicate<S> {
-
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-    /**
-     * Compute an event enabling function of state.
-     *
-     * @param state         current state
-     * @param eventDetector underlying detector
-     * @param g             value of the underlying detector for the current state
-     * @return true if the event is enabled (i.e. it can be
-     * triggered), false if it should be ignored
-     */
-    @Override
-    public native boolean eventIsEnabled(SpacecraftState state, S eventDetector, double g);
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonEphemerisFile.java b/java_additions/src/main/java/org/orekit/python/PythonEphemerisFile.java
deleted file mode 100644
index faaa8bb793c76495f204a92fa35e34a7db8fba24..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonEphemerisFile.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/* Contributed in the public domain.
- * Licensed to CS Systèmes d'Information (CS) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * CS licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-// this file was created by SCC 2019 and is largely a derived work from the
-// original java class/interface
-
-package org.orekit.python;
-
-import org.orekit.files.general.EphemerisFile;
-
-import java.util.Map;
-
-public class PythonEphemerisFile implements EphemerisFile {
-
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-    /**
-     * Get the loaded ephemeris for each satellite in the file.
-     *
-     * @return a map from the satellite's ID to the information about that satellite
-     * contained in the file.
-     */
-    @Override
-    public native Map<String, ? extends SatelliteEphemeris> getSatellites();
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonEphemerisFileParser.java b/java_additions/src/main/java/org/orekit/python/PythonEphemerisFileParser.java
deleted file mode 100644
index 74debeef5de92ee686ec6656bfed646bee316860..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonEphemerisFileParser.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/* Contributed in the public domain.
- * Licensed to CS Systèmes d'Information (CS) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * CS licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-// this file was created by SCC 2019 and is largely a derived work from the
-// original java class/interface
-
-package org.orekit.python;
-
-import org.orekit.files.general.EphemerisFile;
-import org.orekit.files.general.EphemerisFileParser;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-
-public class PythonEphemerisFileParser implements EphemerisFileParser {
-
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-    /**
-     * Parse an ephemeris file from a stream.
-     *
-     * @param reader   containing the ephemeris file.
-     * @param fileName to use in error messages.
-     * @return a parsed ephemeris file.
-     * @throws IOException if {@code reader} throws one.
-     */
-    @Override
-    public native EphemerisFile parse(BufferedReader reader, String fileName) throws IOException;
-
-    /**
-     * Parse an ephemeris file from a file on the local file system.
-     *
-     * <p> For Implementors: Most subclasses should implement this method as follows, but
-     * there is no default implementation because most subclasses should use a specialized
-     * return type.
-     *
-     * <code><pre>
-     * try (BufferedReader reader = Files.newBufferedReader(Paths.get(fileName))) {
-     *     return parse(reader, fileName);
-     * }
-     * </pre></code>
-     *
-     * @param fileName path to the ephemeris file.
-     * @return parsed ephemeris file.
-     * @throws IOException if one is thrown while opening or reading from {@code
-     *                     fileName}.
-     */
-    @Override
-    public native EphemerisFile parse(String fileName) throws IOException;
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonEphemerisFileWriter.java b/java_additions/src/main/java/org/orekit/python/PythonEphemerisFileWriter.java
deleted file mode 100644
index f79a07f579fc4cccfe8122fb9f123e7ed7736144..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonEphemerisFileWriter.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/* Copyright 2016 Applied Defense Solutions (ADS)
- * Licensed to CS Systèmes d'Information (CS) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * ADS licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-// this file was created by SCC 2019 and is largely a derived work from the
-// original java class/interface
-
-package org.orekit.python;
-
-import org.orekit.files.general.EphemerisFile;
-import org.orekit.files.general.EphemerisFileWriter;
-
-import java.io.IOException;
-
-public class PythonEphemerisFileWriter implements EphemerisFileWriter {
-
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-    /**
-     * Write the passed in {@link EphemerisFile} using the passed in
-     * {@link Appendable}.
-     *
-     * @param writer        a configured Appendable to feed with text
-     * @param ephemerisFile a populated ephemeris file to serialize into the buffer
-     * @throws IOException if any buffer writing operations fail or if the underlying
-     *                     format doesn't support a configuration in the EphemerisFile
-     *                     (for example having multiple satellites in one file, having
-     *                     the origin at an unspecified celestial body, etc.)
-     */
-    @Override
-    public native void write(Appendable writer, EphemerisFile ephemerisFile) throws IOException;
-
-    /**
-     * Write the passed in {@link EphemerisFile} to a file at the output path
-     * specified.
-     *
-     * @param outputFilePath a file path that the corresponding file will be written to
-     * @param ephemerisFile  a populated ephemeris file to serialize into the buffer
-     * @throws IOException if any file writing operations fail or if the underlying
-     *                     format doesn't support a configuration in the EphemerisFile
-     *                     (for example having multiple satellites in one file, having
-     *                     the origin at an unspecified celestial body, etc.)
-     */
-    @Override
-    public native void write(String outputFilePath, EphemerisFile ephemerisFile) throws IOException;
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonEstimationModifier.java b/java_additions/src/main/java/org/orekit/python/PythonEstimationModifier.java
deleted file mode 100644
index 180985ca0aad64476633e4cb45e1a6d86e0f95a3..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonEstimationModifier.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/* Copyright 2002-2019 CS Systèmes d'Information
- * Licensed to CS Systèmes d'Information (CS) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * CS licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-// this file was created by SCC 2019 and is largely a derived work from the
-// original java class/interface
-
-package org.orekit.python;
-
-import org.orekit.estimation.measurements.EstimatedMeasurement;
-import org.orekit.estimation.measurements.EstimationModifier;
-import org.orekit.estimation.measurements.ObservedMeasurement;
-import org.orekit.utils.ParameterDriver;
-
-import java.util.List;
-
-public class PythonEstimationModifier<T extends ObservedMeasurement<T>> implements EstimationModifier<T> {
-
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-    /**
-     * Get the drivers for this modifier parameters.
-     *
-     * @return drivers for this modifier parameters
-     */
-    @Override
-    public native List<ParameterDriver> getParametersDrivers();
-
-    /**
-     * Apply a modifier to an estimated measurement.
-     *
-     * @param estimated estimated measurement to modify
-     */
-    @Override
-    public native void modify(EstimatedMeasurement<T> estimated);
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonEstimationsProvider.java b/java_additions/src/main/java/org/orekit/python/PythonEstimationsProvider.java
deleted file mode 100644
index 30d79dacdf6506a91cb7c1ed83a81480dc1c95c7..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonEstimationsProvider.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/* Copyright 2002-2019 CS Systèmes d'Information
- * Licensed to CS Systèmes d'Information (CS) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * CS licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-// this file was created by SCC 2019 and is largely a derived work from the
-// original java class/interface
-
-package org.orekit.python;
-
-import org.orekit.estimation.measurements.EstimatedMeasurement;
-import org.orekit.estimation.measurements.EstimationsProvider;
-
-public class PythonEstimationsProvider implements EstimationsProvider {
-
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-    /**
-     * Get the number of evaluations available.
-     *
-     * @return number of evaluations available
-     */
-    @Override
-    public native int getNumber();
-
-    /**
-     * Get one estimated measurement.
-     *
-     * @param index index of the estimated measurement, must be between 0
-     *              and {@link #getNumber() getNumber()} - 1, chronologically
-     *              sorted
-     * @return estimated measurement at specified index
-     */
-    @Override
-    public native EstimatedMeasurement<?> getEstimatedMeasurement(int index);
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonEventDetector.java b/java_additions/src/main/java/org/orekit/python/PythonEventDetector.java
deleted file mode 100644
index 4ad6280754597d421a7f03bb3312c559f2c9414a..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonEventDetector.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/** Copyright 2014 SSC and 2002-2014 CS Systèmes d'Information
- * Licensed to CS Systèmes d'Information (CS) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * CS licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-// this file was created by SCC and is largely a derived work from the
-// original file EventDetector.java created by CS Systèmes d'Information
-
-package org.orekit.python;
-
-import org.orekit.propagation.SpacecraftState;
-import org.orekit.propagation.events.EventDetector;
-import org.orekit.propagation.events.handlers.EventHandler.Action;
-import org.orekit.time.AbsoluteDate;
-
-/** This interface represents space-dynamics aware events detectors.
-*
-* <p>It mirrors the {@link org.apache.commons.math3.ode.events.EventHandler
-* EventHandler} interface from <a href="http://commons.apache.org/math/">
-* Apache Commons Math</a> but provides a space-dynamics interface to the
-* methods.</p>
-*
-* <p>Events detectors are a useful solution to meet the requirements
-* of propagators concerning discrete conditions. The state of each
-* event detector is queried by the integrator at each step. When the
-* sign of the underlying g switching function changes, the step is rejected
-* and reduced, in order to make sure the sign changes occur only at steps
-* boundaries.</p>
-*
-* <p>When step ends exactly at a switching function sign change, the corresponding
-* event is triggered, by calling the {@link #eventOccurred(SpacecraftState, boolean)}
-* method. The method can do whatever it needs with the event (logging it, performing
-* some processing, ignore it ...). The return value of the method will be used by
-* the propagator to stop or resume propagation, possibly changing the state vector.<p>
-*
-* @author Luc Maisonobe
-* @author V&eacute;ronique Pommier-Maurussane
-*/
-public class PythonEventDetector implements EventDetector
-{
-
-	static final long serialVersionUID = 1L;
-
-	/** Part of JCC Python interface to object */
-	private long pythonObject;
-
-	/** Part of JCC Python interface to object */
-	public void pythonExtension(long pythonObject)
-	{
-		this.pythonObject = pythonObject;
-	}
-
-	/** Part of JCC Python interface to object */
-	public long pythonExtension()
-	{
-		return this.pythonObject;
-	}
-
-	/** Part of JCC Python interface to object */
-	public void finalize()
-			throws Throwable
-			{
-		pythonDecRef();
-			}
-
-	/** Part of JCC Python interface to object */
-	public native void pythonDecRef();
-
-	/** {@inheritDoc} */
-	@Override
-	public native void init(SpacecraftState s0, AbsoluteDate t);
-
-	/** {@inheritDoc} */
-	@Override
-	public native double g(SpacecraftState s);
-
-	/** {@inheritDoc} */
-	@Override
-	public native double getThreshold();
-
-	/** {@inheritDoc} */
-	@Override
-	public native double getMaxCheckInterval();
-
-	/** {@inheritDoc} */
-	@Override
-	public native int getMaxIterationCount();
-
-	/** {@inheritDoc} */
-	@Override
-	public native Action eventOccurred(SpacecraftState s, boolean increasing);
-
-	/** {@inheritDoc} */
-	@Override
-	public native SpacecraftState resetState(SpacecraftState oldState);
-
-}
-
diff --git a/java_additions/src/main/java/org/orekit/python/PythonEventHandler.java b/java_additions/src/main/java/org/orekit/python/PythonEventHandler.java
deleted file mode 100644
index e0ea27ea85db09ec1deb38e27ed60ea4712c306a..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonEventHandler.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/** Copyright 2014 SSC and 2002-2014 CS Systèmes d'Information
- * Licensed to CS Systèmes d'Information (CS) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * CS licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-// this file was created by SCC and is largely a derived work from the
-// original file EventHandler.java created by CS Systèmes d'Information
-
-package org.orekit.python;
-
-import org.orekit.errors.OrekitException;
-import org.orekit.propagation.SpacecraftState;
-import org.orekit.propagation.events.EventDetector;
-import org.orekit.propagation.events.handlers.EventHandler;
-import static org.orekit.propagation.events.handlers.EventHandler.Action;
-
-/** This interface represents space-dynamics aware events detectors.
-*
-* <p>It mirrors the {@link org.apache.commons.math3.ode.events.EventHandler
-* EventHandler} interface from <a href="http://commons.apache.org/math/">
-* Apache Commons Math</a> but provides a space-dynamics interface to the
-* methods.</p>
-*
-* <p>Events detectors are a useful solution to meet the requirements
-* of propagators concerning discrete conditions. The state of each
-* event detector is queried by the integrator at each step. When the
-* sign of the underlying g switching function changes, the step is rejected
-* and reduced, in order to make sure the sign changes occur only at steps
-* boundaries.</p>
-*
-* <p>When step ends exactly at a switching function sign change, the corresponding
-* event is triggered, by calling the {@link #eventOccurred(SpacecraftState, boolean)}
-* method. The method can do whatever it needs with the event (logging it, performing
-* some processing, ignore it ...). The return value of the method will be used by
-* the propagator to stop or resume propagation, possibly changing the state vector.<p>
-*
-* @author Luc Maisonobe
-* @author V&eacute;ronique Pommier-Maurussane
-*/
-public class PythonEventHandler<T extends EventDetector> implements EventHandler<T>
-{
-
-	static final long serialVersionUID = 1L;
-
-	/** Part of JCC Python interface to object */
-	private long pythonObject;
-
-	/** Part of JCC Python interface to object */
-	public void pythonExtension(long pythonObject)
-	{
-		this.pythonObject = pythonObject;
-	}
-
-	/** Part of JCC Python interface to object */
-	public long pythonExtension()
-	{
-		return this.pythonObject;
-	}
-
-	/** Part of JCC Python interface to object */
-	public void finalize()
-			throws Throwable
-			{
-		pythonDecRef();
-			}
-
-	/** Part of JCC Python interface to object */
-	public native void pythonDecRef();
-	
-
-
-
-    /**
-     * eventOccurred method mirrors the same interface method as in {@link EventDetector}
-     * and its subclasses, but with an additional parameter that allows the calling
-     * method to pass in an object from the detector which would have potential
-     * additional data to allow the implementing class to determine the correct
-     * return state.
-     *
-     * @param s SpaceCraft state to be used in the evaluation
-     * @param detector object with appropriate type that can be used in determining correct return state
-     * @param increasing with the event occured in an "increasing" or "decreasing" slope direction
-     * @return the Action that the calling detector should pass back to the evaluation system
-     *
-     * @exception OrekitException if some specific error occurs
-     */
-    public native Action eventOccurred(SpacecraftState s, T detector, boolean increasing);
-
-    /** Reset the state prior to continue propagation.
-     * <p>This method is called after the step handler has returned and
-     * before the next step is started, but only when {@link
-     * #eventOccurred} has itself returned the {@link Action#RESET_STATE}
-     * indicator. It allows the user to reset the state for the next step,
-     * without perturbing the step handler of the finishing step. If the
-     * {@link #eventOccurred} never returns the {@link Action#RESET_STATE}
-     * indicator, this function will never be called, and it is safe to simply return null.</p>
-     * @param detector object with appropriate type that can be used in determining correct return state
-     * @param oldState old state
-     * @return new state
-     * @exception OrekitException if the state cannot be reseted
-     */
-    public native SpacecraftState resetState(T detector, SpacecraftState oldState);
-
-
-}
-
diff --git a/java_additions/src/main/java/org/orekit/python/PythonExtendedPVCoordinatesProvider.java b/java_additions/src/main/java/org/orekit/python/PythonExtendedPVCoordinatesProvider.java
deleted file mode 100644
index 048dbf72a1606524a17d5e2696e48dbe6699bdd9..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonExtendedPVCoordinatesProvider.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/* Copyright 2002-2019 CS Systèmes d'Information
- * Licensed to CS Systèmes d'Information (CS) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * CS licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-// this file was created by SCC 2019 and is largely a derived work from the
-// original java class/interface
-
-package org.orekit.python;
-
-import org.hipparchus.RealFieldElement;
-import org.orekit.frames.Frame;
-import org.orekit.time.AbsoluteDate;
-import org.orekit.time.FieldAbsoluteDate;
-import org.orekit.utils.ExtendedPVCoordinatesProvider;
-import org.orekit.utils.TimeStampedFieldPVCoordinates;
-import org.orekit.utils.TimeStampedPVCoordinates;
-
-public class PythonExtendedPVCoordinatesProvider implements ExtendedPVCoordinatesProvider {
-
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-    /**
-     * Get the {@link FieldPVCoordinates} of the body in the selected frame.
-     *
-     * @param date  current date
-     * @param frame the frame where to define the position
-     * @return time-stamped position/velocity of the body (m and m/s)
-     */
-    @Override
-    public <T extends RealFieldElement<T>> TimeStampedFieldPVCoordinates<T> getPVCoordinates(FieldAbsoluteDate<T> date, Frame frame) {
-        return this.getFieldPVCoordinates(date, frame);
-    }
-
-    /**
-     * Get the {@link FieldPVCoordinates} of the body in the selected frame.
-     *
-     * @param date  current date
-     * @param frame the frame where to define the position
-     * @return time-stamped position/velocity of the body (m and m/s)
-     */
-    public native <T extends RealFieldElement<T>> TimeStampedFieldPVCoordinates<T> getFieldPVCoordinates(FieldAbsoluteDate<T> date, Frame frame);
-
-    /**
-     * Get the {@link PVCoordinates} of the body in the selected frame.
-     *
-     * @param date  current date
-     * @param frame the frame where to define the position
-     * @return time-stamped position/velocity of the body (m and m/s)
-     */
-    @Override
-    public native TimeStampedPVCoordinates getPVCoordinates(AbsoluteDate date, Frame frame);
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonFieldAbstractAnalyticalPropagator.java b/java_additions/src/main/java/org/orekit/python/PythonFieldAbstractAnalyticalPropagator.java
deleted file mode 100644
index c536abf1b95e3bfa69f3df21d995af52eb43f1bf..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonFieldAbstractAnalyticalPropagator.java
+++ /dev/null
@@ -1,73 +0,0 @@
-package org.orekit.python;
-
-import org.hipparchus.Field;
-import org.hipparchus.RealFieldElement;
-import org.orekit.attitudes.AttitudeProvider;
-import org.orekit.orbits.FieldOrbit;
-import org.orekit.propagation.FieldSpacecraftState;
-import org.orekit.propagation.analytical.FieldAbstractAnalyticalPropagator;
-import org.orekit.time.FieldAbsoluteDate;
-
-public class PythonFieldAbstractAnalyticalPropagator<T extends RealFieldElement<T>> extends FieldAbstractAnalyticalPropagator<T> {
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /**
-     * Build a new instance.
-     *
-     * @param field            field used as default
-     * @param attitudeProvider provider for attitude computation
-     */
-    protected PythonFieldAbstractAnalyticalPropagator(Field<T> field, AttitudeProvider attitudeProvider) {
-        super(field, attitudeProvider);
-    }
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-    /**
-     * Get the mass.
-     *
-     * @param date target date for the orbit
-     * @return mass mass
-     */
-    @Override
-    public native T getMass(FieldAbsoluteDate<T> date);
-
-    /**
-     * Reset an intermediate state.
-     *
-     * @param state   new intermediate state to consider
-     * @param forward if true, the intermediate state is valid for
-     */
-    @Override
-    public native void resetIntermediateState(FieldSpacecraftState<T> state, boolean forward);
-
-    /**
-     * Extrapolate an orbit up to a specific target date.
-     *
-     * @param date target date for the orbit
-     * @return extrapolated parameters
-     */
-    @Override
-    public native FieldOrbit<T> propagateOrbit(FieldAbsoluteDate<T> date);
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonFieldAbstractDetector.java b/java_additions/src/main/java/org/orekit/python/PythonFieldAbstractDetector.java
deleted file mode 100644
index 1a386122b4f7a8ff22a4808739a920625626d660..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonFieldAbstractDetector.java
+++ /dev/null
@@ -1,67 +0,0 @@
-package org.orekit.python;
-
-import org.hipparchus.RealFieldElement;
-import org.orekit.propagation.FieldSpacecraftState;
-import org.orekit.propagation.events.FieldAbstractDetector;
-import org.orekit.propagation.events.FieldEventDetector;
-import org.orekit.propagation.events.handlers.FieldEventHandler;
-
-public class PythonFieldAbstractDetector<D extends FieldEventDetector<T>,
-                                            T extends RealFieldElement<T>> extends FieldAbstractDetector<D, T> {
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /**
-     * Build a new instance.
-     *
-     * @param maxCheck  maximum checking interval (s)
-     * @param threshold convergence threshold (s)
-     * @param maxIter   maximum number of iterations in the event time search
-     * @param handler   event handler to call at event occurrences
-     */
-    protected PythonFieldAbstractDetector(T maxCheck, T threshold, int maxIter, FieldEventHandler<? super D, T> handler) {
-        super(maxCheck, threshold, maxIter, handler);
-    }
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-    /**
-     * {@inheritDoc}
-     *
-     * @param s
-     */
-    @Override
-    public native T g(FieldSpacecraftState<T> s);
-
-    /**
-     * Build a new instance.
-     *
-     * @param newMaxCheck  maximum checking interval (s)
-     * @param newThreshold convergence threshold (s)
-     * @param newMaxIter   maximum number of iterations in the event time search
-     * @param newHandler   event handler to call at event occurrences
-     * @return a new instance of the appropriate sub-type
-     */
-    @Override
-    public native D create(T newMaxCheck, T newThreshold, int newMaxIter, FieldEventHandler<? super D, T> newHandler);
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonFieldAbstractIntegratedPropagator.java b/java_additions/src/main/java/org/orekit/python/PythonFieldAbstractIntegratedPropagator.java
deleted file mode 100644
index b32a43b95f59ef35e4de81bf7361aa027154e708..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonFieldAbstractIntegratedPropagator.java
+++ /dev/null
@@ -1,80 +0,0 @@
-package org.orekit.python;
-
-import org.hipparchus.Field;
-import org.hipparchus.RealFieldElement;
-import org.hipparchus.ode.FieldODEIntegrator;
-import org.orekit.attitudes.AttitudeProvider;
-import org.orekit.frames.Frame;
-import org.orekit.orbits.OrbitType;
-import org.orekit.orbits.PositionAngle;
-import org.orekit.propagation.integration.FieldAbstractIntegratedPropagator;
-import org.orekit.propagation.integration.FieldStateMapper;
-import org.orekit.time.FieldAbsoluteDate;
-
-public class PythonFieldAbstractIntegratedPropagator<T extends RealFieldElement<T>> extends FieldAbstractIntegratedPropagator<T> {
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /**
-     * Build a new instance.
-     *
-     * @param field      Field used by default
-     * @param integrator numerical integrator to use for propagation.
-     * @param meanOrbit  output only the mean orbit.
-     */
-    protected PythonFieldAbstractIntegratedPropagator(Field<T> field, FieldODEIntegrator<T> integrator, boolean meanOrbit) {
-        super(field, integrator, meanOrbit);
-    }
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-    /**
-     * Create a mapper between raw double components and spacecraft state.
-     * /** Simple constructor.
-     * <p>
-     * The position parameter type is meaningful only if {@link
-     * #getOrbitType() propagation orbit type}
-     * support it. As an example, it is not meaningful for propagation
-     * in {@link OrbitType#CARTESIAN Cartesian} parameters.
-     * </p>
-     *
-     * @param referenceDate     reference date
-     * @param mu                central attraction coefficient (m³/s²)
-     * @param orbitType         orbit type to use for mapping
-     * @param positionAngleType angle type to use for propagation
-     * @param attitudeProvider  attitude provider
-     * @param frame             inertial frame
-     * @return new mapper
-     */
-    @Override
-    public native FieldStateMapper<T> createMapper(FieldAbsoluteDate<T> referenceDate, double mu, OrbitType orbitType, PositionAngle positionAngleType, AttitudeProvider attitudeProvider, Frame frame);
-
-    /**
-     * Get the differential equations to integrate (for main state only).
-     *
-     * @param integ numerical integrator to use for propagation.
-     * @return differential equations for main state
-     */
-    @Override
-    public native MainStateEquations<T> getMainStateEquations(FieldODEIntegrator<T> integ);
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonFieldAbstractPropagator.java b/java_additions/src/main/java/org/orekit/python/PythonFieldAbstractPropagator.java
deleted file mode 100644
index 4233a4b85cced014bd666abc516ecd25f91d9e45..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonFieldAbstractPropagator.java
+++ /dev/null
@@ -1,88 +0,0 @@
-package org.orekit.python;
-
-import org.hipparchus.Field;
-import org.hipparchus.RealFieldElement;
-import org.orekit.propagation.FieldAbstractPropagator;
-import org.orekit.propagation.FieldBoundedPropagator;
-import org.orekit.propagation.FieldSpacecraftState;
-import org.orekit.propagation.events.FieldEventDetector;
-import org.orekit.time.FieldAbsoluteDate;
-
-import java.util.Collection;
-
-public class PythonFieldAbstractPropagator<T extends RealFieldElement<T>> extends FieldAbstractPropagator<T> {
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /**
-     * Build a new instance.
-     *
-     * @param field setting the field
-     */
-    public PythonFieldAbstractPropagator(Field<T> field) {
-        super(field);
-    }
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public native FieldBoundedPropagator<T> getGeneratedEphemeris();
-
-    /**
-     * {@inheritDoc}
-     *
-     * @param detector
-     */
-    @Override
-    public native <D extends FieldEventDetector<T>> void addEventDetector(D detector);
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public native Collection<FieldEventDetector<T>> getEventsDetectors();
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public native void clearEventsDetectors();
-
-    /**
-     * Propagate from a start date towards a target date.
-     * <p>Those propagators use a start date and a target date to
-     * compute the propagated state. For propagators using event detection mechanism,
-     * if the provided start date is different from the initial state date, a first,
-     * simple propagation is performed, without processing any event computation.
-     * Then complete propagation is performed from start date to target date.</p>
-     *
-     * @param start  start date from which orbit state should be propagated
-     * @param target target date to which orbit state should be propagated
-     * @return propagated state
-     */
-    @Override
-    public native FieldSpacecraftState<T> propagate(FieldAbsoluteDate<T> start, FieldAbsoluteDate<T> target);
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonFieldAdditionalEquations.java b/java_additions/src/main/java/org/orekit/python/PythonFieldAdditionalEquations.java
deleted file mode 100644
index 1a0ff9ce31ca775fc768bc6c823cd971e73fb5ce..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonFieldAdditionalEquations.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/* Copyright 2010-2011 Centre National d'Études Spatiales
- * Licensed to CS Systèmes d'Information (CS) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * CS licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-// this file was created by SSC 2018 and is largely a derived work from the
-// original java class
-
-package org.orekit.python;
-
-import org.hipparchus.RealFieldElement;
-import org.orekit.propagation.FieldSpacecraftState;
-import org.orekit.propagation.integration.AbstractIntegratedPropagator;
-import org.orekit.propagation.integration.FieldAdditionalEquations;
-import org.orekit.time.FieldAbsoluteDate;
-
-/** This interface allows users to add their own differential equations to a numerical propagator.
-*
-* <p>
-* In some cases users may need to integrate some problem-specific equations along with
-* classical spacecraft equations of motions. One example is optimal control in low
-* thrust where adjoint parameters linked to the minimized Hamiltonian must be integrated.
-* Another example is formation flying or rendez-vous which use the Clohessy-Whiltshire
-* equations for the relative motion.
-* </p>
-* <p>
-* This interface allows users to add such equations to a {@link
-* org.orekit.propagation.numerical.FieldNumericalPropagator numerical propagator}. Users provide the
-* equations as an implementation of this interface and register it to the propagator thanks to
-* its {@link org.orekit.propagation.numerical.FieldNumericalPropagator#addAdditionalEquations(FieldAdditionalEquations)}
-* method. Several such objects can be registered with each numerical propagator, but it is
-* recommended to gather in the same object the sets of parameters which equations can interact
-* on each others states.
-* </p>
-* <p>
-* The additional parameters are gathered in a simple p array. The additional equations compute
-* the pDot array, which is the time-derivative of the p array. Since the additional parameters
-* p may also have an influence on the equations of motion themselves that should be accumulated
-* to the main state derivatives (for example an equation linked to a complex thrust model may
-* induce an acceleration and a mass change), the {@link #computeDerivatives(FieldSpacecraftState, RealFieldElement[])
-* computeDerivatives} method can return a double array that will be
-* <em>added</em> to the main state derivatives. This means these equations can be used as an
-* additional force model if needed. If the additional parameters have no influence at all on
-* the main spacecraft state, a null reference may be returned.
-* </p>
-* <p>
-* This interface is the numerical (read not already integrated) counterpart of
-* the {@link org.orekit.propagation.FieldAdditionalStateProvider} interface.
-* It allows to append various additional state parameters to any {@link
-* org.orekit.propagation.numerical.FieldNumericalPropagator numerical propagator}.
-* </p>
-* @see AbstractIntegratedPropagator
-* @see org.orekit.propagation.AdditionalStateProvider
-* @author Luc Maisonobe
-*/
-public class PythonFieldAdditionalEquations<T extends RealFieldElement<T>> implements FieldAdditionalEquations<T> {
-	
-	
-	static final long serialVersionUID = 1L;
-	
-	/** Part of JCC Python interface to object */
-	private long pythonObject;
-
-	/** Part of JCC Python interface to object */
-	public void pythonExtension(long pythonObject)
-	{
-		this.pythonObject = pythonObject;
-	}
-
-	/** Part of JCC Python interface to object */
-	public long pythonExtension()
-	{
-		return this.pythonObject;
-	}
-
-	/** Part of JCC Python interface to object */
-	public void finalize()
-			throws Throwable
-			{
-		pythonDecRef();
-			}
-
-	/** Part of JCC Python interface to object */
-	public native void pythonDecRef();
-	
-
-    /** Get the name of the additional state.
-     * @return name of the additional state
-     */
-    public native String getName();
-
-    /** {@inheritDoc} */
-	@Override
-	public native void init(final FieldSpacecraftState<T> initialState, final FieldAbsoluteDate<T> target);
-
-	/** {@inheritDoc} */
-	@Override
-	public native T[] computeDerivatives(FieldSpacecraftState<T> s,  T[] pDot);
-
-
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonFieldAdditionalStateProvider.java b/java_additions/src/main/java/org/orekit/python/PythonFieldAdditionalStateProvider.java
deleted file mode 100644
index bed643c7ba862d25f662ab5c855070ebee503faf..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonFieldAdditionalStateProvider.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/* Copyright 2002-2019 CS Systèmes d'Information
- * Licensed to CS Systèmes d'Information (CS) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * CS licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-// this file was created by SCC 2019 and is largely a derived work from the
-// original java class/interface
-
-package org.orekit.python;
-
-import org.hipparchus.RealFieldElement;
-import org.orekit.propagation.FieldAdditionalStateProvider;
-import org.orekit.propagation.FieldSpacecraftState;
-
-public class PythonFieldAdditionalStateProvider<T extends RealFieldElement<T>> implements FieldAdditionalStateProvider<T> {
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-    /**
-     * Get the name of the additional state.
-     *
-     * @return name of the additional state
-     */
-    @Override
-    public native String getName();
-
-    /**
-     * Get the additional state.
-     *
-     * @param state spacecraft state to which additional state should correspond
-     * @return additional state corresponding to spacecraft state
-     */
-    @Override
-    public native T[] getAdditionalState(FieldSpacecraftState<T> state);
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonFieldBoundedPropagator.java b/java_additions/src/main/java/org/orekit/python/PythonFieldBoundedPropagator.java
deleted file mode 100644
index 3d0303d9c08b78601f6886a0235727e19cdb6eb9..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonFieldBoundedPropagator.java
+++ /dev/null
@@ -1,374 +0,0 @@
-/* Copyright 2002-2019 CS Systèmes d'Information
- * Licensed to CS Systèmes d'Information (CS) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * CS licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-// this file was created by SCC 2019 and is largely a derived work from the
-// original java class/interface
-
-package org.orekit.python;
-
-import org.hipparchus.RealFieldElement;
-import org.orekit.attitudes.AttitudeProvider;
-import org.orekit.frames.Frame;
-import org.orekit.propagation.FieldAdditionalStateProvider;
-import org.orekit.propagation.FieldBoundedPropagator;
-import org.orekit.propagation.FieldSpacecraftState;
-import org.orekit.propagation.events.FieldEventDetector;
-import org.orekit.propagation.integration.FieldAbstractIntegratedPropagator;
-import org.orekit.propagation.integration.FieldAdditionalEquations;
-import org.orekit.propagation.sampling.FieldOrekitFixedStepHandler;
-import org.orekit.propagation.sampling.FieldOrekitStepHandler;
-import org.orekit.time.FieldAbsoluteDate;
-import org.orekit.utils.TimeStampedFieldPVCoordinates;
-
-import java.util.Collection;
-import java.util.List;
-
-public class PythonFieldBoundedPropagator<T extends RealFieldElement<T>> implements FieldBoundedPropagator<T> {
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-    /**
-     * Get the first date of the range.
-     *
-     * @return the first date of the range
-     */
-    @Override
-    public native FieldAbsoluteDate<T> getMinDate();
-
-    /**
-     * Get the last date of the range.
-     *
-     * @return the last date of the range
-     */
-    @Override
-    public native FieldAbsoluteDate<T> getMaxDate();
-
-    /**
-     * Get the current operating mode of the propagator.
-     *
-     * @return one of {@link #SLAVE_MODE}, {@link #MASTER_MODE},
-     * {@link #EPHEMERIS_GENERATION_MODE}
-     * @see #setSlaveMode()
-     * @see #setMasterMode(RealFieldElement, FieldOrekitFixedStepHandler)
-     * @see #setMasterMode(FieldOrekitStepHandler)
-     * @see #setEphemerisMode()
-     */
-    @Override
-    public native int getMode();
-
-    /**
-     * Set the propagator to slave mode.
-     * <p>This mode is used when the user needs only the final orbit at the target time.
-     * The (slave) propagator computes this result and return it to the calling
-     * (master) application, without any intermediate feedback.<p>
-     * <p>This is the default mode.</p>
-     *
-     * @see #setMasterMode(RealFieldElement, FieldOrekitFixedStepHandler)
-     * @see #setMasterMode(FieldOrekitStepHandler)
-     * @see #setEphemerisMode()
-     * @see #getMode()
-     * @see #SLAVE_MODE
-     */
-    @Override
-    public native void setSlaveMode();
-
-    /**
-     * Set the propagator to master mode with fixed steps.
-     * <p>This mode is used when the user needs to have some custom function called at the
-     * end of each finalized step during integration. The (master) propagator integration
-     * loop calls the (slave) application callback methods at each finalized step.</p>
-     *
-     * @param h       fixed stepsize (s)
-     * @param handler handler called at the end of each finalized step
-     * @see #setSlaveMode()
-     * @see #setMasterMode(FieldOrekitStepHandler)
-     * @see #setEphemerisMode()
-     * @see #getMode()
-     * @see #MASTER_MODE
-     */
-    @Override
-    public void setMasterMode(T h, FieldOrekitFixedStepHandler<T> handler) {
-        this.setMasterMode_2p(h, handler);
-    }
-
-    /**
-     * Set the propagator to master mode with fixed steps.
-     * <p>This mode is used when the user needs to have some custom function called at the
-     * end of each finalized step during integration. The (master) propagator integration
-     * loop calls the (slave) application callback methods at each finalized step.</p>
-     *
-     * @param h       fixed stepsize (s)
-     * @param handler handler called at the end of each finalized step
-     * @see #setSlaveMode()
-     * @see #setMasterMode(FieldOrekitStepHandler)
-     * @see #setEphemerisMode()
-     * @see #getMode()
-     * @see #MASTER_MODE
-     */
-    public native void setMasterMode_2p(T h, FieldOrekitFixedStepHandler<T> handler);
-
-    /**
-     * Set the propagator to master mode with variable steps.
-     * <p>This mode is used when the user needs to have some custom function called at the
-     * end of each finalized step during integration. The (master) propagator integration
-     * loop calls the (slave) application callback methods at each finalized step.</p>
-     *
-     * @param handler handler called at the end of each finalized step
-     * @see #setSlaveMode()
-     * @see #setMasterMode(RealFieldElement, FieldOrekitFixedStepHandler)
-     * @see #setEphemerisMode()
-     * @see #getMode()
-     * @see #MASTER_MODE
-     */
-    @Override
-    public native void setMasterMode(FieldOrekitStepHandler<T> handler);
-
-    /**
-     * Set the propagator to ephemeris generation mode.
-     * <p>This mode is used when the user needs random access to the orbit state at any time
-     * between the initial and target times, and in no sequential order. A typical example is
-     * the implementation of search and iterative algorithms that may navigate forward and
-     * backward inside the propagation range before finding their result.</p>
-     * <p>Beware that since this mode stores <strong>all</strong> intermediate results,
-     * it may be memory intensive for long integration ranges and high precision/short
-     * time steps.</p>
-     *
-     * @see #getGeneratedEphemeris()
-     * @see #setSlaveMode()
-     * @see #setMasterMode(RealFieldElement, FieldOrekitFixedStepHandler)
-     * @see #setMasterMode(FieldOrekitStepHandler)
-     * @see #getMode()
-     * @see #EPHEMERIS_GENERATION_MODE
-     */
-    @Override
-    public native void setEphemerisMode();
-
-    /**
-     * Get the ephemeris generated during propagation.
-     *
-     * @return generated ephemeris
-     * @throws IllegalStateException if the propagator was not set in ephemeris
-     *                               generation mode before propagation
-     * @see #setEphemerisMode()
-     */
-    @Override
-    public native FieldBoundedPropagator<T> getGeneratedEphemeris() throws IllegalStateException;
-
-    /**
-     * Get the propagator initial state.
-     *
-     * @return initial state
-     */
-    @Override
-    public native FieldSpacecraftState<T> getInitialState();
-
-    /**
-     * Reset the propagator initial state.
-     *
-     * @param state new initial state to consider
-     */
-    @Override
-    public native void resetInitialState(FieldSpacecraftState<T> state);
-
-    /**
-     * Add a set of user-specified state parameters to be computed along with the orbit propagation.
-     *
-     * @param additionalStateProvider provider for additional state
-     */
-    @Override
-    public native void addAdditionalStateProvider(FieldAdditionalStateProvider<T> additionalStateProvider);
-
-    /**
-     * Get an unmodifiable list of providers for additional state.
-     *
-     * @return providers for the additional states
-     */
-    @Override
-    public native List<FieldAdditionalStateProvider<T>> getAdditionalStateProviders();
-
-    /**
-     * Check if an additional state is managed.
-     * <p>
-     * Managed states are states for which the propagators know how to compute
-     * its evolution. They correspond to additional states for which an
-     * {@link FieldAdditionalStateProvider additional state provider} has been registered
-     * by calling the {@link #addAdditionalStateProvider(FieldAdditionalStateProvider)
-     * addAdditionalStateProvider} method. If the propagator is an {@link
-     * FieldAbstractIntegratedPropagator integrator-based
-     * propagator}, the states for which a set of {@link
-     * FieldAdditionalEquations additional equations} has
-     * been registered by calling the {@link
-     * FieldAbstractIntegratedPropagator#addAdditionalEquations(
-     *FieldAdditionalEquations) addAdditionalEquations}
-     * method are also counted as managed additional states.
-     * </p>
-     * <p>
-     * Additional states that are present in the {@link #getInitialState() initial state}
-     * but have no evolution method registered are <em>not</em> considered as managed states.
-     * These unmanaged additional states are not lost during propagation, though. Their
-     * value will simply be copied unchanged throughout propagation.
-     * </p>
-     *
-     * @param name name of the additional state
-     * @return true if the additional state is managed
-     */
-    @Override
-    public native boolean isAdditionalStateManaged(String name);
-
-    /**
-     * Get all the names of all managed states.
-     *
-     * @return names of all managed states
-     */
-    @Override
-    public native String[] getManagedAdditionalStates();
-
-    /**
-     * Add an event detector.
-     *
-     * @param detector event detector to add
-     * @see #clearEventsDetectors()
-     * @see #getEventsDetectors()
-     */
-    @Override
-    public native <D extends FieldEventDetector<T>> void addEventDetector(D detector);
-
-    /**
-     * Get all the events detectors that have been added.
-     *
-     * @return an unmodifiable collection of the added detectors
-     * @see #addEventDetector(FieldEventDetector)
-     * @see #clearEventsDetectors()
-     */
-    @Override
-    public native Collection<FieldEventDetector<T>> getEventsDetectors();
-
-    /**
-     * Remove all events detectors.
-     *
-     * @see #addEventDetector(FieldEventDetector)
-     * @see #getEventsDetectors()
-     */
-    @Override
-    public native void clearEventsDetectors();
-
-    /**
-     * Get attitude provider.
-     *
-     * @return attitude provider
-     */
-    @Override
-    public native AttitudeProvider getAttitudeProvider();
-
-    /**
-     * Set attitude provider.
-     *
-     * @param attitudeProvider attitude provider
-     */
-    @Override
-    public native void setAttitudeProvider(AttitudeProvider attitudeProvider);
-
-    /**
-     * Get the frame in which the orbit is propagated.
-     * <p>
-     * The propagation frame is the definition frame of the initial
-     * state, so this method should be called after this state has
-     * been set, otherwise it may return null.
-     * </p>
-     *
-     * @return frame in which the orbit is propagated
-     * @see #resetInitialState(FieldSpacecraftState)
-     */
-    @Override
-    public native Frame getFrame();
-
-    /**
-     * Propagate towards a target date.
-     * <p>Simple propagators use only the target date as the specification for
-     * computing the propagated state. More feature rich propagators can consider
-     * other information and provide different operating modes or G-stop
-     * facilities to stop at pinpointed events occurrences. In these cases, the
-     * target date is only a hint, not a mandatory objective.</p>
-     *
-     * @param target target date towards which orbit state should be propagated
-     * @return propagated state
-     */
-    @Override
-    public native FieldSpacecraftState<T> propagate(FieldAbsoluteDate<T> target);
-
-    /**
-     * Propagate from a start date towards a target date.
-     * <p>Those propagators use a start date and a target date to
-     * compute the propagated state. For propagators using event detection mechanism,
-     * if the provided start date is different from the initial state date, a first,
-     * simple propagation is performed, without processing any event computation.
-     * Then complete propagation is performed from start date to target date.</p>
-     *
-     * @param start  start date from which orbit state should be propagated
-     * @param target target date to which orbit state should be propagated
-     * @return propagated state
-     */
-    @Override
-    public FieldSpacecraftState<T> propagate(FieldAbsoluteDate<T> start, FieldAbsoluteDate<T> target) {
-        return this.propagate_2p(start, target);
-    }
-
-    /**
-     * Propagate from a start date towards a target date.
-     * <p>Those propagators use a start date and a target date to
-     * compute the propagated state. For propagators using event detection mechanism,
-     * if the provided start date is different from the initial state date, a first,
-     * simple propagation is performed, without processing any event computation.
-     * Then complete propagation is performed from start date to target date.</p>
-     *
-     * @param start  start date from which orbit state should be propagated
-     * @param target target date to which orbit state should be propagated
-     * @return propagated state
-     */
-    public native FieldSpacecraftState<T> propagate_2p(FieldAbsoluteDate<T> start, FieldAbsoluteDate<T> target);
-
-    /**
-     * Get the {@link FieldPVCoordinates} of the body in the selected frame.
-     *
-     * @param date  current date
-     * @param frame the frame where to define the position
-     * @return time-stamped position/velocity of the body (m and m/s)
-     */
-    @Override
-    public native TimeStampedFieldPVCoordinates<T> getPVCoordinates(FieldAbsoluteDate<T> date, Frame frame);
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonFieldEventDetector.java b/java_additions/src/main/java/org/orekit/python/PythonFieldEventDetector.java
deleted file mode 100644
index 853ef7e82b2e9812c7d2c74414d92076444e74d5..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonFieldEventDetector.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/* Copyright 2002-2019 CS Systèmes d'Information
- * Licensed to CS Systèmes d'Information (CS) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * CS licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-// this file was created by SCC 2019 and is largely a derived work from the
-// original java class/interface
-
-package org.orekit.python;
-
-import org.hipparchus.RealFieldElement;
-import org.orekit.propagation.FieldSpacecraftState;
-import org.orekit.propagation.events.FieldEventDetector;
-import org.orekit.propagation.events.handlers.FieldEventHandler;
-import org.orekit.time.FieldAbsoluteDate;
-
-public class PythonFieldEventDetector<T extends RealFieldElement<T>> implements FieldEventDetector<T> {
-
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-    /**
-     * Initialize event handler at the start of a propagation.
-     * <p>
-     * This method is called once at the start of the propagation. It
-     * may be used by the event handler to initialize some internal data
-     * if needed.
-     * </p>
-     * <p>
-     * The default implementation does nothing
-     * </p>
-     *
-     * @param s0 initial state
-     * @param t  target time for the integration
-     */
-    @Override
-    public native void init(FieldSpacecraftState<T> s0, FieldAbsoluteDate<T> t);
-
-    /**
-     * Compute the value of the switching function.
-     * This function must be continuous (at least in its roots neighborhood),
-     * as the integrator will need to find its roots to locate the events.
-     *
-     * @param s the current state information: date, kinematics, attitude
-     * @return value of the switching function
-     */
-    @Override
-    public native T g(FieldSpacecraftState<T> s);
-
-    /**
-     * Get the convergence threshold in the event time search.
-     *
-     * @return convergence threshold (s)
-     */
-    @Override
-    public native T getThreshold();
-
-    /**
-     * Get maximal time interval between switching function checks.
-     *
-     * @return maximal time interval (s) between switching function checks
-     */
-    @Override
-    public native T getMaxCheckInterval();
-
-    /**
-     * Get maximal number of iterations in the event time search.
-     *
-     * @return maximal number of iterations in the event time search
-     */
-    @Override
-    public native int getMaxIterationCount();
-
-    /**
-     * Handle the event.
-     *
-     * @param s          SpaceCraft state to be used in the evaluation
-     * @param increasing with the event occurred in an "increasing" or "decreasing" slope direction
-     * @return the Action that the calling detector should pass back to the evaluation system
-     * @since 7.0
-     */
-    @Override
-    public native FieldEventHandler.Action eventOccurred(FieldSpacecraftState<T> s, boolean increasing);
-
-    /**
-     * Reset the state prior to continue propagation.
-     * <p>This method is called after the step handler has returned and
-     * before the next step is started, but only when {@link
-     * #eventOccurred} has itself returned the {@link Action#RESET_STATE}
-     * indicator. It allows the user to reset the state for the next step,
-     * without perturbing the step handler of the finishing step. If the
-     * {@link #eventOccurred} never returns the {@link Action#RESET_STATE}
-     * indicator, this function will never be called, and it is safe to simply return null.</p>
-     * <p>
-     * The default implementation simply returns its argument.
-     * </p>
-     *
-     * @param oldState old state
-     * @return new state
-     * @since 7.0
-     */
-    @Override
-    public native FieldSpacecraftState<T> resetState(FieldSpacecraftState<T> oldState);
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonFieldModeHandler.java b/java_additions/src/main/java/org/orekit/python/PythonFieldModeHandler.java
deleted file mode 100644
index 4ad698a783b0db748f52c44fb52e8498096ff1ef..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonFieldModeHandler.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/* Copyright 2010-2011 Centre National d'Études Spatiales
- * Licensed to CS Systèmes d'Information (CS) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * CS licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-// this file was created by SCC 2019 and is largely a derived work from the
-// original java class/interface
-
-package org.orekit.python;
-
-import org.hipparchus.RealFieldElement;
-import org.orekit.propagation.integration.FieldModeHandler;
-import org.orekit.time.FieldAbsoluteDate;
-
-public class PythonFieldModeHandler<T extends RealFieldElement<T>> implements FieldModeHandler<T> {
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-    /**
-     * Initialize the mode handler.
-     *
-     * @param activateHandlers if handlers shall be active
-     * @param targetDate       propagation is expected to end on this date, but
-     *                         it may end early due to event detectors or
-     */
-    @Override
-    public native void initialize(boolean activateHandlers, FieldAbsoluteDate<T> targetDate);
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonFieldOrekitFixedStepHandler.java b/java_additions/src/main/java/org/orekit/python/PythonFieldOrekitFixedStepHandler.java
deleted file mode 100644
index 53d54cfce4adc0ff5ceb21e8a14aa6fcb8a891af..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonFieldOrekitFixedStepHandler.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/* Copyright 2002-2019 CS Systèmes d'Information
- * Licensed to CS Systèmes d'Information (CS) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * CS licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-// this file was created by SCC 2019 and is largely a derived work from the
-// original java class/interface
-
-package org.orekit.python;
-
-import org.hipparchus.RealFieldElement;
-import org.orekit.propagation.FieldSpacecraftState;
-import org.orekit.propagation.sampling.FieldOrekitFixedStepHandler;
-import org.orekit.time.FieldAbsoluteDate;
-
-public class PythonFieldOrekitFixedStepHandler<T extends RealFieldElement<T>> implements FieldOrekitFixedStepHandler<T> {
-
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-    /**
-     * Initialize step handler at the start of a propagation.
-     * <p>
-     * This method is called once at the start of the propagation. It
-     * may be used by the step handler to initialize some internal data
-     * if needed.
-     * </p>
-     *
-     * @param s0   initial state
-     * @param t    target time for the integration
-     * @param step the duration in seconds of the fixed step. This value is
-     */
-    @Override
-    public native void init(FieldSpacecraftState<T> s0, FieldAbsoluteDate<T> t, T step);
-
-    /**
-     * Handle the current step.
-     *
-     * @param currentState current state at step time
-     * @param isLast       if true, this is the last integration step
-     */
-    @Override
-    public native void handleStep(FieldSpacecraftState<T> currentState, boolean isLast);
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonFieldOrekitStepHandler.java b/java_additions/src/main/java/org/orekit/python/PythonFieldOrekitStepHandler.java
deleted file mode 100644
index c7775f9b2ce7e15ff9699c4efd54a8947b8e441c..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonFieldOrekitStepHandler.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/* Copyright 2002-2019 CS Systèmes d'Information
- * Licensed to CS Systèmes d'Information (CS) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * CS licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-// this file was created by SCC 2019 and is largely a derived work from the
-// original java class/interface
-
-package org.orekit.python;
-
-import org.hipparchus.RealFieldElement;
-import org.orekit.propagation.FieldSpacecraftState;
-import org.orekit.propagation.sampling.FieldOrekitStepHandler;
-import org.orekit.propagation.sampling.FieldOrekitStepInterpolator;
-import org.orekit.time.FieldAbsoluteDate;
-
-public class PythonFieldOrekitStepHandler<T extends RealFieldElement<T>> implements FieldOrekitStepHandler<T> {
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-    /**
-     * Initialize step handler at the start of a propagation.
-     * <p>
-     * This method is called once at the start of the propagation. It
-     * may be used by the step handler to initialize some internal data
-     * if needed.
-     * </p>
-     *
-     * @param s0 initial state
-     * @param t  target time for the integration
-     */
-    @Override
-    public native void init(FieldSpacecraftState<T> s0, FieldAbsoluteDate<T> t);
-
-    /**
-     * Handle the current step.
-     *
-     * @param interpolator interpolator set up for the current step
-     * @param isLast       if true, this is the last integration step
-     */
-    @Override
-    public native void handleStep(FieldOrekitStepInterpolator<T> interpolator, boolean isLast);
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonFieldOrekitStepInterpolator.java b/java_additions/src/main/java/org/orekit/python/PythonFieldOrekitStepInterpolator.java
deleted file mode 100644
index fdb156fc66b36fecbd176a5ef9586f48a793c38a..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonFieldOrekitStepInterpolator.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/* Copyright 2002-2019 CS Systèmes d'Information
- * Licensed to CS Systèmes d'Information (CS) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * CS licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-// this file was created by SCC 2019 and is largely a derived work from the
-// original java class/interface
-
-package org.orekit.python;
-
-import org.hipparchus.RealFieldElement;
-import org.orekit.propagation.FieldSpacecraftState;
-import org.orekit.propagation.sampling.FieldOrekitStepInterpolator;
-import org.orekit.time.FieldAbsoluteDate;
-
-public class PythonFieldOrekitStepInterpolator<T extends RealFieldElement<T>> implements FieldOrekitStepInterpolator<T> {
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-    /**
-     * Get the state at previous grid point date.
-     *
-     * @return state at previous grid point date
-     */
-    @Override
-    public native FieldSpacecraftState<T> getPreviousState();
-
-    /**
-     * Get the state at previous grid point date.
-     *
-     * @return state at previous grid point date
-     */
-    @Override
-    public native FieldSpacecraftState<T> getCurrentState();
-
-    /**
-     * Get the state at interpolated date.
-     *
-     * @param date date of the interpolated state
-     * @return state at interpolated date
-     * the date
-     */
-    @Override
-    public native FieldSpacecraftState<T> getInterpolatedState(FieldAbsoluteDate<T> date);
-
-    /**
-     * Check is integration direction is forward in date.
-     *
-     * @return true if integration is forward in date
-     */
-    @Override
-    public native boolean isForward();
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonFieldPVCoordinatesProvider.java b/java_additions/src/main/java/org/orekit/python/PythonFieldPVCoordinatesProvider.java
deleted file mode 100644
index f09174f482ae15bd8ea535b7bdf85576cbf14f6c..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonFieldPVCoordinatesProvider.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/* Copyright 2002-2019 CS Systèmes d'Information
- * Licensed to CS Systèmes d'Information (CS) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * CS licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-// this file was created by SCC 2019 and is largely a derived work from the
-// original java class/interface
-
-package org.orekit.python;
-
-import org.hipparchus.RealFieldElement;
-import org.orekit.frames.Frame;
-import org.orekit.time.FieldAbsoluteDate;
-import org.orekit.utils.FieldPVCoordinatesProvider;
-import org.orekit.utils.TimeStampedFieldPVCoordinates;
-
-public class PythonFieldPVCoordinatesProvider<T extends RealFieldElement<T>> implements FieldPVCoordinatesProvider<T> {
-
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-    /**
-     * Get the {@link FieldPVCoordinates} of the body in the selected frame.
-     *
-     * @param date  current date
-     * @param frame the frame where to define the position
-     * @return time-stamped position/velocity of the body (m and m/s)
-     */
-    @Override
-    public native TimeStampedFieldPVCoordinates<T> getPVCoordinates(FieldAbsoluteDate<T> date, Frame frame);
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonFieldPropagator.java b/java_additions/src/main/java/org/orekit/python/PythonFieldPropagator.java
deleted file mode 100644
index 24af051965d59f8eea6c6d6bd16bfa69a4e1f1f4..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonFieldPropagator.java
+++ /dev/null
@@ -1,362 +0,0 @@
-/* Copyright 2002-2019 CS Systèmes d'Information
- * Licensed to CS Systèmes d'Information (CS) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * CS licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-// this file was created by SCC 2019 and is largely a derived work from the
-// original java class/interface
-
-package org.orekit.python;
-
-import org.hipparchus.RealFieldElement;
-import org.orekit.attitudes.AttitudeProvider;
-import org.orekit.frames.Frame;
-import org.orekit.propagation.FieldAdditionalStateProvider;
-import org.orekit.propagation.FieldBoundedPropagator;
-import org.orekit.propagation.FieldPropagator;
-import org.orekit.propagation.FieldSpacecraftState;
-import org.orekit.propagation.events.FieldEventDetector;
-import org.orekit.propagation.integration.FieldAbstractIntegratedPropagator;
-import org.orekit.propagation.integration.FieldAdditionalEquations;
-import org.orekit.propagation.sampling.FieldOrekitFixedStepHandler;
-import org.orekit.propagation.sampling.FieldOrekitStepHandler;
-import org.orekit.time.FieldAbsoluteDate;
-import org.orekit.utils.TimeStampedFieldPVCoordinates;
-
-import java.util.Collection;
-import java.util.List;
-
-public class PythonFieldPropagator<T extends RealFieldElement<T>> implements FieldPropagator<T> {
-
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-    /**
-     * Get the current operating mode of the propagator.
-     *
-     * @return one of {@link #SLAVE_MODE}, {@link #MASTER_MODE},
-     * {@link #EPHEMERIS_GENERATION_MODE}
-     * @see #setSlaveMode()
-     * @see #setMasterMode(RealFieldElement, FieldOrekitFixedStepHandler)
-     * @see #setMasterMode(FieldOrekitStepHandler)
-     * @see #setEphemerisMode()
-     */
-    @Override
-    public native int getMode();
-
-    /**
-     * Set the propagator to slave mode.
-     * <p>This mode is used when the user needs only the final orbit at the target time.
-     * The (slave) propagator computes this result and return it to the calling
-     * (master) application, without any intermediate feedback.<p>
-     * <p>This is the default mode.</p>
-     *
-     * @see #setMasterMode(RealFieldElement, FieldOrekitFixedStepHandler)
-     * @see #setMasterMode(FieldOrekitStepHandler)
-     * @see #setEphemerisMode()
-     * @see #getMode()
-     * @see #SLAVE_MODE
-     */
-    @Override
-    public native void setSlaveMode();
-
-    /**
-     * Set the propagator to master mode with fixed steps.
-     * <p>This mode is used when the user needs to have some custom function called at the
-     * end of each finalized step during integration. The (master) propagator integration
-     * loop calls the (slave) application callback methods at each finalized step.</p>
-     *
-     * @param h       fixed stepsize (s)
-     * @param handler handler called at the end of each finalized step
-     * @see #setSlaveMode()
-     * @see #setMasterMode(FieldOrekitStepHandler)
-     * @see #setEphemerisMode()
-     * @see #getMode()
-     * @see #MASTER_MODE
-     */
-    @Override
-    public void setMasterMode(T h, FieldOrekitFixedStepHandler<T> handler) {
-        this.setMasterMode_2p(h, handler);
-    }
-
-    /**
-     * Set the propagator to master mode with fixed steps.
-     * <p>This mode is used when the user needs to have some custom function called at the
-     * end of each finalized step during integration. The (master) propagator integration
-     * loop calls the (slave) application callback methods at each finalized step.</p>
-     *
-     * @param h       fixed stepsize (s)
-     * @param handler handler called at the end of each finalized step
-     * @see #setSlaveMode()
-     * @see #setMasterMode(FieldOrekitStepHandler)
-     * @see #setEphemerisMode()
-     * @see #getMode()
-     * @see #MASTER_MODE
-     */
-    public native void setMasterMode_2p(T h, FieldOrekitFixedStepHandler<T> handler);
-
-
-    /**
-     * Set the propagator to master mode with variable steps.
-     * <p>This mode is used when the user needs to have some custom function called at the
-     * end of each finalized step during integration. The (master) propagator integration
-     * loop calls the (slave) application callback methods at each finalized step.</p>
-     *
-     * @param handler handler called at the end of each finalized step
-     * @see #setSlaveMode()
-     * @see #setMasterMode(RealFieldElement, FieldOrekitFixedStepHandler)
-     * @see #setEphemerisMode()
-     * @see #getMode()
-     * @see #MASTER_MODE
-     */
-    @Override
-    public native void setMasterMode(FieldOrekitStepHandler<T> handler);
-
-    /**
-     * Set the propagator to ephemeris generation mode.
-     * <p>This mode is used when the user needs random access to the orbit state at any time
-     * between the initial and target times, and in no sequential order. A typical example is
-     * the implementation of search and iterative algorithms that may navigate forward and
-     * backward inside the propagation range before finding their result.</p>
-     * <p>Beware that since this mode stores <strong>all</strong> intermediate results,
-     * it may be memory intensive for long integration ranges and high precision/short
-     * time steps.</p>
-     *
-     * @see #getGeneratedEphemeris()
-     * @see #setSlaveMode()
-     * @see #setMasterMode(RealFieldElement, FieldOrekitFixedStepHandler)
-     * @see #setMasterMode(FieldOrekitStepHandler)
-     * @see #getMode()
-     * @see #EPHEMERIS_GENERATION_MODE
-     */
-    @Override
-    public native void setEphemerisMode();
-
-    /**
-     * Get the ephemeris generated during propagation.
-     *
-     * @return generated ephemeris
-     * @throws IllegalStateException if the propagator was not set in ephemeris
-     *                               generation mode before propagation
-     * @see #setEphemerisMode()
-     */
-    @Override
-    public native FieldBoundedPropagator<T> getGeneratedEphemeris() throws IllegalStateException;
-
-    /**
-     * Get the propagator initial state.
-     *
-     * @return initial state
-     */
-    @Override
-    public native FieldSpacecraftState<T> getInitialState();
-
-    /**
-     * Reset the propagator initial state.
-     *
-     * @param state new initial state to consider
-     */
-    @Override
-    public native void resetInitialState(FieldSpacecraftState<T> state);
-
-    /**
-     * Add a set of user-specified state parameters to be computed along with the orbit propagation.
-     *
-     * @param additionalStateProvider provider for additional state
-     */
-    @Override
-    public native void addAdditionalStateProvider(FieldAdditionalStateProvider<T> additionalStateProvider);
-
-    /**
-     * Get an unmodifiable list of providers for additional state.
-     *
-     * @return providers for the additional states
-     */
-    @Override
-    public native List<FieldAdditionalStateProvider<T>> getAdditionalStateProviders();
-
-    /**
-     * Check if an additional state is managed.
-     * <p>
-     * Managed states are states for which the propagators know how to compute
-     * its evolution. They correspond to additional states for which an
-     * {@link FieldAdditionalStateProvider additional state provider} has been registered
-     * by calling the {@link #addAdditionalStateProvider(FieldAdditionalStateProvider)
-     * addAdditionalStateProvider} method. If the propagator is an {@link
-     * FieldAbstractIntegratedPropagator integrator-based
-     * propagator}, the states for which a set of {@link
-     * FieldAdditionalEquations additional equations} has
-     * been registered by calling the {@link
-     * FieldAbstractIntegratedPropagator#addAdditionalEquations(
-     *FieldAdditionalEquations) addAdditionalEquations}
-     * method are also counted as managed additional states.
-     * </p>
-     * <p>
-     * Additional states that are present in the {@link #getInitialState() initial state}
-     * but have no evolution method registered are <em>not</em> considered as managed states.
-     * These unmanaged additional states are not lost during propagation, though. Their
-     * value will simply be copied unchanged throughout propagation.
-     * </p>
-     *
-     * @param name name of the additional state
-     * @return true if the additional state is managed
-     */
-    @Override
-    public native boolean isAdditionalStateManaged(String name);
-
-    /**
-     * Get all the names of all managed states.
-     *
-     * @return names of all managed states
-     */
-    @Override
-    public native String[] getManagedAdditionalStates();
-
-    /**
-     * Add an event detector.
-     *
-     * @param detector event detector to add
-     * @see #clearEventsDetectors()
-     * @see #getEventsDetectors()
-     */
-    @Override
-    public native <D extends FieldEventDetector<T>> void addEventDetector(D detector);
-
-    /**
-     * Get all the events detectors that have been added.
-     *
-     * @return an unmodifiable collection of the added detectors
-     * @see #addEventDetector(FieldEventDetector)
-     * @see #clearEventsDetectors()
-     */
-    @Override
-    public native Collection<FieldEventDetector<T>> getEventsDetectors();
-
-    /**
-     * Remove all events detectors.
-     *
-     * @see #addEventDetector(FieldEventDetector)
-     * @see #getEventsDetectors()
-     */
-    @Override
-    public native void clearEventsDetectors();
-
-    /**
-     * Get attitude provider.
-     *
-     * @return attitude provider
-     */
-    @Override
-    public native AttitudeProvider getAttitudeProvider();
-
-    /**
-     * Set attitude provider.
-     *
-     * @param attitudeProvider attitude provider
-     */
-    @Override
-    public native void setAttitudeProvider(AttitudeProvider attitudeProvider);
-
-    /**
-     * Get the frame in which the orbit is propagated.
-     * <p>
-     * The propagation frame is the definition frame of the initial
-     * state, so this method should be called after this state has
-     * been set, otherwise it may return null.
-     * </p>
-     *
-     * @return frame in which the orbit is propagated
-     * @see #resetInitialState(FieldSpacecraftState)
-     */
-    @Override
-    public native Frame getFrame();
-
-    /**
-     * Propagate towards a target date.
-     * <p>Simple propagators use only the target date as the specification for
-     * computing the propagated state. More feature rich propagators can consider
-     * other information and provide different operating modes or G-stop
-     * facilities to stop at pinpointed events occurrences. In these cases, the
-     * target date is only a hint, not a mandatory objective.</p>
-     *
-     * @param target target date towards which orbit state should be propagated
-     * @return propagated state
-     */
-    @Override
-    public native FieldSpacecraftState<T> propagate(FieldAbsoluteDate<T> target);
-
-    /**
-     * Propagate from a start date towards a target date.
-     * <p>Those propagators use a start date and a target date to
-     * compute the propagated state. For propagators using event detection mechanism,
-     * if the provided start date is different from the initial state date, a first,
-     * simple propagation is performed, without processing any event computation.
-     * Then complete propagation is performed from start date to target date.</p>
-     *
-     * @param start  start date from which orbit state should be propagated
-     * @param target target date to which orbit state should be propagated
-     * @return propagated state
-     */
-    @Override
-    public FieldSpacecraftState<T> propagate(FieldAbsoluteDate<T> start, FieldAbsoluteDate<T> target) {
-        return this.propagate_2p(start, target);
-    }
-
-    /**
-     * Propagate from a start date towards a target date.
-     * <p>Those propagators use a start date and a target date to
-     * compute the propagated state. For propagators using event detection mechanism,
-     * if the provided start date is different from the initial state date, a first,
-     * simple propagation is performed, without processing any event computation.
-     * Then complete propagation is performed from start date to target date.</p>
-     *
-     * @param start  start date from which orbit state should be propagated
-     * @param target target date to which orbit state should be propagated
-     * @return propagated state
-     */
-    public native FieldSpacecraftState<T> propagate_2p(FieldAbsoluteDate<T> start, FieldAbsoluteDate<T> target);
-
-
-    /**
-     * Get the {@link FieldPVCoordinates} of the body in the selected frame.
-     *
-     * @param date  current date
-     * @param frame the frame where to define the position
-     * @return time-stamped position/velocity of the body (m and m/s)
-     */
-    @Override
-    public native TimeStampedFieldPVCoordinates<T> getPVCoordinates(FieldAbsoluteDate<T> date, Frame frame);
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonFieldTimeDerivativesEquations.java b/java_additions/src/main/java/org/orekit/python/PythonFieldTimeDerivativesEquations.java
deleted file mode 100644
index 855108eb591e5053721097b56233ef3ac79f20b7..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonFieldTimeDerivativesEquations.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/* Copyright 2002-2019 CS Systèmes d'Information
- * Licensed to CS Systèmes d'Information (CS) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * CS licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-// this file was created by SCC 2019 and is largely a derived work from the
-// original java class/interface
-
-package org.orekit.python;
-
-import org.hipparchus.RealFieldElement;
-import org.hipparchus.geometry.euclidean.threed.FieldVector3D;
-import org.orekit.propagation.numerical.FieldTimeDerivativesEquations;
-
-public class PythonFieldTimeDerivativesEquations<T extends RealFieldElement<T>> implements FieldTimeDerivativesEquations<T> {
-
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-    /**
-     * Add the contribution of the Kepler evolution.
-     * <p>Since the Kepler evolution is the most important, it should
-     * be added after all the other ones, in order to improve
-     * numerical accuracy.</p>
-     *
-     * @param mu central body gravitational constant
-     */
-    @Override
-    public native void addKeplerContribution(double mu);
-
-    /**
-     * Add the contribution of an acceleration expressed in some inertial frame.
-     *
-     * @param gamma acceleration vector in the same inertial frame the spacecraft state is defined in (m/s²)
-     * @since 9.0
-     */
-    @Override
-    public native void addNonKeplerianAcceleration(FieldVector3D<T> gamma);
-
-    /**
-     * Add the contribution of the flow rate (dm/dt).
-     *
-     * @param q the flow rate, must be negative (dm/dt)
-     * @throws IllegalArgumentException if flow-rate is positive
-     */
-    @Override
-    public native void addMassDerivative(T q);
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonFieldTimeInterpolable.java b/java_additions/src/main/java/org/orekit/python/PythonFieldTimeInterpolable.java
deleted file mode 100644
index 49b1e7fc781c1cf921dc7692f5738a4bed0f5a8c..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonFieldTimeInterpolable.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/* Copyright 2002-2019 CS Systèmes d'Information
- * Licensed to CS Systèmes d'Information (CS) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * CS licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-// this file was created by SCC 2019 and is largely a derived work from the
-// original java class/interface
-
-package org.orekit.python;
-
-import org.hipparchus.RealFieldElement;
-import org.orekit.time.FieldAbsoluteDate;
-import org.orekit.time.FieldTimeInterpolable;
-
-import java.util.stream.Stream;
-
-public class PythonFieldTimeInterpolable<T extends FieldTimeInterpolable<T, KK>, KK extends RealFieldElement<KK>> implements FieldTimeInterpolable<T, KK> {
-    /**
-     * Get an interpolated instance.
-     * <p>
-     * Note that the state of the current instance may not be used
-     * in the interpolation process, only its type and non interpolable
-     * fields are used (for example central attraction coefficient or
-     * frame when interpolating orbits). The interpolable fields taken
-     * into account are taken only from the states of the sample points.
-     * So if the state of the instance must be used, the instance should
-     * be included in the sample points.
-     * </p>
-     * <p>
-     * Note that this method is designed for small samples only (say up
-     * to about 10-20 points) so it can be implemented using polynomial
-     * interpolation (typically Hermite interpolation). Using too much
-     * points may induce <a
-     * href="http://en.wikipedia.org/wiki/Runge%27s_phenomenon">Runge's
-     * phenomenon</a> and numerical problems (including NaN appearing).
-     * </p>
-     *
-     * @param date   interpolation date
-     * @param sample sample points on which interpolation should be done
-     * @return a new instance, interpolated at specified date
-     */
-    @Override
-    public native T interpolate(FieldAbsoluteDate<KK> date, Stream<T> sample);
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonFieldTimeShiftable.java b/java_additions/src/main/java/org/orekit/python/PythonFieldTimeShiftable.java
deleted file mode 100644
index 2a6e1e9115ccb303c07d4b1081d77a50441c1f7c..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonFieldTimeShiftable.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/* Copyright 2002-2019 CS Systèmes d'Information
- * Licensed to CS Systèmes d'Information (CS) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * CS licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-// this file was created by SCC 2019 and is largely a derived work from the
-// original java class/interface
-
-package org.orekit.python;
-
-import org.hipparchus.RealFieldElement;
-import org.orekit.time.FieldTimeInterpolable;
-import org.orekit.time.FieldTimeShiftable;
-
-public class PythonFieldTimeShiftable<T extends FieldTimeInterpolable<T, KK>, KK extends RealFieldElement<KK>> implements FieldTimeShiftable<T, KK> {
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-    /**
-     * Get a time-shifted instance.
-     *
-     * @param dt time shift in seconds
-     * @return a new instance, shifted with respect to instance (which is not changed)
-     */
-    @Override
-    public native T shiftedBy(double dt);
-
-    /**
-     * Get a time-shifted instance. Calls the ShiftedByType Python extension method
-     *
-     * @param dt time shift in seconds
-     * @return a new instance, shifted with respect to instance (which is not changed)
-     */
-    @Override
-    public T shiftedBy(KK dt) {
-        return this.shiftedByType(dt);
-    }
-
-
-    /**
-     * Get a time-shifted instance. The Python extension method.
-     *
-     * @param dt time shift in seconds
-     * @return a new instance, shifted with respect to instance (which is not changed)
-     */
-    public native T shiftedByType(KK dt);
-
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonFieldTimeStamped.java b/java_additions/src/main/java/org/orekit/python/PythonFieldTimeStamped.java
deleted file mode 100644
index 92b6f5fee8ff083834f58e5ec6beebdd22131418..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonFieldTimeStamped.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/* Copyright 2002-2019 CS Systèmes d'Information
- * Licensed to CS Systèmes d'Information (CS) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * CS licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-// this file was created by SCC 2019 and is largely a derived work from the
-// original java class/interface
-
-package org.orekit.python;
-
-import org.hipparchus.RealFieldElement;
-import org.orekit.time.FieldAbsoluteDate;
-import org.orekit.time.FieldTimeStamped;
-
-public class PythonFieldTimeStamped<T extends RealFieldElement<T>> implements FieldTimeStamped<T> {
-
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-    /**
-     * Get the date.
-     *
-     * @return date attached to the object
-     */
-    @Override
-    public native FieldAbsoluteDate<T> getDate();
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonForceModel.java b/java_additions/src/main/java/org/orekit/python/PythonForceModel.java
deleted file mode 100644
index d19d8f88f94e9d68bb2c9b1fdd239510403b6110..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonForceModel.java
+++ /dev/null
@@ -1,218 +0,0 @@
-/* Copyright 2002-2019 CS Systèmes d'Information
- * Licensed to CS Systèmes d'Information (CS) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * CS licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-// this file was created by SCC 2019 and is largely a derived work from the
-// original java class/interface
-
-package org.orekit.python;
-
-import org.hipparchus.Field;
-import org.hipparchus.RealFieldElement;
-import org.hipparchus.geometry.euclidean.threed.FieldVector3D;
-import org.hipparchus.geometry.euclidean.threed.Vector3D;
-import org.orekit.forces.ForceModel;
-import org.orekit.propagation.FieldSpacecraftState;
-import org.orekit.propagation.SpacecraftState;
-import org.orekit.propagation.events.EventDetector;
-import org.orekit.propagation.events.FieldEventDetector;
-import org.orekit.propagation.numerical.FieldTimeDerivativesEquations;
-import org.orekit.propagation.numerical.TimeDerivativesEquations;
-import org.orekit.time.AbsoluteDate;
-import org.orekit.utils.ParameterDriver;
-
-import java.util.stream.Stream;
-
-// TODO: CHECK HOW TO DEAL WITH METHODS OF SAME NAME!!
-
-public class PythonForceModel implements ForceModel {
-
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-    /**
-     * Initialize the force model at the start of propagation. This method will be called
-     * before any calls to {@link #addContribution(SpacecraftState, TimeDerivativesEquations)},
-     * {@link #addContribution(FieldSpacecraftState, FieldTimeDerivativesEquations)},
-     * {@link #acceleration(SpacecraftState, double[])} or {@link #acceleration(FieldSpacecraftState, RealFieldElement[])}
-     *
-     * <p> The default implementation of this method does nothing.</p>
-     *
-     * @param initialState spacecraft state at the start of propagation.
-     * @param target       date of propagation. Not equal to {@code initialState.getDate()}.
-     */
-    @Override
-    public native void init(SpacecraftState initialState, AbsoluteDate target);
-
-    /**
-     * Compute the contribution of the force model to the perturbing
-     * acceleration.
-     * <p>
-     * The default implementation simply adds the {@link #acceleration(SpacecraftState, double[]) acceleration}
-     * as a non-Keplerian acceleration.
-     * </p>
-     *
-     * @param s     current state information: date, kinematics, attitude
-     * @param adder object where the contribution should be added
-     */
-    @Override
-    public native void addContribution(SpacecraftState s, TimeDerivativesEquations adder);
-
-    /**
-     * Compute the contribution of the force model to the perturbing
-     * acceleration.
-     *
-     * @param s     current state information: date, kinematics, attitude
-     * @param adder object where the contribution should be added
-     */
-    @Override
-    public <T extends RealFieldElement<T>> void addContribution(FieldSpacecraftState<T> s, FieldTimeDerivativesEquations<T> adder) {
-       this.addFieldContribution(s, adder);
-    }
-
-    public native <T extends RealFieldElement<T>> void addFieldContribution(FieldSpacecraftState<T> s, FieldTimeDerivativesEquations<T> adder);
-
-    /**
-     * Get force model parameters.
-     *
-     * @return force model parameters
-     * @since 9.0
-     */
-    @Override
-    public native double[] getParameters();
-
-    /**
-     * Get force model parameters.
-     *
-     * @param field field to which the elements belong
-     * @return force model parameters
-     * @since 9.0
-     */
-    @Override
-    public <T extends RealFieldElement<T>> T[] getParameters(Field<T> field) {
-        return this.getFieldParameters(field);
-    }
-
-    /**
-     * Get force model parameters.
-     *
-     * @param field field to which the elements belong
-     * @return force model parameters
-     * @since 9.0
-     */
-    public native <T extends RealFieldElement<T>> T[] getFieldParameters(Field<T> field);
-
-    /**
-     * Check if force models depends on position only.
-     *
-     * @return true if force model depends on position only, false
-     * if it depends on velocity, either directly or due to a dependency
-     * on attitude
-     * @since 9.0
-     */
-    @Override
-    public native boolean dependsOnPositionOnly();
-
-    /**
-     * Compute acceleration.
-     *
-     * @param s          current state information: date, kinematics, attitude
-     * @param parameters values of the force model parameters
-     * @return acceleration in same frame as state
-     * @since 9.0
-     */
-    @Override
-    public native Vector3D acceleration(SpacecraftState s, double[] parameters);
-
-    /**
-     * Compute acceleration.
-     *
-     * @param s          current state information: date, kinematics, attitude
-     * @param parameters values of the force model parameters
-     * @return acceleration in same frame as state
-     * @since 9.0
-     */
-    @Override
-    public native <T extends RealFieldElement<T>> FieldVector3D<T> acceleration(FieldSpacecraftState<T> s, T[] parameters);
-
-    /**
-     * Get the discrete events related to the model.
-     *
-     * @return stream of events detectors
-     */
-    @Override
-    public native Stream<EventDetector> getEventsDetectors();
-
-    /**
-     * Get the discrete events related to the model.
-     *
-     * @param field field to which the state belongs
-     * @return stream of events detectors
-     */
-    @Override
-    public native <T extends RealFieldElement<T>> Stream<FieldEventDetector<T>> getFieldEventsDetectors(Field<T> field);
-
-    /**
-     * Get the drivers for force model parameters.
-     *
-     * @return drivers for force model parameters
-     * @since 8.0
-     */
-    @Override
-    public native ParameterDriver[] getParametersDrivers();
-
-    /**
-     * Get parameter value from its name.
-     *
-     * @param name parameter name
-     * @return parameter value
-     * @since 8.0
-     */
-    @Override
-    public native ParameterDriver getParameterDriver(String name);
-
-    /**
-     * Check if a parameter is supported.
-     * <p>Supported parameters are those listed by {@link #getParametersDrivers()}.</p>
-     *
-     * @param name parameter name to check
-     * @return true if the parameter is supported
-     * @see #getParametersDrivers()
-     */
-    @Override
-    public native boolean isSupported(String name);
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonGNSSAttitudeProvider.java b/java_additions/src/main/java/org/orekit/python/PythonGNSSAttitudeProvider.java
deleted file mode 100644
index 7a9f5f3ccb32ae897a0e536e664284965acf961d..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonGNSSAttitudeProvider.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/* Copyright 2002-2019 CS Systèmes d'Information
- * Licensed to CS Systèmes d'Information (CS) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * CS licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-// this file was created by SCC 2019 and is largely a derived work from the
-// original java class/interface
-
-package org.orekit.python;
-
-import org.hipparchus.RealFieldElement;
-import org.orekit.attitudes.Attitude;
-import org.orekit.attitudes.FieldAttitude;
-import org.orekit.frames.Frame;
-import org.orekit.gnss.attitude.GNSSAttitudeProvider;
-import org.orekit.time.AbsoluteDate;
-import org.orekit.time.FieldAbsoluteDate;
-import org.orekit.utils.FieldPVCoordinatesProvider;
-import org.orekit.utils.PVCoordinatesProvider;
-
-public class PythonGNSSAttitudeProvider implements GNSSAttitudeProvider {
-    private static final long serialVersionUID = 7166332223515373718L;
-    
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-    /**
-     * Get start of validity for this provider.
-     *
-     * @return start of validity for this provider
-     */
-    @Override
-    public native AbsoluteDate validityStart();
-
-    /**
-     * Get end of validity for this provider.
-     *
-     * @return end of validity for this provider
-     */
-    @Override
-    public native AbsoluteDate validityEnd();
-
-    /**
-     * Compute the attitude corresponding to an orbital state.
-     *
-     * @param pvProv local position-velocity provider around current date
-     * @param date   current date
-     * @param frame  reference frame from which attitude is computed
-     * @return attitude attitude on the specified date and position-velocity state
-     */
-    @Override
-    public native Attitude getAttitude(PVCoordinatesProvider pvProv, AbsoluteDate date, Frame frame);
-
-    /**
-     * Compute the attitude corresponding to an orbital state.
-     *
-     * @param pvProv local position-velocity provider around current date
-     * @param date   current date
-     * @param frame  reference frame from which attitude is computed
-     * @return attitude attitude on the specified date and position-velocity state
-     * @since 9.0
-     */
-    @Override
-    public <T extends RealFieldElement<T>> FieldAttitude<T> getAttitude(FieldPVCoordinatesProvider<T> pvProv, FieldAbsoluteDate<T> date, Frame frame) {
-        return this.getFieldAttitude(pvProv, date, frame);
-    }
-
-    /**
-     * Compute the attitude corresponding to an orbital state.
-     *
-     * @param pvProv local position-velocity provider around current date
-     * @param date   current date
-     * @param frame  reference frame from which attitude is computed
-     * @return attitude attitude on the specified date and position-velocity state
-     * @since 9.0
-     */
-    public native <T extends RealFieldElement<T>> FieldAttitude<T> getFieldAttitude(FieldPVCoordinatesProvider<T> pvProv, FieldAbsoluteDate<T> date, Frame frame);
-
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonGPSOrbitalElements.java b/java_additions/src/main/java/org/orekit/python/PythonGPSOrbitalElements.java
deleted file mode 100644
index 63bb4ec7c58024bd9daf8700e56782b017943634..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonGPSOrbitalElements.java
+++ /dev/null
@@ -1,278 +0,0 @@
-/* Copyright 2002-2019 CS Systèmes d'Information
- * Licensed to CS Systèmes d'Information (CS) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * CS licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-// this file was created by SCC 2019 and is largely a derived work from the
-// original java class/interface
-
-package org.orekit.python;
-
-import org.orekit.propagation.analytical.gnss.GPSOrbitalElements;
-import org.orekit.time.AbsoluteDate;
-
-public class PythonGPSOrbitalElements implements GPSOrbitalElements {
-
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-    /**
-     * Gets the PRN number of the GPS satellite.
-     *
-     * @return the PRN number of the GPS satellite
-     */
-    @Override
-    public native int getPRN();
-
-    /**
-     * Gets the Reference Week of the GPS orbit.
-     *
-     * @return the Reference Week of the GPS orbit within [0, 1024[
-     */
-    @Override
-    public native int getWeek();
-
-    /**
-     * Gets the Reference Time of the GPS orbit as a duration from week start.
-     *
-     * @return the Reference Time of the GPS orbit (s)
-     */
-    @Override
-    public native double getTime();
-
-    /**
-     * Gets the Semi-Major Axis.
-     *
-     * @return the Semi-Major Axis (m)
-     */
-    @Override
-    public native double getSma();
-
-    /**
-     * Gets the Mean Motion.
-     *
-     * @return the Mean Motion (rad/s)
-     */
-    @Override
-    public native double getMeanMotion();
-
-    /**
-     * Gets the Eccentricity.
-     *
-     * @return the Eccentricity
-     */
-    @Override
-    public native double getE();
-
-    /**
-     * Gets the Inclination Angle at Reference Time.
-     *
-     * @return the Inclination Angle at Reference Time (rad)
-     */
-    @Override
-    public native double getI0();
-
-    /**
-     * Gets the Rate of Inclination Angle.
-     *
-     * @return the Rate of Inclination Angle (rad/s)
-     */
-    @Override
-    public native double getIDot();
-
-    /**
-     * Gets the Longitude of Ascending Node of Orbit Plane at Weekly Epoch.
-     *
-     * @return the Longitude of Ascending Node of Orbit Plane at Weekly Epoch (rad)
-     */
-    @Override
-    public native double getOmega0();
-
-    /**
-     * Gets the Rate of Right Ascension.
-     *
-     * @return the Rate of Right Ascension (rad/s)
-     */
-    @Override
-    public native double getOmegaDot();
-
-    /**
-     * Gets the Argument of Perigee.
-     *
-     * @return the Argument of Perigee (rad)
-     */
-    @Override
-    public native double getPa();
-
-    /**
-     * Gets the Mean Anomaly at Reference Time.
-     *
-     * @return the Mean Anomaly at Reference Time (rad)
-     */
-    @Override
-    public native double getM0();
-
-    /**
-     * Gets the Amplitude of the Cosine Harmonic Correction Term to the Argument of Latitude.
-     *
-     * @return the Amplitude of the Cosine Harmonic Correction Term to the Argument of Latitude (rad)
-     */
-    @Override
-    public native double getCuc();
-
-    /**
-     * Gets the Amplitude of the Sine Harmonic Correction Term to the Argument of Latitude.
-     *
-     * @return the Amplitude of the Sine Harmonic Correction Term to the Argument of Latitude (rad)
-     */
-    @Override
-    public native double getCus();
-
-    /**
-     * Gets the Amplitude of the Cosine Harmonic Correction Term to the Orbit Radius.
-     *
-     * @return the Amplitude of the Cosine Harmonic Correction Term to the Orbit Radius (m)
-     */
-    @Override
-    public native double getCrc();
-
-    /**
-     * Gets the Amplitude of the Sine Harmonic Correction Term to the Orbit Radius.
-     *
-     * @return the Amplitude of the Sine Harmonic Correction Term to the Orbit Radius (m)
-     */
-    @Override
-    public native double getCrs();
-
-    /**
-     * Gets the Amplitude of the Cosine Harmonic Correction Term to the Angle of Inclination.
-     *
-     * @return the Amplitude of the Cosine Harmonic Correction Term to the Angle of Inclination (rad)
-     */
-    @Override
-    public native double getCic();
-
-    /**
-     * Gets the Amplitude of the Sine Harmonic Correction Term to the Angle of Inclination.
-     *
-     * @return the Amplitude of the Sine Harmonic Correction Term to the Angle of Inclination (rad)
-     */
-    @Override
-    public native double getCis();
-
-    /**
-     * Gets the Issue Of Data Clock (IODC).
-     *
-     * @return the Issue Of Data Clock (IODC)
-     * @since 9.3
-     */
-    @Override
-    public native int getIODC();
-
-    /**
-     * Gets the Issue Of Data Ephemeris (IODE).
-     *
-     * @return the Issue Of Data Ephemeris (IODE)
-     * @since 9.3
-     */
-    @Override
-    public native int getIODE();
-
-    /**
-     * Gets the Zeroth Order Clock Correction.
-     *
-     * @return the Zeroth Order Clock Correction (s)
-     * @see #getAf1()
-     * @see #getAf2()
-     * @see #getToc()
-     * @since 9.3
-     */
-    @Override
-    public native double getAf0();
-
-    /**
-     * Gets the First Order Clock Correction.
-     *
-     * @return the First Order Clock Correction (s/s)
-     * @see #getAf0()
-     * @see #getAf2()
-     * @see #getToc()
-     * @since 9.3
-     */
-    @Override
-    public native double getAf1();
-
-    /**
-     * Gets the Second Order Clock Correction.
-     *
-     * @return the Second Order Clock Correction (s/s²)
-     * @see #getAf0()
-     * @see #getAf1()
-     * @see #getToc()
-     * @since 9.3
-     */
-    @Override
-    public native double getAf2();
-
-    /**
-     * Gets the clock correction reference time toc.
-     *
-     * @return the clock correction reference time (s)
-     * @see #getAf0()
-     * @see #getAf1()
-     * @see #getAf2()
-     * @since 9.3
-     */
-    @Override
-    public native double getToc();
-
-    /**
-     * Gets the estimated group delay differential TGD for L1-L2 correction.
-     *
-     * @return the estimated group delay differential TGD for L1-L2 correction (s)
-     * @since 9.3
-     */
-    @Override
-    public native double getTGD();
-
-    /**
-     * Get the date.
-     *
-     * @return date attached to the object
-     */
-    @Override
-    public native AbsoluteDate getDate();
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonIAUPole.java b/java_additions/src/main/java/org/orekit/python/PythonIAUPole.java
deleted file mode 100644
index 2145a83774b9e67c507d4b950f8e8b03ee96ebb0..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonIAUPole.java
+++ /dev/null
@@ -1,166 +0,0 @@
-/* Copyright 2002-2019 CS Systèmes d'Information
- * Licensed to CS Systèmes d'Information (CS) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * CS licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-// this file was created by SCC 2019 and is largely a derived work from the
-// original java class/interface
-
-package org.orekit.python;
-
-import org.hipparchus.RealFieldElement;
-import org.hipparchus.geometry.euclidean.threed.FieldVector3D;
-import org.hipparchus.geometry.euclidean.threed.Vector3D;
-import org.orekit.bodies.IAUPole;
-import org.orekit.time.AbsoluteDate;
-import org.orekit.time.FieldAbsoluteDate;
-
-
-public class PythonIAUPole  implements IAUPole {
-
-    private static final long serialVersionUID = -1083702732696194808L;
-    
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-    /**
-     * Get the body North pole direction in ICRF frame.
-     *
-     * @param date current date
-     * @return body North pole direction in ICRF frame
-     */
-    @Override
-    public native Vector3D getPole(AbsoluteDate date);
-
-    /**
-     * Get the body North pole direction in ICRF frame.
-     *
-     * @param date current date
-     * @return body North pole direction in ICRF frame
-     * @since 9.0
-     */
-    @Override
-    public <T extends RealFieldElement<T>> FieldVector3D<T> getPole(FieldAbsoluteDate<T> date) {
-        return this.getFieldPole(date);
-    }
-
-    /**
-     * Get the body North pole direction in ICRF frame.
-     *
-     * @param date current date
-     * @return body North pole direction in ICRF frame
-     * @since 9.0
-     */
-    public native <T extends RealFieldElement<T>> FieldVector3D<T> getFieldPole(FieldAbsoluteDate<T> date);
-
-
-
-    /**
-     * Get the body Q Node direction in ICRF frame.
-     *
-     * @param date current date
-     * @return body Q Node direction in ICRF frame
-     * @since 9.1
-     */
-    @Override
-    public native Vector3D getNode(AbsoluteDate date);
-
-    /**
-     * Get the body Q Node direction in ICRF frame.
-     *
-     * @param date current date
-     * @return body Q Node direction in ICRF frame
-     * @since 9.1
-     */
-    @Override
-    public <T extends RealFieldElement<T>> FieldVector3D<T> getNode(FieldAbsoluteDate<T> date) {
-        return this.getFieldNode(date);
-    }
-
-    /**
-     * Get the body Q Node direction in ICRF frame.
-     *
-     * @param date current date
-     * @return body Q Node direction in ICRF frame
-     * @since 9.1
-     */
-    public native <T extends RealFieldElement<T>> FieldVector3D<T> getFieldNode(FieldAbsoluteDate<T> date);
-
-
-    /**
-     * Get the prime meridian angle.
-     * <p>
-     * The prime meridian angle is the angle between the Q node and the
-     * prime meridian. represents the body rotation.
-     * </p>
-     *
-     * @param date current date
-     * @return prime meridian vector
-     */
-    @Override
-    public native double getPrimeMeridianAngle(AbsoluteDate date);
-
-    /**
-     * Get the prime meridian angle.
-     * <p>
-     * The prime meridian angle is the angle between the Q node and the
-     * prime meridian. represents the body rotation.
-     * </p>
-     *
-     * @param date current date
-     * @return prime meridian vector
-     * @since 9.0
-     */
-    @Override
-    public <T extends RealFieldElement<T>> T getPrimeMeridianAngle(FieldAbsoluteDate<T> date) {
-        return this.getFieldPrimeMeridianAngle(date);
-    }
-
-    /**
-     * Get the prime meridian angle.
-     * <p>
-     * The prime meridian angle is the angle between the Q node and the
-     * prime meridian. represents the body rotation.
-     * </p>
-     *
-     * @param date current date
-     * @return prime meridian vector
-     * @since 9.0
-     */
-    public native <T extends RealFieldElement<T>> T getFieldPrimeMeridianAngle(FieldAbsoluteDate<T> date);
-
-
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonIonosphericModel.java b/java_additions/src/main/java/org/orekit/python/PythonIonosphericModel.java
deleted file mode 100644
index a1f91d79f024794b8acfaff52fe21e7d8b5be78d..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonIonosphericModel.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/* Copyright 2002-2019 CS Systèmes d'Information
- * Licensed to CS Systèmes d'Information (CS) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * CS licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-// this file was created by SCC 2019 and is largely a derived work from the
-// original java class/interface
-
-package org.orekit.python;
-
-import org.orekit.bodies.GeodeticPoint;
-import org.orekit.models.earth.IonosphericModel;
-import org.orekit.time.AbsoluteDate;
-
-public class PythonIonosphericModel implements IonosphericModel {
-
-    private static final long serialVersionUID = 1716300861604915492L;
-    
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-    /**
-     * Calculates the ionospheric path delay for the signal path from a ground
-     * station to a satellite.
-     *
-     * @param date      current date
-     * @param geo       the Geodetic point of receiver/station
-     * @param elevation the elevation of the satellite
-     * @param azimuth   the azimuth of the satellite
-     * @return the path delay due to the ionosphere in m
-     */
-    @Override
-    public native double pathDelay(AbsoluteDate date, GeodeticPoint geo, double elevation, double azimuth);
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonJB2008InputParameters.java b/java_additions/src/main/java/org/orekit/python/PythonJB2008InputParameters.java
deleted file mode 100644
index 2f7dfdbc46267c4dfb08bdd9f1bede1777078bda..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonJB2008InputParameters.java
+++ /dev/null
@@ -1,160 +0,0 @@
-/* Copyright 2002-2019 CS Systèmes d'Information
- * Licensed to CS Systèmes d'Information (CS) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * CS licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-// this file was created by SCC 2019 and is largely a derived work from the
-// original java class/interface
-
-package org.orekit.python;
-
-import org.orekit.forces.drag.atmosphere.JB2008InputParameters;
-import org.orekit.time.AbsoluteDate;
-
-public class PythonJB2008InputParameters implements JB2008InputParameters {
-
-    private static final long serialVersionUID = -7188821056124189596L;
-    
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-    /**
-     * Gets the available data range minimum date.
-     *
-     * @return the minimum date.
-     */
-    @Override
-    public native AbsoluteDate getMinDate();
-
-    /**
-     * Gets the available data range maximum date.
-     *
-     * @return the maximum date.
-     */
-    @Override
-    public native AbsoluteDate getMaxDate();
-
-    /**
-     * Get the value of the instantaneous solar flux index
-     * (1e<sup>-22</sup>*Watt/(m²*Hertz)).
-     * <p>Tabular time 1.0 day earlier.</p>
-     *
-     * @param date the current date
-     * @return the instantaneous F10.7 index
-     */
-    @Override
-    public native double getF10(AbsoluteDate date);
-
-    /**
-     * Get the value of the mean solar flux.
-     * Averaged 81-day centered F10.7 B index on the input time.
-     * <p>Tabular time 1.0 day earlier.</p>
-     *
-     * @param date the current date
-     * @return the mean solar flux F10.7B index
-     */
-    @Override
-    public native double getF10B(AbsoluteDate date);
-
-    /**
-     * Get the EUV index (26-34 nm) scaled to F10.
-     * <p>Tabular time 1.0 day earlier.</p>
-     *
-     * @param date the current date
-     * @return the the EUV S10 index
-     */
-    @Override
-    public native double getS10(AbsoluteDate date);
-
-    /**
-     * Get the EUV 81-day averaged centered index.
-     * <p>Tabular time 1.0 day earlier.</p>
-     *
-     * @param date the current date
-     * @return the the mean EUV S10B index
-     */
-    @Override
-    public native double getS10B(AbsoluteDate date);
-
-    /**
-     * Get the MG2 index scaled to F10.
-     * <p>Tabular time 2.0 days earlier.</p>
-     *
-     * @param date the current date
-     * @return the the MG2 index
-     */
-    @Override
-    public native double getXM10(AbsoluteDate date);
-
-    /**
-     * Get the MG2 81-day average centered index.
-     * <p>Tabular time 2.0 days earlier.</p>
-     *
-     * @param date the current date
-     * @return the the mean MG2 index
-     */
-    @Override
-    public native double getXM10B(AbsoluteDate date);
-
-    /**
-     * Get the Solar X-Ray & Lya index scaled to F10.
-     * <p>Tabular time 5.0 days earlier.</p>
-     *
-     * @param date the current date
-     * @return the Solar X-Ray & Lya index scaled to F10
-     */
-    @Override
-    public native double getY10(AbsoluteDate date);
-
-    /**
-     * Get the Solar X-Ray & Lya 81-day ave. centered index.
-     * <p>Tabular time 5.0 days earlier.</p>
-     *
-     * @param date the current date
-     * @return the Solar X-Ray & Lya 81-day ave. centered index
-     */
-    @Override
-    public native double getY10B(AbsoluteDate date);
-
-    /**
-     * Get the temperature change computed from Dst index.
-     *
-     * @param date the current date
-     * @return the temperature change computed from Dst index
-     */
-    @Override
-    public native double getDSTDTC(AbsoluteDate date);
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonKalmanEstimation.java b/java_additions/src/main/java/org/orekit/python/PythonKalmanEstimation.java
deleted file mode 100644
index dff0d17855222dc5f0830d13502d4bcf617711a3..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonKalmanEstimation.java
+++ /dev/null
@@ -1,190 +0,0 @@
-/* Copyright 2002-2019 CS Systèmes d'Information
- * Licensed to CS Systèmes d'Information (CS) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * CS licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-// this file was created by SCC 2019 and is largely a derived work from the
-// original java class/interface
-
-package org.orekit.python;
-
-import org.hipparchus.linear.RealMatrix;
-import org.hipparchus.linear.RealVector;
-import org.orekit.estimation.measurements.EstimatedMeasurement;
-import org.orekit.estimation.sequential.KalmanEstimation;
-import org.orekit.propagation.SpacecraftState;
-import org.orekit.time.AbsoluteDate;
-import org.orekit.utils.ParameterDriversList;
-
-public class PythonKalmanEstimation implements KalmanEstimation {
-
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-    /**
-     * Get the list of estimated orbital parameters.
-     *
-     * @return the list of estimated orbital parameters
-     */
-    @Override
-    public native ParameterDriversList getEstimatedOrbitalParameters();
-
-    /**
-     * Get the list of estimated propagation parameters.
-     *
-     * @return the list of estimated propagation parameters
-     */
-    @Override
-    public native ParameterDriversList getEstimatedPropagationParameters();
-
-    /**
-     * Get the list of estimated measurements parameters.
-     *
-     * @return the list of estimated measurements parameters
-     */
-    @Override
-    public native ParameterDriversList getEstimatedMeasurementsParameters();
-
-    /**
-     * Get the predicted spacecraft states.
-     *
-     * @return predicted spacecraft states
-     */
-    @Override
-    public native SpacecraftState[] getPredictedSpacecraftStates();
-
-    /**
-     * Get the corrected spacecraft states.
-     *
-     * @return corrected spacecraft states
-     */
-    @Override
-    public native SpacecraftState[] getCorrectedSpacecraftStates();
-
-    /**
-     * Get the "physical" estimated state (i.e. not normalized)
-     *
-     * @return the "physical" estimated state
-     */
-    @Override
-    public native RealVector getPhysicalEstimatedState();
-
-    /**
-     * Get the "physical" estimated covariance matrix (i.e. not normalized)
-     *
-     * @return the "physical" estimated covariance matrix
-     */
-    @Override
-    public native RealMatrix getPhysicalEstimatedCovarianceMatrix();
-
-    /**
-     * Get physical state transition matrix between previous state and estimated (but not yet corrected) state.
-     *
-     * @return state transition matrix between previous state and estimated state (but not yet corrected)
-     * (may be null for initial process estimate)
-     * @since 9.3
-     */
-    @Override
-    public native RealMatrix getPhysicalStateTransitionMatrix();
-
-    /**
-     * Get the physical Jacobian of the measurement with respect to the state (H matrix).
-     *
-     * @return physical Jacobian of the measurement with respect to the state (may be null for initial
-     * process estimate or if the measurement has been ignored)
-     * @since 9.3
-     */
-    @Override
-    public native RealMatrix getPhysicalMeasurementJacobian();
-
-    /**
-     * Get the physical innovation covariance matrix.
-     *
-     * @return physical innovation covariance matrix (may be null for initial
-     * process estimate or if the measurement has been ignored)
-     * @since 9.3
-     */
-    @Override
-    public native RealMatrix getPhysicalInnovationCovarianceMatrix();
-
-    /**
-     * Get the physical Kalman gain matrix.
-     *
-     * @return Kalman gain matrix (may be null for initial
-     * process estimate or if the measurement has been ignored)
-     * @since 9.3
-     */
-    @Override
-    public native RealMatrix getPhysicalKalmanGain();
-
-    /**
-     * Get the current measurement number.
-     *
-     * @return current measurement number
-     */
-    @Override
-    public native int getCurrentMeasurementNumber();
-
-    /**
-     * Get the current date.
-     *
-     * @return current date
-     */
-    @Override
-    public native AbsoluteDate getCurrentDate();
-
-    /**
-     * Get the predicted measurement.
-     * <p>
-     * This estimation has been evaluated on the last predicted orbits
-     * </p>
-     *
-     * @return predicted measurement
-     */
-    @Override
-    public native EstimatedMeasurement<?> getPredictedMeasurement();
-
-    /**
-     * Get the estimated measurement.
-     * <p>
-     * This estimation has been evaluated on the last corrected orbits
-     * </p>
-     *
-     * @return corrected measurement
-     */
-    @Override
-    public native EstimatedMeasurement<?> getCorrectedMeasurement();
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonKalmanObserver.java b/java_additions/src/main/java/org/orekit/python/PythonKalmanObserver.java
deleted file mode 100644
index cb78af504b48618982922bfccd5f5fc385390eb8..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonKalmanObserver.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/* Copyright 2002-2019 CS Systèmes d'Information
- * Licensed to CS Systèmes d'Information (CS) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * CS licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-// this file was created by SCC 2019 and is largely a derived work from the
-// original java class/interface
-
-package org.orekit.python;
-
-import org.orekit.estimation.sequential.KalmanEstimation;
-import org.orekit.estimation.sequential.KalmanObserver;
-
-public class PythonKalmanObserver implements KalmanObserver {
-
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-    /**
-     * Notification callback after each one of a Kalman filter estimation.
-     *
-     * @param estimation estimation performed by Kalman estimator
-     */
-    @Override
-    public native void evaluationPerformed(KalmanEstimation estimation);
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonLocalizedException.java b/java_additions/src/main/java/org/orekit/python/PythonLocalizedException.java
deleted file mode 100644
index 93f0857013441cf0d972f7a776114e3a2476f9a7..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonLocalizedException.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/* Copyright 2002-2019 CS Systèmes d'Information
- * Licensed to CS Systèmes d'Information (CS) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * CS licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-// this file was created by SCC 2019 and is largely a derived work from the
-// original java class/interface
-
-package org.orekit.python;
-
-import org.hipparchus.exception.Localizable;
-import org.orekit.errors.LocalizedException;
-
-import java.util.Locale;
-
-public class PythonLocalizedException implements LocalizedException {
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-    /**
-     * Gets the message in a specified locale.
-     *
-     * @param locale Locale in which the message should be translated
-     * @return localized message
-     */
-    @Override
-    public native String getMessage(Locale locale);
-
-    /**
-     * Get the localizable specifier of the error message.
-     *
-     * @return localizable specifier of the error message
-     */
-    @Override
-    public native Localizable getSpecifier();
-
-    /**
-     * Get the variable parts of the error message.
-     *
-     * @return a copy of the variable parts of the error message
-     */
-    @Override
-    public native Object[] getParts();
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonMappingFunction.java b/java_additions/src/main/java/org/orekit/python/PythonMappingFunction.java
deleted file mode 100644
index faf34505e59521f9bc0fce69c3d0c43c59f64d8f..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonMappingFunction.java
+++ /dev/null
@@ -1,148 +0,0 @@
-/* Copyright 2002-2019 CS Systèmes d'Information
- * Licensed to CS Systèmes d'Information (CS) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * CS licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-// this file was created by SCC 2019 and is largely a derived work from the
-// original java class/interface
-
-package org.orekit.python;
-
-import org.hipparchus.Field;
-import org.hipparchus.RealFieldElement;
-import org.orekit.models.earth.MappingFunction;
-import org.orekit.time.AbsoluteDate;
-import org.orekit.time.FieldAbsoluteDate;
-import org.orekit.utils.ParameterDriver;
-
-import java.util.List;
-
-public class PythonMappingFunction implements MappingFunction {
-
-    private static final long serialVersionUID = -9157284216952908403L;
-    
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-    /**
-     * This method allows the computation of the hydrostatic and
-     * wet mapping functions. The resulting element is an array having the following form:
-     * <ul>
-     * <li>double[0] = m<sub>h</sub>(e) -&gt hydrostatic mapping function
-     * <li>double[1] = m<sub>w</sub>(e) -&gt wet mapping function
-     * </ul>
-     *
-     * @param elevation  the elevation of the satellite, in radians.
-     * @param height     the height of the station in m above sea level.
-     * @param parameters tropospheric model parameters.
-     * @param date       current date
-     * @return a two components array containing the hydrostatic and wet mapping functions.
-     */
-    @Override
-    public native double[] mappingFactors(double elevation, double height, double[] parameters, AbsoluteDate date);
-
-    /**
-     * This method allows the computation of the hydrostatic and
-     * wet mapping functions. The resulting element is an array having the following form:
-     * <ul>
-     * <li>T[0] = m<sub>h</sub>(e) -&gt hydrostatic mapping function
-     * <li>T[1] = m<sub>w</sub>(e) -&gt wet mapping function
-     * </ul>
-     *
-     * @param elevation  the elevation of the satellite, in radians.
-     * @param height     the height of the station in m above sea level.
-     * @param parameters tropospheric model parameters.
-     * @param date       current date
-     * @return a two components array containing the hydrostatic and wet mapping functions.
-     */
-    @Override
-    public <T extends RealFieldElement<T>> T[] mappingFactors(T elevation, T height, T[] parameters, FieldAbsoluteDate<T> date) {
-        return this.mappingFieldFactors(elevation, height, parameters, date);
-    }
-
-
-    /**
-     * This method allows the computation of the hydrostatic and
-     * wet mapping functions. The resulting element is an array having the following form:
-     * <ul>
-     * <li>T[0] = m<sub>h</sub>(e) -&gt hydrostatic mapping function
-     * <li>T[1] = m<sub>w</sub>(e) -&gt wet mapping function
-     * </ul>
-     *
-     * @param elevation  the elevation of the satellite, in radians.
-     * @param height     the height of the station in m above sea level.
-     * @param parameters tropospheric model parameters.
-     * @param date       current date
-     * @return a two components array containing the hydrostatic and wet mapping functions.
-     */
-    public native <T extends RealFieldElement<T>> T[] mappingFieldFactors(T elevation, T height, T[] parameters, FieldAbsoluteDate<T> date);
-
-
-    /**
-     * Get the drivers for tropospheric model parameters.
-     *
-     * @return drivers for tropospheric model parameters
-     */
-    @Override
-    public native List<ParameterDriver> getParametersDrivers();
-
-    /**
-     * Get tropospheric model parameters.
-     *
-     * @return tropospheric model parameters
-     */
-    @Override
-    public native double[] getParameters();
-
-    /**
-     * Get tropospheric model parameters.
-     *
-     * @param field field to which the elements belong
-     * @return tropospheric model parameters
-     */
-    @Override
-    public <T extends RealFieldElement<T>> T[] getParameters(Field<T> field) {
-        return this.getFieldParameters(field);
-    }
-
-    /**
-     * Get tropospheric model parameters.
-     *
-     * @param field field to which the elements belong
-     * @return tropospheric model parameters
-     */
-    public native <T extends RealFieldElement<T>> T[] getFieldParameters(Field<T> field);
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonModeHandler.java b/java_additions/src/main/java/org/orekit/python/PythonModeHandler.java
deleted file mode 100644
index 08ecb52f277991afec8228e99e3343d661c92317..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonModeHandler.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/* Copyright 2010-2011 Centre National d'Études Spatiales
- * Licensed to CS Systèmes d'Information (CS) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * CS licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-// this file was created by SCC 2019 and is largely a derived work from the
-// original java class/interface
-
-package org.orekit.python;
-
-import org.orekit.propagation.integration.ModeHandler;
-import org.orekit.time.AbsoluteDate;
-
-public class PythonModeHandler implements ModeHandler {
-
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-    /**
-     * Initialize the mode handler.
-     *
-     * @param activateHandlers if handlers shall be active
-     * @param targetDate       propagation is expected to end on this date, but
-     *                         it may end early due to event detectors or
-     */
-    @Override
-    public void initialize(boolean activateHandlers, AbsoluteDate targetDate) {
-
-    }
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonMultiSatStepHandler.java b/java_additions/src/main/java/org/orekit/python/PythonMultiSatStepHandler.java
deleted file mode 100644
index 16936c52df7a1a9f7c3308506ce3cf69b2500212..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonMultiSatStepHandler.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/* Copyright 2002-2019 CS Systèmes d'Information
- * Licensed to CS Systèmes d'Information (CS) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * CS licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-// this file was created by SCC 2019 and is largely a derived work from the
-// original java class/interface
-
-package org.orekit.python;
-
-import org.orekit.propagation.PropagatorsParallelizer;
-import org.orekit.propagation.SpacecraftState;
-import org.orekit.propagation.sampling.MultiSatStepHandler;
-import org.orekit.propagation.sampling.OrekitStepInterpolator;
-import org.orekit.time.AbsoluteDate;
-
-import java.util.List;
-
-public class PythonMultiSatStepHandler implements MultiSatStepHandler {
-
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-    /**
-     * Initialize step handler at the start of a propagation.
-     * <p>
-     * This method is called once at the start of the propagation. It
-     * may be used by the step handler to initialize some internal data
-     * if needed.
-     * </p>
-     * <p>
-     * The default method does nothing
-     * </p>
-     *
-     * @param states0 initial states, one for each satellite in the same order
-     *                used to {@link PropagatorsParallelizer#PropagatorsParallelizer(List, MultiSatStepHandler)
-     *                build} the {@link PropagatorsParallelizer multi-sat propagator}.
-     * @param t       target time for the integration
-     */
-    @Override
-    public void init(List<SpacecraftState> states0, AbsoluteDate t) {
-
-    }
-
-    /**
-     * Handle the current step.
-     * <p>
-     * When called by {@link PropagatorsParallelizer PropagatorsParallelizer},
-     * all interpolators have the same time range.
-     * </p>
-     *
-     * @param interpolators interpolators set up for the current step in the same order
-     *                      used to {@link PropagatorsParallelizer#PropagatorsParallelizer(List, MultiSatStepHandler)
-     *                      build} the {@link PropagatorsParallelizer multi-sat propagator}
-     * @param isLast        if true, this is the last integration step
-     */
-    @Override
-    public void handleStep(List<OrekitStepInterpolator> interpolators, boolean isLast) {
-
-    }
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonNRLMSISE00InputParameters.java b/java_additions/src/main/java/org/orekit/python/PythonNRLMSISE00InputParameters.java
deleted file mode 100644
index 69b0804db69174cfdfd05b6a3743146a14a347e3..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonNRLMSISE00InputParameters.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/* Copyright 2002-2019 CS Systèmes d'Information
- * Licensed to CS Systèmes d'Information (CS) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * CS licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-// this file was created by SCC 2019 and is largely a derived work from the
-// original java class/interface
-
-package org.orekit.python;
-
-import org.orekit.forces.drag.atmosphere.NRLMSISE00InputParameters;
-import org.orekit.time.AbsoluteDate;
-
-public class PythonNRLMSISE00InputParameters implements NRLMSISE00InputParameters {
-
-    private static final long serialVersionUID = -2826576363359682591L;
-    
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-    /**
-     * Gets the available data range minimum date.
-     *
-     * @return the minimum date.
-     */
-    @Override
-    public native AbsoluteDate getMinDate();
-
-    /**
-     * Gets the available data range maximum date.
-     *
-     * @return the maximum date.
-     */
-    @Override
-    public native AbsoluteDate getMaxDate();
-
-    /**
-     * Get the value of the daily F10.7 solar flux for previous day.
-     *
-     * @param date the current date
-     * @return the daily F10.7 flux for previous day
-     */
-    @Override
-    public native double getDailyFlux(AbsoluteDate date);
-
-    /**
-     * Get the value of the 81 day average of F10.7 solar flux centered on current day.
-     *
-     * @param date the current date
-     * @return the 81 day average of F10.7 solar flux centered on current day
-     */
-    @Override
-    public native double getAverageFlux(AbsoluteDate date);
-
-    /**
-     * Get the A<sub>p</sub> geomagnetic indices.
-     * <p>
-     * A<sub>p</sub> indices are provided as an array such as:
-     * <ul>
-     * <li>0 -> daily A<sub>p</sub></li>
-     * <li>1 -> 3 hr A<sub>p</sub> index for current time</li>
-     * <li>2 -> 3 hr A<sub>p</sub> index for 3 hrs before current time</li>
-     * <li>3 -> 3 hr A<sub>p</sub> index for 6 hrs before current time</li>
-     * <li>4 -> 3 hr A<sub>p</sub> index for 9 hrs before current time</li>
-     * <li>5 -> Average of eight 3 hr A<sub>p</sub> indices from 12 to 33 hrs
-     * prior to current time</li>
-     * <li>6 -> Average of eight 3 hr A<sub>p</sub> indices from 36 to 57 hrs
-     * prior to current time</li>
-     * </ul>
-     * </p>
-     *
-     * @param date the current date
-     * @return the array of A<sub>p</sub> indices
-     */
-    @Override
-    public native double[] getAp(AbsoluteDate date);
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonNormalizedSphericalHarmonicsProvider.java b/java_additions/src/main/java/org/orekit/python/PythonNormalizedSphericalHarmonicsProvider.java
deleted file mode 100644
index 5f84f7056e76d4e7ecc0caf8271b069c719b22c8..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonNormalizedSphericalHarmonicsProvider.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/* Copyright 2002-2019 CS Systèmes d'Information
- * Licensed to CS Systèmes d'Information (CS) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * CS licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-// this file was created by SCC 2019 and is largely a derived work from the
-// original java class/interface
-
-package org.orekit.python;
-
-import org.orekit.forces.gravity.potential.NormalizedSphericalHarmonicsProvider;
-import org.orekit.forces.gravity.potential.TideSystem;
-import org.orekit.time.AbsoluteDate;
-
-public class PythonNormalizedSphericalHarmonicsProvider implements NormalizedSphericalHarmonicsProvider {
-
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-    /**
-     * Get the normalized spherical harmonic coefficients at a specific instance in time.
-     *
-     * @param date of evaluation
-     * @return normalized coefficients on {@code date}.
-     * @since 6.1
-     */
-    @Override
-    public native NormalizedSphericalHarmonics onDate(AbsoluteDate date);
-
-    /**
-     * Get the maximal supported degree.
-     *
-     * @return maximal supported degree
-     */
-    @Override
-    public native int getMaxDegree();
-
-    /**
-     * Get the maximal supported order.
-     *
-     * @return maximal supported order
-     */
-    @Override
-    public native int getMaxOrder();
-
-    /**
-     * Get the central body attraction coefficient.
-     *
-     * @return mu (m³/s²)
-     */
-    @Override
-    public native double getMu();
-
-    /**
-     * Get the value of the central body reference radius.
-     *
-     * @return ae (m)
-     */
-    @Override
-    public native double getAe();
-
-    /**
-     * Get the reference date for the harmonics.
-     *
-     * @return reference date for the harmonics
-     */
-    @Override
-    public native AbsoluteDate getReferenceDate();
-
-    /**
-     * Get the offset from {@link #getReferenceDate reference date} for the harmonics.
-     *
-     * @param date current date
-     * @return offset between current date and reference date if there is a reference
-     * date, or 0.0 if there are no reference dates (i.e. if {@link #getReferenceDate}
-     * returns null)
-     */
-    @Override
-    public native double getOffset(AbsoluteDate date);
-
-    /**
-     * Get the {@link TideSystem} used in the gravity field.
-     *
-     * @return tide system used in the gravity field
-     */
-    @Override
-    public native TideSystem getTideSystem();
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonODEIntegratorBuilder.java b/java_additions/src/main/java/org/orekit/python/PythonODEIntegratorBuilder.java
deleted file mode 100644
index 0be913bbd88374d87b2f7a838c0ac10eeb08bef6..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonODEIntegratorBuilder.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/* Copyright 2002-2019 CS Systèmes d'Information
- * Licensed to CS Systèmes d'Information (CS) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * CS licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-// this file was created by SCC 2019 and is largely a derived work from the
-// original java class/interface
-
-package org.orekit.python;
-
-import org.hipparchus.ode.AbstractIntegrator;
-import org.orekit.orbits.Orbit;
-import org.orekit.orbits.OrbitType;
-import org.orekit.propagation.conversion.ODEIntegratorBuilder;
-
-public class PythonODEIntegratorBuilder implements ODEIntegratorBuilder {
-
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-    /**
-     * Build a first order integrator.
-     *
-     * @param orbit     reference orbit
-     * @param orbitType orbit type to use
-     * @return a first order integrator ready to use
-     */
-    @Override
-    public native AbstractIntegrator buildIntegrator(Orbit orbit, OrbitType orbitType);
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonObservedMeasurement.java b/java_additions/src/main/java/org/orekit/python/PythonObservedMeasurement.java
deleted file mode 100644
index 730b193dfe6a0f9e6f935b958b44ce65fa715c02..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonObservedMeasurement.java
+++ /dev/null
@@ -1,235 +0,0 @@
-/* Copyright 2002-2019 CS Systèmes d'Information
- * Licensed to CS Systèmes d'Information (CS) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * CS licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-// this file was created by SCC 2019 and is largely a derived work from the
-// original java class/interface
-
-package org.orekit.python;
-
-import org.orekit.estimation.measurements.*;
-import org.orekit.propagation.Propagator;
-import org.orekit.propagation.SpacecraftState;
-import org.orekit.propagation.conversion.PropagatorBuilder;
-import org.orekit.time.AbsoluteDate;
-import org.orekit.utils.ParameterDriver;
-
-import java.util.List;
-import java.util.SortedSet;
-
-public class PythonObservedMeasurement<T extends ObservedMeasurement<T>> implements ObservedMeasurement<T> {
-
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-    
-    /**
-     * Enable or disable a measurement.
-     * <p>
-     * Disabling a measurement allow to not consider it at
-     * one stage of the orbit determination (for example when
-     * it appears to be an outlier as per current estimated
-     * covariance).
-     * </p>
-     *
-     * @param enabled if true the measurement will be enabled,
-     *                otherwise it will be disabled
-     */
-    @Override
-    public native void setEnabled(boolean enabled);
-
-    /**
-     * Check if a measurement is enabled.
-     *
-     * @return true if the measurement is enabled
-     */
-    @Override
-    public native boolean isEnabled();
-
-    /**
-     * Get the dimension of the measurement.
-     * <p>
-     * Dimension is the size of the array containing the
-     * value. It will be one for a scalar measurement like
-     * a range or range-rate, but 6 for a position-velocity
-     * measurement.
-     * </p>
-     *
-     * @return dimension of the measurement
-     */
-    @Override
-    public native int getDimension();
-
-    /**
-     * Get the theoretical standard deviation.
-     * <p>
-     * The theoretical standard deviation is a theoretical value
-     * used for normalizing the residuals. It acts as a weighting
-     * factor to mix appropriately measurements with different units
-     * and different accuracy. The value has the same dimension as
-     * the measurement itself (i.e. when a residual is divided by
-     * this value, it becomes dimensionless).
-     * </p>
-     *
-     * @return expected standard deviation
-     * @see #getBaseWeight()
-     */
-    @Override
-    public native double[] getTheoreticalStandardDeviation();
-
-    /**
-     * Get the base weight associated with the measurement
-     * <p>
-     * The base weight is used on residuals already normalized thanks to
-     * {@link #getTheoreticalStandardDeviation()} to increase or
-     * decrease relative effect of some measurements with respect to
-     * other measurements. It is a dimensionless value, typically between
-     * 0 and 1 (but it can really have any non-negative value).
-     * </p>
-     *
-     * @return base weight
-     * @see #getTheoreticalStandardDeviation()
-     * @see EstimatedMeasurement#getCurrentWeight()
-     */
-    @Override
-    public native double[] getBaseWeight();
-
-    /**
-     * Add a modifier.
-     * <p>
-     * The modifiers are applied in the order in which they are added in order to
-     * {@link #estimate(int, int, SpacecraftState[]) estimate} the measurement.
-     * </p>
-     *
-     * @param modifier modifier to add
-     * @see #getModifiers()
-     */
-    @Override
-    public native void addModifier(EstimationModifier<T> modifier);
-
-    /**
-     * Get the modifiers that apply to a measurement.
-     *
-     * @return modifiers that apply to a measurement
-     * @see #addModifier(EstimationModifier)
-     */
-    @Override
-    public native List<EstimationModifier<T>> getModifiers();
-
-    /**
-     * Get the drivers for this measurement parameters, including its modifiers parameters.
-     *
-     * @return drivers for this measurement parameters, including its modifiers parameters
-     */
-    @Override
-    public native List<ParameterDriver> getParametersDrivers();
-
-    /**
-     * Get the indices of the {@link Propagator propagators}
-     * related to this measurement.
-     * <p>
-     * The propagators are indexed starting from 0 and ordered according to
-     * the order of the {@link PropagatorBuilder
-     * propagators builders} in the orbit determination engine used.
-     * </p>
-     *
-     * @return indices of the {@link Propagator propagators}
-     * related to this measurement
-     * @since 9.0
-     * @deprecated as of 9.3, replaced by {@link #getSatellites()}
-     */
-    @Override
-    public native List<Integer> getPropagatorsIndices();
-
-    /**
-     * Get the satellites related to this measurement.
-     *
-     * @return satellites related to this measurement
-     * @since 9.3
-     */
-    @Override
-    public native List<ObservableSatellite> getSatellites();
-
-    /**
-     * Estimate the theoretical value of the measurement.
-     * <p>
-     * The estimated value is the <em>combination</em> of the raw estimated
-     * value and all the modifiers that apply to the measurement.
-     * </p>
-     *
-     * @param iteration  iteration number
-     * @param evaluation evaluations number
-     * @param states     orbital states at measurement date
-     * @return estimated measurement
-     */
-    @Override
-    public native EstimatedMeasurement<T> estimate(int iteration, int evaluation, SpacecraftState[] states);
-
-    /**
-     * Get the observed value.
-     * <p>
-     * The observed value is the value that was measured by the instrument.
-     * </p>
-     *
-     * @return observed value (array of size {@link #getDimension()}
-     */
-    @Override
-    public native double[] getObservedValue();
-
-    /**
-     * {@inheritDoc}
-     * <p>
-     * Measurements comparison is primarily chronological, but measurements
-     * with the same date are sorted based on the observed value. Even if they
-     * have the same value too, they will <em>not</em> be considered equal if they
-     * correspond to different instances. This allows to store measurements in
-     * {@link SortedSet SortedSet} without losing any measurements, even
-     * redundant ones.
-     * </p>
-     *
-     * @param other
-     */
-    @Override
-    public native int compareTo(ComparableMeasurement other);
-
-    /**
-     * Get the date.
-     *
-     * @return date attached to the object
-     */
-    @Override
-    public native AbsoluteDate getDate();
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonOrekitFixedStepHandler.java b/java_additions/src/main/java/org/orekit/python/PythonOrekitFixedStepHandler.java
deleted file mode 100644
index 11b934275d712c448b7c2c8b03a2189e8bdaca4a..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonOrekitFixedStepHandler.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/** Copyright 2014 SSC and 2002-2014 CS Systèmes d'Information
- * Licensed to CS Systèmes d'Information (CS) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * CS licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-// this file was created by SSC and is largely a derived work from the
-// original java class created by CS Systèmes d'Information
-
-package org.orekit.python;
-import org.orekit.propagation.sampling.OrekitFixedStepHandler;
-
-import org.orekit.propagation.SpacecraftState;
-import org.orekit.time.AbsoluteDate;
-
-/** This interface is a space-dynamics aware fixed size step handler.
- *
- * <p>It mirrors the <code>FixedStepHandler</code> interface from <a
- * href="http://commons.apache.org/math/">commons-math</a> but provides
- * a space-dynamics interface to the methods.</p>
- * @author Luc Maisonobe
- */
-
-public class PythonOrekitFixedStepHandler implements OrekitFixedStepHandler {
-
-	private static final long serialVersionUID = 1L;
-
-	/** Part of JCC Python interface to object */
-	private long pythonObject;
-
-	/** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-    /** {@inheritDoc} */
-    @Override
-    public native void init(SpacecraftState s0, AbsoluteDate t, double step);
-
-   /** {@inheritDoc} */
-    @Override
-    public native void handleStep(final SpacecraftState currentState, final boolean isLast);
-
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonOrekitStepHandler.java b/java_additions/src/main/java/org/orekit/python/PythonOrekitStepHandler.java
deleted file mode 100644
index d24d84c6dcce6efbe752b7b672133e5b9dd70dbd..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonOrekitStepHandler.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/* Copyright 2002-2019 CS Systèmes d'Information
- * Licensed to CS Systèmes d'Information (CS) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * CS licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-// this file was created by SCC 2019 and is largely a derived work from the
-// original java class/interface
-
-package org.orekit.python;
-
-import org.orekit.propagation.SpacecraftState;
-import org.orekit.propagation.sampling.OrekitStepHandler;
-import org.orekit.propagation.sampling.OrekitStepInterpolator;
-import org.orekit.time.AbsoluteDate;
-
-public class PythonOrekitStepHandler implements OrekitStepHandler {
-
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-    /**
-     * Initialize step handler at the start of a propagation.
-     * Extension point for Python.
-     * <p>
-     * This method is called once at the start of the propagation. It
-     * may be used by the step handler to initialize some internal data
-     * if needed.
-     * </p>
-     * <p>
-     * The default method does nothing
-     * </p>
-     *
-     * @param s0 initial state
-     * @param t  target time for the integration
-     */
-    @Override
-    public native void init(SpacecraftState s0, AbsoluteDate t);
-
-    /**
-     * Handle the current step.
-     * Extension point for Python.
-     *
-     * @param interpolator interpolator set up for the current step
-     * @param isLast       if true, this is the last integration step
-     */
-    @Override
-    public native void handleStep(OrekitStepInterpolator interpolator, boolean isLast);
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonOrekitStepInterpolator.java b/java_additions/src/main/java/org/orekit/python/PythonOrekitStepInterpolator.java
deleted file mode 100644
index 91a369ac99a1bc7890e188da2e39ee1555ab8c9d..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonOrekitStepInterpolator.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/* Copyright 2002-2019 CS Systèmes d'Information
- * Licensed to CS Systèmes d'Information (CS) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * CS licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-// this file was created by SCC 2019 and is largely a derived work from the
-// original java class/interface
-
-package org.orekit.python;
-
-import org.orekit.propagation.SpacecraftState;
-import org.orekit.propagation.sampling.OrekitStepInterpolator;
-import org.orekit.time.AbsoluteDate;
-
-public class PythonOrekitStepInterpolator implements OrekitStepInterpolator {
-
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-    /**
-     * Get the state at previous grid point date.
-     * Extension point for Python.
-     *
-     * @return state at previous grid point date
-     */
-    @Override
-    public native SpacecraftState getPreviousState();
-
-    /**
-     * Determines if the {@link #getPreviousState() previous state} is computed directly
-     * by the integrator, or if it is calculated using {@link #getInterpolatedState(AbsoluteDate)
-     * interpolation}.
-     * Extension point for Python.
-     *
-     * <p> Typically the previous state is directly computed by the integrator, but when
-     * events are detected the steps are shortened so that events occur on step boundaries
-     * which means the previous state may be computed by the interpolator.
-     *
-     * @return {@code true} if the previous state was calculated by the interpolator and
-     * false if it was computed directly by the integrator.
-     */
-    @Override
-    public native boolean isPreviousStateInterpolated();
-
-    /**
-     * Get the state at current grid point date.
-     * Extension point for Python.
-     *
-     * @return state at current grid point date
-     */
-    @Override
-    public native SpacecraftState getCurrentState();
-
-    /**
-     * Determines if the {@link #getCurrentState() current state} is computed directly by
-     * the integrator, or if it is calculated using {@link #getInterpolatedState(AbsoluteDate)
-     * interpolation}.
-     * Extension point for Python.
-     *
-     * <p> Typically the current state is directly computed by the integrator, but when
-     * events are detected the steps are shortened so that events occur on step boundaries
-     * which means the current state may be computed by the interpolator.
-     *
-     * @return {@code true} if the current state was calculated by the interpolator and
-     * false if it was computed directly by the integrator.
-     */
-    @Override
-    public native boolean isCurrentStateInterpolated();
-
-    /**
-     * Get the state at interpolated date.
-     *
-     * @param date date of the interpolated state
-     * @return state at interpolated date
-     */
-    @Override
-    public native SpacecraftState getInterpolatedState(AbsoluteDate date);
-
-    /**
-     * Check is integration direction is forward in date.
-     *
-     * @return true if integration is forward in date
-     */
-    @Override
-    public native boolean isForward();
-
-    /**
-     * Create a new restricted version of the instance.
-     * <p>
-     * The instance is not changed at all.
-     * </p>
-     *
-     * @param newPreviousState start of the restricted step
-     * @param newCurrentState  end of the restricted step
-     * @return restricted version of the instance
-     * @see #getPreviousState()
-     * @see #getCurrentState()
-     * @since 9.0
-     */
-    @Override
-    public native OrekitStepInterpolator restrictStep(SpacecraftState newPreviousState, SpacecraftState newCurrentState);
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonPVCoordinatesProvider.java b/java_additions/src/main/java/org/orekit/python/PythonPVCoordinatesProvider.java
deleted file mode 100644
index 341967242fcc23b560979924842afdf4df2952db..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonPVCoordinatesProvider.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/* Copyright 2002-2019 CS Systèmes d'Information
- * Licensed to CS Systèmes d'Information (CS) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * CS licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-// this file was created by SCC 2019 and is largely a derived work from the
-// original java class/interface
-
-package org.orekit.python;
-
-import org.orekit.frames.Frame;
-import org.orekit.time.AbsoluteDate;
-import org.orekit.utils.PVCoordinatesProvider;
-import org.orekit.utils.TimeStampedPVCoordinates;
-
-public class PythonPVCoordinatesProvider implements PVCoordinatesProvider {
-
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-    /**
-     * Get the {@link PVCoordinates} of the body in the selected frame.
-     *
-     * @param date  current date
-     * @param frame the frame where to define the position
-     * @return time-stamped position/velocity of the body (m and m/s)
-     */
-    @Override
-    public native TimeStampedPVCoordinates getPVCoordinates(AbsoluteDate date, Frame frame);
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonParameterFunction.java b/java_additions/src/main/java/org/orekit/python/PythonParameterFunction.java
deleted file mode 100644
index 56b8c73f524df3d33ecba2f7da199d446735edf6..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonParameterFunction.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/* Copyright 2002-2019 CS Systèmes d'Information
- * Licensed to CS Systèmes d'Information (CS) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * CS licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-// this file was created by SCC 2019 and is largely a derived work from the
-// original java class/interface
-
-package org.orekit.python;
-
-import org.orekit.utils.ParameterDriver;
-import org.orekit.utils.ParameterFunction;
-
-public class PythonParameterFunction implements ParameterFunction {
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-    /**
-     * Evaluate the function.
-     *
-     * @param parameterDriver driver for the parameter.
-     * @return scalar value of the function
-     */
-    @Override
-    public native double value(ParameterDriver parameterDriver);
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonParameterObserver.java b/java_additions/src/main/java/org/orekit/python/PythonParameterObserver.java
deleted file mode 100644
index 3dc3cf3f876e70263846d18c064db9fbbbec143d..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonParameterObserver.java
+++ /dev/null
@@ -1,153 +0,0 @@
-/* Copyright 2002-2019 CS Systèmes d'Information
- * Licensed to CS Systèmes d'Information (CS) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * CS licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-// this file was created by SCC 2019 and is largely a derived work from the
-// original java class/interface
-
-package org.orekit.python;
-
-import org.orekit.time.AbsoluteDate;
-import org.orekit.utils.ParameterDriver;
-import org.orekit.utils.ParameterObserver;
-
-public class PythonParameterObserver implements ParameterObserver {
-
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-    /**
-     * Notify that a parameter value has been changed.
-     *
-     * @param previousValue previous value
-     * @param driver        parameter driver that has been changed
-     */
-    @Override
-    public native void valueChanged(double previousValue, ParameterDriver driver);
-
-    /**
-     * Notify that a parameter reference date has been changed.
-     * <p>
-     * The default implementation does nothing
-     * </p>
-     *
-     * @param previousReferenceDate previous date (null if it is the first time
-     *                              the reference date is changed)
-     * @param driver                parameter driver that has been changed
-     * @since 9.0
-     */
-    @Override
-    public native void referenceDateChanged(AbsoluteDate previousReferenceDate, ParameterDriver driver);
-
-    /**
-     * Notify that a parameter name has been changed.
-     * <p>
-     * The default implementation does nothing
-     * </p>
-     *
-     * @param previousName previous name
-     * @param driver       parameter driver that has been changed
-     * @since 9.0
-     */
-    @Override
-    public native void nameChanged(String previousName, ParameterDriver driver);
-
-    /**
-     * Notify that a parameter selection status has been changed.
-     * <p>
-     * The default implementation does nothing
-     * </p>
-     *
-     * @param previousSelection previous selection
-     * @param driver            parameter driver that has been changed
-     * @since 9.0
-     */
-    @Override
-    public native void selectionChanged(boolean previousSelection, ParameterDriver driver);
-
-    /**
-     * Notify that a parameter reference value has been changed.
-     * <p>
-     * The default implementation does nothing
-     * </p>
-     *
-     * @param previousReferenceValue previous reference value
-     * @param driver                 parameter driver that has been changed
-     * @since 9.0
-     */
-    @Override
-    public native void referenceValueChanged(double previousReferenceValue, ParameterDriver driver);
-
-    /**
-     * Notify that a parameter minimum value has been changed.
-     * <p>
-     * The default implementation does nothing
-     * </p>
-     *
-     * @param previousMinValue previous minimum value
-     * @param driver           parameter driver that has been changed
-     * @since 9.0
-     */
-    @Override
-    public native void minValueChanged(double previousMinValue, ParameterDriver driver);
-
-    /**
-     * Notify that a parameter maximum value has been changed.
-     * <p>
-     * The default implementation does nothing
-     * </p>
-     *
-     * @param previousMaxValue previous maximum value
-     * @param driver           parameter driver that has been changed
-     * @since 9.0
-     */
-    @Override
-    public native void maxValueChanged(double previousMaxValue, ParameterDriver driver);
-
-    /**
-     * Notify that a parameter scale has been changed.
-     * <p>
-     * The default implementation does nothing
-     * </p>
-     *
-     * @param previousScale previous scale
-     * @param driver        parameter driver that has been changed
-     * @since 9.0
-     */
-    @Override
-    public native void scaleChanged(double previousScale, ParameterDriver driver);
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonPhaseCenterVariationFunction.java b/java_additions/src/main/java/org/orekit/python/PythonPhaseCenterVariationFunction.java
deleted file mode 100644
index 0fbe9619ea978db7f84833692e022c6fedbb86ca..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonPhaseCenterVariationFunction.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/* Copyright 2002-2019 CS Systèmes d'Information
- * Licensed to CS Systèmes d'Information (CS) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * CS licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-// this file was created by SCC 2019 and is largely a derived work from the
-// original java class/interface
-
-package org.orekit.python;
-
-import org.orekit.gnss.antenna.PhaseCenterVariationFunction;
-
-public class PythonPhaseCenterVariationFunction implements PhaseCenterVariationFunction {
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-    /**
-     * Evaluate phase center variation in one signal direction.
-     *
-     * @param polarAngle   angle from antenna axial direction
-     *                     (zenith angle for receiver antennas, nadir angle for
-     *                     GNSS satellites antennas)
-     * @param azimuthAngle angle around axial direction
-     * @return phase center variation in the signal direction (m)
-     */
-    @Override
-    public native double value(double polarAngle, double azimuthAngle);
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonPropagator.java b/java_additions/src/main/java/org/orekit/python/PythonPropagator.java
deleted file mode 100644
index 580ca0d9e85eb98aa95d37d1b692b9071a27ee73..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonPropagator.java
+++ /dev/null
@@ -1,414 +0,0 @@
-/* Copyright 2002-2019 CS Systèmes d'Information
- * Licensed to CS Systèmes d'Information (CS) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * CS licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-// this file was created by SCC 2019 and is largely a derived work from the
-// original java class/interface
-
-package org.orekit.python;
-
-import org.orekit.attitudes.AttitudeProvider;
-import org.orekit.frames.Frame;
-import org.orekit.propagation.AdditionalStateProvider;
-import org.orekit.propagation.BoundedPropagator;
-import org.orekit.propagation.Propagator;
-import org.orekit.propagation.SpacecraftState;
-import org.orekit.propagation.events.EventDetector;
-import org.orekit.propagation.integration.AbstractIntegratedPropagator;
-import org.orekit.propagation.integration.AdditionalEquations;
-import org.orekit.propagation.sampling.OrekitFixedStepHandler;
-import org.orekit.propagation.sampling.OrekitStepHandler;
-import org.orekit.time.AbsoluteDate;
-import org.orekit.utils.TimeStampedPVCoordinates;
-
-import java.util.Collection;
-import java.util.List;
-
-public class PythonPropagator implements Propagator {
-
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-    /**
-     * Get the current operating mode of the propagator.
-     *
-     * @return one of {@link #SLAVE_MODE}, {@link #MASTER_MODE},
-     * {@link #EPHEMERIS_GENERATION_MODE}
-     * @see #setSlaveMode()
-     * @see #setMasterMode(double, OrekitFixedStepHandler)
-     * @see #setMasterMode(OrekitStepHandler)
-     * @see #setEphemerisMode()
-     */
-    @Override
-    public native int getMode();
-
-    /**
-     * Set the propagator to slave mode.
-     * <p>This mode is used when the user needs only the final orbit at the target time.
-     * The (slave) propagator computes this result and return it to the calling
-     * (master) application, without any intermediate feedback.
-     * <p>This is the default mode.</p>
-     *
-     * @see #setMasterMode(double, OrekitFixedStepHandler)
-     * @see #setMasterMode(OrekitStepHandler)
-     * @see #setEphemerisMode()
-     * @see #getMode()
-     * @see #SLAVE_MODE
-     */
-    @Override
-    public native void setSlaveMode();
-
-    /**
-     * Set the propagator to master mode with fixed steps.
-     * <p>This mode is used when the user needs to have some custom function called at the
-     * end of each finalized step during integration. The (master) propagator integration
-     * loop calls the (slave) application callback methods at each finalized step.</p>
-     *
-     * @param h       fixed stepsize (s)
-     * @param handler handler called at the end of each finalized step
-     * @see #setSlaveMode()
-     * @see #setMasterMode(OrekitStepHandler)
-     * @see #setEphemerisMode()
-     * @see #getMode()
-     * @see #MASTER_MODE
-     */
-    @Override
-    public void setMasterMode(double h, OrekitFixedStepHandler handler) {
-        this.setMasterMode_2p(h, handler);
-    }
-
-    /**
-     * Set the propagator to master mode with fixed steps.
-     * <p>This mode is used when the user needs to have some custom function called at the
-     * end of each finalized step during integration. The (master) propagator integration
-     * loop calls the (slave) application callback methods at each finalized step.</p>
-     *
-     * @param h       fixed stepsize (s)
-     * @param handler handler called at the end of each finalized step
-     * @see #setSlaveMode()
-     * @see #setMasterMode(OrekitStepHandler)
-     * @see #setEphemerisMode()
-     * @see #getMode()
-     * @see #MASTER_MODE
-     */
-    public native void setMasterMode_2p(double h, OrekitFixedStepHandler handler);
-
-    /**
-     * Set the propagator to master mode with variable steps.
-     * <p>This mode is used when the user needs to have some custom function called at the
-     * end of each finalized step during integration. The (master) propagator integration
-     * loop calls the (slave) application callback methods at each finalized step.</p>
-     *
-     * @param handler handler called at the end of each finalized step
-     * @see #setSlaveMode()
-     * @see #setMasterMode(double, OrekitFixedStepHandler)
-     * @see #setEphemerisMode()
-     * @see #getMode()
-     * @see #MASTER_MODE
-     */
-    @Override
-    public native void setMasterMode(OrekitStepHandler handler);
-
-    /**
-     * Set the propagator to ephemeris generation mode.
-     * <p>This mode is used when the user needs random access to the orbit state at any time
-     * between the initial and target times, and in no sequential order. A typical example is
-     * the implementation of search and iterative algorithms that may navigate forward and
-     * backward inside the propagation range before finding their result.</p>
-     * <p>Beware that since this mode stores <strong>all</strong> intermediate results,
-     * it may be memory intensive for long integration ranges and high precision/short
-     * time steps.</p>
-     *
-     * @see #getGeneratedEphemeris()
-     * @see #setSlaveMode()
-     * @see #setMasterMode(double, OrekitFixedStepHandler)
-     * @see #setMasterMode(OrekitStepHandler)
-     * @see #getMode()
-     * @see #EPHEMERIS_GENERATION_MODE
-     */
-    @Override
-    public native void setEphemerisMode();
-
-    /**
-     * Set the propagator to ephemeris generation mode with the specified handler for each
-     * integration step.
-     *
-     * <p>This mode is used when the user needs random access to the orbit state at any
-     * time between the initial and target times, as well as access to the steps computed
-     * by the integrator as in Master Mode. A typical example is the implementation of
-     * search and iterative algorithms that may navigate forward and backward inside the
-     * propagation range before finding their result.</p>
-     *
-     * <p>Beware that since this mode stores <strong>all</strong> intermediate results, it
-     * may be memory intensive for long integration ranges and high precision/short time
-     * steps.</p>
-     *
-     * @param handler handler called at the end of each finalized step
-     * @see #setEphemerisMode()
-     * @see #getGeneratedEphemeris()
-     * @see #setSlaveMode()
-     * @see #setMasterMode(double, OrekitFixedStepHandler)
-     * @see #setMasterMode(OrekitStepHandler)
-     * @see #getMode()
-     * @see #EPHEMERIS_GENERATION_MODE
-     */
-    @Override
-    public void setEphemerisMode(OrekitStepHandler handler) {
-        this.setEphemerisModeHandler(handler);
-    }
-
-    /**
-     * Set the propagator to ephemeris generation mode with the specified handler for each
-     * integration step.
-     *
-     * <p>This mode is used when the user needs random access to the orbit state at any
-     * time between the initial and target times, as well as access to the steps computed
-     * by the integrator as in Master Mode. A typical example is the implementation of
-     * search and iterative algorithms that may navigate forward and backward inside the
-     * propagation range before finding their result.</p>
-     *
-     * <p>Beware that since this mode stores <strong>all</strong> intermediate results, it
-     * may be memory intensive for long integration ranges and high precision/short time
-     * steps.</p>
-     *
-     * @param handler handler called at the end of each finalized step
-     * @see #setEphemerisMode()
-     * @see #getGeneratedEphemeris()
-     * @see #setSlaveMode()
-     * @see #setMasterMode(double, OrekitFixedStepHandler)
-     * @see #setMasterMode(OrekitStepHandler)
-     * @see #getMode()
-     * @see #EPHEMERIS_GENERATION_MODE
-     */
-    public native void setEphemerisModeHandler(OrekitStepHandler handler);
-
-    /**
-     * Get the ephemeris generated during propagation.
-     *
-     * @return generated ephemeris
-     * @throws IllegalStateException if the propagator was not set in ephemeris
-     *                               generation mode before propagation
-     * @see #setEphemerisMode()
-     */
-    @Override
-    public native BoundedPropagator getGeneratedEphemeris() throws IllegalStateException;
-
-    /**
-     * Get the propagator initial state.
-     *
-     * @return initial state
-     */
-    @Override
-    public native SpacecraftState getInitialState();
-
-    /**
-     * Reset the propagator initial state.
-     *
-     * @param state new initial state to consider
-     */
-    @Override
-    public native void resetInitialState(SpacecraftState state);
-
-    /**
-     * Add a set of user-specified state parameters to be computed along with the orbit propagation.
-     *
-     * @param additionalStateProvider provider for additional state
-     */
-    @Override
-    public native void addAdditionalStateProvider(AdditionalStateProvider additionalStateProvider);
-
-    /**
-     * Get an unmodifiable list of providers for additional state.
-     *
-     * @return providers for the additional states
-     */
-    @Override
-    public native List<AdditionalStateProvider> getAdditionalStateProviders();
-
-    /**
-     * Check if an additional state is managed.
-     * <p>
-     * Managed states are states for which the propagators know how to compute
-     * its evolution. They correspond to additional states for which an
-     * {@link AdditionalStateProvider additional state provider} has been registered
-     * by calling the {@link #addAdditionalStateProvider(AdditionalStateProvider)
-     * addAdditionalStateProvider} method. If the propagator is an {@link
-     * AbstractIntegratedPropagator integrator-based
-     * propagator}, the states for which a set of {@link
-     * AdditionalEquations additional equations} has
-     * been registered by calling the {@link
-     * AbstractIntegratedPropagator#addAdditionalEquations(
-     *AdditionalEquations) addAdditionalEquations}
-     * method are also counted as managed additional states.
-     * </p>
-     * <p>
-     * Additional states that are present in the {@link #getInitialState() initial state}
-     * but have no evolution method registered are <em>not</em> considered as managed states.
-     * These unmanaged additional states are not lost during propagation, though. Their
-     * value will simply be copied unchanged throughout propagation.
-     * </p>
-     *
-     * @param name name of the additional state
-     * @return true if the additional state is managed
-     */
-    @Override
-    public native boolean isAdditionalStateManaged(String name);
-
-    /**
-     * Get all the names of all managed states.
-     *
-     * @return names of all managed states
-     */
-    @Override
-    public native String[] getManagedAdditionalStates();
-
-    /**
-     * Add an event detector.
-     *
-     * @param detector event detector to add
-     * @see #clearEventsDetectors()
-     * @see #getEventsDetectors()
-     */
-    @Override
-    public native <T extends EventDetector> void addEventDetector(T detector);
-
-    /**
-     * Get all the events detectors that have been added.
-     *
-     * @return an unmodifiable collection of the added detectors
-     * @see #addEventDetector(EventDetector)
-     * @see #clearEventsDetectors()
-     */
-    @Override
-    public native Collection<EventDetector> getEventsDetectors();
-
-    /**
-     * Remove all events detectors.
-     *
-     * @see #addEventDetector(EventDetector)
-     * @see #getEventsDetectors()
-     */
-    @Override
-    public native void clearEventsDetectors();
-
-    /**
-     * Get attitude provider.
-     *
-     * @return attitude provider
-     */
-    @Override
-    public native AttitudeProvider getAttitudeProvider();
-
-    /**
-     * Set attitude provider.
-     *
-     * @param attitudeProvider attitude provider
-     */
-    @Override
-    public native void setAttitudeProvider(AttitudeProvider attitudeProvider);
-
-    /**
-     * Get the frame in which the orbit is propagated.
-     * <p>
-     * The propagation frame is the definition frame of the initial
-     * state, so this method should be called after this state has
-     * been set, otherwise it may return null.
-     * </p>
-     *
-     * @return frame in which the orbit is propagated
-     * @see #resetInitialState(SpacecraftState)
-     */
-    @Override
-    public native Frame getFrame();
-
-    /**
-     * Propagate towards a target date.
-     * <p>Simple propagators use only the target date as the specification for
-     * computing the propagated state. More feature rich propagators can consider
-     * other information and provide different operating modes or G-stop
-     * facilities to stop at pinpointed events occurrences. In these cases, the
-     * target date is only a hint, not a mandatory objective.</p>
-     *
-     * @param target target date towards which orbit state should be propagated
-     * @return propagated state
-     */
-    @Override
-    public native SpacecraftState propagate(AbsoluteDate target);
-
-    /**
-     * Propagate from a start date towards a target date.
-     * <p>Those propagators use a start date and a target date to
-     * compute the propagated state. For propagators using event detection mechanism,
-     * if the provided start date is different from the initial state date, a first,
-     * simple propagation is performed, without processing any event computation.
-     * Then complete propagation is performed from start date to target date.</p>
-     *
-     * @param start  start date from which orbit state should be propagated
-     * @param target target date to which orbit state should be propagated
-     * @return propagated state
-     */
-    @Override
-    public SpacecraftState propagate(AbsoluteDate start, AbsoluteDate target) {
-        return this.propagate_2p(start, target);
-    }
-
-
-    /**
-     * Propagate from a start date towards a target date.
-     * <p>Those propagators use a start date and a target date to
-     * compute the propagated state. For propagators using event detection mechanism,
-     * if the provided start date is different from the initial state date, a first,
-     * simple propagation is performed, without processing any event computation.
-     * Then complete propagation is performed from start date to target date.</p>
-     *
-     * @param start  start date from which orbit state should be propagated
-     * @param target target date to which orbit state should be propagated
-     * @return propagated state
-     */
-    public native SpacecraftState propagate_2p(AbsoluteDate start, AbsoluteDate target);
-
-
-    /**
-     * Get the {@link PVCoordinates} of the body in the selected frame.
-     *
-     * @param date  current date
-     * @param frame the frame where to define the position
-     * @return time-stamped position/velocity of the body (m and m/s)
-     */
-    @Override
-    public native TimeStampedPVCoordinates getPVCoordinates(AbsoluteDate date, Frame frame);
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonPropagatorBuilder.java b/java_additions/src/main/java/org/orekit/python/PythonPropagatorBuilder.java
deleted file mode 100644
index fa1aa95f56f74ad081504616ede306d621874bd6..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonPropagatorBuilder.java
+++ /dev/null
@@ -1,134 +0,0 @@
-/* Copyright 2002-2019 CS Systèmes d'Information
- * Licensed to CS Systèmes d'Information (CS) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * CS licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-// this file was created by SCC 2019 and is largely a derived work from the
-// original java class/interface
-
-package org.orekit.python;
-
-import org.orekit.frames.Frame;
-import org.orekit.orbits.OrbitType;
-import org.orekit.orbits.PositionAngle;
-import org.orekit.propagation.Propagator;
-import org.orekit.propagation.conversion.PropagatorBuilder;
-import org.orekit.time.AbsoluteDate;
-import org.orekit.utils.ParameterDriversList;
-
-public class PythonPropagatorBuilder implements PropagatorBuilder {
-
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-    /**
-     * Build a propagator.
-     *
-     * @param normalizedParameters normalized values for the selected parameters
-     * @return an initialized propagator
-     */
-    @Override
-    public native Propagator buildPropagator(double[] normalizedParameters);
-
-    /**
-     * Get the current value of selected normalized parameters.
-     *
-     * @return current value of selected normalized parameters
-     */
-    @Override
-    public native double[] getSelectedNormalizedParameters();
-
-    /**
-     * Get the orbit type expected for the 6 first parameters in
-     * {@link #buildPropagator(double[])}.
-     *
-     * @return orbit type to use in {@link #buildPropagator(double[])}
-     * @see #buildPropagator(double[])
-     * @see #getPositionAngle()
-     * @since 7.1
-     */
-    @Override
-    public native OrbitType getOrbitType();
-
-    /**
-     * Get the position angle type expected for the 6 first parameters in
-     * {@link #buildPropagator(double[])}.
-     *
-     * @return position angle type to use in {@link #buildPropagator(double[])}
-     * @see #buildPropagator(double[])
-     * @see #getOrbitType()
-     * @since 7.1
-     */
-    @Override
-    public native PositionAngle getPositionAngle();
-
-    /**
-     * Get the date of the initial orbit.
-     *
-     * @return date of the initial orbit
-     */
-    @Override
-    public native AbsoluteDate getInitialOrbitDate();
-
-    /**
-     * Get the frame in which the orbit is propagated.
-     *
-     * @return frame in which the orbit is propagated
-     */
-    @Override
-    public native Frame getFrame();
-
-    /**
-     * Get the drivers for the configurable orbital parameters.
-     *
-     * @return drivers for the configurable orbital parameters
-     * @since 8.0
-     */
-    @Override
-    public native ParameterDriversList getOrbitalParametersDrivers();
-
-    /**
-     * Get the drivers for the configurable propagation parameters.
-     * <p>
-     * The parameters typically correspond to force models.
-     * </p>
-     *
-     * @return drivers for the configurable propagation parameters
-     * @since 8.0
-     */
-    @Override
-    public native ParameterDriversList getPropagationParametersDrivers();
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonPropagatorConverter.java b/java_additions/src/main/java/org/orekit/python/PythonPropagatorConverter.java
deleted file mode 100644
index 1f83194e02237059944e438a05ae378cdfac3168..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonPropagatorConverter.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/* Copyright 2002-2019 CS Systèmes d'Information
- * Licensed to CS Systèmes d'Information (CS) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * CS licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-// this file was created by SCC 2019 and is largely a derived work from the
-// original java class/interface
-
-
-// TODO: Add python wrappers for this class.
-
-package org.orekit.python;
-
-import org.orekit.propagation.Propagator;
-import org.orekit.propagation.SpacecraftState;
-import org.orekit.propagation.conversion.PropagatorConverter;
-
-import java.util.List;
-
-public class PythonPropagatorConverter implements PropagatorConverter {
-
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-    /**
-     * Convert a propagator into another one.
-     *
-     * @param source         propagator to convert
-     * @param timeSpan       time span considered for conversion
-     * @param nbPoints       number of points for sampling over the time span
-     * @param freeParameters names of the free parameters
-     * @return adapted propagator
-     */
-    @Override
-    public native Propagator convert(Propagator source, double timeSpan, int nbPoints, List<String> freeParameters);
-
-    /* TODO: These methods needs to be separated for Python */
-
-    /**
-     * Convert a propagator into another one.
-     *
-     * @param source         propagator to convert
-     * @param timeSpan       time span considered for conversion
-     * @param nbPoints       number of points for sampling over the time span
-     * @param freeParameters names of the free parameters
-     * @return adapted propagator
-     */
-    @Override
-    public native Propagator convert(Propagator source, double timeSpan, int nbPoints, String... freeParameters);
-
-    /**
-     * Find the propagator that minimize the mean square error for a sample of {@link SpacecraftState states}.
-     *
-     * @param states         spacecraft states sample to fit
-     * @param positionOnly   if true, consider only position data otherwise both position and velocity are used
-     * @param freeParameters names of the free parameters
-     * @return adapted propagator
-     */
-    @Override
-    public native Propagator convert(List<SpacecraftState> states, boolean positionOnly, List<String> freeParameters);
-
-    /**
-     * Find the propagator that minimize the mean square error for a sample of {@link SpacecraftState states}.
-     *
-     * @param states         spacecraft states sample to fit
-     * @param positionOnly   if true, consider only position data otherwise both position and velocity are used
-     * @param freeParameters names of the free parameters
-     * @return adapted propagator
-     */
-    @Override
-    public native Propagator convert(List<SpacecraftState> states, boolean positionOnly, String... freeParameters);
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonRadiationSensitive.java b/java_additions/src/main/java/org/orekit/python/PythonRadiationSensitive.java
deleted file mode 100644
index 88bdaf66585fb2d6356b12521bb1f0fcd58c8859..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonRadiationSensitive.java
+++ /dev/null
@@ -1,150 +0,0 @@
-/* Copyright 2002-2019 CS Systèmes d'Information
- * Licensed to CS Systèmes d'Information (CS) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * CS licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-// this file was created by SCC 2019 and is largely a derived work from the
-// original java class/interface
-
-package org.orekit.python;
-
-import org.hipparchus.RealFieldElement;
-import org.hipparchus.analysis.differentiation.DerivativeStructure;
-import org.hipparchus.geometry.euclidean.threed.FieldRotation;
-import org.hipparchus.geometry.euclidean.threed.FieldVector3D;
-import org.hipparchus.geometry.euclidean.threed.Rotation;
-import org.hipparchus.geometry.euclidean.threed.Vector3D;
-import org.orekit.forces.radiation.RadiationSensitive;
-import org.orekit.frames.Frame;
-import org.orekit.time.AbsoluteDate;
-import org.orekit.time.FieldAbsoluteDate;
-import org.orekit.utils.ParameterDriver;
-
-public class PythonRadiationSensitive implements RadiationSensitive {
-
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-    /**
-     * Get the drivers for supported parameters.
-     *
-     * @return parameters drivers
-     * @since 8.0
-     */
-    @Override
-    public native ParameterDriver[] getRadiationParametersDrivers();
-
-    /**
-     * Compute the acceleration due to radiation pressure.
-     *
-     * @param date       current date
-     * @param frame      inertial reference frame for state (both orbit and attitude)
-     * @param position   position of spacecraft in reference frame
-     * @param rotation   orientation (attitude) of the spacecraft with respect to reference frame
-     * @param mass       current mass
-     * @param flux       radiation flux in the same inertial frame as spacecraft orbit
-     * @param parameters values of the force model parameters
-     * @return spacecraft acceleration in the same inertial frame as spacecraft orbit (m/s²)
-     */
-    @Override
-    public native Vector3D radiationPressureAcceleration(AbsoluteDate date, Frame frame, Vector3D position, Rotation rotation, double mass, Vector3D flux, double[] parameters);
-
-    /**
-     * Compute the acceleration due to radiation pressure.
-     *
-     * @param date       current date
-     * @param frame      inertial reference frame for state (both orbit and attitude)
-     * @param position   position of spacecraft in reference frame
-     * @param rotation   orientation (attitude) of the spacecraft with respect to reference frame
-     * @param mass       current mass
-     * @param flux       radiation flux in the same inertial frame as spacecraft orbit
-     * @param parameters values of the force model parameters
-     * @return spacecraft acceleration in the same inertial frame as spacecraft orbit (m/s²)
-     */
-    @Override
-    public <T extends RealFieldElement<T>> FieldVector3D<T> radiationPressureAcceleration(FieldAbsoluteDate<T> date, Frame frame, FieldVector3D<T> position, FieldRotation<T> rotation, T mass, FieldVector3D<T> flux, T[] parameters) {
-        return this.radiationRealFieldPressureAcceleration(date, frame, position, rotation, mass, flux, parameters);
-    }
-
-    /**
-     * Compute the acceleration due to radiation pressure.
-     *
-     * @param date       current date
-     * @param frame      inertial reference frame for state (both orbit and attitude)
-     * @param position   position of spacecraft in reference frame
-     * @param rotation   orientation (attitude) of the spacecraft with respect to reference frame
-     * @param mass       current mass
-     * @param flux       radiation flux in the same inertial frame as spacecraft orbit
-     * @param parameters values of the force model parameters
-     * @return spacecraft acceleration in the same inertial frame as spacecraft orbit (m/s²)
-     */
-    public native <T extends RealFieldElement<T>> FieldVector3D<T> radiationRealFieldPressureAcceleration(FieldAbsoluteDate<T> date, Frame frame, FieldVector3D<T> position, FieldRotation<T> rotation, T mass, FieldVector3D<T> flux, T[] parameters);
-
-    /**
-     * Compute the acceleration due to radiation pressure, with parameters derivatives.
-     *
-     * @param date       current date
-     * @param frame      inertial reference frame for state (both orbit and attitude)
-     * @param position   position of spacecraft in reference frame
-     * @param rotation   orientation (attitude) of the spacecraft with respect to reference frame
-     * @param mass       current mass
-     * @param flux       radiation flux in the same inertial frame as spacecraft orbit
-     * @param parameters values of the force model parameters
-     * @param paramName  name of the parameter with respect to which derivatives are required
-     * @return spacecraft acceleration in the same inertial frame as spacecraft orbit (m/s²)
-     */
-    @Override
-    public FieldVector3D<DerivativeStructure> radiationPressureAcceleration(AbsoluteDate date, Frame frame, Vector3D position, Rotation rotation, double mass, Vector3D flux, double[] parameters, String paramName) {
-        return this.radiationFieldVector3DPressureAcceleration(date, frame, position, rotation, mass, flux, parameters, paramName);
-    }
-
-    /**
-     * Compute the acceleration due to radiation pressure, with parameters derivatives.
-     *
-     * @param date       current date
-     * @param frame      inertial reference frame for state (both orbit and attitude)
-     * @param position   position of spacecraft in reference frame
-     * @param rotation   orientation (attitude) of the spacecraft with respect to reference frame
-     * @param mass       current mass
-     * @param flux       radiation flux in the same inertial frame as spacecraft orbit
-     * @param parameters values of the force model parameters
-     * @param paramName  name of the parameter with respect to which derivatives are required
-     * @return spacecraft acceleration in the same inertial frame as spacecraft orbit (m/s²)
-     */
-    public native FieldVector3D<DerivativeStructure> radiationFieldVector3DPressureAcceleration(AbsoluteDate date, Frame frame, Vector3D position, Rotation rotation, double mass, Vector3D flux, double[] parameters, String paramName);
-
-
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonRawSphericalHarmonicsProvider.java b/java_additions/src/main/java/org/orekit/python/PythonRawSphericalHarmonicsProvider.java
deleted file mode 100644
index 49d16f915531892742277e8e5ef0427b6e75a34d..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonRawSphericalHarmonicsProvider.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/* Copyright 2002-2019 CS Systèmes d'Information
- * Licensed to CS Systèmes d'Information (CS) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * CS licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-// this file was created by SCC 2019 and is largely a derived work from the
-// original java class/interface
-
-package org.orekit.python;
-
-import org.orekit.forces.gravity.potential.RawSphericalHarmonicsProvider;
-import org.orekit.forces.gravity.potential.TideSystem;
-import org.orekit.time.AbsoluteDate;
-
-public class PythonRawSphericalHarmonicsProvider implements RawSphericalHarmonicsProvider {
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-    /**
-     * Get the raw spherical harmonic coefficients on a specific date.
-     *
-     * @param date to evaluate the spherical harmonics
-     * @return the raw spherical harmonics on {@code date}.
-     */
-    @Override
-    public native RawSphericalHarmonics onDate(AbsoluteDate date);
-
-    /**
-     * Get the maximal supported degree.
-     *
-     * @return maximal supported degree
-     */
-    @Override
-    public native int getMaxDegree();
-
-    /**
-     * Get the maximal supported order.
-     *
-     * @return maximal supported order
-     */
-    @Override
-    public native int getMaxOrder();
-
-    /**
-     * Get the central body attraction coefficient.
-     *
-     * @return mu (m³/s²)
-     */
-    @Override
-    public native double getMu();
-
-    /**
-     * Get the value of the central body reference radius.
-     *
-     * @return ae (m)
-     */
-    @Override
-    public native double getAe();
-
-    /**
-     * Get the reference date for the harmonics.
-     *
-     * @return reference date for the harmonics
-     */
-    @Override
-    public native AbsoluteDate getReferenceDate();
-
-    /**
-     * Get the offset from {@link #getReferenceDate reference date} for the harmonics.
-     *
-     * @param date current date
-     * @return offset between current date and reference date if there is a reference
-     * date, or 0.0 if there are no reference dates (i.e. if {@link #getReferenceDate}
-     * returns null)
-     */
-    @Override
-    public native double getOffset(AbsoluteDate date);
-
-    /**
-     * Get the {@link TideSystem} used in the gravity field.
-     *
-     * @return tide system used in the gravity field
-     */
-    @Override
-    public native TideSystem getTideSystem();
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonSphericalHarmonicsProvider.java b/java_additions/src/main/java/org/orekit/python/PythonSphericalHarmonicsProvider.java
deleted file mode 100644
index 559c6ee127fed5ab15ed435194d86af76f0dbbfe..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonSphericalHarmonicsProvider.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/* Copyright 2002-2019 CS Systèmes d'Information
- * Licensed to CS Systèmes d'Information (CS) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * CS licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-// this file was created by SCC 2019 and is largely a derived work from the
-// original java class/interface
-
-package org.orekit.python;
-
-import org.orekit.forces.gravity.potential.SphericalHarmonicsProvider;
-import org.orekit.forces.gravity.potential.TideSystem;
-import org.orekit.time.AbsoluteDate;
-
-public class PythonSphericalHarmonicsProvider implements SphericalHarmonicsProvider {
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-    /**
-     * Get the maximal supported degree.
-     *
-     * @return maximal supported degree
-     */
-    @Override
-    public native int getMaxDegree();
-
-    /**
-     * Get the maximal supported order.
-     *
-     * @return maximal supported order
-     */
-    @Override
-    public native int getMaxOrder();
-
-    /**
-     * Get the central body attraction coefficient.
-     *
-     * @return mu (m³/s²)
-     */
-    @Override
-    public native double getMu();
-
-    /**
-     * Get the value of the central body reference radius.
-     *
-     * @return ae (m)
-     */
-    @Override
-    public native double getAe();
-
-    /**
-     * Get the reference date for the harmonics.
-     *
-     * @return reference date for the harmonics
-     */
-    @Override
-    public native AbsoluteDate getReferenceDate();
-
-    /**
-     * Get the offset from {@link #getReferenceDate reference date} for the harmonics.
-     *
-     * @param date current date
-     * @return offset between current date and reference date if there is a reference
-     * date, or 0.0 if there are no reference dates (i.e. if {@link #getReferenceDate}
-     * returns null)
-     */
-    @Override
-    public native double getOffset(AbsoluteDate date);
-
-    /**
-     * Get the {@link TideSystem} used in the gravity field.
-     *
-     * @return tide system used in the gravity field
-     */
-    @Override
-    public native TideSystem getTideSystem();
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonStateFunction.java b/java_additions/src/main/java/org/orekit/python/PythonStateFunction.java
deleted file mode 100644
index f50f6099d6c714380a46347d0284ef562e8e3c6d..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonStateFunction.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/* Copyright 2002-2019 CS Systèmes d'Information
- * Licensed to CS Systèmes d'Information (CS) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * CS licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-// this file was created by SCC 2019 and is largely a derived work from the
-// original java class/interface
-
-package org.orekit.python;
-
-import org.orekit.propagation.SpacecraftState;
-import org.orekit.utils.StateFunction;
-
-public class PythonStateFunction implements StateFunction {
-
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-    /**
-     * Evaluate the function.
-     *
-     * @param state spacecraft state as the sole free parameter of the function.
-     * @return vector value of the function
-     */
-    @Override
-    public native double[] value(SpacecraftState state);
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonStateJacobian.java b/java_additions/src/main/java/org/orekit/python/PythonStateJacobian.java
deleted file mode 100644
index e9926a5dc5bf399d7abdbacd7980d9be78f0369f..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonStateJacobian.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/* Copyright 2002-2019 CS Systèmes d'Information
- * Licensed to CS Systèmes d'Information (CS) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * CS licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-// this file was created by SCC 2019 and is largely a derived work from the
-// original java class/interface
-
-package org.orekit.python;
-
-import org.orekit.propagation.SpacecraftState;
-import org.orekit.utils.StateJacobian;
-
-public class PythonStateJacobian implements StateJacobian {
-
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-    /**
-     * Evaluate the Jacobian of the function.
-     *
-     * @param state spacecraft state as the sole free parameter of the function.
-     * @return Jacobian matric
-     */
-    @Override
-    public native double[][] value(SpacecraftState state);
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonTideSystemProvider.java b/java_additions/src/main/java/org/orekit/python/PythonTideSystemProvider.java
deleted file mode 100644
index a4b25f99243dbe5615c6ecc54f614b2d7b1c40e8..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonTideSystemProvider.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/* Copyright 2002-2019 CS Systèmes d'Information
- * Licensed to CS Systèmes d'Information (CS) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * CS licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-// this file was created by SCC 2019 and is largely a derived work from the
-// original java class/interface
-
-package org.orekit.python;
-
-import org.orekit.forces.gravity.potential.TideSystem;
-import org.orekit.forces.gravity.potential.TideSystemProvider;
-
-public class PythonTideSystemProvider implements TideSystemProvider {
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-    /**
-     * Get the {@link TideSystem} used in the gravity field.
-     *
-     * @return tide system used in the gravity field
-     */
-    @Override
-    public native TideSystem getTideSystem();
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonTimeDerivativesEquations.java b/java_additions/src/main/java/org/orekit/python/PythonTimeDerivativesEquations.java
deleted file mode 100644
index 0c30b818799ac3a02e089ad0e4cd5179fd22141c..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonTimeDerivativesEquations.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/* Copyright 2002-2019 CS Systèmes d'Information
- * Licensed to CS Systèmes d'Information (CS) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * CS licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-// this file was created by SCC 2019 and is largely a derived work from the
-// original java class/interface
-
-package org.orekit.python;
-
-import org.hipparchus.geometry.euclidean.threed.Vector3D;
-import org.orekit.propagation.numerical.TimeDerivativesEquations;
-
-public class PythonTimeDerivativesEquations implements TimeDerivativesEquations {
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-    /**
-     * Add the contribution of the Kepler evolution.
-     * <p>Since the Kepler evolution is the most important, it should
-     * be added after all the other ones, in order to improve
-     * numerical accuracy.</p>
-     *
-     * @param mu central body gravitational constant
-     */
-    @Override
-    public native void addKeplerContribution(double mu);
-
-    /**
-     * Add the contribution of a non-Keplerian acceleration.
-     *
-     * @param gamma acceleration vector in the same inertial frame the spacecraft state is defined in (m/s²)
-     * @since 9.0
-     */
-    @Override
-    public native void addNonKeplerianAcceleration(Vector3D gamma);
-
-    /**
-     * Add the contribution of the flow rate (dm/dt).
-     *
-     * @param q the flow rate, must be negative (dm/dt)
-     * @throws IllegalArgumentException if flow-rate is positive
-     */
-    @Override
-    public native void addMassDerivative(double q);
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonTimeInterpolable.java b/java_additions/src/main/java/org/orekit/python/PythonTimeInterpolable.java
deleted file mode 100644
index 7ad38651347b815cd4b3ef5a8b633a5bfd16bae9..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonTimeInterpolable.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/* Copyright 2002-2019 CS Systèmes d'Information
- * Licensed to CS Systèmes d'Information (CS) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * CS licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-// this file was created by SCC 2019 and is largely a derived work from the
-// original java class/interface
-
-package org.orekit.python;
-
-import org.orekit.time.AbsoluteDate;
-import org.orekit.time.TimeInterpolable;
-
-import java.util.stream.Stream;
-
-public class PythonTimeInterpolable<T extends TimeInterpolable<T>> implements TimeInterpolable<T> {
-
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-    /**
-     * Get an interpolated instance.
-     * <p>
-     * Note that the state of the current instance may not be used
-     * in the interpolation process, only its type and non interpolable
-     * fields are used (for example central attraction coefficient or
-     * frame when interpolating orbits). The interpolable fields taken
-     * into account are taken only from the states of the sample points.
-     * So if the state of the instance must be used, the instance should
-     * be included in the sample points.
-     * </p>
-     * <p>
-     * Note that this method is designed for small samples only (say up
-     * to about 10-20 points) so it can be implemented using polynomial
-     * interpolation (typically Hermite interpolation). Using too much
-     * points may induce <a
-     * href="http://en.wikipedia.org/wiki/Runge%27s_phenomenon">Runge's
-     * phenomenon</a> and numerical problems (including NaN appearing).
-     * </p>
-     *
-     * @param date   interpolation date
-     * @param sample sample points on which interpolation should be done
-     * @return a new instance, interpolated at specified date
-     * @since 9.0
-     */
-    @Override
-    public native T interpolate(AbsoluteDate date, Stream<T> sample);
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonTimeScalarFunction.java b/java_additions/src/main/java/org/orekit/python/PythonTimeScalarFunction.java
deleted file mode 100644
index 3c61f7734d25300e464d3a3d7a85a102f61aaa5f..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonTimeScalarFunction.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/* Copyright 2002-2019 CS Systèmes d'Information
- * Licensed to CS Systèmes d'Information (CS) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * CS licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-// this file was created by SCC 2019 and is largely a derived work from the
-// original java class/interface
-
-package org.orekit.python;
-
-import org.hipparchus.RealFieldElement;
-import org.orekit.time.AbsoluteDate;
-import org.orekit.time.FieldAbsoluteDate;
-import org.orekit.time.TimeScalarFunction;
-
-public class PythonTimeScalarFunction implements TimeScalarFunction {
-
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-    /**
-     * Compute a function of time.
-     *
-     * @param date date
-     * @return value of the function
-     */
-    @Override
-    public native double value(AbsoluteDate date);
-
-    /**
-     * Compute a function of time.
-     *
-     * @param date date
-     * @return value of the function
-     */
-    @Override
-    public <T extends RealFieldElement<T>> T value(FieldAbsoluteDate<T> date) {
-        return this.valueField(date);
-    }
-
-
-    /**
-     * Compute a function of time.
-     *
-     * @param date date
-     * @return value of the function
-     */
-    public native <T extends RealFieldElement<T>> T valueField(FieldAbsoluteDate<T> date);
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonTimeScale.java b/java_additions/src/main/java/org/orekit/python/PythonTimeScale.java
deleted file mode 100644
index 38c7583f5eb5384a243a5ac9fa047a5f3a50b238..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonTimeScale.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/* Copyright 2002-2019 CS Systèmes d'Information
- * Licensed to CS Systèmes d'Information (CS) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * CS licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-// this file was created by SCC 2019 and is largely a derived work from the
-// original java class/interface
-
-package org.orekit.python;
-
-import org.hipparchus.RealFieldElement;
-import org.orekit.time.AbsoluteDate;
-import org.orekit.time.FieldAbsoluteDate;
-import org.orekit.time.TimeScale;
-
-public class PythonTimeScale implements TimeScale {
-
-    private static final long serialVersionUID = 1472684095479052858L;
-    
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-    /**
-     * Get the offset to convert locations from {@link TAIScale} to instance.
-     *
-     * @param date conversion date
-     * @return offset in seconds to add to a location in <em>{@link TAIScale}
-     * time scale</em> to get a location in <em>instance time scale</em>
-     * @see #offsetToTAI(DateComponents, TimeComponents)
-     */
-    @Override
-    public native double offsetFromTAI(AbsoluteDate date);
-
-    /**
-     * Get the offset to convert locations from {@link TAIScale} to instance.
-     *
-     * @param date conversion date
-     * @return offset in seconds to add to a location in <em>{@link TAIScale}
-     * time scale</em> to get a location in <em>instance time scale</em>
-     * @see #offsetToTAI(DateComponents, TimeComponents)
-     * @since 9.0
-     */
-    @Override
-    public <T extends RealFieldElement<T>> T offsetFromTAI(FieldAbsoluteDate<T> date) {
-        return this.offsetFieldFromTAI(date);
-    }
-
-    /**
-     * Get the offset to convert locations from {@link TAIScale} to instance.
-     *
-     * @param date conversion date
-     * @return offset in seconds to add to a location in <em>{@link TAIScale}
-     * time scale</em> to get a location in <em>instance time scale</em>
-     * @see #offsetToTAI(DateComponents, TimeComponents)
-     * @since 9.0
-     */
-    public native <T extends RealFieldElement<T>> T offsetFieldFromTAI(FieldAbsoluteDate<T> date);
-
-
-    /**
-     * Get the name time scale.
-     *
-     * @return name of the time scale
-     */
-    @Override
-    public native String getName();
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonTimeShiftable.java b/java_additions/src/main/java/org/orekit/python/PythonTimeShiftable.java
deleted file mode 100644
index deda04e787e115e98dd7b372c5d9444552291c9e..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonTimeShiftable.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/* Copyright 2002-2019 CS Systèmes d'Information
- * Licensed to CS Systèmes d'Information (CS) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * CS licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-// this file was created by SCC 2019 and is largely a derived work from the
-// original java class/interface
-
-package org.orekit.python;
-
-import org.orekit.time.TimeShiftable;
-
-public class PythonTimeShiftable<T extends TimeShiftable<T>> implements TimeShiftable<T> {
-
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-    /**
-     * Get a time-shifted instance.
-     *
-     * @param dt time shift in seconds
-     * @return a new instance, shifted with respect to instance (which is not changed)
-     */
-    @Override
-    public native T shiftedBy(double dt);
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonTimeStamped.java b/java_additions/src/main/java/org/orekit/python/PythonTimeStamped.java
deleted file mode 100644
index dcb7a34d8b823fb72c782a4a5091e5ce5be9814d..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonTimeStamped.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/* Copyright 2002-2019 CS Systèmes d'Information
- * Licensed to CS Systèmes d'Information (CS) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * CS licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-// this file was created by SCC 2019 and is largely a derived work from the
-// original java class/interface
-
-package org.orekit.python;
-
-import org.orekit.time.AbsoluteDate;
-import org.orekit.time.TimeStamped;
-
-public class PythonTimeStamped implements TimeStamped {
-
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-    /**
-     * Get the date.
-     *
-     * @return date attached to the object
-     */
-    @Override
-    public native AbsoluteDate getDate();
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonTimeStampedCache.java b/java_additions/src/main/java/org/orekit/python/PythonTimeStampedCache.java
deleted file mode 100644
index 6a82c86992319271ee66176a414d0eec67779663..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonTimeStampedCache.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/* Copyright 2002-2019 CS Systèmes d'Information
- * Licensed to CS Systèmes d'Information (CS) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * CS licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-// this file was created by SCC 2019 and is largely a derived work from the
-// original java class/interface
-
-package org.orekit.python;
-
-import org.orekit.time.AbsoluteDate;
-import org.orekit.time.TimeStamped;
-import org.orekit.utils.TimeStampedCache;
-
-import java.util.stream.Stream;
-
-public class PythonTimeStampedCache<T extends TimeStamped> implements TimeStampedCache<T> {
-
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-    /**
-     * Get the entries surrounding a central date.
-     * <p>
-     * If the central date is well within covered range, the returned array will
-     * be balanced with half the points before central date and half the points
-     * after it (depending on n parity, of course). If the central date is near
-     * the boundary, then the returned array will be unbalanced and will contain
-     * only the n earliest (or latest) entries. A typical example of the later
-     * case is leap seconds cache, since the number of leap seconds cannot be
-     * arbitrarily increased.
-     * <p>
-     * This method is safe for multiple threads to execute concurrently.
-     *
-     * @param central central date
-     * @return list of cached entries surrounding the specified date. The size
-     * of the list is guaranteed to be {@link #getNeighborsSize()}.
-     */
-    @Override
-    public native Stream<T> getNeighbors(AbsoluteDate central);
-
-    /**
-     * Get the fixed size of the lists returned by
-     * {@link #getNeighbors(AbsoluteDate)}.
-     *
-     * @return size of the list
-     */
-    @Override
-    public native int getNeighborsSize();
-
-    /**
-     * Get the earliest entry in this cache.
-     *
-     * @return earliest cached entry
-     * @throws IllegalStateException if this cache is empty
-     */
-    @Override
-    public native T getEarliest() throws IllegalStateException;
-
-    /**
-     * Get the latest entry in this cache.
-     *
-     * @return latest cached entry
-     * @throws IllegalStateException if this cache is empty
-     */
-    @Override
-    public native T getLatest() throws IllegalStateException;
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonTimeStampedGenerator.java b/java_additions/src/main/java/org/orekit/python/PythonTimeStampedGenerator.java
deleted file mode 100644
index 24514b533378d273a46d1971b0879caefb05d29f..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonTimeStampedGenerator.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/* Copyright 2002-2019 CS Systèmes d'Information
- * Licensed to CS Systèmes d'Information (CS) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * CS licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-// this file was created by SCC 2019 and is largely a derived work from the
-// original java class/interface
-
-package org.orekit.python;
-
-import org.orekit.time.AbsoluteDate;
-import org.orekit.time.TimeStamped;
-import org.orekit.utils.TimeStampedGenerator;
-
-import java.util.List;
-
-public class PythonTimeStampedGenerator<T extends TimeStamped> implements TimeStampedGenerator<T> {
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-    /**
-     * Generate a chronologically sorted list of entries to be cached.
-     * <p>
-     * If {@code existingDate} is earlier than {@code date}, the range covered by
-     * generated entries must cover at least from {@code existingDate} (excluded)
-     * to {@code date} (included). If {@code existingDate} is later than {@code date},
-     * the range covered by generated entries must cover at least from {@code date}
-     * (included) to {@code existingDate} (excluded).
-     * </p>
-     * <p>
-     * The generated entries may cover a range larger than the minimum specified above
-     * if the generator prefers to generate large chunks of data at once. It may
-     * generate again entries already generated by an earlier call (typically at {@code
-     * existingDate}), these extra entries will be silently ignored by the cache.
-     * </p>
-     * <p>
-     * Non-coverage of the minimum range may lead to a loss of data, as the gap will
-     * not be filled by the {@link GenericTimeStampedCache} in subsequent calls.
-     * </p>
-     * <p>
-     * The generated entries <em>must</em> be chronologically sorted.
-     * </p>
-     *
-     * @param existingDate date of the closest already existing entry (may be null)
-     * @param date         date that must be covered by the range of the generated array
-     * @return chronologically sorted list of generated entries
-     */
-    @Override
-    public native List<T> generate(AbsoluteDate existingDate, AbsoluteDate date);
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonTimeVectorFunction.java b/java_additions/src/main/java/org/orekit/python/PythonTimeVectorFunction.java
deleted file mode 100644
index 9f31e13dd49e35f1e781118b4d33280b2face353..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonTimeVectorFunction.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/* Copyright 2002-2019 CS Systèmes d'Information
- * Licensed to CS Systèmes d'Information (CS) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * CS licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-// this file was created by SCC 2019 and is largely a derived work from the
-// original java class/interface
-
-package org.orekit.python;
-
-import org.hipparchus.RealFieldElement;
-import org.orekit.time.AbsoluteDate;
-import org.orekit.time.FieldAbsoluteDate;
-import org.orekit.time.TimeVectorFunction;
-
-public class PythonTimeVectorFunction implements TimeVectorFunction {
-
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-    /**
-     * Compute a function of time.
-     *
-     * @param date date
-     * @return value of the function
-     */
-    @Override
-    public native double[] value(AbsoluteDate date);
-
-    /**
-     * Compute a function of time.
-     *
-     * @param date date
-     * @return value of the function
-     */
-    @Override
-    public <T extends RealFieldElement<T>> T[] value(FieldAbsoluteDate<T> date) {
-        return this.valueField(date);
-    }
-
-    /**
-     * Compute a function of time.
-     *
-     * @param date date
-     * @return value of the function
-     */
-    public native <T extends RealFieldElement<T>> T[] valueField(FieldAbsoluteDate<T> date);
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonTransformProvider.java b/java_additions/src/main/java/org/orekit/python/PythonTransformProvider.java
deleted file mode 100644
index 4389e79c31bd8c46ccf575a54ac781c6dbd36a58..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonTransformProvider.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/* Copyright 2002-2019 CS Systèmes d'Information
- * Licensed to CS Systèmes d'Information (CS) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * CS licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-// this file was created by SCC 2019 and is largely a derived work from the
-// original java class/interface
-
-package org.orekit.python;
-
-import org.hipparchus.RealFieldElement;
-import org.orekit.frames.FieldTransform;
-import org.orekit.frames.Transform;
-import org.orekit.frames.TransformProvider;
-import org.orekit.time.AbsoluteDate;
-import org.orekit.time.FieldAbsoluteDate;
-
-public class PythonTransformProvider implements TransformProvider {
-
-    private static final long serialVersionUID = 8758418222722463528L;
-    
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-    /**
-     * Get the {@link Transform} corresponding to specified date.
-     *
-     * @param date current date
-     * @return transform at specified date
-     */
-    @Override
-    public native Transform getTransform(AbsoluteDate date);
-
-    /**
-     * Get the {@link FieldTransform} corresponding to specified date.
-     *
-     * @param date current date
-     * @return transform at specified date
-     * @since 9.0
-     */
-    @Override
-    public <T extends RealFieldElement<T>> FieldTransform<T> getTransform(FieldAbsoluteDate<T> date) {
-        return this.getFieldTransform(date);
-    }
-
-    /**
-     * Get the {@link FieldTransform} corresponding to specified date.
-     *
-     * @param date current date
-     * @return transform at specified date
-     * @since 9.0
-     */
-
-    public native <T extends RealFieldElement<T>> FieldTransform<T> getFieldTransform(FieldAbsoluteDate<T> date);
-
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonTroposphericModel.java b/java_additions/src/main/java/org/orekit/python/PythonTroposphericModel.java
deleted file mode 100644
index cb40c1e714a4d635ecd2a6b28928081fcc3bb074..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonTroposphericModel.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/* Copyright 2011-2012 Space Applications Services
- * Licensed to CS Communication & Systèmes (CS) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * CS licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-// this file was created by SCC 2019 and is largely a derived work from the
-// original java class/interface
-
-package org.orekit.python;
-
-import org.orekit.models.earth.TroposphericModel;
-
-public class PythonTroposphericModel implements TroposphericModel {
-
-    private static final long serialVersionUID = 9108275770987643642L;
-    
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-    /**
-     * Calculates the tropospheric path delay for the signal path from a ground
-     * station to a satellite.
-     *
-     * @param elevation the elevation of the satellite, in radians
-     * @param height    the height of the station in m above sea level
-     * @return the path delay due to the troposphere in m
-     */
-    @Override
-    public native double pathDelay(double elevation, double height);
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonUTCTAIOffsetsLoader.java b/java_additions/src/main/java/org/orekit/python/PythonUTCTAIOffsetsLoader.java
deleted file mode 100644
index 55d970a781e058913daa34ede629ae89eabcad51..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonUTCTAIOffsetsLoader.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/* Copyright 2002-2019 CS Systèmes d'Information
- * Licensed to CS Systèmes d'Information (CS) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * CS licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-// this file was created by SCC 2019 and is largely a derived work from the
-// original java class/interface
-
-package org.orekit.python;
-
-import org.orekit.time.OffsetModel;
-import org.orekit.time.UTCTAIOffsetsLoader;
-
-import java.util.List;
-
-public class PythonUTCTAIOffsetsLoader implements UTCTAIOffsetsLoader {
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-    /**
-     * Load UTC-TAI offsets entries.
-     *
-     * @return sorted UTC-TAI offsets entries (if the linear offsets used
-     * prior to 1972 are missing, they will be inserted automatically)
-     */
-    @Override
-    public native List<OffsetModel> loadOffsets();
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonUnivariateFunction.java b/java_additions/src/main/java/org/orekit/python/PythonUnivariateFunction.java
deleted file mode 100644
index 56090025fec1d3f0abe7f09e44cfa3869e226506..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonUnivariateFunction.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-// this file was created by SCC and is largely a derived work from the
-// original file UnivariateFunction.java
-
-package org.orekit.python;
-
-/** import org.hipparchus.analysis.UnivariateFunction; **/
-
-
-public class PythonUnivariateFunction implements org.hipparchus.analysis.UnivariateFunction {
-
-	static final long serialVersionUID = 1L;
-
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /** Part of JCC Python interface to object */
-  	public void pythonExtension(long pythonObject)
-  	{
-  		this.pythonObject = pythonObject;
-  	}
-
-  	/** Part of JCC Python interface to object */
-  	public long pythonExtension()
-  	{
-  		return this.pythonObject;
-  	}
-
-  	/** Part of JCC Python interface to object */
-  	public void finalize()
-  			throws Throwable
-  			{
-  				pythonDecRef();
-  			}
-
-  	/** Part of JCC Python interface to object */
-  	public native void pythonDecRef();
-
-
-	/** {@inheritDoc} */
-	@Override
-	public native double value(double x);
-
-}
-
diff --git a/java_additions/src/main/java/org/orekit/python/PythonUnnormalizedSphericalHarmonicsProvider.java b/java_additions/src/main/java/org/orekit/python/PythonUnnormalizedSphericalHarmonicsProvider.java
deleted file mode 100644
index ee2b7d67202cc86bf3a48485751f26ef15c517ee..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonUnnormalizedSphericalHarmonicsProvider.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/* Copyright 2002-2019 CS Systèmes d'Information
- * Licensed to CS Systèmes d'Information (CS) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * CS licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-// this file was created by SCC 2019 and is largely a derived work from the
-// original java class/interface
-
-package org.orekit.python;
-
-import org.orekit.forces.gravity.potential.TideSystem;
-import org.orekit.forces.gravity.potential.UnnormalizedSphericalHarmonicsProvider;
-import org.orekit.time.AbsoluteDate;
-
-public class PythonUnnormalizedSphericalHarmonicsProvider implements UnnormalizedSphericalHarmonicsProvider {
-
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-    /**
-     * Get the un-normalized spherical harmonic coefficients at a specific instance in time.
-     *
-     * @param date of evaluation
-     * @return un-normalized coefficients on {@code date}.
-     * @since 6.1
-     */
-    @Override
-    public native UnnormalizedSphericalHarmonics onDate(AbsoluteDate date);
-
-    /**
-     * Get the maximal supported degree.
-     *
-     * @return maximal supported degree
-     */
-    @Override
-    public native int getMaxDegree();
-
-    /**
-     * Get the maximal supported order.
-     *
-     * @return maximal supported order
-     */
-    @Override
-    public native int getMaxOrder();
-
-    /**
-     * Get the central body attraction coefficient.
-     *
-     * @return mu (m³/s²)
-     */
-    @Override
-    public native double getMu();
-
-    /**
-     * Get the value of the central body reference radius.
-     *
-     * @return ae (m)
-     */
-    @Override
-    public native double getAe();
-
-    /**
-     * Get the reference date for the harmonics.
-     *
-     * @return reference date for the harmonics
-     */
-    @Override
-    public native AbsoluteDate getReferenceDate();
-
-    /**
-     * Get the offset from {@link #getReferenceDate reference date} for the harmonics.
-     *
-     * @param date current date
-     * @return offset between current date and reference date if there is a reference
-     * date, or 0.0 if there are no reference dates (i.e. if {@link #getReferenceDate}
-     * returns null)
-     */
-    @Override
-    public native double getOffset(AbsoluteDate date);
-
-    /**
-     * Get the {@link TideSystem} used in the gravity field.
-     *
-     * @return tide system used in the gravity field
-     */
-    @Override
-    public native TideSystem getTideSystem();
-}
diff --git a/java_additions/src/main/java/org/orekit/python/PythonWeatherModel.java b/java_additions/src/main/java/org/orekit/python/PythonWeatherModel.java
deleted file mode 100644
index 708a4762bd28d3cabada83a86c4bb103963c0b34..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/PythonWeatherModel.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/* Copyright 2002-2019 CS Systèmes d'Information
- * Licensed to CS Systèmes d'Information (CS) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * CS licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-// this file was created by SCC 2019 and is largely a derived work from the
-// original java class/interface
-
-package org.orekit.python;
-
-import org.orekit.models.earth.WeatherModel;
-import org.orekit.time.AbsoluteDate;
-
-public class PythonWeatherModel implements WeatherModel {
-
-    /** Part of JCC Python interface to object */
-    private long pythonObject;
-
-    /** Part of JCC Python interface to object */
-    public void pythonExtension(long pythonObject)
-    {
-        this.pythonObject = pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public long pythonExtension()
-    {
-        return this.pythonObject;
-    }
-
-    /** Part of JCC Python interface to object */
-    public void finalize()
-            throws Throwable
-    {
-        pythonDecRef();
-    }
-
-    /** Part of JCC Python interface to object */
-    public native void pythonDecRef();
-
-    /**
-     * Calculates the weather parameters of the model.
-     * In order to obtain the correct values of the parameters
-     * this method has to be call just after the construction of the model.
-     *
-     * @param stationHeight the height of the station in m
-     * @param currentDate   current date
-     */
-    @Override
-    public native void weatherParameters(double stationHeight, AbsoluteDate currentDate);
-}
diff --git a/java_additions/src/main/java/org/orekit/python/package-info.java b/java_additions/src/main/java/org/orekit/python/package-info.java
deleted file mode 100644
index 7b22ee694f40de48f3dcc3379587163957e2ffc3..0000000000000000000000000000000000000000
--- a/java_additions/src/main/java/org/orekit/python/package-info.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/**
- *
- * This package provides an interface to python based on JCC as an interface.
- * <p>
- * Description
- * </p>
- * @author Petrus Hyvonen
- * @since 6.1
- */
-package org.orekit.python;
-
diff --git a/python_files/pyhelpers.py b/python_files/pyhelpers.py
index 155dab09865189fe3ff020f025a72a9d54736d51..45059786cf4faeedcfc067bf5e05d8cf8f820d46 100644
--- a/python_files/pyhelpers.py
+++ b/python_files/pyhelpers.py
@@ -13,25 +13,46 @@
 #   See the License for the specific language governing permissions and
 #   limitations under the License.
 
-""" This document contains classes that are useful for using the orekit
-library in Python. """
+# This document contains classes that are useful for using the orekit
+# library in Python.
 
 from __future__ import absolute_import
 from __future__ import division
 from __future__ import print_function
 
-# Set up the orekit namespace
-import orekit
+import shutil
+from datetime import datetime
 
+import math
 from java.io import File
-
+from orekit import JArray
 from org.orekit.data import DataProvidersManager, ZipJarCrawler
 from org.orekit.time import TimeScalesFactory, AbsoluteDate
 from org.orekit.utils import ElevationMask
-from orekit import JArray
 
-import math
-from datetime import datetime
+
+try:
+    import urllib.request as urlrequest
+except ImportError:
+    import urllib as urlrequest
+
+
+def download_orekit_data_curdir(filename='orekit-data.zip'):
+    """
+    Orekit needs a number of orientation and model parameters. An example file is available on the
+    orekit gitlab. This funciton downloads that file to the current directory.
+
+    Note that for non-testing purposes, this file should
+
+    Args:
+        filename (str): Store the downloaded data as this filename/path. Default is "orekit-data.zip"
+    """
+    url = "https://gitlab.orekit.org/orekit/orekit-data/-/archive/master/orekit-data-master.zip"
+    # Download the orekit-data file and store it locally
+
+    with urlrequest.urlopen(url) as response, open("orekit-data.zip", 'wb') as out_file:
+        print('Downloading file from:', url)
+        shutil.copyfileobj(response, out_file)
 
 
 def setup_orekit_curdir(filename='orekit-data.zip'):
@@ -53,6 +74,21 @@ def setup_orekit_curdir(filename='orekit-data.zip'):
     datafile = File(filename)
     if not datafile.exists():
         print('File :', datafile.absolutePath, ' not found')
+        print("""
+        
+        The Orekit library relies on some external data for physical models. 
+        Typical data are the Earth Orientation Parameters and the leap seconds history, 
+        both being provided by the IERS or the planetary ephemerides provided by JPL. 
+        Such data is stored in text or binary files with specific formats that Orekit knows 
+        how to read, and needs to be provided for the library to work.
+        
+        You can download a starting file with this data from the orekit gitlab at:
+        https://gitlab.orekit.org/orekit/orekit-data
+        
+        or by the function:
+        orekit.pyhelpers.download_orekit_data_curdir()
+        
+        """)
 
     crawler = ZipJarCrawler(datafile)
     DM.clearProviders()