You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@systemds.apache.org by ba...@apache.org on 2025/09/25 22:31:41 UTC

(systemds) 02/02: [MINOR] Python Testing Cleanup

This is an automated email from the ASF dual-hosted git repository.

baunsgaard pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/systemds.git

commit 4e05c196fa91660ea9f4d4363619acd748c7ed23
Author: Sebastian Baunsgaard <ba...@apache.org>
AuthorDate: Fri Sep 26 00:27:06 2025 +0200

    [MINOR] Python Testing Cleanup
    
    This commit cleanup the cloud based testing for the Python api.
    Specifically we clean up the logging and verbose printing of many tests
    to reduce the logging sizes of tests in every commit.
    Furthermore, we separate the testing of Scuro to a separte action, to
    make the Python tests more consistant.
    
    Follow up tasks include separation of installed packages for Scuro, and
    the SystemDS basic packages.
    
    Closes #2334
---
 .github/workflows/python.yml                       |  8 ++++-
 .github/workflows/pythonFormatting.yml             |  2 +-
 .../docs/source/api/operator/algorithms/WoE.rst    | 21 ++++++++++++
 .../source/api/operator/algorithms/WoEApply.rst    | 21 ++++++++++++
 .../source/api/operator/algorithms/abstain.rst     | 21 ++++++++++++
 .../docs/source/api/operator/algorithms/adasyn.rst | 21 ++++++++++++
 .../docs/source/api/operator/algorithms/als.rst    | 21 ++++++++++++
 .../docs/source/api/operator/algorithms/alsCG.rst  | 21 ++++++++++++
 .../docs/source/api/operator/algorithms/alsDS.rst  | 21 ++++++++++++
 .../source/api/operator/algorithms/alsPredict.rst  | 21 ++++++++++++
 .../api/operator/algorithms/alsTopkPredict.rst     | 21 ++++++++++++
 .../docs/source/api/operator/algorithms/ampute.rst | 21 ++++++++++++
 .../api/operator/algorithms/apply_pipeline.rst     | 21 ++++++++++++
 .../docs/source/api/operator/algorithms/arima.rst  | 21 ++++++++++++
 .../docs/source/api/operator/algorithms/auc.rst    | 21 ++++++++++++
 .../api/operator/algorithms/autoencoder_2layer.rst | 21 ++++++++++++
 .../docs/source/api/operator/algorithms/bandit.rst | 21 ++++++++++++
 .../docs/source/api/operator/algorithms/bivar.rst  | 21 ++++++++++++
 .../source/api/operator/algorithms/components.rst  | 21 ++++++++++++
 .../api/operator/algorithms/confusionMatrix.rst    | 21 ++++++++++++
 .../api/operator/algorithms/cooccurrenceMatrix.rst | 21 ++++++++++++
 .../docs/source/api/operator/algorithms/cor.rst    | 21 ++++++++++++
 .../api/operator/algorithms/correctTypos.rst       | 21 ++++++++++++
 .../api/operator/algorithms/correctTyposApply.rst  | 21 ++++++++++++
 .../docs/source/api/operator/algorithms/cox.rst    | 21 ++++++++++++
 .../source/api/operator/algorithms/cspline.rst     | 21 ++++++++++++
 .../source/api/operator/algorithms/csplineCG.rst   | 21 ++++++++++++
 .../source/api/operator/algorithms/csplineDS.rst   | 21 ++++++++++++
 .../docs/source/api/operator/algorithms/cvlm.rst   | 21 ++++++++++++
 .../docs/source/api/operator/algorithms/dbscan.rst | 21 ++++++++++++
 .../source/api/operator/algorithms/dbscanApply.rst | 21 ++++++++++++
 .../api/operator/algorithms/decisionTree.rst       | 21 ++++++++++++
 .../operator/algorithms/decisionTreePredict.rst    | 21 ++++++++++++
 .../docs/source/api/operator/algorithms/dedup.rst  | 25 ++++++++++++++
 .../source/api/operator/algorithms/deepWalk.rst    | 21 ++++++++++++
 .../api/operator/algorithms/denialConstraints.rst  | 21 ++++++++++++
 .../operator/algorithms/differenceStatistics.rst   | 21 ++++++++++++
 .../source/api/operator/algorithms/discoverFD.rst  | 21 ++++++++++++
 .../docs/source/api/operator/algorithms/dist.rst   | 21 ++++++++++++
 .../docs/source/api/operator/algorithms/dmv.rst    | 21 ++++++++++++
 .../docs/source/api/operator/algorithms/ema.rst    | 21 ++++++++++++
 .../api/operator/algorithms/executePipeline.rst    | 21 ++++++++++++
 .../source/api/operator/algorithms/f1Score.rst     | 21 ++++++++++++
 .../docs/source/api/operator/algorithms/fdr.rst    | 21 ++++++++++++
 .../source/api/operator/algorithms/ffPredict.rst   | 21 ++++++++++++
 .../source/api/operator/algorithms/ffTrain.rst     | 21 ++++++++++++
 .../api/operator/algorithms/fit_pipeline.rst       | 21 ++++++++++++
 .../api/operator/algorithms/fixInvalidLengths.rst  | 21 ++++++++++++
 .../operator/algorithms/fixInvalidLengthsApply.rst | 21 ++++++++++++
 .../api/operator/algorithms/flattenQuantile.rst    | 21 ++++++++++++
 .../source/api/operator/algorithms/frameSort.rst   | 21 ++++++++++++
 .../api/operator/algorithms/frequencyEncode.rst    | 21 ++++++++++++
 .../operator/algorithms/frequencyEncodeApply.rst   | 21 ++++++++++++
 .../docs/source/api/operator/algorithms/garch.rst  | 21 ++++++++++++
 .../api/operator/algorithms/gaussianClassifier.rst | 21 ++++++++++++
 .../source/api/operator/algorithms/getAccuracy.rst | 21 ++++++++++++
 .../docs/source/api/operator/algorithms/glm.rst    | 21 ++++++++++++
 .../source/api/operator/algorithms/glmPredict.rst  | 21 ++++++++++++
 .../docs/source/api/operator/algorithms/glove.rst  | 21 ++++++++++++
 .../docs/source/api/operator/algorithms/gmm.rst    | 21 ++++++++++++
 .../source/api/operator/algorithms/gmmPredict.rst  | 21 ++++++++++++
 .../docs/source/api/operator/algorithms/gnmf.rst   | 21 ++++++++++++
 .../source/api/operator/algorithms/gridSearch.rst  | 21 ++++++++++++
 .../operator/algorithms/hospitalResidencyMatch.rst | 21 ++++++++++++
 .../source/api/operator/algorithms/hyperband.rst   | 21 ++++++++++++
 .../api/operator/algorithms/img_brightness.rst     | 21 ++++++++++++
 .../algorithms/img_brightness_linearized.rst       | 21 ++++++++++++
 .../source/api/operator/algorithms/img_crop.rst    | 21 ++++++++++++
 .../operator/algorithms/img_crop_linearized.rst    | 21 ++++++++++++
 .../source/api/operator/algorithms/img_cutout.rst  | 21 ++++++++++++
 .../operator/algorithms/img_cutout_linearized.rst  | 21 ++++++++++++
 .../source/api/operator/algorithms/img_invert.rst  | 21 ++++++++++++
 .../operator/algorithms/img_invert_linearized.rst  | 21 ++++++++++++
 .../source/api/operator/algorithms/img_mirror.rst  | 21 ++++++++++++
 .../operator/algorithms/img_mirror_linearized.rst  | 21 ++++++++++++
 .../api/operator/algorithms/img_posterize.rst      | 21 ++++++++++++
 .../algorithms/img_posterize_linearized.rst        | 21 ++++++++++++
 .../source/api/operator/algorithms/img_rotate.rst  | 21 ++++++++++++
 .../operator/algorithms/img_rotate_linearized.rst  | 21 ++++++++++++
 .../api/operator/algorithms/img_sample_pairing.rst | 21 ++++++++++++
 .../algorithms/img_sample_pairing_linearized.rst   | 21 ++++++++++++
 .../source/api/operator/algorithms/img_shear.rst   | 21 ++++++++++++
 .../operator/algorithms/img_shear_linearized.rst   | 21 ++++++++++++
 .../api/operator/algorithms/img_transform.rst      | 21 ++++++++++++
 .../algorithms/img_transform_linearized.rst        | 21 ++++++++++++
 .../api/operator/algorithms/img_translate.rst      | 21 ++++++++++++
 .../algorithms/img_translate_linearized.rst        | 21 ++++++++++++
 .../api/operator/algorithms/impurityMeasures.rst   | 21 ++++++++++++
 .../source/api/operator/algorithms/imputeByFD.rst  | 21 ++++++++++++
 .../api/operator/algorithms/imputeByFDApply.rst    | 21 ++++++++++++
 .../source/api/operator/algorithms/imputeByKNN.rst | 21 ++++++++++++
 .../api/operator/algorithms/imputeByMean.rst       | 21 ++++++++++++
 .../api/operator/algorithms/imputeByMeanApply.rst  | 21 ++++++++++++
 .../api/operator/algorithms/imputeByMedian.rst     | 21 ++++++++++++
 .../operator/algorithms/imputeByMedianApply.rst    | 21 ++++++++++++
 .../api/operator/algorithms/imputeByMode.rst       | 21 ++++++++++++
 .../api/operator/algorithms/imputeByModeApply.rst  | 21 ++++++++++++
 .../api/operator/algorithms/incSliceLine.rst       | 21 ++++++++++++
 .../source/api/operator/algorithms/intersect.rst   | 21 ++++++++++++
 .../docs/source/api/operator/algorithms/km.rst     | 21 ++++++++++++
 .../docs/source/api/operator/algorithms/kmeans.rst | 21 ++++++++++++
 .../api/operator/algorithms/kmeansPredict.rst      | 21 ++++++++++++
 .../docs/source/api/operator/algorithms/knn.rst    | 21 ++++++++++++
 .../source/api/operator/algorithms/knnGraph.rst    | 21 ++++++++++++
 .../docs/source/api/operator/algorithms/knnbf.rst  | 21 ++++++++++++
 .../docs/source/api/operator/algorithms/l2svm.rst  | 21 ++++++++++++
 .../api/operator/algorithms/l2svmPredict.rst       | 21 ++++++++++++
 .../docs/source/api/operator/algorithms/lasso.rst  | 21 ++++++++++++
 .../api/operator/algorithms/lenetPredict.rst       | 21 ++++++++++++
 .../source/api/operator/algorithms/lenetTrain.rst  | 21 ++++++++++++
 .../docs/source/api/operator/algorithms/lm.rst     | 21 ++++++++++++
 .../docs/source/api/operator/algorithms/lmCG.rst   | 21 ++++++++++++
 .../docs/source/api/operator/algorithms/lmDS.rst   | 21 ++++++++++++
 .../source/api/operator/algorithms/lmPredict.rst   | 21 ++++++++++++
 .../api/operator/algorithms/lmPredictStats.rst     | 21 ++++++++++++
 .../source/api/operator/algorithms/logSumExp.rst   | 21 ++++++++++++
 .../docs/source/api/operator/algorithms/mae.rst    | 21 ++++++++++++
 .../docs/source/api/operator/algorithms/mape.rst   | 21 ++++++++++++
 .../api/operator/algorithms/matrixProfile.rst      | 21 ++++++++++++
 .../docs/source/api/operator/algorithms/mcc.rst    | 21 ++++++++++++
 .../docs/source/api/operator/algorithms/mdedup.rst | 21 ++++++++++++
 .../docs/source/api/operator/algorithms/mice.rst   | 21 ++++++++++++
 .../source/api/operator/algorithms/miceApply.rst   | 21 ++++++++++++
 .../docs/source/api/operator/algorithms/mse.rst    | 21 ++++++++++++
 .../docs/source/api/operator/algorithms/msmape.rst | 21 ++++++++++++
 .../docs/source/api/operator/algorithms/msvm.rst   | 21 ++++++++++++
 .../source/api/operator/algorithms/msvmPredict.rst | 21 ++++++++++++
 .../source/api/operator/algorithms/multiLogReg.rst | 21 ++++++++++++
 .../api/operator/algorithms/multiLogRegPredict.rst | 21 ++++++++++++
 .../source/api/operator/algorithms/na_locf.rst     | 21 ++++++++++++
 .../source/api/operator/algorithms/naiveBayes.rst  | 21 ++++++++++++
 .../api/operator/algorithms/naiveBayesPredict.rst  | 21 ++++++++++++
 .../source/api/operator/algorithms/normalize.rst   | 21 ++++++++++++
 .../api/operator/algorithms/normalizeApply.rst     | 21 ++++++++++++
 .../docs/source/api/operator/algorithms/nrmse.rst  | 21 ++++++++++++
 .../source/api/operator/algorithms/outlier.rst     | 21 ++++++++++++
 .../api/operator/algorithms/outlierByArima.rst     | 21 ++++++++++++
 .../api/operator/algorithms/outlierByIQR.rst       | 21 ++++++++++++
 .../api/operator/algorithms/outlierByIQRApply.rst  | 21 ++++++++++++
 .../source/api/operator/algorithms/outlierBySd.rst | 21 ++++++++++++
 .../api/operator/algorithms/outlierBySdApply.rst   | 21 ++++++++++++
 .../source/api/operator/algorithms/pageRank.rst    | 21 ++++++++++++
 .../docs/source/api/operator/algorithms/pca.rst    | 21 ++++++++++++
 .../source/api/operator/algorithms/pcaInverse.rst  | 21 ++++++++++++
 .../api/operator/algorithms/pcaTransform.rst       | 21 ++++++++++++
 .../docs/source/api/operator/algorithms/pnmf.rst   | 21 ++++++++++++
 .../docs/source/api/operator/algorithms/ppca.rst   | 21 ++++++++++++
 .../docs/source/api/operator/algorithms/psnr.rst   | 21 ++++++++++++
 .../api/operator/algorithms/quantizeByCluster.rst  | 21 ++++++++++++
 .../source/api/operator/algorithms/raGroupby.rst   | 21 ++++++++++++
 .../docs/source/api/operator/algorithms/raJoin.rst | 21 ++++++++++++
 .../source/api/operator/algorithms/raSelection.rst | 21 ++++++++++++
 .../api/operator/algorithms/randomForest.rst       | 21 ++++++++++++
 .../operator/algorithms/randomForestPredict.rst    | 21 ++++++++++++
 .../docs/source/api/operator/algorithms/rmse.rst   | 21 ++++++++++++
 .../docs/source/api/operator/algorithms/scale.rst  | 21 ++++++++++++
 .../source/api/operator/algorithms/scaleApply.rst  | 21 ++++++++++++
 .../source/api/operator/algorithms/scaleMinMax.rst | 21 ++++++++++++
 .../api/operator/algorithms/selectByVarThresh.rst  | 21 ++++++++++++
 .../docs/source/api/operator/algorithms/ses.rst    | 21 ++++++++++++
 .../source/api/operator/algorithms/setdiff.rst     | 21 ++++++++++++
 .../api/operator/algorithms/shapExplainer.rst      | 21 ++++++++++++
 .../source/api/operator/algorithms/sherlock.rst    | 21 ++++++++++++
 .../api/operator/algorithms/sherlockPredict.rst    | 21 ++++++++++++
 .../api/operator/algorithms/shortestPath.rst       | 21 ++++++++++++
 .../source/api/operator/algorithms/sigmoid.rst     | 21 ++++++++++++
 .../source/api/operator/algorithms/skewness.rst    | 21 ++++++++++++
 .../source/api/operator/algorithms/sliceLine.rst   | 21 ++++++++++++
 .../api/operator/algorithms/sliceLineDebug.rst     | 21 ++++++++++++
 .../api/operator/algorithms/sliceLineExtract.rst   | 21 ++++++++++++
 .../source/api/operator/algorithms/slicefinder.rst | 21 ++++++++++++
 .../docs/source/api/operator/algorithms/smape.rst  | 21 ++++++++++++
 .../docs/source/api/operator/algorithms/smote.rst  | 21 ++++++++++++
 .../source/api/operator/algorithms/softmax.rst     | 21 ++++++++++++
 .../docs/source/api/operator/algorithms/split.rst  | 21 ++++++++++++
 .../api/operator/algorithms/splitBalanced.rst      | 21 ++++++++++++
 .../source/api/operator/algorithms/sqrtMatrix.rst  | 21 ++++++++++++
 .../api/operator/algorithms/stableMarriage.rst     | 21 ++++++++++++
 .../source/api/operator/algorithms/statsNA.rst     | 21 ++++++++++++
 .../docs/source/api/operator/algorithms/steplm.rst | 21 ++++++++++++
 .../source/api/operator/algorithms/stratstats.rst  | 21 ++++++++++++
 .../operator/algorithms/symmetricDifference.rst    | 21 ++++++++++++
 .../docs/source/api/operator/algorithms/tSNE.rst   | 21 ++++++++++++
 .../source/api/operator/algorithms/toOneHot.rst    | 21 ++++++++++++
 .../source/api/operator/algorithms/tomeklink.rst   | 21 ++++++++++++
 .../api/operator/algorithms/topk_cleaning.rst      | 21 ++++++++++++
 .../api/operator/algorithms/underSampling.rst      | 21 ++++++++++++
 .../docs/source/api/operator/algorithms/union.rst  | 21 ++++++++++++
 .../docs/source/api/operator/algorithms/univar.rst | 21 ++++++++++++
 .../source/api/operator/algorithms/vectorToCsv.rst | 21 ++++++++++++
 .../docs/source/api/operator/algorithms/wer.rst    | 21 ++++++++++++
 .../source/api/operator/algorithms/winsorize.rst   | 21 ++++++++++++
 .../api/operator/algorithms/winsorizeApply.rst     | 21 ++++++++++++
 .../source/api/operator/algorithms/xdummy1.rst     | 21 ++++++++++++
 .../source/api/operator/algorithms/xdummy2.rst     | 21 ++++++++++++
 .../source/api/operator/algorithms/xgboost.rst     | 21 ++++++++++++
 .../algorithms/xgboostPredictClassification.rst    | 21 ++++++++++++
 .../algorithms/xgboostPredictRegression.rst        | 21 ++++++++++++
 src/main/python/generator/generator.py             | 27 ++++++++-------
 .../resources/template_python_script_rst_license   | 20 ++++++++++++
 .../python/systemds/context/systemds_context.py    |  4 ++-
 src/main/python/tests/algorithms/test_cov.py       |  2 +-
 src/main/python/tests/algorithms/test_gmm.py       |  2 +-
 src/main/python/tests/algorithms/test_kmeans.py    |  2 +-
 src/main/python/tests/algorithms/test_l2svm.py     |  2 +-
 .../python/tests/algorithms/test_multiLogReg.py    |  2 +-
 src/main/python/tests/algorithms/test_pca.py       |  2 +-
 src/main/python/tests/algorithms/test_signal.py    |  2 +-
 src/main/python/tests/algorithms/test_solve.py     |  2 +-
 src/main/python/tests/auto_tests/test_dist.py      |  5 ++-
 .../python/tests/auto_tests/test_img_brightness.py |  5 ++-
 .../auto_tests/test_img_brightness_linearized.py   |  5 ++-
 src/main/python/tests/auto_tests/test_img_crop.py  |  5 ++-
 .../tests/auto_tests/test_img_crop_linearized.py   |  5 ++-
 .../python/tests/auto_tests/test_img_cutout.py     |  5 ++-
 .../tests/auto_tests/test_img_cutout_linearized.py |  5 ++-
 .../python/tests/auto_tests/test_img_invert.py     |  5 ++-
 .../tests/auto_tests/test_img_invert_linearized.py |  5 ++-
 .../python/tests/auto_tests/test_img_mirror.py     |  5 ++-
 .../auto_tests/test_img_mirror_linearized_0.py     |  5 ++-
 .../auto_tests/test_img_mirror_linearized_1.py     |  5 ++-
 .../python/tests/auto_tests/test_img_posterize.py  |  5 ++-
 .../auto_tests/test_img_posterize_linearized.py    |  5 ++-
 .../python/tests/auto_tests/test_img_rotate.py     |  5 ++-
 .../tests/auto_tests/test_img_rotate_linearized.py |  5 ++-
 .../tests/auto_tests/test_img_sample_pairing.py    |  5 ++-
 .../test_img_sample_pairing_linearized.py          |  5 ++-
 src/main/python/tests/auto_tests/test_img_shear.py |  5 ++-
 .../tests/auto_tests/test_img_shear_linearized.py  |  5 ++-
 .../python/tests/auto_tests/test_img_transform.py  |  5 ++-
 .../auto_tests/test_img_transform_linearized.py    |  5 ++-
 .../python/tests/auto_tests/test_img_translate.py  |  5 ++-
 .../auto_tests/test_img_translate_linearized.py    |  5 ++-
 src/main/python/tests/auto_tests/test_lm.py        |  5 ++-
 src/main/python/tests/auto_tests/test_normalize.py |  5 ++-
 .../python/tests/auto_tests/test_randomForest.py   |  5 ++-
 .../tests/auto_tests/test_randomForestPredict.py   |  5 ++-
 src/main/python/tests/auto_tests/test_toOneHot.py  |  5 ++-
 src/main/python/tests/basics/test___str__.py       |  2 +-
 .../python/tests/basics/test_context_creation.py   | 38 +++++++++-------------
 src/main/python/tests/basics/test_context_stats.py |  2 +-
 .../python/tests/examples/tutorials/test_adult.py  |  2 +-
 .../tests/examples/tutorials/test_adult_neural.py  |  2 +-
 .../python/tests/examples/tutorials/test_mnist.py  |  2 +-
 .../tests/federated/test_federated_adult_neural.py |  2 +-
 .../tests/federated/test_federated_aggregations.py |  2 +-
 .../test_federated_aggregations_noHeader.py        |  2 +-
 .../python/tests/federated/test_federated_basic.py |  2 +-
 .../tests/federated/test_federated_matrix_mult.py  |  2 +-
 .../python/tests/federated/test_federated_mnist.py |  2 +-
 .../python/tests/federated/test_federated_read.py  |  2 +-
 src/main/python/tests/frame/test_hyperband.py      |  2 +-
 src/main/python/tests/frame/test_rIndexing.py      |  2 +-
 src/main/python/tests/frame/test_r_c_bind.py       |  2 +-
 src/main/python/tests/frame/test_replace.py        |  2 +-
 src/main/python/tests/frame/test_slice.py          |  2 +-
 .../python/tests/frame/test_transform_apply.py     |  2 +-
 .../python/tests/frame/test_transform_encode.py    |  2 +-
 src/main/python/tests/frame/test_write_read.py     |  2 +-
 .../tests/iotests/test_io_pandas_systemds.py       |  2 +-
 src/main/python/tests/list/test_list.py            |  2 +-
 src/main/python/tests/list/test_list_readwrite.py  |  2 +-
 src/main/python/tests/list/test_list_unknown.py    |  2 +-
 src/main/python/tests/matrix/test_aggregations.py  |  2 +-
 src/main/python/tests/matrix/test_arg_min_max.py   |  4 +--
 src/main/python/tests/matrix/test_binary_op.py     |  2 +-
 .../python/tests/matrix/test_block_converter.py    |  2 +-
 .../tests/matrix/test_block_converter_unix_pipe.py |  4 +--
 src/main/python/tests/matrix/test_casting.py       |  2 +-
 src/main/python/tests/matrix/test_ceil.py          |  2 +-
 src/main/python/tests/matrix/test_cholesky.py      |  2 +-
 src/main/python/tests/matrix/test_cumulative.py    |  2 +-
 src/main/python/tests/matrix/test_diag.py          |  2 +-
 src/main/python/tests/matrix/test_eigen.py         |  2 +-
 src/main/python/tests/matrix/test_exp.py           |  2 +-
 src/main/python/tests/matrix/test_fft.py           |  2 +-
 src/main/python/tests/matrix/test_floor.py         |  2 +-
 src/main/python/tests/matrix/test_inv.py           |  2 +-
 src/main/python/tests/matrix/test_is_special.py    |  2 +-
 src/main/python/tests/matrix/test_log.py           |  2 +-
 src/main/python/tests/matrix/test_lu.py            |  2 +-
 src/main/python/tests/matrix/test_order.py         |  2 +-
 src/main/python/tests/matrix/test_qr.py            |  2 +-
 src/main/python/tests/matrix/test_quantile.py      |  2 +-
 src/main/python/tests/matrix/test_rIndexing.py     |  2 +-
 src/main/python/tests/matrix/test_r_c_bind.py      |  2 +-
 src/main/python/tests/matrix/test_rand.py          |  2 +-
 src/main/python/tests/matrix/test_replace.py       |  2 +-
 src/main/python/tests/matrix/test_reverse.py       |  2 +-
 src/main/python/tests/matrix/test_roll.py          |  2 +-
 src/main/python/tests/matrix/test_sign.py          |  2 +-
 src/main/python/tests/matrix/test_slice.py         |  2 +-
 src/main/python/tests/matrix/test_split.py         |  2 +-
 src/main/python/tests/matrix/test_sqrt.py          |  2 +-
 src/main/python/tests/matrix/test_svd.py           |  2 +-
 src/main/python/tests/matrix/test_to_one_hot.py    |  2 +-
 src/main/python/tests/matrix/test_transpose.py     |  2 +-
 src/main/python/tests/matrix/test_triangular.py    |  2 +-
 src/main/python/tests/matrix/test_trigonometric.py |  2 +-
 src/main/python/tests/matrix/test_unique.py        |  2 +-
 src/main/python/tests/matrix/test_write.py         |  2 +-
 src/main/python/tests/nn/test_affine.py            |  2 +-
 src/main/python/tests/nn/test_layer.py             |  2 +-
 src/main/python/tests/nn/test_neural_network.py    |  2 +-
 src/main/python/tests/nn/test_relu.py              |  2 +-
 src/main/python/tests/nn/test_sequential.py        |  2 +-
 src/main/python/tests/scuro/__init__.py            | 20 ------------
 src/main/python/tests/source/test_source_01.py     |  2 +-
 src/main/python/tests/source/test_source_02.py     |  2 +-
 src/main/python/tests/source/test_source_list.py   |  2 +-
 .../tests/source/test_source_multi_arguments.py    |  2 +-
 .../python/tests/source/test_source_neural_net.py  |  2 +-
 src/main/python/tests/source/test_source_reuse.py  |  2 +-
 .../source/test_source_with_default_values.py      |  3 +-
 314 files changed, 4382 insertions(+), 171 deletions(-)

diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml
index d1865d8a08..0e05dca308 100644
--- a/.github/workflows/python.yml
+++ b/.github/workflows/python.yml
@@ -53,7 +53,7 @@ jobs:
         os: [ubuntu-24.04]
         java: ['17']
         javadist: ['adopt']
-        test_mode: [env, noenv, federated]
+        test_mode: [env, noenv, federated, scuro]
 
     name: ${{ matrix.os }} Java ${{ matrix.java }} ${{ matrix.javadist }} Python ${{ matrix.python-version }}/ ${{ matrix.test_mode}}
     steps:
@@ -150,4 +150,10 @@ jobs:
         cd src/main/python
         ./tests/federated/runFedTest.sh
 
+    - name: Run Scuro Python Tests 
+      if: ${{ matrix.test_mode == 'scuro' }}
+      run: |
+        cd src/main/python
+        python -m unittest discover -s tests/scuro -p 'test_*.py'
+
 
diff --git a/.github/workflows/pythonFormatting.yml b/.github/workflows/pythonFormatting.yml
index c434e31523..532878da1e 100644
--- a/.github/workflows/pythonFormatting.yml
+++ b/.github/workflows/pythonFormatting.yml
@@ -52,5 +52,5 @@ jobs:
 
       - name: Run Black Check
         run: |
-          black --check --exclude operator/algorithm \
+          black --check --exclude '(operator/algorithm/|auto_tests/)' \
           src/main/python/systemds src/main/python/tests
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/WoE.rst b/src/main/python/docs/source/api/operator/algorithms/WoE.rst
index 9712759986..03d4aa0ad0 100644
--- a/src/main/python/docs/source/api/operator/algorithms/WoE.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/WoE.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 WoE
 ===
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/WoEApply.rst b/src/main/python/docs/source/api/operator/algorithms/WoEApply.rst
index 1b612b82bb..0184da7297 100644
--- a/src/main/python/docs/source/api/operator/algorithms/WoEApply.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/WoEApply.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 WoEApply
 ========
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/abstain.rst b/src/main/python/docs/source/api/operator/algorithms/abstain.rst
index dcef879159..7cdd607c99 100644
--- a/src/main/python/docs/source/api/operator/algorithms/abstain.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/abstain.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 abstain
 =======
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/adasyn.rst b/src/main/python/docs/source/api/operator/algorithms/adasyn.rst
index 2876239375..9ba4dad7c8 100644
--- a/src/main/python/docs/source/api/operator/algorithms/adasyn.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/adasyn.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 adasyn
 ======
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/als.rst b/src/main/python/docs/source/api/operator/algorithms/als.rst
index 67ff3426dc..5e1322876c 100644
--- a/src/main/python/docs/source/api/operator/algorithms/als.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/als.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 als
 ===
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/alsCG.rst b/src/main/python/docs/source/api/operator/algorithms/alsCG.rst
index 11407a8cd5..d9372b7983 100644
--- a/src/main/python/docs/source/api/operator/algorithms/alsCG.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/alsCG.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 alsCG
 =====
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/alsDS.rst b/src/main/python/docs/source/api/operator/algorithms/alsDS.rst
index cffde102ce..0f4a6218b1 100644
--- a/src/main/python/docs/source/api/operator/algorithms/alsDS.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/alsDS.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 alsDS
 =====
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/alsPredict.rst b/src/main/python/docs/source/api/operator/algorithms/alsPredict.rst
index 872eeff8d4..86172e95e8 100644
--- a/src/main/python/docs/source/api/operator/algorithms/alsPredict.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/alsPredict.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 alsPredict
 ==========
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/alsTopkPredict.rst b/src/main/python/docs/source/api/operator/algorithms/alsTopkPredict.rst
index f68c5c4e3f..24d9a71d06 100644
--- a/src/main/python/docs/source/api/operator/algorithms/alsTopkPredict.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/alsTopkPredict.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 alsTopkPredict
 ==============
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/ampute.rst b/src/main/python/docs/source/api/operator/algorithms/ampute.rst
index f8b7783ef6..d7975094d8 100644
--- a/src/main/python/docs/source/api/operator/algorithms/ampute.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/ampute.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 ampute
 ======
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/apply_pipeline.rst b/src/main/python/docs/source/api/operator/algorithms/apply_pipeline.rst
index 1af55455da..d70123740a 100644
--- a/src/main/python/docs/source/api/operator/algorithms/apply_pipeline.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/apply_pipeline.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 apply_pipeline
 ==============
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/arima.rst b/src/main/python/docs/source/api/operator/algorithms/arima.rst
index af74a3f85f..21e6c6e97c 100644
--- a/src/main/python/docs/source/api/operator/algorithms/arima.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/arima.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 arima
 =====
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/auc.rst b/src/main/python/docs/source/api/operator/algorithms/auc.rst
index 06457bdb4a..3b58485f6e 100644
--- a/src/main/python/docs/source/api/operator/algorithms/auc.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/auc.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 auc
 ===
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/autoencoder_2layer.rst b/src/main/python/docs/source/api/operator/algorithms/autoencoder_2layer.rst
index fee877e3ab..503a30902b 100644
--- a/src/main/python/docs/source/api/operator/algorithms/autoencoder_2layer.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/autoencoder_2layer.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 autoencoder_2layer
 ==================
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/bandit.rst b/src/main/python/docs/source/api/operator/algorithms/bandit.rst
index 6884f821ce..3e58f19269 100644
--- a/src/main/python/docs/source/api/operator/algorithms/bandit.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/bandit.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 bandit
 ======
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/bivar.rst b/src/main/python/docs/source/api/operator/algorithms/bivar.rst
index 4def7aeac4..87dd37e366 100644
--- a/src/main/python/docs/source/api/operator/algorithms/bivar.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/bivar.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 bivar
 =====
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/components.rst b/src/main/python/docs/source/api/operator/algorithms/components.rst
index e42ca98cf6..372027bf02 100644
--- a/src/main/python/docs/source/api/operator/algorithms/components.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/components.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 components
 ==========
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/confusionMatrix.rst b/src/main/python/docs/source/api/operator/algorithms/confusionMatrix.rst
index 9018952389..4826358aa2 100644
--- a/src/main/python/docs/source/api/operator/algorithms/confusionMatrix.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/confusionMatrix.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 confusionMatrix
 ===============
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/cooccurrenceMatrix.rst b/src/main/python/docs/source/api/operator/algorithms/cooccurrenceMatrix.rst
index d768c2f775..c4121fc6fc 100644
--- a/src/main/python/docs/source/api/operator/algorithms/cooccurrenceMatrix.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/cooccurrenceMatrix.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 cooccurrenceMatrix
 ==================
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/cor.rst b/src/main/python/docs/source/api/operator/algorithms/cor.rst
index 34484d65ce..629392b1ba 100644
--- a/src/main/python/docs/source/api/operator/algorithms/cor.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/cor.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 cor
 ===
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/correctTypos.rst b/src/main/python/docs/source/api/operator/algorithms/correctTypos.rst
index 38a5b7695c..d9d0871672 100644
--- a/src/main/python/docs/source/api/operator/algorithms/correctTypos.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/correctTypos.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 correctTypos
 ============
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/correctTyposApply.rst b/src/main/python/docs/source/api/operator/algorithms/correctTyposApply.rst
index a7f3a77a31..eae28b65a9 100644
--- a/src/main/python/docs/source/api/operator/algorithms/correctTyposApply.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/correctTyposApply.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 correctTyposApply
 =================
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/cox.rst b/src/main/python/docs/source/api/operator/algorithms/cox.rst
index a8cbdf4248..08bf5a4881 100644
--- a/src/main/python/docs/source/api/operator/algorithms/cox.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/cox.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 cox
 ===
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/cspline.rst b/src/main/python/docs/source/api/operator/algorithms/cspline.rst
index 00861c0b63..1643166e9c 100644
--- a/src/main/python/docs/source/api/operator/algorithms/cspline.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/cspline.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 cspline
 =======
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/csplineCG.rst b/src/main/python/docs/source/api/operator/algorithms/csplineCG.rst
index 27785cfd48..ac850209ec 100644
--- a/src/main/python/docs/source/api/operator/algorithms/csplineCG.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/csplineCG.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 csplineCG
 =========
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/csplineDS.rst b/src/main/python/docs/source/api/operator/algorithms/csplineDS.rst
index 01e5a9719f..09823928c0 100644
--- a/src/main/python/docs/source/api/operator/algorithms/csplineDS.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/csplineDS.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 csplineDS
 =========
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/cvlm.rst b/src/main/python/docs/source/api/operator/algorithms/cvlm.rst
index e11cf61aba..e3c98f9f2f 100644
--- a/src/main/python/docs/source/api/operator/algorithms/cvlm.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/cvlm.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 cvlm
 ====
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/dbscan.rst b/src/main/python/docs/source/api/operator/algorithms/dbscan.rst
index 5a72b28bfb..c3facac635 100644
--- a/src/main/python/docs/source/api/operator/algorithms/dbscan.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/dbscan.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 dbscan
 ======
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/dbscanApply.rst b/src/main/python/docs/source/api/operator/algorithms/dbscanApply.rst
index 57b52e92ae..09b3ad3ca6 100644
--- a/src/main/python/docs/source/api/operator/algorithms/dbscanApply.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/dbscanApply.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 dbscanApply
 ===========
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/decisionTree.rst b/src/main/python/docs/source/api/operator/algorithms/decisionTree.rst
index 39b871ddb9..7b31de0ca7 100644
--- a/src/main/python/docs/source/api/operator/algorithms/decisionTree.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/decisionTree.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 decisionTree
 ============
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/decisionTreePredict.rst b/src/main/python/docs/source/api/operator/algorithms/decisionTreePredict.rst
index c2cadd0df3..3af6105568 100644
--- a/src/main/python/docs/source/api/operator/algorithms/decisionTreePredict.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/decisionTreePredict.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 decisionTreePredict
 ===================
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/dedup.rst b/src/main/python/docs/source/api/operator/algorithms/dedup.rst
new file mode 100644
index 0000000000..0607d08001
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/dedup.rst
@@ -0,0 +1,25 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
+dedup
+=====
+
+.. autofunction:: systemds.operator.algorithm.dedup
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/deepWalk.rst b/src/main/python/docs/source/api/operator/algorithms/deepWalk.rst
index 48a60442bd..a86c6b7fef 100644
--- a/src/main/python/docs/source/api/operator/algorithms/deepWalk.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/deepWalk.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 deepWalk
 ========
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/denialConstraints.rst b/src/main/python/docs/source/api/operator/algorithms/denialConstraints.rst
index 6f9580b5ed..0de31cd746 100644
--- a/src/main/python/docs/source/api/operator/algorithms/denialConstraints.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/denialConstraints.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 denialConstraints
 =================
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/differenceStatistics.rst b/src/main/python/docs/source/api/operator/algorithms/differenceStatistics.rst
index bd5eff6c47..ee528f2063 100644
--- a/src/main/python/docs/source/api/operator/algorithms/differenceStatistics.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/differenceStatistics.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 differenceStatistics
 ====================
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/discoverFD.rst b/src/main/python/docs/source/api/operator/algorithms/discoverFD.rst
index acb39f63b0..ba43397f8e 100644
--- a/src/main/python/docs/source/api/operator/algorithms/discoverFD.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/discoverFD.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 discoverFD
 ==========
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/dist.rst b/src/main/python/docs/source/api/operator/algorithms/dist.rst
index 048d11444e..bd81e7ba87 100644
--- a/src/main/python/docs/source/api/operator/algorithms/dist.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/dist.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 dist
 ====
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/dmv.rst b/src/main/python/docs/source/api/operator/algorithms/dmv.rst
index c01e47ea63..e1da1bbc69 100644
--- a/src/main/python/docs/source/api/operator/algorithms/dmv.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/dmv.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 dmv
 ===
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/ema.rst b/src/main/python/docs/source/api/operator/algorithms/ema.rst
index 1fab50bc65..030ccc3176 100644
--- a/src/main/python/docs/source/api/operator/algorithms/ema.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/ema.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 ema
 ===
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/executePipeline.rst b/src/main/python/docs/source/api/operator/algorithms/executePipeline.rst
index e06fc6e96b..6f6dd9ec5b 100644
--- a/src/main/python/docs/source/api/operator/algorithms/executePipeline.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/executePipeline.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 executePipeline
 ===============
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/f1Score.rst b/src/main/python/docs/source/api/operator/algorithms/f1Score.rst
index fe436fc41b..a4dcdd1ce3 100644
--- a/src/main/python/docs/source/api/operator/algorithms/f1Score.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/f1Score.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 f1Score
 =======
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/fdr.rst b/src/main/python/docs/source/api/operator/algorithms/fdr.rst
index a776cfa305..8a8e0f5487 100644
--- a/src/main/python/docs/source/api/operator/algorithms/fdr.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/fdr.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 fdr
 ===
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/ffPredict.rst b/src/main/python/docs/source/api/operator/algorithms/ffPredict.rst
index 9772e15959..3ce1573be7 100644
--- a/src/main/python/docs/source/api/operator/algorithms/ffPredict.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/ffPredict.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 ffPredict
 =========
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/ffTrain.rst b/src/main/python/docs/source/api/operator/algorithms/ffTrain.rst
index 8e2b14ddfe..0f2198587d 100644
--- a/src/main/python/docs/source/api/operator/algorithms/ffTrain.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/ffTrain.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 ffTrain
 =======
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/fit_pipeline.rst b/src/main/python/docs/source/api/operator/algorithms/fit_pipeline.rst
index d3d32e880c..c86cab8300 100644
--- a/src/main/python/docs/source/api/operator/algorithms/fit_pipeline.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/fit_pipeline.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 fit_pipeline
 ============
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/fixInvalidLengths.rst b/src/main/python/docs/source/api/operator/algorithms/fixInvalidLengths.rst
index 31b0cd1233..b8dcf1e126 100644
--- a/src/main/python/docs/source/api/operator/algorithms/fixInvalidLengths.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/fixInvalidLengths.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 fixInvalidLengths
 =================
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/fixInvalidLengthsApply.rst b/src/main/python/docs/source/api/operator/algorithms/fixInvalidLengthsApply.rst
index 95e5802fb3..c5123cea8e 100644
--- a/src/main/python/docs/source/api/operator/algorithms/fixInvalidLengthsApply.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/fixInvalidLengthsApply.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 fixInvalidLengthsApply
 ======================
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/flattenQuantile.rst b/src/main/python/docs/source/api/operator/algorithms/flattenQuantile.rst
index e6fffa7140..19e5d50b68 100644
--- a/src/main/python/docs/source/api/operator/algorithms/flattenQuantile.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/flattenQuantile.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 flattenQuantile
 ===============
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/frameSort.rst b/src/main/python/docs/source/api/operator/algorithms/frameSort.rst
index 87ee40c035..8ccf233f7f 100644
--- a/src/main/python/docs/source/api/operator/algorithms/frameSort.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/frameSort.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 frameSort
 =========
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/frequencyEncode.rst b/src/main/python/docs/source/api/operator/algorithms/frequencyEncode.rst
index e54e934d0c..3f3c858fd9 100644
--- a/src/main/python/docs/source/api/operator/algorithms/frequencyEncode.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/frequencyEncode.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 frequencyEncode
 ===============
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/frequencyEncodeApply.rst b/src/main/python/docs/source/api/operator/algorithms/frequencyEncodeApply.rst
index db4d94e92b..d9007d14bf 100644
--- a/src/main/python/docs/source/api/operator/algorithms/frequencyEncodeApply.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/frequencyEncodeApply.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 frequencyEncodeApply
 ====================
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/garch.rst b/src/main/python/docs/source/api/operator/algorithms/garch.rst
index 0c605ab8a3..0f6ab5086f 100644
--- a/src/main/python/docs/source/api/operator/algorithms/garch.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/garch.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 garch
 =====
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/gaussianClassifier.rst b/src/main/python/docs/source/api/operator/algorithms/gaussianClassifier.rst
index e202cefae8..326ce63fef 100644
--- a/src/main/python/docs/source/api/operator/algorithms/gaussianClassifier.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/gaussianClassifier.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 gaussianClassifier
 ==================
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/getAccuracy.rst b/src/main/python/docs/source/api/operator/algorithms/getAccuracy.rst
index da9b573d3d..5926434508 100644
--- a/src/main/python/docs/source/api/operator/algorithms/getAccuracy.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/getAccuracy.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 getAccuracy
 ===========
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/glm.rst b/src/main/python/docs/source/api/operator/algorithms/glm.rst
index 44a40c2a06..f728f256d2 100644
--- a/src/main/python/docs/source/api/operator/algorithms/glm.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/glm.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 glm
 ===
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/glmPredict.rst b/src/main/python/docs/source/api/operator/algorithms/glmPredict.rst
index 556ac2bbc4..75ed267462 100644
--- a/src/main/python/docs/source/api/operator/algorithms/glmPredict.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/glmPredict.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 glmPredict
 ==========
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/glove.rst b/src/main/python/docs/source/api/operator/algorithms/glove.rst
index e578875378..0757b8ad7c 100644
--- a/src/main/python/docs/source/api/operator/algorithms/glove.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/glove.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 glove
 =====
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/gmm.rst b/src/main/python/docs/source/api/operator/algorithms/gmm.rst
index 081f197ffa..784f8c5170 100644
--- a/src/main/python/docs/source/api/operator/algorithms/gmm.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/gmm.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 gmm
 ===
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/gmmPredict.rst b/src/main/python/docs/source/api/operator/algorithms/gmmPredict.rst
index 9dd34ee83b..fcaf4bb809 100644
--- a/src/main/python/docs/source/api/operator/algorithms/gmmPredict.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/gmmPredict.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 gmmPredict
 ==========
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/gnmf.rst b/src/main/python/docs/source/api/operator/algorithms/gnmf.rst
index 2a7295d9da..3e95fdc00c 100644
--- a/src/main/python/docs/source/api/operator/algorithms/gnmf.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/gnmf.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 gnmf
 ====
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/gridSearch.rst b/src/main/python/docs/source/api/operator/algorithms/gridSearch.rst
index b59e437004..f454bbb495 100644
--- a/src/main/python/docs/source/api/operator/algorithms/gridSearch.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/gridSearch.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 gridSearch
 ==========
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/hospitalResidencyMatch.rst b/src/main/python/docs/source/api/operator/algorithms/hospitalResidencyMatch.rst
index 92d798e644..4720a98de5 100644
--- a/src/main/python/docs/source/api/operator/algorithms/hospitalResidencyMatch.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/hospitalResidencyMatch.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 hospitalResidencyMatch
 ======================
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/hyperband.rst b/src/main/python/docs/source/api/operator/algorithms/hyperband.rst
index 270fd16601..bb6f9a9034 100644
--- a/src/main/python/docs/source/api/operator/algorithms/hyperband.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/hyperband.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 hyperband
 =========
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/img_brightness.rst b/src/main/python/docs/source/api/operator/algorithms/img_brightness.rst
index b43686296b..7bcd421ede 100644
--- a/src/main/python/docs/source/api/operator/algorithms/img_brightness.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/img_brightness.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 img_brightness
 ==============
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/img_brightness_linearized.rst b/src/main/python/docs/source/api/operator/algorithms/img_brightness_linearized.rst
index a0ac5c1ea7..fe7005d5e2 100644
--- a/src/main/python/docs/source/api/operator/algorithms/img_brightness_linearized.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/img_brightness_linearized.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 img_brightness_linearized
 =========================
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/img_crop.rst b/src/main/python/docs/source/api/operator/algorithms/img_crop.rst
index eab6bb2a07..a72b491708 100644
--- a/src/main/python/docs/source/api/operator/algorithms/img_crop.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/img_crop.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 img_crop
 ========
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/img_crop_linearized.rst b/src/main/python/docs/source/api/operator/algorithms/img_crop_linearized.rst
index e19d3a70a8..b69e7bac8c 100644
--- a/src/main/python/docs/source/api/operator/algorithms/img_crop_linearized.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/img_crop_linearized.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 img_crop_linearized
 ===================
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/img_cutout.rst b/src/main/python/docs/source/api/operator/algorithms/img_cutout.rst
index b9b5e8467c..5497282eaf 100644
--- a/src/main/python/docs/source/api/operator/algorithms/img_cutout.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/img_cutout.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 img_cutout
 ==========
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/img_cutout_linearized.rst b/src/main/python/docs/source/api/operator/algorithms/img_cutout_linearized.rst
index 7ce7c76b1d..0296819f30 100644
--- a/src/main/python/docs/source/api/operator/algorithms/img_cutout_linearized.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/img_cutout_linearized.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 img_cutout_linearized
 =====================
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/img_invert.rst b/src/main/python/docs/source/api/operator/algorithms/img_invert.rst
index be0af11a5a..1fe136b8f9 100644
--- a/src/main/python/docs/source/api/operator/algorithms/img_invert.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/img_invert.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 img_invert
 ==========
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/img_invert_linearized.rst b/src/main/python/docs/source/api/operator/algorithms/img_invert_linearized.rst
index 8d0a6cf520..ec225cf20b 100644
--- a/src/main/python/docs/source/api/operator/algorithms/img_invert_linearized.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/img_invert_linearized.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 img_invert_linearized
 =====================
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/img_mirror.rst b/src/main/python/docs/source/api/operator/algorithms/img_mirror.rst
index d1d31fba23..08273fa9f0 100644
--- a/src/main/python/docs/source/api/operator/algorithms/img_mirror.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/img_mirror.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 img_mirror
 ==========
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/img_mirror_linearized.rst b/src/main/python/docs/source/api/operator/algorithms/img_mirror_linearized.rst
index 56076e239f..1b6135d4e4 100644
--- a/src/main/python/docs/source/api/operator/algorithms/img_mirror_linearized.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/img_mirror_linearized.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 img_mirror_linearized
 =====================
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/img_posterize.rst b/src/main/python/docs/source/api/operator/algorithms/img_posterize.rst
index d2db21b114..916a177964 100644
--- a/src/main/python/docs/source/api/operator/algorithms/img_posterize.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/img_posterize.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 img_posterize
 =============
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/img_posterize_linearized.rst b/src/main/python/docs/source/api/operator/algorithms/img_posterize_linearized.rst
index debac6d54d..77c1dd3ac9 100644
--- a/src/main/python/docs/source/api/operator/algorithms/img_posterize_linearized.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/img_posterize_linearized.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 img_posterize_linearized
 ========================
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/img_rotate.rst b/src/main/python/docs/source/api/operator/algorithms/img_rotate.rst
index fca9801b32..aa005e3bc4 100644
--- a/src/main/python/docs/source/api/operator/algorithms/img_rotate.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/img_rotate.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 img_rotate
 ==========
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/img_rotate_linearized.rst b/src/main/python/docs/source/api/operator/algorithms/img_rotate_linearized.rst
index f40f086f84..2a758e01f8 100644
--- a/src/main/python/docs/source/api/operator/algorithms/img_rotate_linearized.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/img_rotate_linearized.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 img_rotate_linearized
 =====================
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/img_sample_pairing.rst b/src/main/python/docs/source/api/operator/algorithms/img_sample_pairing.rst
index 7de25f74b5..8d986115f1 100644
--- a/src/main/python/docs/source/api/operator/algorithms/img_sample_pairing.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/img_sample_pairing.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 img_sample_pairing
 ==================
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/img_sample_pairing_linearized.rst b/src/main/python/docs/source/api/operator/algorithms/img_sample_pairing_linearized.rst
index 8cfd5a1873..872be83c35 100644
--- a/src/main/python/docs/source/api/operator/algorithms/img_sample_pairing_linearized.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/img_sample_pairing_linearized.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 img_sample_pairing_linearized
 =============================
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/img_shear.rst b/src/main/python/docs/source/api/operator/algorithms/img_shear.rst
index 8c8144d461..267e655e35 100644
--- a/src/main/python/docs/source/api/operator/algorithms/img_shear.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/img_shear.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 img_shear
 =========
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/img_shear_linearized.rst b/src/main/python/docs/source/api/operator/algorithms/img_shear_linearized.rst
index 8907f6a90b..451b47c9cd 100644
--- a/src/main/python/docs/source/api/operator/algorithms/img_shear_linearized.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/img_shear_linearized.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 img_shear_linearized
 ====================
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/img_transform.rst b/src/main/python/docs/source/api/operator/algorithms/img_transform.rst
index 6bb4676270..d31c187e97 100644
--- a/src/main/python/docs/source/api/operator/algorithms/img_transform.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/img_transform.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 img_transform
 =============
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/img_transform_linearized.rst b/src/main/python/docs/source/api/operator/algorithms/img_transform_linearized.rst
index 16d043af9b..0bd10770c9 100644
--- a/src/main/python/docs/source/api/operator/algorithms/img_transform_linearized.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/img_transform_linearized.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 img_transform_linearized
 ========================
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/img_translate.rst b/src/main/python/docs/source/api/operator/algorithms/img_translate.rst
index 8b5952f8d0..291eba3535 100644
--- a/src/main/python/docs/source/api/operator/algorithms/img_translate.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/img_translate.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 img_translate
 =============
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/img_translate_linearized.rst b/src/main/python/docs/source/api/operator/algorithms/img_translate_linearized.rst
index 02f0ac813d..8ed3d67486 100644
--- a/src/main/python/docs/source/api/operator/algorithms/img_translate_linearized.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/img_translate_linearized.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 img_translate_linearized
 ========================
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/impurityMeasures.rst b/src/main/python/docs/source/api/operator/algorithms/impurityMeasures.rst
index bbb6460a20..a677a25267 100644
--- a/src/main/python/docs/source/api/operator/algorithms/impurityMeasures.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/impurityMeasures.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 impurityMeasures
 ================
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/imputeByFD.rst b/src/main/python/docs/source/api/operator/algorithms/imputeByFD.rst
index f2378547e2..e21a6c03fa 100644
--- a/src/main/python/docs/source/api/operator/algorithms/imputeByFD.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/imputeByFD.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 imputeByFD
 ==========
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/imputeByFDApply.rst b/src/main/python/docs/source/api/operator/algorithms/imputeByFDApply.rst
index 90d7b52601..1694f00a73 100644
--- a/src/main/python/docs/source/api/operator/algorithms/imputeByFDApply.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/imputeByFDApply.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 imputeByFDApply
 ===============
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/imputeByKNN.rst b/src/main/python/docs/source/api/operator/algorithms/imputeByKNN.rst
index 3f2e21eb59..abdab8c549 100644
--- a/src/main/python/docs/source/api/operator/algorithms/imputeByKNN.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/imputeByKNN.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 imputeByKNN
 ===========
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/imputeByMean.rst b/src/main/python/docs/source/api/operator/algorithms/imputeByMean.rst
index cf7f4dc128..97b167c1d7 100644
--- a/src/main/python/docs/source/api/operator/algorithms/imputeByMean.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/imputeByMean.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 imputeByMean
 ============
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/imputeByMeanApply.rst b/src/main/python/docs/source/api/operator/algorithms/imputeByMeanApply.rst
index 688b48db94..3627e29ba9 100644
--- a/src/main/python/docs/source/api/operator/algorithms/imputeByMeanApply.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/imputeByMeanApply.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 imputeByMeanApply
 =================
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/imputeByMedian.rst b/src/main/python/docs/source/api/operator/algorithms/imputeByMedian.rst
index a6762253de..6c02c2afcc 100644
--- a/src/main/python/docs/source/api/operator/algorithms/imputeByMedian.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/imputeByMedian.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 imputeByMedian
 ==============
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/imputeByMedianApply.rst b/src/main/python/docs/source/api/operator/algorithms/imputeByMedianApply.rst
index a6513410a3..1218387ae6 100644
--- a/src/main/python/docs/source/api/operator/algorithms/imputeByMedianApply.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/imputeByMedianApply.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 imputeByMedianApply
 ===================
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/imputeByMode.rst b/src/main/python/docs/source/api/operator/algorithms/imputeByMode.rst
index 817ec471d2..a8b4f85502 100644
--- a/src/main/python/docs/source/api/operator/algorithms/imputeByMode.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/imputeByMode.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 imputeByMode
 ============
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/imputeByModeApply.rst b/src/main/python/docs/source/api/operator/algorithms/imputeByModeApply.rst
index b7c78a9589..a73b27fd9e 100644
--- a/src/main/python/docs/source/api/operator/algorithms/imputeByModeApply.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/imputeByModeApply.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 imputeByModeApply
 =================
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/incSliceLine.rst b/src/main/python/docs/source/api/operator/algorithms/incSliceLine.rst
index da2c1f58de..8749fdb686 100644
--- a/src/main/python/docs/source/api/operator/algorithms/incSliceLine.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/incSliceLine.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 incSliceLine
 ============
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/intersect.rst b/src/main/python/docs/source/api/operator/algorithms/intersect.rst
index 762d68708b..13a5029db2 100644
--- a/src/main/python/docs/source/api/operator/algorithms/intersect.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/intersect.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 intersect
 =========
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/km.rst b/src/main/python/docs/source/api/operator/algorithms/km.rst
index 8392789508..37cfecc96a 100644
--- a/src/main/python/docs/source/api/operator/algorithms/km.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/km.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 km
 ==
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/kmeans.rst b/src/main/python/docs/source/api/operator/algorithms/kmeans.rst
index 7f4d1a9259..47980528d5 100644
--- a/src/main/python/docs/source/api/operator/algorithms/kmeans.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/kmeans.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 kmeans
 ======
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/kmeansPredict.rst b/src/main/python/docs/source/api/operator/algorithms/kmeansPredict.rst
index b0832ee485..c99ebb119c 100644
--- a/src/main/python/docs/source/api/operator/algorithms/kmeansPredict.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/kmeansPredict.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 kmeansPredict
 =============
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/knn.rst b/src/main/python/docs/source/api/operator/algorithms/knn.rst
index c9bc1ed67d..ab17b2f98d 100644
--- a/src/main/python/docs/source/api/operator/algorithms/knn.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/knn.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 knn
 ===
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/knnGraph.rst b/src/main/python/docs/source/api/operator/algorithms/knnGraph.rst
index 19c9c7adc2..5e0f3a98bf 100644
--- a/src/main/python/docs/source/api/operator/algorithms/knnGraph.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/knnGraph.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 knnGraph
 ========
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/knnbf.rst b/src/main/python/docs/source/api/operator/algorithms/knnbf.rst
index 098af73b36..cec6d981af 100644
--- a/src/main/python/docs/source/api/operator/algorithms/knnbf.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/knnbf.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 knnbf
 =====
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/l2svm.rst b/src/main/python/docs/source/api/operator/algorithms/l2svm.rst
index ab8155faaa..3b3dec6ec4 100644
--- a/src/main/python/docs/source/api/operator/algorithms/l2svm.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/l2svm.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 l2svm
 =====
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/l2svmPredict.rst b/src/main/python/docs/source/api/operator/algorithms/l2svmPredict.rst
index 0aede20fcb..b8a0c38aef 100644
--- a/src/main/python/docs/source/api/operator/algorithms/l2svmPredict.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/l2svmPredict.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 l2svmPredict
 ============
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/lasso.rst b/src/main/python/docs/source/api/operator/algorithms/lasso.rst
index c4d8f49093..af9f28cce8 100644
--- a/src/main/python/docs/source/api/operator/algorithms/lasso.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/lasso.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 lasso
 =====
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/lenetPredict.rst b/src/main/python/docs/source/api/operator/algorithms/lenetPredict.rst
index f7ca6d4cfa..662ef797c2 100644
--- a/src/main/python/docs/source/api/operator/algorithms/lenetPredict.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/lenetPredict.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 lenetPredict
 ============
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/lenetTrain.rst b/src/main/python/docs/source/api/operator/algorithms/lenetTrain.rst
index 59a1463290..8255a2169b 100644
--- a/src/main/python/docs/source/api/operator/algorithms/lenetTrain.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/lenetTrain.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 lenetTrain
 ==========
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/lm.rst b/src/main/python/docs/source/api/operator/algorithms/lm.rst
index 50eded5883..5dd8ac1594 100644
--- a/src/main/python/docs/source/api/operator/algorithms/lm.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/lm.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 lm
 ==
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/lmCG.rst b/src/main/python/docs/source/api/operator/algorithms/lmCG.rst
index e0242f1377..d5c854f82f 100644
--- a/src/main/python/docs/source/api/operator/algorithms/lmCG.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/lmCG.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 lmCG
 ====
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/lmDS.rst b/src/main/python/docs/source/api/operator/algorithms/lmDS.rst
index 52255a9310..35bb9fa14c 100644
--- a/src/main/python/docs/source/api/operator/algorithms/lmDS.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/lmDS.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 lmDS
 ====
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/lmPredict.rst b/src/main/python/docs/source/api/operator/algorithms/lmPredict.rst
index a7179cb84e..306d89fe06 100644
--- a/src/main/python/docs/source/api/operator/algorithms/lmPredict.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/lmPredict.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 lmPredict
 =========
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/lmPredictStats.rst b/src/main/python/docs/source/api/operator/algorithms/lmPredictStats.rst
index 984fd90730..37e9e3f4aa 100644
--- a/src/main/python/docs/source/api/operator/algorithms/lmPredictStats.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/lmPredictStats.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 lmPredictStats
 ==============
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/logSumExp.rst b/src/main/python/docs/source/api/operator/algorithms/logSumExp.rst
index aea539ced3..e5a182f0a7 100644
--- a/src/main/python/docs/source/api/operator/algorithms/logSumExp.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/logSumExp.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 logSumExp
 =========
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/mae.rst b/src/main/python/docs/source/api/operator/algorithms/mae.rst
index 36094918d8..2d5e547096 100644
--- a/src/main/python/docs/source/api/operator/algorithms/mae.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/mae.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 mae
 ===
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/mape.rst b/src/main/python/docs/source/api/operator/algorithms/mape.rst
index a2284debb8..7205b96e2a 100644
--- a/src/main/python/docs/source/api/operator/algorithms/mape.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/mape.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 mape
 ====
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/matrixProfile.rst b/src/main/python/docs/source/api/operator/algorithms/matrixProfile.rst
index 6dd5b4a7dd..2aa519f7b7 100644
--- a/src/main/python/docs/source/api/operator/algorithms/matrixProfile.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/matrixProfile.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 matrixProfile
 =============
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/mcc.rst b/src/main/python/docs/source/api/operator/algorithms/mcc.rst
index 918f849be8..4cc9184277 100644
--- a/src/main/python/docs/source/api/operator/algorithms/mcc.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/mcc.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 mcc
 ===
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/mdedup.rst b/src/main/python/docs/source/api/operator/algorithms/mdedup.rst
index 88fd7ed5be..e03b4e5717 100644
--- a/src/main/python/docs/source/api/operator/algorithms/mdedup.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/mdedup.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 mdedup
 ======
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/mice.rst b/src/main/python/docs/source/api/operator/algorithms/mice.rst
index 429337e782..da6da26acb 100644
--- a/src/main/python/docs/source/api/operator/algorithms/mice.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/mice.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 mice
 ====
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/miceApply.rst b/src/main/python/docs/source/api/operator/algorithms/miceApply.rst
index 2ecc09a5c2..9fce2990b5 100644
--- a/src/main/python/docs/source/api/operator/algorithms/miceApply.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/miceApply.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 miceApply
 =========
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/mse.rst b/src/main/python/docs/source/api/operator/algorithms/mse.rst
index b739bbda38..60e4e70bcf 100644
--- a/src/main/python/docs/source/api/operator/algorithms/mse.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/mse.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 mse
 ===
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/msmape.rst b/src/main/python/docs/source/api/operator/algorithms/msmape.rst
index b71f226d93..ffe45ad872 100644
--- a/src/main/python/docs/source/api/operator/algorithms/msmape.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/msmape.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 msmape
 ======
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/msvm.rst b/src/main/python/docs/source/api/operator/algorithms/msvm.rst
index 744f0b3dd7..a9d83d797c 100644
--- a/src/main/python/docs/source/api/operator/algorithms/msvm.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/msvm.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 msvm
 ====
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/msvmPredict.rst b/src/main/python/docs/source/api/operator/algorithms/msvmPredict.rst
index 7900af7168..daf745369d 100644
--- a/src/main/python/docs/source/api/operator/algorithms/msvmPredict.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/msvmPredict.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 msvmPredict
 ===========
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/multiLogReg.rst b/src/main/python/docs/source/api/operator/algorithms/multiLogReg.rst
index 603271a702..d4994f8cff 100644
--- a/src/main/python/docs/source/api/operator/algorithms/multiLogReg.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/multiLogReg.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 multiLogReg
 ===========
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/multiLogRegPredict.rst b/src/main/python/docs/source/api/operator/algorithms/multiLogRegPredict.rst
index edaf7f8305..2276e805af 100644
--- a/src/main/python/docs/source/api/operator/algorithms/multiLogRegPredict.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/multiLogRegPredict.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 multiLogRegPredict
 ==================
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/na_locf.rst b/src/main/python/docs/source/api/operator/algorithms/na_locf.rst
index bc1c11bbc1..12c0549537 100644
--- a/src/main/python/docs/source/api/operator/algorithms/na_locf.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/na_locf.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 na_locf
 =======
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/naiveBayes.rst b/src/main/python/docs/source/api/operator/algorithms/naiveBayes.rst
index 0dcd81e0e2..e638554805 100644
--- a/src/main/python/docs/source/api/operator/algorithms/naiveBayes.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/naiveBayes.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 naiveBayes
 ==========
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/naiveBayesPredict.rst b/src/main/python/docs/source/api/operator/algorithms/naiveBayesPredict.rst
index 96882aea3d..d20c87e4bf 100644
--- a/src/main/python/docs/source/api/operator/algorithms/naiveBayesPredict.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/naiveBayesPredict.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 naiveBayesPredict
 =================
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/normalize.rst b/src/main/python/docs/source/api/operator/algorithms/normalize.rst
index 10ebc62538..959fa7368b 100644
--- a/src/main/python/docs/source/api/operator/algorithms/normalize.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/normalize.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 normalize
 =========
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/normalizeApply.rst b/src/main/python/docs/source/api/operator/algorithms/normalizeApply.rst
index cc42b36e95..3559eb622b 100644
--- a/src/main/python/docs/source/api/operator/algorithms/normalizeApply.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/normalizeApply.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 normalizeApply
 ==============
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/nrmse.rst b/src/main/python/docs/source/api/operator/algorithms/nrmse.rst
index ad189fa080..5049a0cc48 100644
--- a/src/main/python/docs/source/api/operator/algorithms/nrmse.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/nrmse.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 nrmse
 =====
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/outlier.rst b/src/main/python/docs/source/api/operator/algorithms/outlier.rst
index e79c68e3a3..6b076100e3 100644
--- a/src/main/python/docs/source/api/operator/algorithms/outlier.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/outlier.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 outlier
 =======
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/outlierByArima.rst b/src/main/python/docs/source/api/operator/algorithms/outlierByArima.rst
index 7ea56086d3..d9d71341ce 100644
--- a/src/main/python/docs/source/api/operator/algorithms/outlierByArima.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/outlierByArima.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 outlierByArima
 ==============
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/outlierByIQR.rst b/src/main/python/docs/source/api/operator/algorithms/outlierByIQR.rst
index fe62f01994..e92c615331 100644
--- a/src/main/python/docs/source/api/operator/algorithms/outlierByIQR.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/outlierByIQR.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 outlierByIQR
 ============
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/outlierByIQRApply.rst b/src/main/python/docs/source/api/operator/algorithms/outlierByIQRApply.rst
index 2681463d05..6cd11e3a5b 100644
--- a/src/main/python/docs/source/api/operator/algorithms/outlierByIQRApply.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/outlierByIQRApply.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 outlierByIQRApply
 =================
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/outlierBySd.rst b/src/main/python/docs/source/api/operator/algorithms/outlierBySd.rst
index bf7a66cf0d..8b919e658b 100644
--- a/src/main/python/docs/source/api/operator/algorithms/outlierBySd.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/outlierBySd.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 outlierBySd
 ===========
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/outlierBySdApply.rst b/src/main/python/docs/source/api/operator/algorithms/outlierBySdApply.rst
index ed34b6b6d2..e26e031636 100644
--- a/src/main/python/docs/source/api/operator/algorithms/outlierBySdApply.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/outlierBySdApply.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 outlierBySdApply
 ================
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/pageRank.rst b/src/main/python/docs/source/api/operator/algorithms/pageRank.rst
index f1bedc8419..418782e901 100644
--- a/src/main/python/docs/source/api/operator/algorithms/pageRank.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/pageRank.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 pageRank
 ========
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/pca.rst b/src/main/python/docs/source/api/operator/algorithms/pca.rst
index 1eda6ee503..a3e0a86f45 100644
--- a/src/main/python/docs/source/api/operator/algorithms/pca.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/pca.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 pca
 ===
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/pcaInverse.rst b/src/main/python/docs/source/api/operator/algorithms/pcaInverse.rst
index 6cc0cf1bff..bc077dec69 100644
--- a/src/main/python/docs/source/api/operator/algorithms/pcaInverse.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/pcaInverse.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 pcaInverse
 ==========
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/pcaTransform.rst b/src/main/python/docs/source/api/operator/algorithms/pcaTransform.rst
index f78df2e465..f4e99ea1bf 100644
--- a/src/main/python/docs/source/api/operator/algorithms/pcaTransform.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/pcaTransform.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 pcaTransform
 ============
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/pnmf.rst b/src/main/python/docs/source/api/operator/algorithms/pnmf.rst
index 1dd0dcb367..20d4379c61 100644
--- a/src/main/python/docs/source/api/operator/algorithms/pnmf.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/pnmf.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 pnmf
 ====
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/ppca.rst b/src/main/python/docs/source/api/operator/algorithms/ppca.rst
index 38e6f4468b..080d160567 100644
--- a/src/main/python/docs/source/api/operator/algorithms/ppca.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/ppca.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 ppca
 ====
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/psnr.rst b/src/main/python/docs/source/api/operator/algorithms/psnr.rst
index c16bb02613..9c4d6e956d 100644
--- a/src/main/python/docs/source/api/operator/algorithms/psnr.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/psnr.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 psnr
 ====
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/quantizeByCluster.rst b/src/main/python/docs/source/api/operator/algorithms/quantizeByCluster.rst
index 1d4edf6d0d..edc1b0622b 100644
--- a/src/main/python/docs/source/api/operator/algorithms/quantizeByCluster.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/quantizeByCluster.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 quantizeByCluster
 =================
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/raGroupby.rst b/src/main/python/docs/source/api/operator/algorithms/raGroupby.rst
index bdf7bc9294..eca208c273 100644
--- a/src/main/python/docs/source/api/operator/algorithms/raGroupby.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/raGroupby.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 raGroupby
 =========
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/raJoin.rst b/src/main/python/docs/source/api/operator/algorithms/raJoin.rst
index f26d443fdb..6919124185 100644
--- a/src/main/python/docs/source/api/operator/algorithms/raJoin.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/raJoin.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 raJoin
 ======
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/raSelection.rst b/src/main/python/docs/source/api/operator/algorithms/raSelection.rst
index 7ce2f3805e..3d02704d99 100644
--- a/src/main/python/docs/source/api/operator/algorithms/raSelection.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/raSelection.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 raSelection
 ===========
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/randomForest.rst b/src/main/python/docs/source/api/operator/algorithms/randomForest.rst
index e38646fabc..cea42410fd 100644
--- a/src/main/python/docs/source/api/operator/algorithms/randomForest.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/randomForest.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 randomForest
 ============
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/randomForestPredict.rst b/src/main/python/docs/source/api/operator/algorithms/randomForestPredict.rst
index e49e104980..5b05e584f6 100644
--- a/src/main/python/docs/source/api/operator/algorithms/randomForestPredict.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/randomForestPredict.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 randomForestPredict
 ===================
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/rmse.rst b/src/main/python/docs/source/api/operator/algorithms/rmse.rst
index 9a4772dcbd..594279ad2a 100644
--- a/src/main/python/docs/source/api/operator/algorithms/rmse.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/rmse.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 rmse
 ====
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/scale.rst b/src/main/python/docs/source/api/operator/algorithms/scale.rst
index 48a3d09415..cc2510dc9d 100644
--- a/src/main/python/docs/source/api/operator/algorithms/scale.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/scale.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 scale
 =====
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/scaleApply.rst b/src/main/python/docs/source/api/operator/algorithms/scaleApply.rst
index 4150e19e62..888b81e1e9 100644
--- a/src/main/python/docs/source/api/operator/algorithms/scaleApply.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/scaleApply.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 scaleApply
 ==========
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/scaleMinMax.rst b/src/main/python/docs/source/api/operator/algorithms/scaleMinMax.rst
index a8a18237ca..eb5631ca73 100644
--- a/src/main/python/docs/source/api/operator/algorithms/scaleMinMax.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/scaleMinMax.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 scaleMinMax
 ===========
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/selectByVarThresh.rst b/src/main/python/docs/source/api/operator/algorithms/selectByVarThresh.rst
index f84ccd0678..f1d57a715c 100644
--- a/src/main/python/docs/source/api/operator/algorithms/selectByVarThresh.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/selectByVarThresh.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 selectByVarThresh
 =================
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/ses.rst b/src/main/python/docs/source/api/operator/algorithms/ses.rst
index 6e797bbfe7..a179d87adb 100644
--- a/src/main/python/docs/source/api/operator/algorithms/ses.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/ses.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 ses
 ===
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/setdiff.rst b/src/main/python/docs/source/api/operator/algorithms/setdiff.rst
index abb64d899a..196c665a6d 100644
--- a/src/main/python/docs/source/api/operator/algorithms/setdiff.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/setdiff.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 setdiff
 =======
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/shapExplainer.rst b/src/main/python/docs/source/api/operator/algorithms/shapExplainer.rst
index b376f4a5f8..a2f5860e33 100644
--- a/src/main/python/docs/source/api/operator/algorithms/shapExplainer.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/shapExplainer.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 shapExplainer
 =============
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/sherlock.rst b/src/main/python/docs/source/api/operator/algorithms/sherlock.rst
index bec99c1dcc..61e887b2bb 100644
--- a/src/main/python/docs/source/api/operator/algorithms/sherlock.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/sherlock.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 sherlock
 ========
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/sherlockPredict.rst b/src/main/python/docs/source/api/operator/algorithms/sherlockPredict.rst
index bb3c82835d..c8cb350af8 100644
--- a/src/main/python/docs/source/api/operator/algorithms/sherlockPredict.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/sherlockPredict.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 sherlockPredict
 ===============
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/shortestPath.rst b/src/main/python/docs/source/api/operator/algorithms/shortestPath.rst
index 8bba99bf79..c187fffc19 100644
--- a/src/main/python/docs/source/api/operator/algorithms/shortestPath.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/shortestPath.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 shortestPath
 ============
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/sigmoid.rst b/src/main/python/docs/source/api/operator/algorithms/sigmoid.rst
index b2e613532f..663cee4b9b 100644
--- a/src/main/python/docs/source/api/operator/algorithms/sigmoid.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/sigmoid.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 sigmoid
 =======
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/skewness.rst b/src/main/python/docs/source/api/operator/algorithms/skewness.rst
index 7d4d80df49..6cf24c0fca 100644
--- a/src/main/python/docs/source/api/operator/algorithms/skewness.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/skewness.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 skewness
 ========
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/sliceLine.rst b/src/main/python/docs/source/api/operator/algorithms/sliceLine.rst
index df6362d9f7..4a78a5150b 100644
--- a/src/main/python/docs/source/api/operator/algorithms/sliceLine.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/sliceLine.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 sliceLine
 =========
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/sliceLineDebug.rst b/src/main/python/docs/source/api/operator/algorithms/sliceLineDebug.rst
index 0f5a3f19cf..52f98cf71c 100644
--- a/src/main/python/docs/source/api/operator/algorithms/sliceLineDebug.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/sliceLineDebug.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 sliceLineDebug
 ==============
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/sliceLineExtract.rst b/src/main/python/docs/source/api/operator/algorithms/sliceLineExtract.rst
index 94b0bbc011..931e856e72 100644
--- a/src/main/python/docs/source/api/operator/algorithms/sliceLineExtract.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/sliceLineExtract.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 sliceLineExtract
 ================
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/slicefinder.rst b/src/main/python/docs/source/api/operator/algorithms/slicefinder.rst
index 85c7fced01..93397c938c 100644
--- a/src/main/python/docs/source/api/operator/algorithms/slicefinder.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/slicefinder.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 slicefinder
 ===========
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/smape.rst b/src/main/python/docs/source/api/operator/algorithms/smape.rst
index 6aadbd9420..152c5e38ba 100644
--- a/src/main/python/docs/source/api/operator/algorithms/smape.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/smape.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 smape
 =====
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/smote.rst b/src/main/python/docs/source/api/operator/algorithms/smote.rst
index 729d9529d3..204c5b422f 100644
--- a/src/main/python/docs/source/api/operator/algorithms/smote.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/smote.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 smote
 =====
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/softmax.rst b/src/main/python/docs/source/api/operator/algorithms/softmax.rst
index 3d142077f9..f1150c62be 100644
--- a/src/main/python/docs/source/api/operator/algorithms/softmax.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/softmax.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 softmax
 =======
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/split.rst b/src/main/python/docs/source/api/operator/algorithms/split.rst
index 0c46d92819..a2179198ef 100644
--- a/src/main/python/docs/source/api/operator/algorithms/split.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/split.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 split
 =====
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/splitBalanced.rst b/src/main/python/docs/source/api/operator/algorithms/splitBalanced.rst
index f9c6640a02..54b6859350 100644
--- a/src/main/python/docs/source/api/operator/algorithms/splitBalanced.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/splitBalanced.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 splitBalanced
 =============
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/sqrtMatrix.rst b/src/main/python/docs/source/api/operator/algorithms/sqrtMatrix.rst
index f59bbb3b4a..7a6ddad91a 100644
--- a/src/main/python/docs/source/api/operator/algorithms/sqrtMatrix.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/sqrtMatrix.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 sqrtMatrix
 ==========
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/stableMarriage.rst b/src/main/python/docs/source/api/operator/algorithms/stableMarriage.rst
index ddddbae2b2..f97b7ed434 100644
--- a/src/main/python/docs/source/api/operator/algorithms/stableMarriage.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/stableMarriage.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 stableMarriage
 ==============
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/statsNA.rst b/src/main/python/docs/source/api/operator/algorithms/statsNA.rst
index 2272428487..5360f5a3b9 100644
--- a/src/main/python/docs/source/api/operator/algorithms/statsNA.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/statsNA.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 statsNA
 =======
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/steplm.rst b/src/main/python/docs/source/api/operator/algorithms/steplm.rst
index 35cb47cff1..0b70490e67 100644
--- a/src/main/python/docs/source/api/operator/algorithms/steplm.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/steplm.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 steplm
 ======
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/stratstats.rst b/src/main/python/docs/source/api/operator/algorithms/stratstats.rst
index 65ec9dd1b4..2223957ccb 100644
--- a/src/main/python/docs/source/api/operator/algorithms/stratstats.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/stratstats.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 stratstats
 ==========
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/symmetricDifference.rst b/src/main/python/docs/source/api/operator/algorithms/symmetricDifference.rst
index 494e632383..646d44ee92 100644
--- a/src/main/python/docs/source/api/operator/algorithms/symmetricDifference.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/symmetricDifference.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 symmetricDifference
 ===================
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/tSNE.rst b/src/main/python/docs/source/api/operator/algorithms/tSNE.rst
index 1021a05219..394a79d526 100644
--- a/src/main/python/docs/source/api/operator/algorithms/tSNE.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/tSNE.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 tSNE
 ====
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/toOneHot.rst b/src/main/python/docs/source/api/operator/algorithms/toOneHot.rst
index 8c220b3d86..c39a9079aa 100644
--- a/src/main/python/docs/source/api/operator/algorithms/toOneHot.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/toOneHot.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 toOneHot
 ========
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/tomeklink.rst b/src/main/python/docs/source/api/operator/algorithms/tomeklink.rst
index 4fd0bd17f7..c58f208ecd 100644
--- a/src/main/python/docs/source/api/operator/algorithms/tomeklink.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/tomeklink.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 tomeklink
 =========
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/topk_cleaning.rst b/src/main/python/docs/source/api/operator/algorithms/topk_cleaning.rst
index b57c24f3a4..59fcb5e16d 100644
--- a/src/main/python/docs/source/api/operator/algorithms/topk_cleaning.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/topk_cleaning.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 topk_cleaning
 =============
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/underSampling.rst b/src/main/python/docs/source/api/operator/algorithms/underSampling.rst
index 0b7b146b0a..76c8618962 100644
--- a/src/main/python/docs/source/api/operator/algorithms/underSampling.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/underSampling.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 underSampling
 =============
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/union.rst b/src/main/python/docs/source/api/operator/algorithms/union.rst
index 24da31088f..63070d24fd 100644
--- a/src/main/python/docs/source/api/operator/algorithms/union.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/union.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 union
 =====
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/univar.rst b/src/main/python/docs/source/api/operator/algorithms/univar.rst
index c4df0e4e75..8946978c26 100644
--- a/src/main/python/docs/source/api/operator/algorithms/univar.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/univar.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 univar
 ======
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/vectorToCsv.rst b/src/main/python/docs/source/api/operator/algorithms/vectorToCsv.rst
index c1c9e2cbc0..651fea807b 100644
--- a/src/main/python/docs/source/api/operator/algorithms/vectorToCsv.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/vectorToCsv.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 vectorToCsv
 ===========
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/wer.rst b/src/main/python/docs/source/api/operator/algorithms/wer.rst
index 9ea55cbd1f..d9800dacd6 100644
--- a/src/main/python/docs/source/api/operator/algorithms/wer.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/wer.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 wer
 ===
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/winsorize.rst b/src/main/python/docs/source/api/operator/algorithms/winsorize.rst
index 43c20fbc65..cf1f5b4620 100644
--- a/src/main/python/docs/source/api/operator/algorithms/winsorize.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/winsorize.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 winsorize
 =========
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/winsorizeApply.rst b/src/main/python/docs/source/api/operator/algorithms/winsorizeApply.rst
index f4b3c9e983..b70f018ef4 100644
--- a/src/main/python/docs/source/api/operator/algorithms/winsorizeApply.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/winsorizeApply.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 winsorizeApply
 ==============
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/xdummy1.rst b/src/main/python/docs/source/api/operator/algorithms/xdummy1.rst
index 20e4eed2b3..4ed05eb7cc 100644
--- a/src/main/python/docs/source/api/operator/algorithms/xdummy1.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/xdummy1.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 xdummy1
 =======
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/xdummy2.rst b/src/main/python/docs/source/api/operator/algorithms/xdummy2.rst
index 9254147e69..0aaaf4db4b 100644
--- a/src/main/python/docs/source/api/operator/algorithms/xdummy2.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/xdummy2.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 xdummy2
 =======
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/xgboost.rst b/src/main/python/docs/source/api/operator/algorithms/xgboost.rst
index 506771aa6d..3c3b47c97e 100644
--- a/src/main/python/docs/source/api/operator/algorithms/xgboost.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/xgboost.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 xgboost
 =======
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/xgboostPredictClassification.rst b/src/main/python/docs/source/api/operator/algorithms/xgboostPredictClassification.rst
index b65b35c8eb..a6114be8b2 100644
--- a/src/main/python/docs/source/api/operator/algorithms/xgboostPredictClassification.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/xgboostPredictClassification.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 xgboostPredictClassification
 ============================
 
diff --git a/src/main/python/docs/source/api/operator/algorithms/xgboostPredictRegression.rst b/src/main/python/docs/source/api/operator/algorithms/xgboostPredictRegression.rst
index 1e33101190..5f2f99c723 100644
--- a/src/main/python/docs/source/api/operator/algorithms/xgboostPredictRegression.rst
+++ b/src/main/python/docs/source/api/operator/algorithms/xgboostPredictRegression.rst
@@ -1,3 +1,24 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
+
 xgboostPredictRegression
 ========================
 
diff --git a/src/main/python/generator/generator.py b/src/main/python/generator/generator.py
index e321d8336c..b21a4f6c6b 100644
--- a/src/main/python/generator/generator.py
+++ b/src/main/python/generator/generator.py
@@ -39,11 +39,13 @@ class PythonAPIFileGenerator(object):
         __file__)), 'tests', 'auto_tests')
     rst_path = os.path.join(os.path.dirname(os.path.dirname(
         __file__)), 'docs', 'source', 'api', 'operator', 'algorithms')
-    licence_path = os.path.join('resources', 'template_python_script_license')
+    license_path = os.path.join('resources', 'template_python_script_license')
+    rst_license_path = os.path.join('resources', 'template_python_script_rst_license')
     template_path = os.path.join('resources', 'template_python_script_imports')
 
     source_path: str
-    licence: str
+    license: str
+    rst_license: str
     imports: str
     generated_by: str
     generated_from: str
@@ -71,8 +73,10 @@ class PythonAPIFileGenerator(object):
 
         with open(os.path.join(path, self.__class__.template_path), 'r') as f:
             self.imports = f.read()
-        with open(os.path.join(path, self.__class__.licence_path), 'r') as f:
-            self.licence = f.read()
+        with open(os.path.join(path, self.__class__.license_path), 'r') as f:
+            self.license = f.read()
+        with open(os.path.join(path, self.__class__.rst_license_path), 'r') as f:
+            self.rst_license = f.read()
 
         self.generated_by = "# Autogenerated By   : src/main/python/generator/generator.py\n"
         self.generated_from = "# Autogenerated From : "
@@ -93,7 +97,7 @@ class PythonAPIFileGenerator(object):
 
         target_file = os.path.join(self.target_path, filename) + self.extension
         with open(target_file, "w") as new_script:
-            new_script.write(self.licence)
+            new_script.write(self.license)
             new_script.write(self.generated_by)
             relative_path = os.path.relpath(dml_file, start=self.source_path)
             new_script.write(f"{self.generated_from}scripts/builtin/{relative_path}\n")
@@ -108,9 +112,9 @@ class PythonAPIFileGenerator(object):
         """
         target_file = os.path.join(self.test_path, f"test_{function_name}") + self.extension
         with open(target_file, "w") as test_script:
-            test_script.write(self.licence)
+            test_script.write(self.license)
             test_script.write(self.generated_by)
-            test_script.write("import unittest, contextlib, io\n")
+            test_script.write("import unittest, contextlib, io\n\n\n")
 
             test_script.write(f"class Test{function_name.upper()}(unittest.TestCase):\n")            
             test_script.write(f"    def test_{function_name}(self):\n")
@@ -131,8 +135,8 @@ class PythonAPIFileGenerator(object):
                     else:
                         expected += raw_line          
                 expected = expected.lstrip("\n")
-                test_script.write(f'\n            expected="""{expected}"""\n')
-                test_script.write(f"        self.assertEqual(buf.getvalue().strip(), expected)\n")
+                test_script.write(f'\n            expected = """{expected}"""\n')
+                test_script.write(f"        self.assertEqual(buf.getvalue().strip(), expected)\n\n")
 
             test_script.write("\nif __name__ == '__main__':\n")
             test_script.write("    unittest.main()\n")
@@ -143,14 +147,15 @@ class PythonAPIFileGenerator(object):
         """        
         target_file = os.path.join(self.rst_path, f"{function_name}") + ".rst"
         with open(target_file, "w") as rst_script:
-           # rst_script.write(self.licence)
+            rst_script.write(self.rst_license)
+            rst_script.write("\n\n")
             rst_script.write(function_name + "\n")
             rst_script.write("=" * len(function_name) + "\n\n")
             rst_script.write(f".. autofunction:: systemds.operator.algorithm.{function_name}")
 
     def generate_init_file(self):
         with open(self.init_path, "w") as init_file:
-            init_file.write(self.licence)
+            init_file.write(self.license)
             init_file.write(self.generated_by)
             init_file.write("\n")
             for f in self.function_names:
diff --git a/src/main/python/generator/resources/template_python_script_rst_license b/src/main/python/generator/resources/template_python_script_rst_license
new file mode 100644
index 0000000000..709131866e
--- /dev/null
+++ b/src/main/python/generator/resources/template_python_script_rst_license
@@ -0,0 +1,20 @@
+.. -------------------------------------------------------------
+.. 
+.. 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.
+.. 
+.. ------------------------------------------------------------
\ No newline at end of file
diff --git a/src/main/python/systemds/context/systemds_context.py b/src/main/python/systemds/context/systemds_context.py
index 9843b367ed..41cfdfc698 100644
--- a/src/main/python/systemds/context/systemds_context.py
+++ b/src/main/python/systemds/context/systemds_context.py
@@ -261,7 +261,9 @@ class SystemDSContext(object):
                 )
             )
         )
-        print("Encountered exception & shutting down: \n\n{}".format(tb_str.strip()))
+        self._log.error(
+            "Encountered exception & shutting down: \n\n{}".format(tb_str.strip())
+        )
 
         self.close()
         raise RuntimeError(message)
diff --git a/src/main/python/tests/algorithms/test_cov.py b/src/main/python/tests/algorithms/test_cov.py
index 7a3e10be13..a20c0741f1 100644
--- a/src/main/python/tests/algorithms/test_cov.py
+++ b/src/main/python/tests/algorithms/test_cov.py
@@ -42,7 +42,7 @@ class TestCOV(unittest.TestCase):
 
     @classmethod
     def setUpClass(cls):
-        cls.sds = SystemDSContext()
+        cls.sds = SystemDSContext(capture_stdout=True, logging_level=50)
 
     @classmethod
     def tearDownClass(cls):
diff --git a/src/main/python/tests/algorithms/test_gmm.py b/src/main/python/tests/algorithms/test_gmm.py
index cbcccc260d..f104d69885 100644
--- a/src/main/python/tests/algorithms/test_gmm.py
+++ b/src/main/python/tests/algorithms/test_gmm.py
@@ -31,7 +31,7 @@ class TestGMM(unittest.TestCase):
 
     @classmethod
     def setUpClass(cls):
-        cls.sds = SystemDSContext()
+        cls.sds = SystemDSContext(capture_stdout=True, logging_level=50)
 
     @classmethod
     def tearDownClass(cls):
diff --git a/src/main/python/tests/algorithms/test_kmeans.py b/src/main/python/tests/algorithms/test_kmeans.py
index 9b8ab1ecec..31a15da5ff 100644
--- a/src/main/python/tests/algorithms/test_kmeans.py
+++ b/src/main/python/tests/algorithms/test_kmeans.py
@@ -32,7 +32,7 @@ class TestKMeans(unittest.TestCase):
 
     @classmethod
     def setUpClass(cls):
-        cls.sds = SystemDSContext()
+        cls.sds = SystemDSContext(capture_stdout=True, logging_level=50)
 
     @classmethod
     def tearDownClass(cls):
diff --git a/src/main/python/tests/algorithms/test_l2svm.py b/src/main/python/tests/algorithms/test_l2svm.py
index d7ea0d862b..dd7f4685c8 100644
--- a/src/main/python/tests/algorithms/test_l2svm.py
+++ b/src/main/python/tests/algorithms/test_l2svm.py
@@ -32,7 +32,7 @@ class TestL2svm(unittest.TestCase):
 
     @classmethod
     def setUpClass(cls):
-        cls.sds = SystemDSContext()
+        cls.sds = SystemDSContext(capture_stdout=True, logging_level=50)
 
     @classmethod
     def tearDownClass(cls):
diff --git a/src/main/python/tests/algorithms/test_multiLogReg.py b/src/main/python/tests/algorithms/test_multiLogReg.py
index 597e9d0584..8b8b11fc74 100644
--- a/src/main/python/tests/algorithms/test_multiLogReg.py
+++ b/src/main/python/tests/algorithms/test_multiLogReg.py
@@ -32,7 +32,7 @@ class TestMultiLogReg(unittest.TestCase):
 
     @classmethod
     def setUpClass(cls):
-        cls.sds = SystemDSContext()
+        cls.sds = SystemDSContext(capture_stdout=True, logging_level=50)
 
     @classmethod
     def tearDownClass(cls):
diff --git a/src/main/python/tests/algorithms/test_pca.py b/src/main/python/tests/algorithms/test_pca.py
index cdfbe72902..d720493c26 100644
--- a/src/main/python/tests/algorithms/test_pca.py
+++ b/src/main/python/tests/algorithms/test_pca.py
@@ -32,7 +32,7 @@ class TestPCA(unittest.TestCase):
 
     @classmethod
     def setUpClass(cls):
-        cls.sds = SystemDSContext()
+        cls.sds = SystemDSContext(capture_stdout=True, logging_level=50)
 
     @classmethod
     def tearDownClass(cls):
diff --git a/src/main/python/tests/algorithms/test_signal.py b/src/main/python/tests/algorithms/test_signal.py
index 769228fc15..e656074188 100644
--- a/src/main/python/tests/algorithms/test_signal.py
+++ b/src/main/python/tests/algorithms/test_signal.py
@@ -31,7 +31,7 @@ class TestSignal(unittest.TestCase):
 
     @classmethod
     def setUpClass(cls):
-        cls.sds = SystemDSContext()
+        cls.sds = SystemDSContext(capture_stdout=True, logging_level=50)
 
     @classmethod
     def tearDownClass(cls):
diff --git a/src/main/python/tests/algorithms/test_solve.py b/src/main/python/tests/algorithms/test_solve.py
index ef7c331b30..4491491718 100644
--- a/src/main/python/tests/algorithms/test_solve.py
+++ b/src/main/python/tests/algorithms/test_solve.py
@@ -38,7 +38,7 @@ class TestSOLVE(unittest.TestCase):
 
     @classmethod
     def setUpClass(cls):
-        cls.sds = SystemDSContext()
+        cls.sds = SystemDSContext(capture_stdout=True, logging_level=50)
 
     @classmethod
     def tearDownClass(cls):
diff --git a/src/main/python/tests/auto_tests/test_dist.py b/src/main/python/tests/auto_tests/test_dist.py
index 6a3e39f05d..12041a33ff 100644
--- a/src/main/python/tests/auto_tests/test_dist.py
+++ b/src/main/python/tests/auto_tests/test_dist.py
@@ -21,6 +21,8 @@
 
 # Autogenerated By   : src/main/python/generator/generator.py
 import unittest, contextlib, io
+
+
 class TestDIST(unittest.TestCase):
     def test_dist(self):
         # Example test case provided in python the code block
@@ -35,10 +37,11 @@ class TestDIST(unittest.TestCase):
                 out = dist(X).compute()
                 print(out)
 
-            expected="""[[0. 3. 4.]
+            expected = """[[0. 3. 4.]
  [3. 0. 1.]
  [4. 1. 0.]]"""
         self.assertEqual(buf.getvalue().strip(), expected)
 
+
 if __name__ == '__main__':
     unittest.main()
diff --git a/src/main/python/tests/auto_tests/test_img_brightness.py b/src/main/python/tests/auto_tests/test_img_brightness.py
index f30545cd76..df43d0e601 100644
--- a/src/main/python/tests/auto_tests/test_img_brightness.py
+++ b/src/main/python/tests/auto_tests/test_img_brightness.py
@@ -21,6 +21,8 @@
 
 # Autogenerated By   : src/main/python/generator/generator.py
 import unittest, contextlib, io
+
+
 class TestIMG_BRIGHTNESS(unittest.TestCase):
     def test_img_brightness(self):
         # Example test case provided in python the code block
@@ -38,9 +40,10 @@ class TestIMG_BRIGHTNESS(unittest.TestCase):
                 result_img = img_brightness(img, 30.0, 150).compute()
                 print(result_img.reshape(2, 2))
 
-            expected="""[[ 80. 130.]
+            expected = """[[ 80. 130.]
  [150. 150.]]"""
         self.assertEqual(buf.getvalue().strip(), expected)
 
+
 if __name__ == '__main__':
     unittest.main()
diff --git a/src/main/python/tests/auto_tests/test_img_brightness_linearized.py b/src/main/python/tests/auto_tests/test_img_brightness_linearized.py
index a82bab3153..8bbedc4e7d 100644
--- a/src/main/python/tests/auto_tests/test_img_brightness_linearized.py
+++ b/src/main/python/tests/auto_tests/test_img_brightness_linearized.py
@@ -21,6 +21,8 @@
 
 # Autogenerated By   : src/main/python/generator/generator.py
 import unittest, contextlib, io
+
+
 class TestIMG_BRIGHTNESS_LINEARIZED(unittest.TestCase):
     def test_img_brightness_linearized(self):
         # Example test case provided in python the code block
@@ -38,9 +40,10 @@ class TestIMG_BRIGHTNESS_LINEARIZED(unittest.TestCase):
                 result_img = img_brightness_linearized(img, 30.0, 255).compute()
                 print(result_img.reshape(2, 2))
 
-            expected="""[[ 80. 130.]
+            expected = """[[ 80. 130.]
  [180. 230.]]"""
         self.assertEqual(buf.getvalue().strip(), expected)
 
+
 if __name__ == '__main__':
     unittest.main()
diff --git a/src/main/python/tests/auto_tests/test_img_crop.py b/src/main/python/tests/auto_tests/test_img_crop.py
index ac94a9f833..a3393259bb 100644
--- a/src/main/python/tests/auto_tests/test_img_crop.py
+++ b/src/main/python/tests/auto_tests/test_img_crop.py
@@ -21,6 +21,8 @@
 
 # Autogenerated By   : src/main/python/generator/generator.py
 import unittest, contextlib, io
+
+
 class TestIMG_CROP(unittest.TestCase):
     def test_img_crop(self):
         # Example test case provided in python the code block
@@ -39,8 +41,9 @@ class TestIMG_CROP(unittest.TestCase):
                 result_img = img_crop(img, 1, 1, 1, 1).compute()
                 print(result_img)
 
-            expected="""[[200.]]"""
+            expected = """[[200.]]"""
         self.assertEqual(buf.getvalue().strip(), expected)
 
+
 if __name__ == '__main__':
     unittest.main()
diff --git a/src/main/python/tests/auto_tests/test_img_crop_linearized.py b/src/main/python/tests/auto_tests/test_img_crop_linearized.py
index ae22372188..8f9bbe211b 100644
--- a/src/main/python/tests/auto_tests/test_img_crop_linearized.py
+++ b/src/main/python/tests/auto_tests/test_img_crop_linearized.py
@@ -21,6 +21,8 @@
 
 # Autogenerated By   : src/main/python/generator/generator.py
 import unittest, contextlib, io
+
+
 class TestIMG_CROP_LINEARIZED(unittest.TestCase):
     def test_img_crop_linearized(self):
         # Example test case provided in python the code block
@@ -39,8 +41,9 @@ class TestIMG_CROP_LINEARIZED(unittest.TestCase):
                 result_img = img_crop_linearized(img, 1, 1, 1, 1, 3, 3).compute()
                 print(result_img)
 
-            expected="""[[200.]]"""
+            expected = """[[200.]]"""
         self.assertEqual(buf.getvalue().strip(), expected)
 
+
 if __name__ == '__main__':
     unittest.main()
diff --git a/src/main/python/tests/auto_tests/test_img_cutout.py b/src/main/python/tests/auto_tests/test_img_cutout.py
index e66f0aed6f..c80c943833 100644
--- a/src/main/python/tests/auto_tests/test_img_cutout.py
+++ b/src/main/python/tests/auto_tests/test_img_cutout.py
@@ -21,6 +21,8 @@
 
 # Autogenerated By   : src/main/python/generator/generator.py
 import unittest, contextlib, io
+
+
 class TestIMG_CUTOUT(unittest.TestCase):
     def test_img_cutout(self):
         # Example test case provided in python the code block
@@ -39,10 +41,11 @@ class TestIMG_CUTOUT(unittest.TestCase):
                 result_img = img_cutout(img, 2, 2, 1, 1, 49.).compute()
                 print(result_img)
 
-            expected="""[[ 50. 100. 150.]
+            expected = """[[ 50. 100. 150.]
  [150.  49. 250.]
  [250. 200. 200.]]"""
         self.assertEqual(buf.getvalue().strip(), expected)
 
+
 if __name__ == '__main__':
     unittest.main()
diff --git a/src/main/python/tests/auto_tests/test_img_cutout_linearized.py b/src/main/python/tests/auto_tests/test_img_cutout_linearized.py
index f553b14039..35675c0ba5 100644
--- a/src/main/python/tests/auto_tests/test_img_cutout_linearized.py
+++ b/src/main/python/tests/auto_tests/test_img_cutout_linearized.py
@@ -21,6 +21,8 @@
 
 # Autogenerated By   : src/main/python/generator/generator.py
 import unittest, contextlib, io
+
+
 class TestIMG_CUTOUT_LINEARIZED(unittest.TestCase):
     def test_img_cutout_linearized(self):
         # Example test case provided in python the code block
@@ -39,10 +41,11 @@ class TestIMG_CUTOUT_LINEARIZED(unittest.TestCase):
                 result_img = img_cutout_linearized(img, 2, 2, 1, 1, 25.0, 3, 3).compute()
                 print(result_img.reshape(3, 3))
 
-            expected="""[[ 50. 100. 150.]
+            expected = """[[ 50. 100. 150.]
  [150.  25. 250.]
  [250. 200. 200.]]"""
         self.assertEqual(buf.getvalue().strip(), expected)
 
+
 if __name__ == '__main__':
     unittest.main()
diff --git a/src/main/python/tests/auto_tests/test_img_invert.py b/src/main/python/tests/auto_tests/test_img_invert.py
index a11ff19e99..de10adc55d 100644
--- a/src/main/python/tests/auto_tests/test_img_invert.py
+++ b/src/main/python/tests/auto_tests/test_img_invert.py
@@ -21,6 +21,8 @@
 
 # Autogenerated By   : src/main/python/generator/generator.py
 import unittest, contextlib, io
+
+
 class TestIMG_INVERT(unittest.TestCase):
     def test_img_invert(self):
         # Example test case provided in python the code block
@@ -39,10 +41,11 @@ class TestIMG_INVERT(unittest.TestCase):
                 result_img = img_invert(img, 210.).compute()
                 print(result_img)
 
-            expected="""[[200. 190. 180.]
+            expected = """[[200. 190. 180.]
  [170. 160. 150.]
  [140. 130. 120.]]"""
         self.assertEqual(buf.getvalue().strip(), expected)
 
+
 if __name__ == '__main__':
     unittest.main()
diff --git a/src/main/python/tests/auto_tests/test_img_invert_linearized.py b/src/main/python/tests/auto_tests/test_img_invert_linearized.py
index 65db0866c9..0b21ef99cd 100644
--- a/src/main/python/tests/auto_tests/test_img_invert_linearized.py
+++ b/src/main/python/tests/auto_tests/test_img_invert_linearized.py
@@ -21,6 +21,8 @@
 
 # Autogenerated By   : src/main/python/generator/generator.py
 import unittest, contextlib, io
+
+
 class TestIMG_INVERT_LINEARIZED(unittest.TestCase):
     def test_img_invert_linearized(self):
         # Example test case provided in python the code block
@@ -39,10 +41,11 @@ class TestIMG_INVERT_LINEARIZED(unittest.TestCase):
                 result_img = img_invert_linearized(img, 200.).compute()
                 print(result_img.reshape(3, 3))
 
-            expected="""[[190. 180. 170.]
+            expected = """[[190. 180. 170.]
  [160. 150. 140.]
  [130. 120. 110.]]"""
         self.assertEqual(buf.getvalue().strip(), expected)
 
+
 if __name__ == '__main__':
     unittest.main()
diff --git a/src/main/python/tests/auto_tests/test_img_mirror.py b/src/main/python/tests/auto_tests/test_img_mirror.py
index 241635199c..0210a9c39a 100644
--- a/src/main/python/tests/auto_tests/test_img_mirror.py
+++ b/src/main/python/tests/auto_tests/test_img_mirror.py
@@ -21,6 +21,8 @@
 
 # Autogenerated By   : src/main/python/generator/generator.py
 import unittest, contextlib, io
+
+
 class TestIMG_MIRROR(unittest.TestCase):
     def test_img_mirror(self):
         # Example test case provided in python the code block
@@ -39,10 +41,11 @@ class TestIMG_MIRROR(unittest.TestCase):
                 result_img = img_mirror(img, False).compute()
                 print(result_img)
 
-            expected="""[[30. 20. 10.]
+            expected = """[[30. 20. 10.]
  [60. 50. 40.]
  [90. 80. 70.]]"""
         self.assertEqual(buf.getvalue().strip(), expected)
 
+
 if __name__ == '__main__':
     unittest.main()
diff --git a/src/main/python/tests/auto_tests/test_img_mirror_linearized_0.py b/src/main/python/tests/auto_tests/test_img_mirror_linearized_0.py
index f5b8ba4733..734c7cb8c4 100644
--- a/src/main/python/tests/auto_tests/test_img_mirror_linearized_0.py
+++ b/src/main/python/tests/auto_tests/test_img_mirror_linearized_0.py
@@ -21,6 +21,8 @@
 
 # Autogenerated By   : src/main/python/generator/generator.py
 import unittest, contextlib, io
+
+
 class TestIMG_MIRROR_LINEARIZED_0(unittest.TestCase):
     def test_img_mirror_linearized_0(self):
         # Example test case provided in python the code block
@@ -39,10 +41,11 @@ class TestIMG_MIRROR_LINEARIZED_0(unittest.TestCase):
                 result_img = img_mirror_linearized(img, True, 3, 3).compute()
                 print(result_img.reshape(3, 3))
 
-            expected="""[[70. 80. 90.]
+            expected = """[[70. 80. 90.]
  [40. 50. 60.]
  [10. 20. 30.]]"""
         self.assertEqual(buf.getvalue().strip(), expected)
 
+
 if __name__ == '__main__':
     unittest.main()
diff --git a/src/main/python/tests/auto_tests/test_img_mirror_linearized_1.py b/src/main/python/tests/auto_tests/test_img_mirror_linearized_1.py
index a9884ab19e..bb94c9d8a6 100644
--- a/src/main/python/tests/auto_tests/test_img_mirror_linearized_1.py
+++ b/src/main/python/tests/auto_tests/test_img_mirror_linearized_1.py
@@ -21,6 +21,8 @@
 
 # Autogenerated By   : src/main/python/generator/generator.py
 import unittest, contextlib, io
+
+
 class TestIMG_MIRROR_LINEARIZED_1(unittest.TestCase):
     def test_img_mirror_linearized_1(self):
         # Example test case provided in python the code block
@@ -43,7 +45,7 @@ class TestIMG_MIRROR_LINEARIZED_1(unittest.TestCase):
                 print(result_imgs[0].reshape(3, 3))
                 print(result_imgs[1].reshape(3, 3))
 
-            expected="""[[70. 80. 90.]
+            expected = """[[70. 80. 90.]
  [40. 50. 60.]
  [10. 20. 30.]]
 [[10. 20. 30.]
@@ -51,5 +53,6 @@ class TestIMG_MIRROR_LINEARIZED_1(unittest.TestCase):
  [70. 80. 90.]]"""
         self.assertEqual(buf.getvalue().strip(), expected)
 
+
 if __name__ == '__main__':
     unittest.main()
diff --git a/src/main/python/tests/auto_tests/test_img_posterize.py b/src/main/python/tests/auto_tests/test_img_posterize.py
index d0f1cd7b6c..6d3da9440c 100644
--- a/src/main/python/tests/auto_tests/test_img_posterize.py
+++ b/src/main/python/tests/auto_tests/test_img_posterize.py
@@ -21,6 +21,8 @@
 
 # Autogenerated By   : src/main/python/generator/generator.py
 import unittest, contextlib, io
+
+
 class TestIMG_POSTERIZE(unittest.TestCase):
     def test_img_posterize(self):
         # Example test case provided in python the code block
@@ -39,10 +41,11 @@ class TestIMG_POSTERIZE(unittest.TestCase):
                 result_img = img_posterize(img, 1).compute()
                 print(result_img)
 
-            expected="""[[  0.   0.   0.]
+            expected = """[[  0.   0.   0.]
  [  0. 128.   0.]
  [  0.   0.   0.]]"""
         self.assertEqual(buf.getvalue().strip(), expected)
 
+
 if __name__ == '__main__':
     unittest.main()
diff --git a/src/main/python/tests/auto_tests/test_img_posterize_linearized.py b/src/main/python/tests/auto_tests/test_img_posterize_linearized.py
index fb2605998f..3361cd4dc8 100644
--- a/src/main/python/tests/auto_tests/test_img_posterize_linearized.py
+++ b/src/main/python/tests/auto_tests/test_img_posterize_linearized.py
@@ -21,6 +21,8 @@
 
 # Autogenerated By   : src/main/python/generator/generator.py
 import unittest, contextlib, io
+
+
 class TestIMG_POSTERIZE_LINEARIZED(unittest.TestCase):
     def test_img_posterize_linearized(self):
         # Example test case provided in python the code block
@@ -39,10 +41,11 @@ class TestIMG_POSTERIZE_LINEARIZED(unittest.TestCase):
                 result_img = img_posterize_linearized(img, 1).compute()
                 print(result_img.reshape(3, 3))
 
-            expected="""[[  0.   0.   0.]
+            expected = """[[  0.   0.   0.]
  [  0. 128.   0.]
  [  0.   0.   0.]]"""
         self.assertEqual(buf.getvalue().strip(), expected)
 
+
 if __name__ == '__main__':
     unittest.main()
diff --git a/src/main/python/tests/auto_tests/test_img_rotate.py b/src/main/python/tests/auto_tests/test_img_rotate.py
index ed7e8bcc43..dc316fcb0d 100644
--- a/src/main/python/tests/auto_tests/test_img_rotate.py
+++ b/src/main/python/tests/auto_tests/test_img_rotate.py
@@ -21,6 +21,8 @@
 
 # Autogenerated By   : src/main/python/generator/generator.py
 import unittest, contextlib, io
+
+
 class TestIMG_ROTATE(unittest.TestCase):
     def test_img_rotate(self):
         # Example test case provided in python the code block
@@ -39,10 +41,11 @@ class TestIMG_ROTATE(unittest.TestCase):
                 result_img = img_rotate(img, 3.14159, 255.).compute()
                 print(result_img)
 
-            expected="""[[90. 80. 70.]
+            expected = """[[90. 80. 70.]
  [60. 50. 40.]
  [30. 20. 10.]]"""
         self.assertEqual(buf.getvalue().strip(), expected)
 
+
 if __name__ == '__main__':
     unittest.main()
diff --git a/src/main/python/tests/auto_tests/test_img_rotate_linearized.py b/src/main/python/tests/auto_tests/test_img_rotate_linearized.py
index 1f2d7ba1f6..60f3b4c6f1 100644
--- a/src/main/python/tests/auto_tests/test_img_rotate_linearized.py
+++ b/src/main/python/tests/auto_tests/test_img_rotate_linearized.py
@@ -21,6 +21,8 @@
 
 # Autogenerated By   : src/main/python/generator/generator.py
 import unittest, contextlib, io
+
+
 class TestIMG_ROTATE_LINEARIZED(unittest.TestCase):
     def test_img_rotate_linearized(self):
         # Example test case provided in python the code block
@@ -39,10 +41,11 @@ class TestIMG_ROTATE_LINEARIZED(unittest.TestCase):
                 result_img = img_rotate_linearized(img, 3.14159, 255., 3, 3).compute()
                 print(result_img.reshape(3, 3))
 
-            expected="""[[90. 80. 70.]
+            expected = """[[90. 80. 70.]
  [60. 50. 40.]
  [30. 20. 10.]]"""
         self.assertEqual(buf.getvalue().strip(), expected)
 
+
 if __name__ == '__main__':
     unittest.main()
diff --git a/src/main/python/tests/auto_tests/test_img_sample_pairing.py b/src/main/python/tests/auto_tests/test_img_sample_pairing.py
index 87c50493c4..3feac94aa2 100644
--- a/src/main/python/tests/auto_tests/test_img_sample_pairing.py
+++ b/src/main/python/tests/auto_tests/test_img_sample_pairing.py
@@ -21,6 +21,8 @@
 
 # Autogenerated By   : src/main/python/generator/generator.py
 import unittest, contextlib, io
+
+
 class TestIMG_SAMPLE_PAIRING(unittest.TestCase):
     def test_img_sample_pairing(self):
         # Example test case provided in python the code block
@@ -44,10 +46,11 @@ class TestIMG_SAMPLE_PAIRING(unittest.TestCase):
                 result_img = img_sample_pairing(img_in1, img_in2, 0.5).compute()
                 print(result_img)
 
-            expected="""[[ 20.  30.  40.]
+            expected = """[[ 20.  30.  40.]
  [ 50.  60.  70.]
  [ 80.  90. 100.]]"""
         self.assertEqual(buf.getvalue().strip(), expected)
 
+
 if __name__ == '__main__':
     unittest.main()
diff --git a/src/main/python/tests/auto_tests/test_img_sample_pairing_linearized.py b/src/main/python/tests/auto_tests/test_img_sample_pairing_linearized.py
index 5b550735e3..39d66c56a4 100644
--- a/src/main/python/tests/auto_tests/test_img_sample_pairing_linearized.py
+++ b/src/main/python/tests/auto_tests/test_img_sample_pairing_linearized.py
@@ -21,6 +21,8 @@
 
 # Autogenerated By   : src/main/python/generator/generator.py
 import unittest, contextlib, io
+
+
 class TestIMG_SAMPLE_PAIRING_LINEARIZED(unittest.TestCase):
     def test_img_sample_pairing_linearized(self):
         # Example test case provided in python the code block
@@ -44,10 +46,11 @@ class TestIMG_SAMPLE_PAIRING_LINEARIZED(unittest.TestCase):
                 result_img = img_sample_pairing_linearized(img_in1, img_in2, 0.5).compute()
                 print(result_img.reshape(3, 3))
 
-            expected="""[[ 20.  30.  40.]
+            expected = """[[ 20.  30.  40.]
  [ 50.  60.  70.]
  [ 80.  90. 100.]]"""
         self.assertEqual(buf.getvalue().strip(), expected)
 
+
 if __name__ == '__main__':
     unittest.main()
diff --git a/src/main/python/tests/auto_tests/test_img_shear.py b/src/main/python/tests/auto_tests/test_img_shear.py
index 5571e9d3cb..faad011b86 100644
--- a/src/main/python/tests/auto_tests/test_img_shear.py
+++ b/src/main/python/tests/auto_tests/test_img_shear.py
@@ -21,6 +21,8 @@
 
 # Autogenerated By   : src/main/python/generator/generator.py
 import unittest, contextlib, io
+
+
 class TestIMG_SHEAR(unittest.TestCase):
     def test_img_shear(self):
         # Example test case provided in python the code block
@@ -39,10 +41,11 @@ class TestIMG_SHEAR(unittest.TestCase):
                 result_img = img_shear(img, 1., 0., 255).compute()
                 print(result_img)
 
-            expected="""[[ 10.  20.  30.]
+            expected = """[[ 10.  20.  30.]
  [255.  40.  50.]
  [255. 255.  70.]]"""
         self.assertEqual(buf.getvalue().strip(), expected)
 
+
 if __name__ == '__main__':
     unittest.main()
diff --git a/src/main/python/tests/auto_tests/test_img_shear_linearized.py b/src/main/python/tests/auto_tests/test_img_shear_linearized.py
index d8963beaeb..b57223f14b 100644
--- a/src/main/python/tests/auto_tests/test_img_shear_linearized.py
+++ b/src/main/python/tests/auto_tests/test_img_shear_linearized.py
@@ -21,6 +21,8 @@
 
 # Autogenerated By   : src/main/python/generator/generator.py
 import unittest, contextlib, io
+
+
 class TestIMG_SHEAR_LINEARIZED(unittest.TestCase):
     def test_img_shear_linearized(self):
         # Example test case provided in python the code block
@@ -39,10 +41,11 @@ class TestIMG_SHEAR_LINEARIZED(unittest.TestCase):
                 result_img = img_shear_linearized(img, 1., 0., 0., 3, 3).compute()
                 print(result_img.reshape(3, 3))
 
-            expected="""[[10. 20. 30.]
+            expected = """[[10. 20. 30.]
  [ 0. 40. 50.]
  [ 0.  0. 70.]]"""
         self.assertEqual(buf.getvalue().strip(), expected)
 
+
 if __name__ == '__main__':
     unittest.main()
diff --git a/src/main/python/tests/auto_tests/test_img_transform.py b/src/main/python/tests/auto_tests/test_img_transform.py
index f1a91bc6d8..c43575853e 100644
--- a/src/main/python/tests/auto_tests/test_img_transform.py
+++ b/src/main/python/tests/auto_tests/test_img_transform.py
@@ -21,6 +21,8 @@
 
 # Autogenerated By   : src/main/python/generator/generator.py
 import unittest, contextlib, io
+
+
 class TestIMG_TRANSFORM(unittest.TestCase):
     def test_img_transform(self):
         # Example test case provided in python the code block
@@ -39,10 +41,11 @@ class TestIMG_TRANSFORM(unittest.TestCase):
                 result_img = img_transform(img, 3, 3, -1., 0., 2., 0., 1., 0., 255.).compute()
                 print(result_img)
 
-            expected="""[[ 20.  10. 255.]
+            expected = """[[ 20.  10. 255.]
  [ 50.  40. 255.]
  [ 80.  70. 255.]]"""
         self.assertEqual(buf.getvalue().strip(), expected)
 
+
 if __name__ == '__main__':
     unittest.main()
diff --git a/src/main/python/tests/auto_tests/test_img_transform_linearized.py b/src/main/python/tests/auto_tests/test_img_transform_linearized.py
index 6992968486..c1279fe4f5 100644
--- a/src/main/python/tests/auto_tests/test_img_transform_linearized.py
+++ b/src/main/python/tests/auto_tests/test_img_transform_linearized.py
@@ -21,6 +21,8 @@
 
 # Autogenerated By   : src/main/python/generator/generator.py
 import unittest, contextlib, io
+
+
 class TestIMG_TRANSFORM_LINEARIZED(unittest.TestCase):
     def test_img_transform_linearized(self):
         # Example test case provided in python the code block
@@ -39,10 +41,11 @@ class TestIMG_TRANSFORM_LINEARIZED(unittest.TestCase):
                 result_img = img_transform_linearized(img, 3, 3, -1., 0., 2., 0., 1., 0., 255., 3, 3).compute()
                 print(result_img.reshape(3, 3))
 
-            expected="""[[ 20.  10. 255.]
+            expected = """[[ 20.  10. 255.]
  [ 50.  40. 255.]
  [ 80.  70. 255.]]"""
         self.assertEqual(buf.getvalue().strip(), expected)
 
+
 if __name__ == '__main__':
     unittest.main()
diff --git a/src/main/python/tests/auto_tests/test_img_translate.py b/src/main/python/tests/auto_tests/test_img_translate.py
index 22f63e25f4..8e6088168e 100644
--- a/src/main/python/tests/auto_tests/test_img_translate.py
+++ b/src/main/python/tests/auto_tests/test_img_translate.py
@@ -21,6 +21,8 @@
 
 # Autogenerated By   : src/main/python/generator/generator.py
 import unittest, contextlib, io
+
+
 class TestIMG_TRANSLATE(unittest.TestCase):
     def test_img_translate(self):
         # Example test case provided in python the code block
@@ -39,10 +41,11 @@ class TestIMG_TRANSLATE(unittest.TestCase):
                 result_img = img_translate(img, 1., 1., 3, 3, 255.).compute()
                 print(result_img)
 
-            expected="""[[255. 255. 255.]
+            expected = """[[255. 255. 255.]
  [255.  10.  20.]
  [255.  40.  50.]]"""
         self.assertEqual(buf.getvalue().strip(), expected)
 
+
 if __name__ == '__main__':
     unittest.main()
diff --git a/src/main/python/tests/auto_tests/test_img_translate_linearized.py b/src/main/python/tests/auto_tests/test_img_translate_linearized.py
index 86c894b1c5..936adf856c 100644
--- a/src/main/python/tests/auto_tests/test_img_translate_linearized.py
+++ b/src/main/python/tests/auto_tests/test_img_translate_linearized.py
@@ -21,6 +21,8 @@
 
 # Autogenerated By   : src/main/python/generator/generator.py
 import unittest, contextlib, io
+
+
 class TestIMG_TRANSLATE_LINEARIZED(unittest.TestCase):
     def test_img_translate_linearized(self):
         # Example test case provided in python the code block
@@ -39,10 +41,11 @@ class TestIMG_TRANSLATE_LINEARIZED(unittest.TestCase):
                 result_img = img_translate_linearized(img, 1., 1., 3, 3, 255.0, 3, 3).compute()
                 print(result_img.reshape(3, 3))
 
-            expected="""[[255. 255. 255.]
+            expected = """[[255. 255. 255.]
  [255.  10.  20.]
  [255.  40.  50.]]"""
         self.assertEqual(buf.getvalue().strip(), expected)
 
+
 if __name__ == '__main__':
     unittest.main()
diff --git a/src/main/python/tests/auto_tests/test_lm.py b/src/main/python/tests/auto_tests/test_lm.py
index 5c4e83bc8b..45ee569cf1 100644
--- a/src/main/python/tests/auto_tests/test_lm.py
+++ b/src/main/python/tests/auto_tests/test_lm.py
@@ -21,6 +21,8 @@
 
 # Autogenerated By   : src/main/python/generator/generator.py
 import unittest, contextlib, io
+
+
 class TestLM(unittest.TestCase):
     def test_lm(self):
         # Example test case provided in python the code block
@@ -38,7 +40,7 @@ class TestLM(unittest.TestCase):
                 weights = lm(sds.from_numpy(features), sds.from_numpy(y)).compute()
                 print(weights)
 
-            expected="""[[-0.11538199]
+            expected = """[[-0.11538199]
  [-0.20386541]
  [-0.39956034]
  [ 1.04078623]
@@ -55,5 +57,6 @@ class TestLM(unittest.TestCase):
  [ 0.37957689]]"""
         self.assertEqual(buf.getvalue().strip(), expected)
 
+
 if __name__ == '__main__':
     unittest.main()
diff --git a/src/main/python/tests/auto_tests/test_normalize.py b/src/main/python/tests/auto_tests/test_normalize.py
index 8d6e910a42..b5ba837349 100644
--- a/src/main/python/tests/auto_tests/test_normalize.py
+++ b/src/main/python/tests/auto_tests/test_normalize.py
@@ -21,6 +21,8 @@
 
 # Autogenerated By   : src/main/python/generator/generator.py
 import unittest, contextlib, io
+
+
 class TestNORMALIZE(unittest.TestCase):
     def test_normalize(self):
         # Example test case provided in python the code block
@@ -35,9 +37,10 @@ class TestNORMALIZE(unittest.TestCase):
                 Y, cmin, cmax = normalize(X).compute()
                 print(Y)
 
-            expected="""[[0. 0.]
+            expected = """[[0. 0.]
  [1. 1.]]"""
         self.assertEqual(buf.getvalue().strip(), expected)
 
+
 if __name__ == '__main__':
     unittest.main()
diff --git a/src/main/python/tests/auto_tests/test_randomForest.py b/src/main/python/tests/auto_tests/test_randomForest.py
index 917e6524d3..42115c0b15 100644
--- a/src/main/python/tests/auto_tests/test_randomForest.py
+++ b/src/main/python/tests/auto_tests/test_randomForest.py
@@ -21,6 +21,8 @@
 
 # Autogenerated By   : src/main/python/generator/generator.py
 import unittest, contextlib, io
+
+
 class TestRANDOMFOREST(unittest.TestCase):
     def test_randomForest(self):
         # Example test case provided in python the code block
@@ -61,11 +63,12 @@ class TestRANDOMFOREST(unittest.TestCase):
                 preds = randomForestPredict(X_sds, ctypes, M).compute()
                 print(preds)
 
-            expected="""[[1.]
+            expected = """[[1.]
  [1.]
  [2.]
  [2.]]"""
         self.assertEqual(buf.getvalue().strip(), expected)
 
+
 if __name__ == '__main__':
     unittest.main()
diff --git a/src/main/python/tests/auto_tests/test_randomForestPredict.py b/src/main/python/tests/auto_tests/test_randomForestPredict.py
index 48b8e06bdf..41fba0a4d8 100644
--- a/src/main/python/tests/auto_tests/test_randomForestPredict.py
+++ b/src/main/python/tests/auto_tests/test_randomForestPredict.py
@@ -21,6 +21,8 @@
 
 # Autogenerated By   : src/main/python/generator/generator.py
 import unittest, contextlib, io
+
+
 class TestRANDOMFORESTPREDICT(unittest.TestCase):
     def test_randomForestPredict(self):
         # Example test case provided in python the code block
@@ -61,11 +63,12 @@ class TestRANDOMFORESTPREDICT(unittest.TestCase):
                 preds = randomForestPredict(X_sds, ctypes, M).compute()
                 print(preds)
 
-            expected="""[[1.]
+            expected = """[[1.]
  [1.]
  [2.]
  [2.]]"""
         self.assertEqual(buf.getvalue().strip(), expected)
 
+
 if __name__ == '__main__':
     unittest.main()
diff --git a/src/main/python/tests/auto_tests/test_toOneHot.py b/src/main/python/tests/auto_tests/test_toOneHot.py
index 4d6b15e79f..7bc5cbde1f 100644
--- a/src/main/python/tests/auto_tests/test_toOneHot.py
+++ b/src/main/python/tests/auto_tests/test_toOneHot.py
@@ -21,6 +21,8 @@
 
 # Autogenerated By   : src/main/python/generator/generator.py
 import unittest, contextlib, io
+
+
 class TestTOONEHOT(unittest.TestCase):
     def test_toOneHot(self):
         # Example test case provided in python the code block
@@ -35,11 +37,12 @@ class TestTOONEHOT(unittest.TestCase):
                 Y = toOneHot(X, numClasses=3).compute()
                 print(Y)
 
-            expected="""[[1. 0. 0.]
+            expected = """[[1. 0. 0.]
  [0. 0. 1.]
  [0. 1. 0.]
  [0. 0. 1.]]"""
         self.assertEqual(buf.getvalue().strip(), expected)
 
+
 if __name__ == '__main__':
     unittest.main()
diff --git a/src/main/python/tests/basics/test___str__.py b/src/main/python/tests/basics/test___str__.py
index adaa4d2383..559f0cb1f3 100644
--- a/src/main/python/tests/basics/test___str__.py
+++ b/src/main/python/tests/basics/test___str__.py
@@ -30,7 +30,7 @@ class Test__str__(unittest.TestCase):
 
     @classmethod
     def setUpClass(cls):
-        cls.sds = SystemDSContext()
+        cls.sds = SystemDSContext(capture_stdout=True, logging_level=50)
 
     @classmethod
     def tearDownClass(cls):
diff --git a/src/main/python/tests/basics/test_context_creation.py b/src/main/python/tests/basics/test_context_creation.py
index 3d80420d4e..0b03d438b4 100644
--- a/src/main/python/tests/basics/test_context_creation.py
+++ b/src/main/python/tests/basics/test_context_creation.py
@@ -36,12 +36,10 @@ class TestContextCreation(unittest.TestCase):
         stderr_buffer = io.StringIO()
 
         with redirect_stderr(stderr_buffer):
-            sds1 = SystemDSContext(logging_level=10)
+            sds1 = SystemDSContext(logging_level=10, capture_stdout=True)
             sds1.close()
 
         err = stderr_buffer.getvalue()
-        print("Captured STDERR:\n", err)
-        print("END OF STDERR\n")
 
         self.assertIn("DEBUG SystemDSContext: Logging setup done", err)
 
@@ -51,71 +49,65 @@ class TestContextCreation(unittest.TestCase):
         stderr_buffer = io.StringIO()
 
         with redirect_stderr(stderr_buffer):
-            sds1 = SystemDSContext()
+            sds1 = SystemDSContext(capture_stdout=True)
             sds1.close()
 
             err = stderr_buffer.getvalue()
-            print("\nCaptured STDERR (ctx1):\n", err)
-            print("END OF STDERR\n")
 
             # clear the buffer
             stderr_buffer.seek(0)
             stderr_buffer.truncate(0)
 
-            sds2 = SystemDSContext(logging_level=10)
+            sds2 = SystemDSContext(logging_level=10, capture_stdout=True)
             sds2.close()
 
         err = stderr_buffer.getvalue()
-        print("\nCaptured STDERR (ctx2):\n", err)
-        print("END OF STDERR\n")
 
         self.assertIn("DEBUG SystemDSContext: Logging setup done", err)
 
     def test_random_port_debug3(self):
         SystemDSContext._logging_initialized = False
 
-        sds1 = SystemDSContext()
+        sds1 = SystemDSContext(capture_stdout=True)
         sds1.close()
         stderr_buffer = io.StringIO()
 
         with redirect_stderr(stderr_buffer):
-            sds2 = SystemDSContext(logging_level=10)
+            sds2 = SystemDSContext(logging_level=10, capture_stdout=True)
             sds2.close()
 
         err = stderr_buffer.getvalue()
-        print("\nCaptured STDERR (ctx2):\n", err)
-        print("END OF STDERR\n")
 
         self.assertIn("DEBUG SystemDSContext: Logging setup done", err)
 
     def test_random_port(self):
-        sds1 = SystemDSContext()
+        sds1 = SystemDSContext(capture_stdout=True)
         sds1.close()
 
     def test_two_random_port(self):
-        sds1 = SystemDSContext(logging_level=20)
-        sds2 = SystemDSContext(logging_level=20)
+        sds1 = SystemDSContext(capture_stdout=True)
+        sds2 = SystemDSContext(capture_stdout=True)
         sds1.close()
         sds2.close()
 
     def test_same_port(self):
         # Same port should graciously change port
-        sds1 = SystemDSContext(port=9415)
-        sds2 = SystemDSContext(port=9415)
+        sds1 = SystemDSContext(port=9415, capture_stdout=True)
+        sds2 = SystemDSContext(port=9415, capture_stdout=True)
         sds1.close()
         sds2.close()
 
     def test_create_10_contexts(self):
         # Creating multiple contexts and closing them should be no problem.
         for _ in range(0, 10):
-            SystemDSContext().close()
+            SystemDSContext(capture_stdout=True).close()
 
     def test_create_multiple_context(self):
         # Creating multiple contexts in sequence but open at the same time is okay.
-        a = SystemDSContext()
-        b = SystemDSContext()
-        c = SystemDSContext()
-        d = SystemDSContext()
+        a = SystemDSContext(capture_stdout=True)
+        b = SystemDSContext(capture_stdout=True)
+        c = SystemDSContext(capture_stdout=True)
+        d = SystemDSContext(capture_stdout=True)
 
         a.close()
         b.close()
diff --git a/src/main/python/tests/basics/test_context_stats.py b/src/main/python/tests/basics/test_context_stats.py
index 25a83e1800..853fe9e3e1 100644
--- a/src/main/python/tests/basics/test_context_stats.py
+++ b/src/main/python/tests/basics/test_context_stats.py
@@ -33,7 +33,7 @@ class TestContextCreation(unittest.TestCase):
 
     @classmethod
     def setUpClass(cls):
-        cls.sds = SystemDSContext()
+        cls.sds = SystemDSContext(capture_stdout=True, logging_level=50)
 
     @classmethod
     def tearDownClass(cls):
diff --git a/src/main/python/tests/examples/tutorials/test_adult.py b/src/main/python/tests/examples/tutorials/test_adult.py
index f0711eeabb..e3ccfed353 100644
--- a/src/main/python/tests/examples/tutorials/test_adult.py
+++ b/src/main/python/tests/examples/tutorials/test_adult.py
@@ -46,7 +46,7 @@ class TestAdultStandardML(unittest.TestCase):
 
     @classmethod
     def setUpClass(cls):
-        cls.sds = SystemDSContext()
+        cls.sds = SystemDSContext(capture_stdout=True, logging_level=50)
         cls.d = DataManager()
 
     @classmethod
diff --git a/src/main/python/tests/examples/tutorials/test_adult_neural.py b/src/main/python/tests/examples/tutorials/test_adult_neural.py
index 3f5ed34c54..2de6497806 100644
--- a/src/main/python/tests/examples/tutorials/test_adult_neural.py
+++ b/src/main/python/tests/examples/tutorials/test_adult_neural.py
@@ -53,7 +53,7 @@ class TestAdultNeural(unittest.TestCase):
 
     @classmethod
     def setUpClass(cls):
-        cls.sds = SystemDSContext()
+        cls.sds = SystemDSContext(capture_stdout=True, logging_level=50)
         cls.d = DataManager()
         shutil.rmtree(cls.network_dir, ignore_errors=True)
 
diff --git a/src/main/python/tests/examples/tutorials/test_mnist.py b/src/main/python/tests/examples/tutorials/test_mnist.py
index 90950094db..f6a221fef6 100644
--- a/src/main/python/tests/examples/tutorials/test_mnist.py
+++ b/src/main/python/tests/examples/tutorials/test_mnist.py
@@ -37,7 +37,7 @@ class Test_DMLScript(unittest.TestCase):
 
     @classmethod
     def setUpClass(cls):
-        cls.sds = SystemDSContext()
+        cls.sds = SystemDSContext(capture_stdout=True, logging_level=50)
         cls.d = DataManager()
 
     @classmethod
diff --git a/src/main/python/tests/federated/test_federated_adult_neural.py b/src/main/python/tests/federated/test_federated_adult_neural.py
index 96ad3456dd..783bf730d8 100644
--- a/src/main/python/tests/federated/test_federated_adult_neural.py
+++ b/src/main/python/tests/federated/test_federated_adult_neural.py
@@ -129,7 +129,7 @@ class TestFederatedAdultNeural(unittest.TestCase):
 
     @classmethod
     def setUpClass(cls):
-        cls.sds = SystemDSContext()
+        cls.sds = SystemDSContext(capture_stdout=True, logging_level=50)
         cls.d = DataManager()
         cls.data_path_train = create_row_federated_dataset(
             "train_data", cls.d.get_train_data_pandas()[0 : cls.train_count]
diff --git a/src/main/python/tests/federated/test_federated_aggregations.py b/src/main/python/tests/federated/test_federated_aggregations.py
index e19d91dc1c..274d8127b5 100644
--- a/src/main/python/tests/federated/test_federated_aggregations.py
+++ b/src/main/python/tests/federated/test_federated_aggregations.py
@@ -72,7 +72,7 @@ class TestFederatedAggFn(unittest.TestCase):
 
     @classmethod
     def setUpClass(cls):
-        cls.sds = SystemDSContext()
+        cls.sds = SystemDSContext(capture_stdout=True, logging_level=50)
 
     @classmethod
     def tearDownClass(cls):
diff --git a/src/main/python/tests/federated/test_federated_aggregations_noHeader.py b/src/main/python/tests/federated/test_federated_aggregations_noHeader.py
index be1a92a8f7..c29531736b 100644
--- a/src/main/python/tests/federated/test_federated_aggregations_noHeader.py
+++ b/src/main/python/tests/federated/test_federated_aggregations_noHeader.py
@@ -70,7 +70,7 @@ class TestFederatedAggFn(unittest.TestCase):
 
     @classmethod
     def setUpClass(cls):
-        cls.sds = SystemDSContext()
+        cls.sds = SystemDSContext(capture_stdout=True, logging_level=50)
 
     @classmethod
     def tearDownClass(cls):
diff --git a/src/main/python/tests/federated/test_federated_basic.py b/src/main/python/tests/federated/test_federated_basic.py
index 8910084e98..7d40b2014c 100644
--- a/src/main/python/tests/federated/test_federated_basic.py
+++ b/src/main/python/tests/federated/test_federated_basic.py
@@ -72,7 +72,7 @@ class TestFederatedAggFn(unittest.TestCase):
 
     @classmethod
     def setUpClass(cls):
-        cls.sds = SystemDSContext()
+        cls.sds = SystemDSContext(capture_stdout=True, logging_level=50)
 
     @classmethod
     def tearDownClass(cls):
diff --git a/src/main/python/tests/federated/test_federated_matrix_mult.py b/src/main/python/tests/federated/test_federated_matrix_mult.py
index dcdeaca42d..ae862e5eb7 100644
--- a/src/main/python/tests/federated/test_federated_matrix_mult.py
+++ b/src/main/python/tests/federated/test_federated_matrix_mult.py
@@ -75,7 +75,7 @@ class TestFederatedAggFn(unittest.TestCase):
 
     @classmethod
     def setUpClass(cls):
-        cls.sds = SystemDSContext()
+        cls.sds = SystemDSContext(capture_stdout=True, logging_level=50)
         cls.sds.federated([fed1], [([0, 0], [dim, dim])]).write(
             fed1_file, format="federated"
         ).compute()
diff --git a/src/main/python/tests/federated/test_federated_mnist.py b/src/main/python/tests/federated/test_federated_mnist.py
index cb5e964116..46f14658ee 100644
--- a/src/main/python/tests/federated/test_federated_mnist.py
+++ b/src/main/python/tests/federated/test_federated_mnist.py
@@ -100,7 +100,7 @@ class TestFederatedMnist(unittest.TestCase):
 
     @classmethod
     def setUpClass(cls):
-        cls.sds = SystemDSContext()
+        cls.sds = SystemDSContext(capture_stdout=True, logging_level=50)
         cls.d = DataManager()
 
     @classmethod
diff --git a/src/main/python/tests/federated/test_federated_read.py b/src/main/python/tests/federated/test_federated_read.py
index 927d5d5fc3..7397439bf1 100644
--- a/src/main/python/tests/federated/test_federated_read.py
+++ b/src/main/python/tests/federated/test_federated_read.py
@@ -70,7 +70,7 @@ class TestFederatedAggFn(unittest.TestCase):
 
     @classmethod
     def setUpClass(cls):
-        cls.sds = SystemDSContext()
+        cls.sds = SystemDSContext(capture_stdout=True, logging_level=50)
         cls.sds.federated([fed1], [([0, 0], [dim, dim])]).write(
             fed1_file, format="federated"
         ).compute()
diff --git a/src/main/python/tests/frame/test_hyperband.py b/src/main/python/tests/frame/test_hyperband.py
index 1f4973c611..0f6c4d864f 100644
--- a/src/main/python/tests/frame/test_hyperband.py
+++ b/src/main/python/tests/frame/test_hyperband.py
@@ -44,7 +44,7 @@ class TestHyperband(unittest.TestCase):
 
     @classmethod
     def setUpClass(cls):
-        cls.sds = SystemDSContext()
+        cls.sds = SystemDSContext(capture_stdout=True, logging_level=50)
 
     @classmethod
     def tearDownClass(cls):
diff --git a/src/main/python/tests/frame/test_rIndexing.py b/src/main/python/tests/frame/test_rIndexing.py
index 060edb07c0..d4689cc55e 100644
--- a/src/main/python/tests/frame/test_rIndexing.py
+++ b/src/main/python/tests/frame/test_rIndexing.py
@@ -35,7 +35,7 @@ class Test_rIndexing(unittest.TestCase):
 
     @classmethod
     def setUpClass(cls):
-        cls.sds = SystemDSContext()
+        cls.sds = SystemDSContext(capture_stdout=True, logging_level=50)
 
     @classmethod
     def tearDownClass(cls):
diff --git a/src/main/python/tests/frame/test_r_c_bind.py b/src/main/python/tests/frame/test_r_c_bind.py
index 6a69c8e814..23742950e6 100644
--- a/src/main/python/tests/frame/test_r_c_bind.py
+++ b/src/main/python/tests/frame/test_r_c_bind.py
@@ -60,7 +60,7 @@ class TestRCBind(unittest.TestCase):
 
     @classmethod
     def setUpClass(cls):
-        cls.sds = SystemDSContext()
+        cls.sds = SystemDSContext(capture_stdout=True, logging_level=50)
 
     @classmethod
     def tearDownClass(cls):
diff --git a/src/main/python/tests/frame/test_replace.py b/src/main/python/tests/frame/test_replace.py
index 7adafb3050..08c47fcf83 100644
--- a/src/main/python/tests/frame/test_replace.py
+++ b/src/main/python/tests/frame/test_replace.py
@@ -39,7 +39,7 @@ class TestReplaceFrame(unittest.TestCase):
 
     @classmethod
     def setUpClass(cls):
-        cls.sds = SystemDSContext()
+        cls.sds = SystemDSContext(capture_stdout=True, logging_level=50)
 
     @classmethod
     def tearDownClass(cls):
diff --git a/src/main/python/tests/frame/test_slice.py b/src/main/python/tests/frame/test_slice.py
index 5abb46cd3b..471653ee1b 100644
--- a/src/main/python/tests/frame/test_slice.py
+++ b/src/main/python/tests/frame/test_slice.py
@@ -40,7 +40,7 @@ class TestFederatedAggFn(unittest.TestCase):
 
     @classmethod
     def setUpClass(cls):
-        cls.sds = SystemDSContext()
+        cls.sds = SystemDSContext(capture_stdout=True, logging_level=50)
 
     @classmethod
     def tearDownClass(cls):
diff --git a/src/main/python/tests/frame/test_transform_apply.py b/src/main/python/tests/frame/test_transform_apply.py
index 9cbd22292e..420f8afcba 100644
--- a/src/main/python/tests/frame/test_transform_apply.py
+++ b/src/main/python/tests/frame/test_transform_apply.py
@@ -36,7 +36,7 @@ class TestTransformApply(unittest.TestCase):
 
     @classmethod
     def setUpClass(cls):
-        cls.sds = SystemDSContext()
+        cls.sds = SystemDSContext(capture_stdout=True, logging_level=50)
 
     @classmethod
     def tearDownClass(cls):
diff --git a/src/main/python/tests/frame/test_transform_encode.py b/src/main/python/tests/frame/test_transform_encode.py
index c3ae837a55..a6388ffb0b 100644
--- a/src/main/python/tests/frame/test_transform_encode.py
+++ b/src/main/python/tests/frame/test_transform_encode.py
@@ -39,7 +39,7 @@ class TestTransformEncode(unittest.TestCase):
 
     @classmethod
     def setUpClass(cls):
-        cls.sds = SystemDSContext()
+        cls.sds = SystemDSContext(capture_stdout=True, logging_level=50)
 
     @classmethod
     def tearDownClass(cls):
diff --git a/src/main/python/tests/frame/test_write_read.py b/src/main/python/tests/frame/test_write_read.py
index d7fdbd06cb..2b24cc5ab8 100644
--- a/src/main/python/tests/frame/test_write_read.py
+++ b/src/main/python/tests/frame/test_write_read.py
@@ -42,7 +42,7 @@ class TestWriteRead(unittest.TestCase):
 
     @classmethod
     def setUpClass(cls):
-        cls.sds = SystemDSContext()
+        cls.sds = SystemDSContext(capture_stdout=True, logging_level=50)
 
     @classmethod
     def tearDownClass(cls):
diff --git a/src/main/python/tests/iotests/test_io_pandas_systemds.py b/src/main/python/tests/iotests/test_io_pandas_systemds.py
index 7f599ea163..214bc7475a 100644
--- a/src/main/python/tests/iotests/test_io_pandas_systemds.py
+++ b/src/main/python/tests/iotests/test_io_pandas_systemds.py
@@ -46,7 +46,7 @@ class TestPandasFromToSystemds(unittest.TestCase):
 
     @classmethod
     def setUpClass(cls):
-        cls.sds = SystemDSContext()
+        cls.sds = SystemDSContext(capture_stdout=True, logging_level=50)
         if not os.path.exists(cls.temp_dir):
             os.makedirs(cls.temp_dir)
 
diff --git a/src/main/python/tests/list/test_list.py b/src/main/python/tests/list/test_list.py
index 20835286ad..b6b3e2af1f 100644
--- a/src/main/python/tests/list/test_list.py
+++ b/src/main/python/tests/list/test_list.py
@@ -32,7 +32,7 @@ class TestListOperations(unittest.TestCase):
 
     @classmethod
     def setUpClass(cls):
-        cls.sds = SystemDSContext()
+        cls.sds = SystemDSContext(capture_stdout=True, logging_level=50)
 
     @classmethod
     def tearDownClass(cls):
diff --git a/src/main/python/tests/list/test_list_readwrite.py b/src/main/python/tests/list/test_list_readwrite.py
index f43d0fc3d5..d36b35cfdb 100644
--- a/src/main/python/tests/list/test_list_readwrite.py
+++ b/src/main/python/tests/list/test_list_readwrite.py
@@ -33,7 +33,7 @@ class TestListOperations(unittest.TestCase):
 
     @classmethod
     def setUpClass(cls):
-        cls.sds = SystemDSContext()
+        cls.sds = SystemDSContext(capture_stdout=True, logging_level=50)
 
     @classmethod
     def tearDownClass(cls):
diff --git a/src/main/python/tests/list/test_list_unknown.py b/src/main/python/tests/list/test_list_unknown.py
index f5aecb8669..68e9945533 100644
--- a/src/main/python/tests/list/test_list_unknown.py
+++ b/src/main/python/tests/list/test_list_unknown.py
@@ -34,7 +34,7 @@ class TestListOperationsUnknown(unittest.TestCase):
 
     @classmethod
     def setUpClass(cls):
-        cls.sds = SystemDSContext()
+        cls.sds = SystemDSContext(capture_stdout=True, logging_level=50)
 
     @classmethod
     def tearDownClass(cls):
diff --git a/src/main/python/tests/matrix/test_aggregations.py b/src/main/python/tests/matrix/test_aggregations.py
index 597bcfc9f5..bfd713b0d7 100644
--- a/src/main/python/tests/matrix/test_aggregations.py
+++ b/src/main/python/tests/matrix/test_aggregations.py
@@ -39,7 +39,7 @@ class TestMatrixAggFn(unittest.TestCase):
 
     @classmethod
     def setUpClass(cls):
-        cls.sds = SystemDSContext()
+        cls.sds = SystemDSContext(capture_stdout=True, logging_level=50)
 
     @classmethod
     def tearDownClass(cls):
diff --git a/src/main/python/tests/matrix/test_arg_min_max.py b/src/main/python/tests/matrix/test_arg_min_max.py
index 602a9dfee2..7d37a966f9 100644
--- a/src/main/python/tests/matrix/test_arg_min_max.py
+++ b/src/main/python/tests/matrix/test_arg_min_max.py
@@ -39,7 +39,7 @@ def weighted_quantiles(values, weights, quantiles=0.5):
 
 class TestARGMINMAX(unittest.TestCase):
     def setUp(self):
-        self.sds = SystemDSContext()
+        self.sds = SystemDSContext(capture_stdout=True, logging_level=50)
 
     def tearDown(self):
         self.sds.close()
@@ -58,7 +58,7 @@ class TestARGMINMAX(unittest.TestCase):
 
     def test_argmin_basic3(self):
         sds_input = self.sds.from_numpy(m)
-        sds_result = sds_input.argmin().compute(verbose=True)
+        sds_result = sds_input.argmin().compute()
         np_result = np.argmin(m)
         assert np.allclose(sds_result - 1, np_result, 1e-9)
 
diff --git a/src/main/python/tests/matrix/test_binary_op.py b/src/main/python/tests/matrix/test_binary_op.py
index 582cc8b8f5..abb73d2ab4 100644
--- a/src/main/python/tests/matrix/test_binary_op.py
+++ b/src/main/python/tests/matrix/test_binary_op.py
@@ -40,7 +40,7 @@ class TestBinaryOp(unittest.TestCase):
 
     @classmethod
     def setUpClass(cls):
-        cls.sds = SystemDSContext()
+        cls.sds = SystemDSContext(capture_stdout=True, logging_level=50)
 
     @classmethod
     def tearDownClass(cls):
diff --git a/src/main/python/tests/matrix/test_block_converter.py b/src/main/python/tests/matrix/test_block_converter.py
index 3e132b4238..ef4b28b1bc 100644
--- a/src/main/python/tests/matrix/test_block_converter.py
+++ b/src/main/python/tests/matrix/test_block_converter.py
@@ -35,7 +35,7 @@ class Test_MatrixBlockConverter(unittest.TestCase):
 
     @classmethod
     def setUpClass(cls):
-        cls.sds = SystemDSContext()
+        cls.sds = SystemDSContext(capture_stdout=True, logging_level=50)
 
     @classmethod
     def tearDownClass(cls):
diff --git a/src/main/python/tests/matrix/test_block_converter_unix_pipe.py b/src/main/python/tests/matrix/test_block_converter_unix_pipe.py
index 53a2eb4630..c24a9357c8 100644
--- a/src/main/python/tests/matrix/test_block_converter_unix_pipe.py
+++ b/src/main/python/tests/matrix/test_block_converter_unix_pipe.py
@@ -36,7 +36,7 @@ class TestMatrixBlockConverterUnixPipe(unittest.TestCase):
     @classmethod
     def setUpClass(cls):
         cls.sds = SystemDSContext(
-            data_transfer_mode=1, logging_level=10, capture_stdout=True
+            data_transfer_mode=1, logging_level=50, capture_stdout=True
         )
         if not os.path.exists(cls.temp_dir):
             os.makedirs(cls.temp_dir)
@@ -63,7 +63,7 @@ class TestMatrixBlockConverterUnixPipe(unittest.TestCase):
             matrix_sds = self.sds.from_numpy(matrix)
             matrix_sds.write(
                 self.temp_dir + "into_systemds_matrix.csv", format="csv", header=False
-            ).compute(verbose=True)
+            ).compute()
 
             # Read the CSV file using pandas
             result_df = pd.read_csv(
diff --git a/src/main/python/tests/matrix/test_casting.py b/src/main/python/tests/matrix/test_casting.py
index f990ec09d3..f1f3f6f068 100644
--- a/src/main/python/tests/matrix/test_casting.py
+++ b/src/main/python/tests/matrix/test_casting.py
@@ -28,7 +28,7 @@ from numpy import ndarray
 
 class TestDIAG(unittest.TestCase):
     def setUp(self):
-        self.sds = SystemDSContext()
+        self.sds = SystemDSContext(capture_stdout=True, logging_level=50)
 
     def tearDown(self):
         self.sds.close()
diff --git a/src/main/python/tests/matrix/test_ceil.py b/src/main/python/tests/matrix/test_ceil.py
index c0db01fb37..454b4e582e 100644
--- a/src/main/python/tests/matrix/test_ceil.py
+++ b/src/main/python/tests/matrix/test_ceil.py
@@ -26,7 +26,7 @@ from systemds.context import SystemDSContext
 
 class TestCEIL(unittest.TestCase):
     def setUp(self):
-        self.sds = SystemDSContext()
+        self.sds = SystemDSContext(capture_stdout=True, logging_level=50)
 
     def tearDown(self):
         self.sds.close()
diff --git a/src/main/python/tests/matrix/test_cholesky.py b/src/main/python/tests/matrix/test_cholesky.py
index d6ba5ba232..8a4a3bfbeb 100644
--- a/src/main/python/tests/matrix/test_cholesky.py
+++ b/src/main/python/tests/matrix/test_cholesky.py
@@ -37,7 +37,7 @@ class TestCholesky(unittest.TestCase):
 
     @classmethod
     def setUpClass(cls):
-        cls.sds = SystemDSContext(11412)
+        cls.sds = SystemDSContext(11412, capture_stdout=True, logging_level=50)
 
     @classmethod
     def tearDownClass(cls):
diff --git a/src/main/python/tests/matrix/test_cumulative.py b/src/main/python/tests/matrix/test_cumulative.py
index 963f101417..05cee02c3d 100644
--- a/src/main/python/tests/matrix/test_cumulative.py
+++ b/src/main/python/tests/matrix/test_cumulative.py
@@ -39,7 +39,7 @@ def comsumprod(m):
 
 class TestCUMBASE(unittest.TestCase):
     def setUp(self):
-        self.sds = SystemDSContext()
+        self.sds = SystemDSContext(capture_stdout=True, logging_level=50)
 
     def tearDown(self):
         self.sds.close()
diff --git a/src/main/python/tests/matrix/test_diag.py b/src/main/python/tests/matrix/test_diag.py
index 99f74f24c2..0ea53f052d 100644
--- a/src/main/python/tests/matrix/test_diag.py
+++ b/src/main/python/tests/matrix/test_diag.py
@@ -26,7 +26,7 @@ from systemds.context import SystemDSContext
 
 class TestDIAG(unittest.TestCase):
     def setUp(self):
-        self.sds = SystemDSContext()
+        self.sds = SystemDSContext(capture_stdout=True, logging_level=50)
 
     def tearDown(self):
         self.sds.close()
diff --git a/src/main/python/tests/matrix/test_eigen.py b/src/main/python/tests/matrix/test_eigen.py
index f036ce7369..14501bd5f6 100644
--- a/src/main/python/tests/matrix/test_eigen.py
+++ b/src/main/python/tests/matrix/test_eigen.py
@@ -26,7 +26,7 @@ from systemds.context import SystemDSContext
 
 class TestEigen(unittest.TestCase):
     def setUp(self):
-        self.sds = SystemDSContext()
+        self.sds = SystemDSContext(capture_stdout=True, logging_level=50)
 
     def tearDown(self):
         self.sds.close()
diff --git a/src/main/python/tests/matrix/test_exp.py b/src/main/python/tests/matrix/test_exp.py
index 1fa6a0e125..24124dd3f8 100644
--- a/src/main/python/tests/matrix/test_exp.py
+++ b/src/main/python/tests/matrix/test_exp.py
@@ -26,7 +26,7 @@ from systemds.context import SystemDSContext
 
 class TestEXP(unittest.TestCase):
     def setUp(self):
-        self.sds = SystemDSContext()
+        self.sds = SystemDSContext(capture_stdout=True, logging_level=50)
 
     def tearDown(self):
         self.sds.close()
diff --git a/src/main/python/tests/matrix/test_fft.py b/src/main/python/tests/matrix/test_fft.py
index d4806ab31d..b09245ad64 100644
--- a/src/main/python/tests/matrix/test_fft.py
+++ b/src/main/python/tests/matrix/test_fft.py
@@ -26,7 +26,7 @@ from systemds.context import SystemDSContext
 
 class TestFFT(unittest.TestCase):
     def setUp(self):
-        self.sds = SystemDSContext()
+        self.sds = SystemDSContext(capture_stdout=True, logging_level=50)
 
     def tearDown(self):
         self.sds.close()
diff --git a/src/main/python/tests/matrix/test_floor.py b/src/main/python/tests/matrix/test_floor.py
index 3c6c5b3296..566d333477 100644
--- a/src/main/python/tests/matrix/test_floor.py
+++ b/src/main/python/tests/matrix/test_floor.py
@@ -26,7 +26,7 @@ from systemds.context import SystemDSContext
 
 class TestFLOOR(unittest.TestCase):
     def setUp(self):
-        self.sds = SystemDSContext()
+        self.sds = SystemDSContext(capture_stdout=True, logging_level=50)
 
     def tearDown(self):
         self.sds.close()
diff --git a/src/main/python/tests/matrix/test_inv.py b/src/main/python/tests/matrix/test_inv.py
index 801c22dfd2..ca15eba192 100644
--- a/src/main/python/tests/matrix/test_inv.py
+++ b/src/main/python/tests/matrix/test_inv.py
@@ -29,7 +29,7 @@ m = np.random.random((10, 10))
 
 class TestINV(unittest.TestCase):
     def setUp(self):
-        self.sds = SystemDSContext()
+        self.sds = SystemDSContext(capture_stdout=True, logging_level=50)
 
     def tearDown(self):
         self.sds.close()
diff --git a/src/main/python/tests/matrix/test_is_special.py b/src/main/python/tests/matrix/test_is_special.py
index e04e61ddbf..95d6aa606f 100644
--- a/src/main/python/tests/matrix/test_is_special.py
+++ b/src/main/python/tests/matrix/test_is_special.py
@@ -53,7 +53,7 @@ m3 = m3.reshape((dim, dim))
 
 class TestIS_SPECIAL(unittest.TestCase):
     def setUp(self):
-        self.sds = SystemDSContext()
+        self.sds = SystemDSContext(capture_stdout=True, logging_level=50)
 
     def tearDown(self):
         self.sds.close()
diff --git a/src/main/python/tests/matrix/test_log.py b/src/main/python/tests/matrix/test_log.py
index d0be8848a4..887600377c 100644
--- a/src/main/python/tests/matrix/test_log.py
+++ b/src/main/python/tests/matrix/test_log.py
@@ -26,7 +26,7 @@ from systemds.context import SystemDSContext
 
 class TestLOG(unittest.TestCase):
     def setUp(self):
-        self.sds = SystemDSContext()
+        self.sds = SystemDSContext(capture_stdout=True, logging_level=50)
 
     def tearDown(self):
         self.sds.close()
diff --git a/src/main/python/tests/matrix/test_lu.py b/src/main/python/tests/matrix/test_lu.py
index 72e397c362..a14a069ce5 100644
--- a/src/main/python/tests/matrix/test_lu.py
+++ b/src/main/python/tests/matrix/test_lu.py
@@ -27,7 +27,7 @@ import scipy
 
 class TestLU(unittest.TestCase):
     def setUp(self):
-        self.sds = SystemDSContext()
+        self.sds = SystemDSContext(capture_stdout=True, logging_level=50)
 
     def tearDown(self):
         self.sds.close()
diff --git a/src/main/python/tests/matrix/test_order.py b/src/main/python/tests/matrix/test_order.py
index 6319c1451a..70a812214e 100644
--- a/src/main/python/tests/matrix/test_order.py
+++ b/src/main/python/tests/matrix/test_order.py
@@ -40,7 +40,7 @@ class TestOrderBase(unittest.TestCase):
 
     @classmethod
     def setUpClass(cls):
-        cls.sds = SystemDSContext()
+        cls.sds = SystemDSContext(capture_stdout=True, logging_level=50)
 
     @classmethod
     def tearDownClass(cls):
diff --git a/src/main/python/tests/matrix/test_qr.py b/src/main/python/tests/matrix/test_qr.py
index bdb823befc..b11e0e2f2e 100644
--- a/src/main/python/tests/matrix/test_qr.py
+++ b/src/main/python/tests/matrix/test_qr.py
@@ -26,7 +26,7 @@ from systemds.context import SystemDSContext
 
 class TestQR(unittest.TestCase):
     def setUp(self):
-        self.sds = SystemDSContext()
+        self.sds = SystemDSContext(capture_stdout=True, logging_level=50)
 
     def tearDown(self):
         self.sds.close()
diff --git a/src/main/python/tests/matrix/test_quantile.py b/src/main/python/tests/matrix/test_quantile.py
index 1993090297..5335102197 100644
--- a/src/main/python/tests/matrix/test_quantile.py
+++ b/src/main/python/tests/matrix/test_quantile.py
@@ -39,7 +39,7 @@ def weighted_quantiles(values, weights, quantiles=0.5):
 
 class TestQUANTILE(unittest.TestCase):
     def setUp(self):
-        self.sds = SystemDSContext()
+        self.sds = SystemDSContext(capture_stdout=True, logging_level=50)
 
     def tearDown(self):
         self.sds.close()
diff --git a/src/main/python/tests/matrix/test_rIndexing.py b/src/main/python/tests/matrix/test_rIndexing.py
index 61b337c47a..00893cedb8 100644
--- a/src/main/python/tests/matrix/test_rIndexing.py
+++ b/src/main/python/tests/matrix/test_rIndexing.py
@@ -31,7 +31,7 @@ class Test_rIndexing(unittest.TestCase):
 
     @classmethod
     def setUpClass(cls):
-        cls.sds = SystemDSContext()
+        cls.sds = SystemDSContext(capture_stdout=True, logging_level=50)
 
     @classmethod
     def tearDownClass(cls):
diff --git a/src/main/python/tests/matrix/test_r_c_bind.py b/src/main/python/tests/matrix/test_r_c_bind.py
index b4968eecf4..f931f40078 100644
--- a/src/main/python/tests/matrix/test_r_c_bind.py
+++ b/src/main/python/tests/matrix/test_r_c_bind.py
@@ -31,7 +31,7 @@ class TestRBind(unittest.TestCase):
 
     @classmethod
     def setUpClass(cls):
-        cls.sds = SystemDSContext()
+        cls.sds = SystemDSContext(capture_stdout=True, logging_level=50)
 
     @classmethod
     def tearDownClass(cls):
diff --git a/src/main/python/tests/matrix/test_rand.py b/src/main/python/tests/matrix/test_rand.py
index 3a67d92de6..88f4a387a8 100644
--- a/src/main/python/tests/matrix/test_rand.py
+++ b/src/main/python/tests/matrix/test_rand.py
@@ -44,7 +44,7 @@ class TestRand(unittest.TestCase):
 
     @classmethod
     def setUpClass(cls):
-        cls.sds = SystemDSContext()
+        cls.sds = SystemDSContext(capture_stdout=True, logging_level=50)
 
     @classmethod
     def tearDownClass(cls):
diff --git a/src/main/python/tests/matrix/test_replace.py b/src/main/python/tests/matrix/test_replace.py
index 331770331e..a240d1fd00 100644
--- a/src/main/python/tests/matrix/test_replace.py
+++ b/src/main/python/tests/matrix/test_replace.py
@@ -40,7 +40,7 @@ class TestReplaceMatrix(unittest.TestCase):
 
     @classmethod
     def setUpClass(cls):
-        cls.sds = SystemDSContext()
+        cls.sds = SystemDSContext(capture_stdout=True, logging_level=50)
 
     @classmethod
     def tearDownClass(cls):
diff --git a/src/main/python/tests/matrix/test_reverse.py b/src/main/python/tests/matrix/test_reverse.py
index a1643af257..55df1feddd 100644
--- a/src/main/python/tests/matrix/test_reverse.py
+++ b/src/main/python/tests/matrix/test_reverse.py
@@ -39,7 +39,7 @@ class TestReverse(unittest.TestCase):
 
     @classmethod
     def setUpClass(cls):
-        cls.sds = SystemDSContext()
+        cls.sds = SystemDSContext(capture_stdout=True, logging_level=50)
 
     @classmethod
     def tearDownClass(cls):
diff --git a/src/main/python/tests/matrix/test_roll.py b/src/main/python/tests/matrix/test_roll.py
index 8778e9514d..8f3b362bc5 100644
--- a/src/main/python/tests/matrix/test_roll.py
+++ b/src/main/python/tests/matrix/test_roll.py
@@ -43,7 +43,7 @@ class TestRoll(unittest.TestCase):
 
     @classmethod
     def setUpClass(cls):
-        cls.sds = SystemDSContext()
+        cls.sds = SystemDSContext(capture_stdout=True, logging_level=50)
 
     @classmethod
     def tearDownClass(cls):
diff --git a/src/main/python/tests/matrix/test_sign.py b/src/main/python/tests/matrix/test_sign.py
index 796e30e79e..62cb97cda8 100644
--- a/src/main/python/tests/matrix/test_sign.py
+++ b/src/main/python/tests/matrix/test_sign.py
@@ -26,7 +26,7 @@ from systemds.context import SystemDSContext
 
 class TestSIGN(unittest.TestCase):
     def setUp(self):
-        self.sds = SystemDSContext()
+        self.sds = SystemDSContext(capture_stdout=True, logging_level=50)
 
     def tearDown(self):
         self.sds.close()
diff --git a/src/main/python/tests/matrix/test_slice.py b/src/main/python/tests/matrix/test_slice.py
index b795de31e1..146266aacc 100644
--- a/src/main/python/tests/matrix/test_slice.py
+++ b/src/main/python/tests/matrix/test_slice.py
@@ -36,7 +36,7 @@ class TestFederatedAggFn(unittest.TestCase):
 
     @classmethod
     def setUpClass(cls):
-        cls.sds = SystemDSContext()
+        cls.sds = SystemDSContext(capture_stdout=True, logging_level=50)
 
     @classmethod
     def tearDownClass(cls):
diff --git a/src/main/python/tests/matrix/test_split.py b/src/main/python/tests/matrix/test_split.py
index f0c984b28f..1396a8017c 100644
--- a/src/main/python/tests/matrix/test_split.py
+++ b/src/main/python/tests/matrix/test_split.py
@@ -36,7 +36,7 @@ class TestOrder(unittest.TestCase):
 
     @classmethod
     def setUpClass(cls):
-        cls.sds = SystemDSContext()
+        cls.sds = SystemDSContext(capture_stdout=True, logging_level=50)
 
     @classmethod
     def tearDownClass(cls):
diff --git a/src/main/python/tests/matrix/test_sqrt.py b/src/main/python/tests/matrix/test_sqrt.py
index bf46836d6c..c355b3310d 100644
--- a/src/main/python/tests/matrix/test_sqrt.py
+++ b/src/main/python/tests/matrix/test_sqrt.py
@@ -26,7 +26,7 @@ from systemds.context import SystemDSContext
 
 class TestSQRT(unittest.TestCase):
     def setUp(self):
-        self.sds = SystemDSContext()
+        self.sds = SystemDSContext(capture_stdout=True, logging_level=50)
 
     def tearDown(self):
         self.sds.close()
diff --git a/src/main/python/tests/matrix/test_svd.py b/src/main/python/tests/matrix/test_svd.py
index 2e2dd500f3..c4e8b1c3b7 100644
--- a/src/main/python/tests/matrix/test_svd.py
+++ b/src/main/python/tests/matrix/test_svd.py
@@ -26,7 +26,7 @@ from systemds.context import SystemDSContext
 
 class TestSVD(unittest.TestCase):
     def setUp(self):
-        self.sds = SystemDSContext()
+        self.sds = SystemDSContext(capture_stdout=True, logging_level=50)
 
     def tearDown(self):
         self.sds.close()
diff --git a/src/main/python/tests/matrix/test_to_one_hot.py b/src/main/python/tests/matrix/test_to_one_hot.py
index c4d673b2a0..2754a58855 100644
--- a/src/main/python/tests/matrix/test_to_one_hot.py
+++ b/src/main/python/tests/matrix/test_to_one_hot.py
@@ -31,7 +31,7 @@ class TestMatrixOneHot(unittest.TestCase):
 
     @classmethod
     def setUpClass(cls):
-        cls.sds = SystemDSContext()
+        cls.sds = SystemDSContext(capture_stdout=True, logging_level=50)
 
     @classmethod
     def tearDownClass(cls):
diff --git a/src/main/python/tests/matrix/test_transpose.py b/src/main/python/tests/matrix/test_transpose.py
index 1ed0139429..ed8e8c5e9e 100644
--- a/src/main/python/tests/matrix/test_transpose.py
+++ b/src/main/python/tests/matrix/test_transpose.py
@@ -39,7 +39,7 @@ class TestTranspose(unittest.TestCase):
 
     @classmethod
     def setUpClass(cls):
-        cls.sds = SystemDSContext()
+        cls.sds = SystemDSContext(capture_stdout=True, logging_level=50)
 
     @classmethod
     def tearDownClass(cls):
diff --git a/src/main/python/tests/matrix/test_triangular.py b/src/main/python/tests/matrix/test_triangular.py
index f7ea2d840b..63f7dd2005 100644
--- a/src/main/python/tests/matrix/test_triangular.py
+++ b/src/main/python/tests/matrix/test_triangular.py
@@ -30,7 +30,7 @@ m2 = np.random.random((10, 10))
 
 class TestTRIANGULAR(unittest.TestCase):
     def setUp(self):
-        self.sds = SystemDSContext()
+        self.sds = SystemDSContext(capture_stdout=True, logging_level=50)
 
     def tearDown(self):
         self.sds.close()
diff --git a/src/main/python/tests/matrix/test_trigonometric.py b/src/main/python/tests/matrix/test_trigonometric.py
index f0da9c8f39..50d3966f3d 100644
--- a/src/main/python/tests/matrix/test_trigonometric.py
+++ b/src/main/python/tests/matrix/test_trigonometric.py
@@ -37,7 +37,7 @@ class TestTrigonometricOp(unittest.TestCase):
 
     @classmethod
     def setUpClass(cls):
-        cls.sds = SystemDSContext()
+        cls.sds = SystemDSContext(capture_stdout=True, logging_level=50)
 
     @classmethod
     def tearDownClass(cls):
diff --git a/src/main/python/tests/matrix/test_unique.py b/src/main/python/tests/matrix/test_unique.py
index b84c3ae2f5..66d1f19a9d 100644
--- a/src/main/python/tests/matrix/test_unique.py
+++ b/src/main/python/tests/matrix/test_unique.py
@@ -43,7 +43,7 @@ def compute_expected(m, num_cols, axis):
 
 class TestUNIQUE(unittest.TestCase):
     def setUp(self):
-        self.sds = SystemDSContext()
+        self.sds = SystemDSContext(capture_stdout=True, logging_level=50)
 
     def tearDown(self):
         self.sds.close()
diff --git a/src/main/python/tests/matrix/test_write.py b/src/main/python/tests/matrix/test_write.py
index d50d1f7b3c..780d01696c 100644
--- a/src/main/python/tests/matrix/test_write.py
+++ b/src/main/python/tests/matrix/test_write.py
@@ -33,7 +33,7 @@ class TestWrite(unittest.TestCase):
 
     @classmethod
     def setUpClass(cls):
-        cls.sds = SystemDSContext()
+        cls.sds = SystemDSContext(capture_stdout=True, logging_level=50)
 
     @classmethod
     def tearDownClass(cls):
diff --git a/src/main/python/tests/nn/test_affine.py b/src/main/python/tests/nn/test_affine.py
index b13ba39ea3..9ca5d2843f 100644
--- a/src/main/python/tests/nn/test_affine.py
+++ b/src/main/python/tests/nn/test_affine.py
@@ -67,7 +67,7 @@ class TestAffine(unittest.TestCase):
 
     @classmethod
     def setUpClass(cls):
-        cls.sds = SystemDSContext()
+        cls.sds = SystemDSContext(capture_stdout=True, logging_level=50)
 
     @classmethod
     def tearDownClass(cls):
diff --git a/src/main/python/tests/nn/test_layer.py b/src/main/python/tests/nn/test_layer.py
index 0b6a0eb2e1..4e043ef2a0 100644
--- a/src/main/python/tests/nn/test_layer.py
+++ b/src/main/python/tests/nn/test_layer.py
@@ -30,7 +30,7 @@ class TestLayer(unittest.TestCase):
 
     @classmethod
     def setUpClass(cls):
-        cls.sds = SystemDSContext()
+        cls.sds = SystemDSContext(capture_stdout=True, logging_level=50)
 
     @classmethod
     def tearDownClass(cls):
diff --git a/src/main/python/tests/nn/test_neural_network.py b/src/main/python/tests/nn/test_neural_network.py
index f13b591cb4..82760fd711 100644
--- a/src/main/python/tests/nn/test_neural_network.py
+++ b/src/main/python/tests/nn/test_neural_network.py
@@ -31,7 +31,7 @@ class TestNeuralNetwork(unittest.TestCase):
 
     @classmethod
     def setUpClass(cls):
-        cls.sds = SystemDSContext()
+        cls.sds = SystemDSContext(capture_stdout=True, logging_level=50)
         np.random.seed(42)
         cls.X = np.random.rand(6, 1)
         cls.exp_out = np.array(
diff --git a/src/main/python/tests/nn/test_relu.py b/src/main/python/tests/nn/test_relu.py
index 2fa6306a04..c859602d02 100644
--- a/src/main/python/tests/nn/test_relu.py
+++ b/src/main/python/tests/nn/test_relu.py
@@ -33,7 +33,7 @@ class TestRelu(unittest.TestCase):
 
     @classmethod
     def setUpClass(cls):
-        cls.sds = SystemDSContext()
+        cls.sds = SystemDSContext(capture_stdout=True, logging_level=50)
 
     @classmethod
     def tearDownClass(cls):
diff --git a/src/main/python/tests/nn/test_sequential.py b/src/main/python/tests/nn/test_sequential.py
index 12360679d3..a69d6493eb 100644
--- a/src/main/python/tests/nn/test_sequential.py
+++ b/src/main/python/tests/nn/test_sequential.py
@@ -63,7 +63,7 @@ class TestSequential(unittest.TestCase):
 
     @classmethod
     def setUpClass(cls):
-        cls.sds = SystemDSContext()
+        cls.sds = SystemDSContext(capture_stdout=True, logging_level=50)
 
     @classmethod
     def tearDownClass(cls):
diff --git a/src/main/python/tests/scuro/__init__.py b/src/main/python/tests/scuro/__init__.py
deleted file mode 100644
index e66abb4646..0000000000
--- a/src/main/python/tests/scuro/__init__.py
+++ /dev/null
@@ -1,20 +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.
-#
-# -------------------------------------------------------------
diff --git a/src/main/python/tests/source/test_source_01.py b/src/main/python/tests/source/test_source_01.py
index ef9b4ee723..725cc6809b 100644
--- a/src/main/python/tests/source/test_source_01.py
+++ b/src/main/python/tests/source/test_source_01.py
@@ -31,7 +31,7 @@ class TestSource_01(unittest.TestCase):
 
     @classmethod
     def setUpClass(cls):
-        cls.sds = SystemDSContext()
+        cls.sds = SystemDSContext(capture_stdout=True, logging_level=50)
 
     @classmethod
     def tearDownClass(cls):
diff --git a/src/main/python/tests/source/test_source_02.py b/src/main/python/tests/source/test_source_02.py
index bc6d1168ac..c3e9442b31 100644
--- a/src/main/python/tests/source/test_source_02.py
+++ b/src/main/python/tests/source/test_source_02.py
@@ -31,7 +31,7 @@ class TestSource_01(unittest.TestCase):
 
     @classmethod
     def setUpClass(cls):
-        cls.sds = SystemDSContext()
+        cls.sds = SystemDSContext(capture_stdout=True, logging_level=50)
 
     @classmethod
     def tearDownClass(cls):
diff --git a/src/main/python/tests/source/test_source_list.py b/src/main/python/tests/source/test_source_list.py
index 066571a2e1..f6acbbf6ec 100644
--- a/src/main/python/tests/source/test_source_list.py
+++ b/src/main/python/tests/source/test_source_list.py
@@ -33,7 +33,7 @@ class TestSource_01(unittest.TestCase):
 
     @classmethod
     def setUpClass(cls):
-        cls.sds = SystemDSContext()
+        cls.sds = SystemDSContext(capture_stdout=True, logging_level=50)
 
     @classmethod
     def tearDownClass(cls):
diff --git a/src/main/python/tests/source/test_source_multi_arguments.py b/src/main/python/tests/source/test_source_multi_arguments.py
index 555096a9d6..eb8d3ba00e 100644
--- a/src/main/python/tests/source/test_source_multi_arguments.py
+++ b/src/main/python/tests/source/test_source_multi_arguments.py
@@ -32,7 +32,7 @@ class TestSource_MultiArguments(unittest.TestCase):
 
     @classmethod
     def setUpClass(cls):
-        cls.sds = SystemDSContext()
+        cls.sds = SystemDSContext(capture_stdout=True, logging_level=50)
 
     @classmethod
     def tearDownClass(cls):
diff --git a/src/main/python/tests/source/test_source_neural_net.py b/src/main/python/tests/source/test_source_neural_net.py
index 59302b2084..d9aa078ba6 100644
--- a/src/main/python/tests/source/test_source_neural_net.py
+++ b/src/main/python/tests/source/test_source_neural_net.py
@@ -32,7 +32,7 @@ class TestSource_NeuralNet(unittest.TestCase):
 
     @classmethod
     def setUpClass(cls):
-        cls.sds = SystemDSContext()
+        cls.sds = SystemDSContext(capture_stdout=True, logging_level=50)
 
     @classmethod
     def tearDownClass(cls):
diff --git a/src/main/python/tests/source/test_source_reuse.py b/src/main/python/tests/source/test_source_reuse.py
index 77188af7a0..3f2e80ff96 100644
--- a/src/main/python/tests/source/test_source_reuse.py
+++ b/src/main/python/tests/source/test_source_reuse.py
@@ -32,7 +32,7 @@ class TestSourceReuse(unittest.TestCase):
 
     @classmethod
     def setUpClass(cls):
-        cls.sds = SystemDSContext()
+        cls.sds = SystemDSContext(capture_stdout=True, logging_level=50)
         cls.source_reuse = cls.sds.source("./tests/source/source_01.dml", "test")
 
     @classmethod
diff --git a/src/main/python/tests/source/test_source_with_default_values.py b/src/main/python/tests/source/test_source_with_default_values.py
index f8229fbd7f..a95a4c0961 100644
--- a/src/main/python/tests/source/test_source_with_default_values.py
+++ b/src/main/python/tests/source/test_source_with_default_values.py
@@ -21,7 +21,6 @@
 
 import unittest
 
-import numpy as np
 from systemds.context import SystemDSContext
 
 
@@ -32,7 +31,7 @@ class TestSource_DefaultValues(unittest.TestCase):
 
     @classmethod
     def setUpClass(cls):
-        cls.sds = SystemDSContext()
+        cls.sds = SystemDSContext(capture_stdout=True, logging_level=50)
 
     @classmethod
     def tearDownClass(cls):