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:39 UTC
(systemds) branch main updated (3e6e3210c1 -> 4e05c196fa)
This is an automated email from the ASF dual-hosted git repository.
baunsgaard pushed a change to branch main
in repository https://gitbox.apache.org/repos/asf/systemds.git
from 3e6e3210c1 [MINOR] Change default logging level to warn in python api
new 978412445d [SYSTEMDS-3330] Documentation of builtin functions (main)
new 4e05c196fa [MINOR] Python Testing Cleanup
The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
.github/workflows/python.yml | 8 +-
.github/workflows/pythonFormatting.yml | 2 +-
scripts/builtin/dist.dml | 15 ++++
scripts/builtin/img_brightness.dml | 19 ++++-
scripts/builtin/img_brightness_linearized.dml | 19 ++++-
scripts/builtin/img_crop.dml | 19 ++++-
scripts/builtin/img_crop_linearized.dml | 19 ++++-
scripts/builtin/img_cutout.dml | 20 +++++
scripts/builtin/img_cutout_linearized.dml | 23 +++++-
scripts/builtin/img_invert.dml | 21 ++++-
scripts/builtin/img_invert_linearized.dml | 21 ++++-
scripts/builtin/img_mirror.dml | 23 +++++-
scripts/builtin/img_mirror_linearized.dml | 48 ++++++++++-
scripts/builtin/img_posterize.dml | 23 +++++-
scripts/builtin/img_posterize_linearized.dml | 23 +++++-
scripts/builtin/img_rotate.dml | 19 +++++
scripts/builtin/img_rotate_linearized.dml | 25 +++++-
scripts/builtin/img_sample_pairing.dml | 28 ++++++-
scripts/builtin/img_sample_pairing_linearized.dml | 26 +++++-
scripts/builtin/img_shear.dml | 19 +++++
scripts/builtin/img_shear_linearized.dml | 23 +++++-
scripts/builtin/img_transform.dml | 19 +++++
scripts/builtin/img_transform_linearized.dml | 25 +++++-
scripts/builtin/img_translate.dml | 19 +++++
scripts/builtin/img_translate_linearized.dml | 22 +++++-
scripts/builtin/lm.dml | 30 +++++++
scripts/builtin/normalize.dml | 14 ++++
scripts/builtin/randomForest.dml | 41 ++++++++++
scripts/builtin/randomForestPredict.dml | 43 ++++++++++
scripts/builtin/toOneHot.dml | 16 ++++
.../python/docs/source/api/operator/algorithms.rst | 7 +-
.../docs/source/api/operator/algorithms/WoE.rst | 25 ++++++
.../source/api/operator/algorithms/WoEApply.rst | 25 ++++++
.../source/api/operator/algorithms/abstain.rst | 25 ++++++
.../docs/source/api/operator/algorithms/adasyn.rst | 25 ++++++
.../docs/source/api/operator/algorithms/als.rst | 25 ++++++
.../docs/source/api/operator/algorithms/alsCG.rst | 25 ++++++
.../docs/source/api/operator/algorithms/alsDS.rst | 25 ++++++
.../source/api/operator/algorithms/alsPredict.rst | 25 ++++++
.../api/operator/algorithms/alsTopkPredict.rst | 25 ++++++
.../docs/source/api/operator/algorithms/ampute.rst | 25 ++++++
.../api/operator/algorithms/apply_pipeline.rst | 25 ++++++
.../docs/source/api/operator/algorithms/arima.rst | 25 ++++++
.../docs/source/api/operator/algorithms/auc.rst | 25 ++++++
.../api/operator/algorithms/autoencoder_2layer.rst | 25 ++++++
.../docs/source/api/operator/algorithms/bandit.rst | 25 ++++++
.../docs/source/api/operator/algorithms/bivar.rst | 25 ++++++
.../source/api/operator/algorithms/components.rst | 25 ++++++
.../api/operator/algorithms/confusionMatrix.rst | 25 ++++++
.../api/operator/algorithms/cooccurrenceMatrix.rst | 25 ++++++
.../docs/source/api/operator/algorithms/cor.rst | 25 ++++++
.../api/operator/algorithms/correctTypos.rst | 25 ++++++
.../api/operator/algorithms/correctTyposApply.rst | 25 ++++++
.../docs/source/api/operator/algorithms/cox.rst | 25 ++++++
.../source/api/operator/algorithms/cspline.rst | 25 ++++++
.../source/api/operator/algorithms/csplineCG.rst | 25 ++++++
.../source/api/operator/algorithms/csplineDS.rst | 25 ++++++
.../docs/source/api/operator/algorithms/cvlm.rst | 25 ++++++
.../docs/source/api/operator/algorithms/dbscan.rst | 25 ++++++
.../source/api/operator/algorithms/dbscanApply.rst | 25 ++++++
.../api/operator/algorithms/decisionTree.rst | 25 ++++++
.../operator/algorithms/decisionTreePredict.rst | 25 ++++++
.../docs/source/api/operator/algorithms/dedup.rst | 25 ++++++
.../source/api/operator/algorithms/deepWalk.rst | 25 ++++++
.../api/operator/algorithms/denialConstraints.rst | 25 ++++++
.../operator/algorithms/differenceStatistics.rst | 25 ++++++
.../source/api/operator/algorithms/discoverFD.rst | 25 ++++++
.../docs/source/api/operator/algorithms/dist.rst | 25 ++++++
.../docs/source/api/operator/algorithms/dmv.rst | 25 ++++++
.../docs/source/api/operator/algorithms/ema.rst | 25 ++++++
.../api/operator/algorithms/executePipeline.rst | 25 ++++++
.../source/api/operator/algorithms/f1Score.rst | 25 ++++++
.../docs/source/api/operator/algorithms/fdr.rst | 25 ++++++
.../source/api/operator/algorithms/ffPredict.rst | 25 ++++++
.../source/api/operator/algorithms/ffTrain.rst | 25 ++++++
.../api/operator/algorithms/fit_pipeline.rst | 25 ++++++
.../api/operator/algorithms/fixInvalidLengths.rst | 25 ++++++
.../operator/algorithms/fixInvalidLengthsApply.rst | 25 ++++++
.../api/operator/algorithms/flattenQuantile.rst | 25 ++++++
.../source/api/operator/algorithms/frameSort.rst | 25 ++++++
.../api/operator/algorithms/frequencyEncode.rst | 25 ++++++
.../operator/algorithms/frequencyEncodeApply.rst | 25 ++++++
.../docs/source/api/operator/algorithms/garch.rst | 25 ++++++
.../api/operator/algorithms/gaussianClassifier.rst | 25 ++++++
.../source/api/operator/algorithms/getAccuracy.rst | 25 ++++++
.../docs/source/api/operator/algorithms/glm.rst | 25 ++++++
.../source/api/operator/algorithms/glmPredict.rst | 25 ++++++
.../docs/source/api/operator/algorithms/glove.rst | 25 ++++++
.../docs/source/api/operator/algorithms/gmm.rst | 25 ++++++
.../source/api/operator/algorithms/gmmPredict.rst | 25 ++++++
.../docs/source/api/operator/algorithms/gnmf.rst | 25 ++++++
.../source/api/operator/algorithms/gridSearch.rst | 25 ++++++
.../operator/algorithms/hospitalResidencyMatch.rst | 25 ++++++
.../source/api/operator/algorithms/hyperband.rst | 25 ++++++
.../api/operator/algorithms/img_brightness.rst | 25 ++++++
.../algorithms/img_brightness_linearized.rst | 25 ++++++
.../source/api/operator/algorithms/img_crop.rst | 25 ++++++
.../operator/algorithms/img_crop_linearized.rst | 25 ++++++
.../source/api/operator/algorithms/img_cutout.rst | 25 ++++++
.../operator/algorithms/img_cutout_linearized.rst | 25 ++++++
.../source/api/operator/algorithms/img_invert.rst | 25 ++++++
.../operator/algorithms/img_invert_linearized.rst | 25 ++++++
.../source/api/operator/algorithms/img_mirror.rst | 25 ++++++
.../operator/algorithms/img_mirror_linearized.rst | 25 ++++++
.../api/operator/algorithms/img_posterize.rst | 25 ++++++
.../algorithms/img_posterize_linearized.rst | 25 ++++++
.../source/api/operator/algorithms/img_rotate.rst | 25 ++++++
.../operator/algorithms/img_rotate_linearized.rst | 25 ++++++
.../api/operator/algorithms/img_sample_pairing.rst | 25 ++++++
.../algorithms/img_sample_pairing_linearized.rst | 25 ++++++
.../source/api/operator/algorithms/img_shear.rst | 25 ++++++
.../operator/algorithms/img_shear_linearized.rst | 25 ++++++
.../api/operator/algorithms/img_transform.rst | 25 ++++++
.../algorithms/img_transform_linearized.rst | 25 ++++++
.../api/operator/algorithms/img_translate.rst | 25 ++++++
.../algorithms/img_translate_linearized.rst | 25 ++++++
.../api/operator/algorithms/impurityMeasures.rst | 25 ++++++
.../source/api/operator/algorithms/imputeByFD.rst | 25 ++++++
.../api/operator/algorithms/imputeByFDApply.rst | 25 ++++++
.../source/api/operator/algorithms/imputeByKNN.rst | 25 ++++++
.../api/operator/algorithms/imputeByMean.rst | 25 ++++++
.../api/operator/algorithms/imputeByMeanApply.rst | 25 ++++++
.../api/operator/algorithms/imputeByMedian.rst | 25 ++++++
.../operator/algorithms/imputeByMedianApply.rst | 25 ++++++
.../api/operator/algorithms/imputeByMode.rst | 25 ++++++
.../api/operator/algorithms/imputeByModeApply.rst | 25 ++++++
.../api/operator/algorithms/incSliceLine.rst | 25 ++++++
.../source/api/operator/algorithms/intersect.rst | 25 ++++++
.../docs/source/api/operator/algorithms/km.rst | 25 ++++++
.../docs/source/api/operator/algorithms/kmeans.rst | 25 ++++++
.../api/operator/algorithms/kmeansPredict.rst | 25 ++++++
.../docs/source/api/operator/algorithms/knn.rst | 25 ++++++
.../source/api/operator/algorithms/knnGraph.rst | 25 ++++++
.../docs/source/api/operator/algorithms/knnbf.rst | 25 ++++++
.../docs/source/api/operator/algorithms/l2svm.rst | 25 ++++++
.../api/operator/algorithms/l2svmPredict.rst | 25 ++++++
.../docs/source/api/operator/algorithms/lasso.rst | 25 ++++++
.../api/operator/algorithms/lenetPredict.rst | 25 ++++++
.../source/api/operator/algorithms/lenetTrain.rst | 25 ++++++
.../docs/source/api/operator/algorithms/lm.rst | 25 ++++++
.../docs/source/api/operator/algorithms/lmCG.rst | 25 ++++++
.../docs/source/api/operator/algorithms/lmDS.rst | 25 ++++++
.../source/api/operator/algorithms/lmPredict.rst | 25 ++++++
.../api/operator/algorithms/lmPredictStats.rst | 25 ++++++
.../source/api/operator/algorithms/logSumExp.rst | 25 ++++++
.../docs/source/api/operator/algorithms/mae.rst | 25 ++++++
.../docs/source/api/operator/algorithms/mape.rst | 25 ++++++
.../api/operator/algorithms/matrixProfile.rst | 25 ++++++
.../docs/source/api/operator/algorithms/mcc.rst | 25 ++++++
.../docs/source/api/operator/algorithms/mdedup.rst | 25 ++++++
.../docs/source/api/operator/algorithms/mice.rst | 25 ++++++
.../source/api/operator/algorithms/miceApply.rst | 25 ++++++
.../docs/source/api/operator/algorithms/mse.rst | 25 ++++++
.../docs/source/api/operator/algorithms/msmape.rst | 25 ++++++
.../docs/source/api/operator/algorithms/msvm.rst | 25 ++++++
.../source/api/operator/algorithms/msvmPredict.rst | 25 ++++++
.../source/api/operator/algorithms/multiLogReg.rst | 25 ++++++
.../api/operator/algorithms/multiLogRegPredict.rst | 25 ++++++
.../source/api/operator/algorithms/na_locf.rst | 25 ++++++
.../source/api/operator/algorithms/naiveBayes.rst | 25 ++++++
.../api/operator/algorithms/naiveBayesPredict.rst | 25 ++++++
.../source/api/operator/algorithms/normalize.rst | 25 ++++++
.../api/operator/algorithms/normalizeApply.rst | 25 ++++++
.../docs/source/api/operator/algorithms/nrmse.rst | 25 ++++++
.../source/api/operator/algorithms/outlier.rst | 25 ++++++
.../api/operator/algorithms/outlierByArima.rst | 25 ++++++
.../api/operator/algorithms/outlierByIQR.rst | 25 ++++++
.../api/operator/algorithms/outlierByIQRApply.rst | 25 ++++++
.../source/api/operator/algorithms/outlierBySd.rst | 25 ++++++
.../api/operator/algorithms/outlierBySdApply.rst | 25 ++++++
.../source/api/operator/algorithms/pageRank.rst | 25 ++++++
.../docs/source/api/operator/algorithms/pca.rst | 25 ++++++
.../source/api/operator/algorithms/pcaInverse.rst | 25 ++++++
.../api/operator/algorithms/pcaTransform.rst | 25 ++++++
.../docs/source/api/operator/algorithms/pnmf.rst | 25 ++++++
.../docs/source/api/operator/algorithms/ppca.rst | 25 ++++++
.../docs/source/api/operator/algorithms/psnr.rst | 25 ++++++
.../api/operator/algorithms/quantizeByCluster.rst | 25 ++++++
.../source/api/operator/algorithms/raGroupby.rst | 25 ++++++
.../docs/source/api/operator/algorithms/raJoin.rst | 25 ++++++
.../source/api/operator/algorithms/raSelection.rst | 25 ++++++
.../api/operator/algorithms/randomForest.rst | 25 ++++++
.../operator/algorithms/randomForestPredict.rst | 25 ++++++
.../docs/source/api/operator/algorithms/rmse.rst | 25 ++++++
.../docs/source/api/operator/algorithms/scale.rst | 25 ++++++
.../source/api/operator/algorithms/scaleApply.rst | 25 ++++++
.../source/api/operator/algorithms/scaleMinMax.rst | 25 ++++++
.../api/operator/algorithms/selectByVarThresh.rst | 25 ++++++
.../docs/source/api/operator/algorithms/ses.rst | 25 ++++++
.../source/api/operator/algorithms/setdiff.rst | 25 ++++++
.../api/operator/algorithms/shapExplainer.rst | 25 ++++++
.../source/api/operator/algorithms/sherlock.rst | 25 ++++++
.../api/operator/algorithms/sherlockPredict.rst | 25 ++++++
.../api/operator/algorithms/shortestPath.rst | 25 ++++++
.../source/api/operator/algorithms/sigmoid.rst | 25 ++++++
.../source/api/operator/algorithms/skewness.rst | 25 ++++++
.../source/api/operator/algorithms/sliceLine.rst | 25 ++++++
.../api/operator/algorithms/sliceLineDebug.rst | 25 ++++++
.../api/operator/algorithms/sliceLineExtract.rst | 25 ++++++
.../source/api/operator/algorithms/slicefinder.rst | 25 ++++++
.../docs/source/api/operator/algorithms/smape.rst | 25 ++++++
.../docs/source/api/operator/algorithms/smote.rst | 25 ++++++
.../source/api/operator/algorithms/softmax.rst | 25 ++++++
.../docs/source/api/operator/algorithms/split.rst | 25 ++++++
.../api/operator/algorithms/splitBalanced.rst | 25 ++++++
.../source/api/operator/algorithms/sqrtMatrix.rst | 25 ++++++
.../api/operator/algorithms/stableMarriage.rst | 25 ++++++
.../source/api/operator/algorithms/statsNA.rst | 25 ++++++
.../docs/source/api/operator/algorithms/steplm.rst | 25 ++++++
.../source/api/operator/algorithms/stratstats.rst | 25 ++++++
.../operator/algorithms/symmetricDifference.rst | 25 ++++++
.../docs/source/api/operator/algorithms/tSNE.rst | 25 ++++++
.../source/api/operator/algorithms/toOneHot.rst | 25 ++++++
.../source/api/operator/algorithms/tomeklink.rst | 25 ++++++
.../api/operator/algorithms/topk_cleaning.rst | 25 ++++++
.../api/operator/algorithms/underSampling.rst | 25 ++++++
.../docs/source/api/operator/algorithms/union.rst | 25 ++++++
.../docs/source/api/operator/algorithms/univar.rst | 25 ++++++
.../source/api/operator/algorithms/vectorToCsv.rst | 25 ++++++
.../docs/source/api/operator/algorithms/wer.rst | 25 ++++++
.../source/api/operator/algorithms/winsorize.rst | 25 ++++++
.../api/operator/algorithms/winsorizeApply.rst | 25 ++++++
.../source/api/operator/algorithms/xdummy1.rst | 25 ++++++
.../source/api/operator/algorithms/xdummy2.rst | 25 ++++++
.../source/api/operator/algorithms/xgboost.rst | 25 ++++++
.../algorithms/xgboostPredictClassification.rst | 25 ++++++
.../algorithms/xgboostPredictRegression.rst | 25 ++++++
src/main/python/generator/dml_parser.py | 24 +++++-
src/main/python/generator/generator.py | 92 ++++++++++++++++++++--
.../resources/template_python_script_rst_license | 20 +++++
.../python/systemds/context/systemds_context.py | 4 +-
.../systemds/operator/algorithm/builtin/dist.py | 15 ++++
.../operator/algorithm/builtin/img_brightness.py | 19 ++++-
.../algorithm/builtin/img_brightness_linearized.py | 19 ++++-
.../operator/algorithm/builtin/img_crop.py | 19 ++++-
.../algorithm/builtin/img_crop_linearized.py | 19 ++++-
.../operator/algorithm/builtin/img_cutout.py | 20 +++++
.../algorithm/builtin/img_cutout_linearized.py | 21 ++++-
.../operator/algorithm/builtin/img_invert.py | 21 ++++-
.../algorithm/builtin/img_invert_linearized.py | 21 ++++-
.../operator/algorithm/builtin/img_mirror.py | 23 +++++-
.../algorithm/builtin/img_mirror_linearized.py | 48 ++++++++++-
.../operator/algorithm/builtin/img_posterize.py | 23 +++++-
.../algorithm/builtin/img_posterize_linearized.py | 23 +++++-
.../operator/algorithm/builtin/img_rotate.py | 19 +++++
.../algorithm/builtin/img_rotate_linearized.py | 23 +++++-
.../algorithm/builtin/img_sample_pairing.py | 28 ++++++-
.../builtin/img_sample_pairing_linearized.py | 26 +++++-
.../operator/algorithm/builtin/img_shear.py | 19 +++++
.../algorithm/builtin/img_shear_linearized.py | 23 +++++-
.../operator/algorithm/builtin/img_transform.py | 19 +++++
.../algorithm/builtin/img_transform_linearized.py | 23 +++++-
.../operator/algorithm/builtin/img_translate.py | 19 +++++
.../algorithm/builtin/img_translate_linearized.py | 22 +++++-
.../systemds/operator/algorithm/builtin/lm.py | 30 +++++++
.../operator/algorithm/builtin/normalize.py | 14 ++++
.../operator/algorithm/builtin/randomForest.py | 41 ++++++++++
.../algorithm/builtin/randomForestPredict.py | 43 ++++++++++
.../operator/algorithm/builtin/toOneHot.py | 16 ++++
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 +-
src/main/python/tests/algorithms/test_lm.py | 65 ---------------
.../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 +-
.../auto_tests/test_dist.py} | 39 ++++-----
.../auto_tests/test_img_brightness.py} | 41 +++++-----
.../auto_tests/test_img_brightness_linearized.py} | 41 +++++-----
.../auto_tests/test_img_crop.py} | 41 +++++-----
.../auto_tests/test_img_crop_linearized.py} | 41 +++++-----
.../auto_tests/test_img_cutout.py} | 43 +++++-----
.../tests/auto_tests/test_img_cutout_linearized.py | 51 ++++++++++++
.../auto_tests/test_img_invert.py} | 43 +++++-----
.../tests/auto_tests/test_img_invert_linearized.py | 51 ++++++++++++
.../auto_tests/test_img_mirror.py} | 43 +++++-----
.../auto_tests/test_img_mirror_linearized_0.py | 51 ++++++++++++
.../auto_tests/test_img_mirror_linearized_1.py | 58 ++++++++++++++
.../auto_tests/test_img_posterize.py} | 43 +++++-----
.../auto_tests/test_img_posterize_linearized.py} | 43 +++++-----
.../auto_tests/test_img_rotate.py} | 43 +++++-----
.../tests/auto_tests/test_img_rotate_linearized.py | 51 ++++++++++++
.../tests/auto_tests/test_img_sample_pairing.py | 56 +++++++++++++
.../test_img_sample_pairing_linearized.py | 56 +++++++++++++
.../auto_tests/test_img_shear.py} | 43 +++++-----
.../tests/auto_tests/test_img_shear_linearized.py | 51 ++++++++++++
.../auto_tests/test_img_transform.py} | 43 +++++-----
.../auto_tests/test_img_transform_linearized.py | 51 ++++++++++++
.../auto_tests/test_img_translate.py} | 43 +++++-----
.../auto_tests/test_img_translate_linearized.py | 51 ++++++++++++
src/main/python/tests/auto_tests/test_lm.py | 62 +++++++++++++++
.../auto_tests/test_normalize.py} | 38 ++++-----
.../python/tests/auto_tests/test_randomForest.py | 74 +++++++++++++++++
.../tests/auto_tests/test_randomForestPredict.py | 74 +++++++++++++++++
.../auto_tests/test_toOneHot.py} | 41 +++++-----
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 +-
373 files changed, 7516 insertions(+), 557 deletions(-)
create mode 100644 src/main/python/docs/source/api/operator/algorithms/WoE.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/WoEApply.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/abstain.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/adasyn.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/als.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/alsCG.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/alsDS.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/alsPredict.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/alsTopkPredict.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/ampute.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/apply_pipeline.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/arima.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/auc.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/autoencoder_2layer.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/bandit.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/bivar.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/components.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/confusionMatrix.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/cooccurrenceMatrix.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/cor.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/correctTypos.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/correctTyposApply.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/cox.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/cspline.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/csplineCG.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/csplineDS.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/cvlm.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/dbscan.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/dbscanApply.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/decisionTree.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/decisionTreePredict.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/dedup.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/deepWalk.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/denialConstraints.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/differenceStatistics.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/discoverFD.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/dist.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/dmv.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/ema.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/executePipeline.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/f1Score.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/fdr.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/ffPredict.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/ffTrain.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/fit_pipeline.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/fixInvalidLengths.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/fixInvalidLengthsApply.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/flattenQuantile.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/frameSort.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/frequencyEncode.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/frequencyEncodeApply.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/garch.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/gaussianClassifier.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/getAccuracy.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/glm.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/glmPredict.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/glove.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/gmm.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/gmmPredict.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/gnmf.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/gridSearch.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/hospitalResidencyMatch.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/hyperband.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/img_brightness.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/img_brightness_linearized.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/img_crop.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/img_crop_linearized.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/img_cutout.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/img_cutout_linearized.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/img_invert.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/img_invert_linearized.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/img_mirror.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/img_mirror_linearized.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/img_posterize.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/img_posterize_linearized.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/img_rotate.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/img_rotate_linearized.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/img_sample_pairing.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/img_sample_pairing_linearized.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/img_shear.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/img_shear_linearized.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/img_transform.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/img_transform_linearized.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/img_translate.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/img_translate_linearized.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/impurityMeasures.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/imputeByFD.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/imputeByFDApply.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/imputeByKNN.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/imputeByMean.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/imputeByMeanApply.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/imputeByMedian.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/imputeByMedianApply.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/imputeByMode.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/imputeByModeApply.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/incSliceLine.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/intersect.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/km.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/kmeans.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/kmeansPredict.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/knn.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/knnGraph.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/knnbf.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/l2svm.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/l2svmPredict.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/lasso.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/lenetPredict.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/lenetTrain.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/lm.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/lmCG.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/lmDS.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/lmPredict.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/lmPredictStats.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/logSumExp.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/mae.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/mape.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/matrixProfile.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/mcc.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/mdedup.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/mice.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/miceApply.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/mse.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/msmape.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/msvm.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/msvmPredict.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/multiLogReg.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/multiLogRegPredict.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/na_locf.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/naiveBayes.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/naiveBayesPredict.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/normalize.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/normalizeApply.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/nrmse.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/outlier.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/outlierByArima.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/outlierByIQR.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/outlierByIQRApply.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/outlierBySd.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/outlierBySdApply.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/pageRank.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/pca.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/pcaInverse.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/pcaTransform.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/pnmf.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/ppca.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/psnr.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/quantizeByCluster.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/raGroupby.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/raJoin.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/raSelection.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/randomForest.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/randomForestPredict.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/rmse.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/scale.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/scaleApply.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/scaleMinMax.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/selectByVarThresh.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/ses.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/setdiff.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/shapExplainer.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/sherlock.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/sherlockPredict.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/shortestPath.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/sigmoid.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/skewness.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/sliceLine.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/sliceLineDebug.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/sliceLineExtract.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/slicefinder.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/smape.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/smote.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/softmax.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/split.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/splitBalanced.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/sqrtMatrix.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/stableMarriage.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/statsNA.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/steplm.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/stratstats.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/symmetricDifference.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/tSNE.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/toOneHot.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/tomeklink.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/topk_cleaning.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/underSampling.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/union.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/univar.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/vectorToCsv.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/wer.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/winsorize.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/winsorizeApply.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/xdummy1.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/xdummy2.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/xgboost.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/xgboostPredictClassification.rst
create mode 100644 src/main/python/docs/source/api/operator/algorithms/xgboostPredictRegression.rst
create mode 100644 src/main/python/generator/resources/template_python_script_rst_license
delete mode 100644 src/main/python/tests/algorithms/test_lm.py
copy src/main/python/{systemds/operator/algorithm/builtin/img_invert.py => tests/auto_tests/test_dist.py} (57%)
copy src/main/python/{systemds/operator/algorithm/builtin/img_invert_linearized.py => tests/auto_tests/test_img_brightness.py} (52%)
copy src/main/python/{systemds/operator/algorithm/builtin/img_invert_linearized.py => tests/auto_tests/test_img_brightness_linearized.py} (51%)
copy src/main/python/{systemds/operator/algorithm/builtin/img_invert_linearized.py => tests/auto_tests/test_img_crop.py} (52%)
copy src/main/python/{systemds/operator/algorithm/builtin/img_invert_linearized.py => tests/auto_tests/test_img_crop_linearized.py} (51%)
copy src/main/python/{systemds/operator/algorithm/builtin/img_invert_linearized.py => tests/auto_tests/test_img_cutout.py} (50%)
create mode 100644 src/main/python/tests/auto_tests/test_img_cutout_linearized.py
copy src/main/python/{systemds/operator/algorithm/builtin/img_invert_linearized.py => tests/auto_tests/test_img_invert.py} (51%)
create mode 100644 src/main/python/tests/auto_tests/test_img_invert_linearized.py
copy src/main/python/{systemds/operator/algorithm/builtin/img_invert_linearized.py => tests/auto_tests/test_img_mirror.py} (51%)
create mode 100644 src/main/python/tests/auto_tests/test_img_mirror_linearized_0.py
create mode 100644 src/main/python/tests/auto_tests/test_img_mirror_linearized_1.py
copy src/main/python/{systemds/operator/algorithm/builtin/img_invert_linearized.py => tests/auto_tests/test_img_posterize.py} (50%)
copy src/main/python/{systemds/operator/algorithm/builtin/img_invert_linearized.py => tests/auto_tests/test_img_posterize_linearized.py} (51%)
copy src/main/python/{systemds/operator/algorithm/builtin/img_invert_linearized.py => tests/auto_tests/test_img_rotate.py} (51%)
create mode 100644 src/main/python/tests/auto_tests/test_img_rotate_linearized.py
create mode 100644 src/main/python/tests/auto_tests/test_img_sample_pairing.py
create mode 100644 src/main/python/tests/auto_tests/test_img_sample_pairing_linearized.py
copy src/main/python/{systemds/operator/algorithm/builtin/img_invert_linearized.py => tests/auto_tests/test_img_shear.py} (51%)
create mode 100644 src/main/python/tests/auto_tests/test_img_shear_linearized.py
copy src/main/python/{systemds/operator/algorithm/builtin/img_invert_linearized.py => tests/auto_tests/test_img_transform.py} (50%)
create mode 100644 src/main/python/tests/auto_tests/test_img_transform_linearized.py
copy src/main/python/{systemds/operator/algorithm/builtin/img_invert_linearized.py => tests/auto_tests/test_img_translate.py} (50%)
create mode 100644 src/main/python/tests/auto_tests/test_img_translate_linearized.py
create mode 100644 src/main/python/tests/auto_tests/test_lm.py
copy src/main/python/{systemds/operator/algorithm/builtin/img_invert.py => tests/auto_tests/test_normalize.py} (57%)
create mode 100644 src/main/python/tests/auto_tests/test_randomForest.py
create mode 100644 src/main/python/tests/auto_tests/test_randomForestPredict.py
copy src/main/python/{systemds/operator/algorithm/builtin/img_mirror.py => tests/auto_tests/test_toOneHot.py} (56%)
delete mode 100644 src/main/python/tests/scuro/__init__.py
(systemds) 01/02: [SYSTEMDS-3330] Documentation of builtin functions (main)
Posted by ba...@apache.org.
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 978412445dd7ed2a72fce7f3428dc9bcdede987d
Author: anuunchin <88...@users.noreply.github.com>
AuthorDate: Fri Sep 26 00:27:06 2025 +0200
[SYSTEMDS-3330] Documentation of builtin functions (main)
This commit adds new automatic generation of separated doc files for all
builtin functions, and automatic generation of tests for builtin functions.
All based on the original documentation in individual builtin scripts.
This change will simplify the development of builtin functions and help new
users across both the Python api and internal DML testing.
An example of documented code is:
.. code-block:: python
>>> import numpy as np
>>> from systemds.context import SystemDSContext
>>> from systemds.operator.algorithm import dist
>>>
>>> with SystemDSContext() as sds:
... X = sds.from_numpy(np.array([[0], [3], [4]]))
... out = dist(X).compute()
... print(out)
[[0. 3. 4.]
[3. 0. 1.]
[4. 1. 0.]]
Closes #2292
---
scripts/builtin/dist.dml | 15 +++++
scripts/builtin/img_brightness.dml | 19 +++++-
scripts/builtin/img_brightness_linearized.dml | 19 +++++-
scripts/builtin/img_crop.dml | 19 +++++-
scripts/builtin/img_crop_linearized.dml | 19 +++++-
scripts/builtin/img_cutout.dml | 20 ++++++
scripts/builtin/img_cutout_linearized.dml | 23 ++++++-
scripts/builtin/img_invert.dml | 21 +++++-
scripts/builtin/img_invert_linearized.dml | 21 +++++-
scripts/builtin/img_mirror.dml | 23 ++++++-
scripts/builtin/img_mirror_linearized.dml | 48 +++++++++++++-
scripts/builtin/img_posterize.dml | 23 ++++++-
scripts/builtin/img_posterize_linearized.dml | 23 ++++++-
scripts/builtin/img_rotate.dml | 19 ++++++
scripts/builtin/img_rotate_linearized.dml | 25 +++++++-
scripts/builtin/img_sample_pairing.dml | 28 +++++++-
scripts/builtin/img_sample_pairing_linearized.dml | 26 +++++++-
scripts/builtin/img_shear.dml | 19 ++++++
scripts/builtin/img_shear_linearized.dml | 23 ++++++-
scripts/builtin/img_transform.dml | 19 ++++++
scripts/builtin/img_transform_linearized.dml | 25 +++++++-
scripts/builtin/img_translate.dml | 19 ++++++
scripts/builtin/img_translate_linearized.dml | 22 ++++++-
scripts/builtin/lm.dml | 30 +++++++++
scripts/builtin/normalize.dml | 14 ++++
scripts/builtin/randomForest.dml | 41 ++++++++++++
scripts/builtin/randomForestPredict.dml | 43 +++++++++++++
scripts/builtin/toOneHot.dml | 16 +++++
.../python/docs/source/api/operator/algorithms.rst | 7 +-
.../docs/source/api/operator/algorithms/WoE.rst | 4 ++
.../source/api/operator/algorithms/WoEApply.rst | 4 ++
.../source/api/operator/algorithms/abstain.rst | 4 ++
.../docs/source/api/operator/algorithms/adasyn.rst | 4 ++
.../docs/source/api/operator/algorithms/als.rst | 4 ++
.../docs/source/api/operator/algorithms/alsCG.rst | 4 ++
.../docs/source/api/operator/algorithms/alsDS.rst | 4 ++
.../source/api/operator/algorithms/alsPredict.rst | 4 ++
.../api/operator/algorithms/alsTopkPredict.rst | 4 ++
.../docs/source/api/operator/algorithms/ampute.rst | 4 ++
.../api/operator/algorithms/apply_pipeline.rst | 4 ++
.../docs/source/api/operator/algorithms/arima.rst | 4 ++
.../docs/source/api/operator/algorithms/auc.rst | 4 ++
.../api/operator/algorithms/autoencoder_2layer.rst | 4 ++
.../docs/source/api/operator/algorithms/bandit.rst | 4 ++
.../docs/source/api/operator/algorithms/bivar.rst | 4 ++
.../source/api/operator/algorithms/components.rst | 4 ++
.../api/operator/algorithms/confusionMatrix.rst | 4 ++
.../api/operator/algorithms/cooccurrenceMatrix.rst | 4 ++
.../docs/source/api/operator/algorithms/cor.rst | 4 ++
.../api/operator/algorithms/correctTypos.rst | 4 ++
.../api/operator/algorithms/correctTyposApply.rst | 4 ++
.../docs/source/api/operator/algorithms/cox.rst | 4 ++
.../source/api/operator/algorithms/cspline.rst | 4 ++
.../source/api/operator/algorithms/csplineCG.rst | 4 ++
.../source/api/operator/algorithms/csplineDS.rst | 4 ++
.../docs/source/api/operator/algorithms/cvlm.rst | 4 ++
.../docs/source/api/operator/algorithms/dbscan.rst | 4 ++
.../source/api/operator/algorithms/dbscanApply.rst | 4 ++
.../api/operator/algorithms/decisionTree.rst | 4 ++
.../operator/algorithms/decisionTreePredict.rst | 4 ++
.../source/api/operator/algorithms/deepWalk.rst | 4 ++
.../api/operator/algorithms/denialConstraints.rst | 4 ++
.../operator/algorithms/differenceStatistics.rst | 4 ++
.../source/api/operator/algorithms/discoverFD.rst | 4 ++
.../docs/source/api/operator/algorithms/dist.rst | 4 ++
.../docs/source/api/operator/algorithms/dmv.rst | 4 ++
.../docs/source/api/operator/algorithms/ema.rst | 4 ++
.../api/operator/algorithms/executePipeline.rst | 4 ++
.../source/api/operator/algorithms/f1Score.rst | 4 ++
.../docs/source/api/operator/algorithms/fdr.rst | 4 ++
.../source/api/operator/algorithms/ffPredict.rst | 4 ++
.../source/api/operator/algorithms/ffTrain.rst | 4 ++
.../api/operator/algorithms/fit_pipeline.rst | 4 ++
.../api/operator/algorithms/fixInvalidLengths.rst | 4 ++
.../operator/algorithms/fixInvalidLengthsApply.rst | 4 ++
.../api/operator/algorithms/flattenQuantile.rst | 4 ++
.../source/api/operator/algorithms/frameSort.rst | 4 ++
.../api/operator/algorithms/frequencyEncode.rst | 4 ++
.../operator/algorithms/frequencyEncodeApply.rst | 4 ++
.../docs/source/api/operator/algorithms/garch.rst | 4 ++
.../api/operator/algorithms/gaussianClassifier.rst | 4 ++
.../source/api/operator/algorithms/getAccuracy.rst | 4 ++
.../docs/source/api/operator/algorithms/glm.rst | 4 ++
.../source/api/operator/algorithms/glmPredict.rst | 4 ++
.../docs/source/api/operator/algorithms/glove.rst | 4 ++
.../docs/source/api/operator/algorithms/gmm.rst | 4 ++
.../source/api/operator/algorithms/gmmPredict.rst | 4 ++
.../docs/source/api/operator/algorithms/gnmf.rst | 4 ++
.../source/api/operator/algorithms/gridSearch.rst | 4 ++
.../operator/algorithms/hospitalResidencyMatch.rst | 4 ++
.../source/api/operator/algorithms/hyperband.rst | 4 ++
.../api/operator/algorithms/img_brightness.rst | 4 ++
.../algorithms/img_brightness_linearized.rst | 4 ++
.../source/api/operator/algorithms/img_crop.rst | 4 ++
.../operator/algorithms/img_crop_linearized.rst | 4 ++
.../source/api/operator/algorithms/img_cutout.rst | 4 ++
.../operator/algorithms/img_cutout_linearized.rst | 4 ++
.../source/api/operator/algorithms/img_invert.rst | 4 ++
.../operator/algorithms/img_invert_linearized.rst | 4 ++
.../source/api/operator/algorithms/img_mirror.rst | 4 ++
.../operator/algorithms/img_mirror_linearized.rst | 4 ++
.../api/operator/algorithms/img_posterize.rst | 4 ++
.../algorithms/img_posterize_linearized.rst | 4 ++
.../source/api/operator/algorithms/img_rotate.rst | 4 ++
.../operator/algorithms/img_rotate_linearized.rst | 4 ++
.../api/operator/algorithms/img_sample_pairing.rst | 4 ++
.../algorithms/img_sample_pairing_linearized.rst | 4 ++
.../source/api/operator/algorithms/img_shear.rst | 4 ++
.../operator/algorithms/img_shear_linearized.rst | 4 ++
.../api/operator/algorithms/img_transform.rst | 4 ++
.../algorithms/img_transform_linearized.rst | 4 ++
.../api/operator/algorithms/img_translate.rst | 4 ++
.../algorithms/img_translate_linearized.rst | 4 ++
.../api/operator/algorithms/impurityMeasures.rst | 4 ++
.../source/api/operator/algorithms/imputeByFD.rst | 4 ++
.../api/operator/algorithms/imputeByFDApply.rst | 4 ++
.../source/api/operator/algorithms/imputeByKNN.rst | 4 ++
.../api/operator/algorithms/imputeByMean.rst | 4 ++
.../api/operator/algorithms/imputeByMeanApply.rst | 4 ++
.../api/operator/algorithms/imputeByMedian.rst | 4 ++
.../operator/algorithms/imputeByMedianApply.rst | 4 ++
.../api/operator/algorithms/imputeByMode.rst | 4 ++
.../api/operator/algorithms/imputeByModeApply.rst | 4 ++
.../api/operator/algorithms/incSliceLine.rst | 4 ++
.../source/api/operator/algorithms/intersect.rst | 4 ++
.../docs/source/api/operator/algorithms/km.rst | 4 ++
.../docs/source/api/operator/algorithms/kmeans.rst | 4 ++
.../api/operator/algorithms/kmeansPredict.rst | 4 ++
.../docs/source/api/operator/algorithms/knn.rst | 4 ++
.../source/api/operator/algorithms/knnGraph.rst | 4 ++
.../docs/source/api/operator/algorithms/knnbf.rst | 4 ++
.../docs/source/api/operator/algorithms/l2svm.rst | 4 ++
.../api/operator/algorithms/l2svmPredict.rst | 4 ++
.../docs/source/api/operator/algorithms/lasso.rst | 4 ++
.../api/operator/algorithms/lenetPredict.rst | 4 ++
.../source/api/operator/algorithms/lenetTrain.rst | 4 ++
.../docs/source/api/operator/algorithms/lm.rst | 4 ++
.../docs/source/api/operator/algorithms/lmCG.rst | 4 ++
.../docs/source/api/operator/algorithms/lmDS.rst | 4 ++
.../source/api/operator/algorithms/lmPredict.rst | 4 ++
.../api/operator/algorithms/lmPredictStats.rst | 4 ++
.../source/api/operator/algorithms/logSumExp.rst | 4 ++
.../docs/source/api/operator/algorithms/mae.rst | 4 ++
.../docs/source/api/operator/algorithms/mape.rst | 4 ++
.../api/operator/algorithms/matrixProfile.rst | 4 ++
.../docs/source/api/operator/algorithms/mcc.rst | 4 ++
.../docs/source/api/operator/algorithms/mdedup.rst | 4 ++
.../docs/source/api/operator/algorithms/mice.rst | 4 ++
.../source/api/operator/algorithms/miceApply.rst | 4 ++
.../docs/source/api/operator/algorithms/mse.rst | 4 ++
.../docs/source/api/operator/algorithms/msmape.rst | 4 ++
.../docs/source/api/operator/algorithms/msvm.rst | 4 ++
.../source/api/operator/algorithms/msvmPredict.rst | 4 ++
.../source/api/operator/algorithms/multiLogReg.rst | 4 ++
.../api/operator/algorithms/multiLogRegPredict.rst | 4 ++
.../source/api/operator/algorithms/na_locf.rst | 4 ++
.../source/api/operator/algorithms/naiveBayes.rst | 4 ++
.../api/operator/algorithms/naiveBayesPredict.rst | 4 ++
.../source/api/operator/algorithms/normalize.rst | 4 ++
.../api/operator/algorithms/normalizeApply.rst | 4 ++
.../docs/source/api/operator/algorithms/nrmse.rst | 4 ++
.../source/api/operator/algorithms/outlier.rst | 4 ++
.../api/operator/algorithms/outlierByArima.rst | 4 ++
.../api/operator/algorithms/outlierByIQR.rst | 4 ++
.../api/operator/algorithms/outlierByIQRApply.rst | 4 ++
.../source/api/operator/algorithms/outlierBySd.rst | 4 ++
.../api/operator/algorithms/outlierBySdApply.rst | 4 ++
.../source/api/operator/algorithms/pageRank.rst | 4 ++
.../docs/source/api/operator/algorithms/pca.rst | 4 ++
.../source/api/operator/algorithms/pcaInverse.rst | 4 ++
.../api/operator/algorithms/pcaTransform.rst | 4 ++
.../docs/source/api/operator/algorithms/pnmf.rst | 4 ++
.../docs/source/api/operator/algorithms/ppca.rst | 4 ++
.../docs/source/api/operator/algorithms/psnr.rst | 4 ++
.../api/operator/algorithms/quantizeByCluster.rst | 4 ++
.../source/api/operator/algorithms/raGroupby.rst | 4 ++
.../docs/source/api/operator/algorithms/raJoin.rst | 4 ++
.../source/api/operator/algorithms/raSelection.rst | 4 ++
.../api/operator/algorithms/randomForest.rst | 4 ++
.../operator/algorithms/randomForestPredict.rst | 4 ++
.../docs/source/api/operator/algorithms/rmse.rst | 4 ++
.../docs/source/api/operator/algorithms/scale.rst | 4 ++
.../source/api/operator/algorithms/scaleApply.rst | 4 ++
.../source/api/operator/algorithms/scaleMinMax.rst | 4 ++
.../api/operator/algorithms/selectByVarThresh.rst | 4 ++
.../docs/source/api/operator/algorithms/ses.rst | 4 ++
.../source/api/operator/algorithms/setdiff.rst | 4 ++
.../api/operator/algorithms/shapExplainer.rst | 4 ++
.../source/api/operator/algorithms/sherlock.rst | 4 ++
.../api/operator/algorithms/sherlockPredict.rst | 4 ++
.../api/operator/algorithms/shortestPath.rst | 4 ++
.../source/api/operator/algorithms/sigmoid.rst | 4 ++
.../source/api/operator/algorithms/skewness.rst | 4 ++
.../source/api/operator/algorithms/sliceLine.rst | 4 ++
.../api/operator/algorithms/sliceLineDebug.rst | 4 ++
.../api/operator/algorithms/sliceLineExtract.rst | 4 ++
.../source/api/operator/algorithms/slicefinder.rst | 4 ++
.../docs/source/api/operator/algorithms/smape.rst | 4 ++
.../docs/source/api/operator/algorithms/smote.rst | 4 ++
.../source/api/operator/algorithms/softmax.rst | 4 ++
.../docs/source/api/operator/algorithms/split.rst | 4 ++
.../api/operator/algorithms/splitBalanced.rst | 4 ++
.../source/api/operator/algorithms/sqrtMatrix.rst | 4 ++
.../api/operator/algorithms/stableMarriage.rst | 4 ++
.../source/api/operator/algorithms/statsNA.rst | 4 ++
.../docs/source/api/operator/algorithms/steplm.rst | 4 ++
.../source/api/operator/algorithms/stratstats.rst | 4 ++
.../operator/algorithms/symmetricDifference.rst | 4 ++
.../docs/source/api/operator/algorithms/tSNE.rst | 4 ++
.../source/api/operator/algorithms/toOneHot.rst | 4 ++
.../source/api/operator/algorithms/tomeklink.rst | 4 ++
.../api/operator/algorithms/topk_cleaning.rst | 4 ++
.../api/operator/algorithms/underSampling.rst | 4 ++
.../docs/source/api/operator/algorithms/union.rst | 4 ++
.../docs/source/api/operator/algorithms/univar.rst | 4 ++
.../source/api/operator/algorithms/vectorToCsv.rst | 4 ++
.../docs/source/api/operator/algorithms/wer.rst | 4 ++
.../source/api/operator/algorithms/winsorize.rst | 4 ++
.../api/operator/algorithms/winsorizeApply.rst | 4 ++
.../source/api/operator/algorithms/xdummy1.rst | 4 ++
.../source/api/operator/algorithms/xdummy2.rst | 4 ++
.../source/api/operator/algorithms/xgboost.rst | 4 ++
.../algorithms/xgboostPredictClassification.rst | 4 ++
.../algorithms/xgboostPredictRegression.rst | 4 ++
src/main/python/generator/dml_parser.py | 24 ++++++-
src/main/python/generator/generator.py | 75 +++++++++++++++++++++-
.../systemds/operator/algorithm/builtin/dist.py | 15 +++++
.../operator/algorithm/builtin/img_brightness.py | 19 +++++-
.../algorithm/builtin/img_brightness_linearized.py | 19 +++++-
.../operator/algorithm/builtin/img_crop.py | 19 +++++-
.../algorithm/builtin/img_crop_linearized.py | 19 +++++-
.../operator/algorithm/builtin/img_cutout.py | 20 ++++++
.../algorithm/builtin/img_cutout_linearized.py | 21 +++++-
.../operator/algorithm/builtin/img_invert.py | 21 +++++-
.../algorithm/builtin/img_invert_linearized.py | 21 +++++-
.../operator/algorithm/builtin/img_mirror.py | 23 ++++++-
.../algorithm/builtin/img_mirror_linearized.py | 48 +++++++++++++-
.../operator/algorithm/builtin/img_posterize.py | 23 ++++++-
.../algorithm/builtin/img_posterize_linearized.py | 23 ++++++-
.../operator/algorithm/builtin/img_rotate.py | 19 ++++++
.../algorithm/builtin/img_rotate_linearized.py | 23 ++++++-
.../algorithm/builtin/img_sample_pairing.py | 28 +++++++-
.../builtin/img_sample_pairing_linearized.py | 26 +++++++-
.../operator/algorithm/builtin/img_shear.py | 19 ++++++
.../algorithm/builtin/img_shear_linearized.py | 23 ++++++-
.../operator/algorithm/builtin/img_transform.py | 19 ++++++
.../algorithm/builtin/img_transform_linearized.py | 23 ++++++-
.../operator/algorithm/builtin/img_translate.py | 19 ++++++
.../algorithm/builtin/img_translate_linearized.py | 22 ++++++-
.../systemds/operator/algorithm/builtin/lm.py | 30 +++++++++
.../operator/algorithm/builtin/normalize.py | 14 ++++
.../operator/algorithm/builtin/randomForest.py | 41 ++++++++++++
.../algorithm/builtin/randomForestPredict.py | 43 +++++++++++++
.../operator/algorithm/builtin/toOneHot.py | 16 +++++
src/main/python/tests/algorithms/test_lm.py | 65 -------------------
.../auto_tests/test_dist.py} | 40 ++++++------
.../auto_tests/test_img_brightness.py} | 42 ++++++------
.../auto_tests/test_img_brightness_linearized.py} | 42 ++++++------
.../auto_tests/test_img_crop.py} | 42 ++++++------
.../auto_tests/test_img_crop_linearized.py} | 42 ++++++------
.../auto_tests/test_img_cutout.py} | 44 +++++++------
.../tests/auto_tests/test_img_cutout_linearized.py | 48 ++++++++++++++
.../auto_tests/test_img_invert.py} | 44 +++++++------
.../tests/auto_tests/test_img_invert_linearized.py | 48 ++++++++++++++
.../auto_tests/test_img_mirror.py} | 44 +++++++------
.../auto_tests/test_img_mirror_linearized_0.py | 48 ++++++++++++++
.../auto_tests/test_img_mirror_linearized_1.py | 55 ++++++++++++++++
.../auto_tests/test_img_posterize.py} | 44 +++++++------
.../auto_tests/test_img_posterize_linearized.py} | 44 +++++++------
.../auto_tests/test_img_rotate.py} | 44 +++++++------
.../tests/auto_tests/test_img_rotate_linearized.py | 48 ++++++++++++++
.../tests/auto_tests/test_img_sample_pairing.py | 53 +++++++++++++++
.../test_img_sample_pairing_linearized.py | 53 +++++++++++++++
.../auto_tests/test_img_shear.py} | 44 +++++++------
.../tests/auto_tests/test_img_shear_linearized.py | 48 ++++++++++++++
.../auto_tests/test_img_transform.py} | 44 +++++++------
.../auto_tests/test_img_transform_linearized.py | 48 ++++++++++++++
.../auto_tests/test_img_translate.py} | 44 +++++++------
.../auto_tests/test_img_translate_linearized.py | 48 ++++++++++++++
src/main/python/tests/auto_tests/test_lm.py | 59 +++++++++++++++++
.../auto_tests/test_normalize.py} | 39 ++++++-----
.../python/tests/auto_tests/test_randomForest.py | 71 ++++++++++++++++++++
.../tests/auto_tests/test_randomForestPredict.py | 71 ++++++++++++++++++++
.../auto_tests/test_toOneHot.py} | 41 ++++++------
284 files changed, 3200 insertions(+), 451 deletions(-)
diff --git a/scripts/builtin/dist.dml b/scripts/builtin/dist.dml
index f296fd717b..831992b192 100644
--- a/scripts/builtin/dist.dml
+++ b/scripts/builtin/dist.dml
@@ -21,6 +21,21 @@
# Returns Euclidean distance matrix (distances between N n-dimensional points)
#
+# .. code-block:: python
+#
+# >>> import numpy as np
+# >>> from systemds.context import SystemDSContext
+# >>> from systemds.operator.algorithm import dist
+# >>>
+# >>> with SystemDSContext() as sds:
+# ... X = sds.from_numpy(np.array([[0], [3], [4]]))
+# ... out = dist(X).compute()
+# ... print(out)
+# [[0. 3. 4.]
+# [3. 0. 1.]
+# [4. 1. 0.]]
+#
+#
# INPUT:
# --------------------------------------------------------------------------------
# X Matrix to calculate the distance inside
diff --git a/scripts/builtin/img_brightness.dml b/scripts/builtin/img_brightness.dml
index 100ccb7588..dda7eba23d 100644
--- a/scripts/builtin/img_brightness.dml
+++ b/scripts/builtin/img_brightness.dml
@@ -21,9 +21,26 @@
# The img_brightness-function is an image data augmentation function. It changes the brightness of the image.
#
+# .. code-block:: python
+#
+# >>> import numpy as np
+# >>> from systemds.context import SystemDSContext
+# >>> from systemds.operator.algorithm import img_brightness
+# >>>
+# >>> with SystemDSContext() as sds:
+# ... img = sds.from_numpy(
+# ... np.array([[ 50, 100,
+# ... 150, 200 ]], dtype=np.float32)
+# ... )
+# ... result_img = img_brightness(img, 30.0, 150).compute()
+# ... print(result_img.reshape(2, 2))
+# [[ 80. 130.]
+# [150. 150.]]
+#
+#
# INPUT:
# -----------------------------------------------------------------------------------------
-# img_in Input matrix/image
+# img_in Input image as 2D matrix with top left corner at [1, 1]
# value The amount of brightness to be changed for the image
# channel_max Maximum value of the brightness of the image
# -----------------------------------------------------------------------------------------
diff --git a/scripts/builtin/img_brightness_linearized.dml b/scripts/builtin/img_brightness_linearized.dml
index 8c5e72d13f..061b4597c2 100644
--- a/scripts/builtin/img_brightness_linearized.dml
+++ b/scripts/builtin/img_brightness_linearized.dml
@@ -21,9 +21,26 @@
# The img_brightness_linearized-function is an image data augmentation function. It changes the brightness of one or multiple images.
#
+# .. code-block:: python
+#
+# >>> import numpy as np
+# >>> from systemds.context import SystemDSContext
+# >>> from systemds.operator.algorithm import img_brightness_linearized
+# >>>
+# >>> with SystemDSContext() as sds:
+# ... img = sds.from_numpy(
+# ... np.array([[ 50, 100,
+# ... 150, 200 ]], dtype=np.float32)
+# ... )
+# ... result_img = img_brightness_linearized(img, 30.0, 255).compute()
+# ... print(result_img.reshape(2, 2))
+# [[ 80. 130.]
+# [180. 230.]]
+#
+#
# INPUT:
# -----------------------------------------------------------------------------------------
-# img_in Input matrix/image (can represent multiple images every row of the matrix represents a linearized image)
+# img_in Input images as linearized 2D matrix with top left corner at [1, 1] (every row represents a linearized matrix/image)
# value The amount of brightness to be changed for the image
# channel_max Maximum value of the brightness of the image
# -----------------------------------------------------------------------------------------
diff --git a/scripts/builtin/img_crop.dml b/scripts/builtin/img_crop.dml
index e85301f8bb..be183347b3 100644
--- a/scripts/builtin/img_crop.dml
+++ b/scripts/builtin/img_crop.dml
@@ -21,9 +21,26 @@
# The img_crop-function is an image data augmentation function. It cuts out a subregion of an image.
#
+# .. code-block:: python
+#
+# >>> import numpy as np
+# >>> from systemds.context import SystemDSContext
+# >>> from systemds.operator.algorithm import img_crop
+# >>>
+# >>> with SystemDSContext() as sds:
+# ... img = sds.from_numpy(
+# ... np.array([[ 50., 100., 150.],
+# ... [150., 200., 250.],
+# ... [250., 200., 200.]], dtype=np.float32)
+# ... )
+# ... result_img = img_crop(img, 1, 1, 1, 1).compute()
+# ... print(result_img)
+# [[200.]]
+#
+#
# INPUT:
# ----------------------------------------------------------------------------------------
-# img_in Input matrix/image
+# img_in Input image as 2D matrix with top left corner at [1, 1]
# w The width of the subregion required
# h The height of the subregion required
# x_offset The horizontal coordinate in the image to begin the crop operation
diff --git a/scripts/builtin/img_crop_linearized.dml b/scripts/builtin/img_crop_linearized.dml
index b2c2c03fd1..c79da14c14 100644
--- a/scripts/builtin/img_crop_linearized.dml
+++ b/scripts/builtin/img_crop_linearized.dml
@@ -21,9 +21,26 @@
# The img_crop_linearized cuts out a rectangular section of multiple linearized images.
#
+# .. code-block:: python
+#
+# >>> import numpy as np
+# >>> from systemds.context import SystemDSContext
+# >>> from systemds.operator.algorithm import img_crop_linearized
+# >>>
+# >>> with SystemDSContext() as sds:
+# ... img = sds.from_numpy(
+# ... np.array([[ 50., 100., 150.,
+# ... 150., 200., 250.,
+# ... 250., 200., 200. ]], dtype=np.float32)
+# ... )
+# ... result_img = img_crop_linearized(img, 1, 1, 1, 1, 3, 3).compute()
+# ... print(result_img)
+# [[200.]]
+#
+#
# INPUT:
# ----------------------------------------------------------------------------------------
-# img_in Linearized input images as 2D matrix
+# img_in Input images as linearized 2D matrix with top left corner at [1, 1] (every row represents a linearized matrix/image)
# w The width of the subregion required
# h The height of the subregion required
# x_offset The horizontal offset for the center of the crop region
diff --git a/scripts/builtin/img_cutout.dml b/scripts/builtin/img_cutout.dml
index cd3f432cd0..efe194045f 100644
--- a/scripts/builtin/img_cutout.dml
+++ b/scripts/builtin/img_cutout.dml
@@ -21,6 +21,26 @@
# Image Cutout function replaces a rectangular section of an image with a constant value.
#
+#
+# .. code-block:: python
+#
+# >>> import numpy as np
+# >>> from systemds.context import SystemDSContext
+# >>> from systemds.operator.algorithm import img_cutout
+# >>>
+# >>> with SystemDSContext() as sds:
+# ... img = sds.from_numpy(
+# ... np.array([[ 50., 100., 150.],
+# ... [150., 200., 250.],
+# ... [250., 200., 200.]], dtype=np.float32)
+# ... )
+# ... result_img = img_cutout(img, 2, 2, 1, 1, 49.).compute()
+# ... print(result_img)
+# [[ 50. 100. 150.]
+# [150. 49. 250.]
+# [250. 200. 200.]]
+#
+#
# INPUT:
# ---------------------------------------------------------------------------------------------
# img_in Input image as 2D matrix with top left corner at [1, 1]
diff --git a/scripts/builtin/img_cutout_linearized.dml b/scripts/builtin/img_cutout_linearized.dml
index cb923e31ba..9e10908904 100644
--- a/scripts/builtin/img_cutout_linearized.dml
+++ b/scripts/builtin/img_cutout_linearized.dml
@@ -21,14 +21,33 @@
# Image Cutout function replaces a rectangular section of an image with a constant value.
#
+# .. code-block:: python
+#
+# >>> import numpy as np
+# >>> from systemds.context import SystemDSContext
+# >>> from systemds.operator.algorithm import img_cutout_linearized
+# >>>
+# >>> with SystemDSContext() as sds:
+# ... img = sds.from_numpy(
+# ... np.array([[ 50., 100., 150.,
+# ... 150., 200., 250.,
+# ... 250., 200., 200. ]], dtype=np.float32)
+# ... )
+# ... result_img = img_cutout_linearized(img, 2, 2, 1, 1, 25.0, 3, 3).compute()
+# ... print(result_img.reshape(3, 3))
+# [[ 50. 100. 150.]
+# [150. 25. 250.]
+# [250. 200. 200.]]
+#
+#
# INPUT:
# ---------------------------------------------------------------------------------------------
-# img_in Input images as linearized 2D matrix with top left corner at [1, 1]
+# img_in Input images as linearized 2D matrix with top left corner at [1, 1] (every row represents a linearized matrix/image)
# x Column index of the top left corner of the rectangle (starting at 1)
# y Row index of the top left corner of the rectangle (starting at 1)
# width Width of the rectangle (must be positive)
# height Height of the rectangle (must be positive)
-# fill_value The value to set for the rectangle
+# fill_value The value to set for the rectangle
# s_cols Width of a single image
# s_rows Height of a single image
# ---------------------------------------------------------------------------------------------
diff --git a/scripts/builtin/img_invert.dml b/scripts/builtin/img_invert.dml
index c52f5bed3a..2475535aad 100644
--- a/scripts/builtin/img_invert.dml
+++ b/scripts/builtin/img_invert.dml
@@ -21,9 +21,28 @@
# This is an image data augmentation function. It inverts an image.
#
+# .. code-block:: python
+#
+# >>> import numpy as np
+# >>> from systemds.context import SystemDSContext
+# >>> from systemds.operator.algorithm import img_invert
+# >>>
+# >>> with SystemDSContext() as sds:
+# ... img = sds.from_numpy(
+# ... np.array([[ 10., 20., 30.],
+# ... [ 40., 50., 60.],
+# ... [ 70., 80., 90.]], dtype=np.float32)
+# ... )
+# ... result_img = img_invert(img, 210.).compute()
+# ... print(result_img)
+# [[200. 190. 180.]
+# [170. 160. 150.]
+# [140. 130. 120.]]
+#
+#
# INPUT:
# ---------------------------------------------------------------------------------------------
-# img_in Input image
+# img_in Input image as 2D matrix with top left corner at [1, 1]
# max_value The maximum value pixels can have
# ---------------------------------------------------------------------------------------------
#
diff --git a/scripts/builtin/img_invert_linearized.dml b/scripts/builtin/img_invert_linearized.dml
index 68b245492c..ce4c45219f 100644
--- a/scripts/builtin/img_invert_linearized.dml
+++ b/scripts/builtin/img_invert_linearized.dml
@@ -21,9 +21,28 @@
# This is an image data augmentation function. It inverts an image.It can handle one or multiple images
#
+# .. code-block:: python
+#
+# >>> import numpy as np
+# >>> from systemds.context import SystemDSContext
+# >>> from systemds.operator.algorithm import img_invert_linearized
+# >>>
+# >>> with SystemDSContext() as sds:
+# ... img = sds.from_numpy(
+# ... np.array([[ 10., 20., 30.,
+# ... 40., 50., 60.,
+# ... 70., 80., 90. ]], dtype=np.float32)
+# ... )
+# ... result_img = img_invert_linearized(img, 200.).compute()
+# ... print(result_img.reshape(3, 3))
+# [[190. 180. 170.]
+# [160. 150. 140.]
+# [130. 120. 110.]]
+#
+#
# INPUT:
# ---------------------------------------------------------------------------------------------
-# img_in Input matrix/image (every row of the matrix represents a linearized image)
+# img_in Input images as linearized 2D matrix with top left corner at [1, 1] (every row represents a linearized matrix/image)
# max_value The maximum value pixels can have
# ---------------------------------------------------------------------------------------------
#
diff --git a/scripts/builtin/img_mirror.dml b/scripts/builtin/img_mirror.dml
index a8836f6fd2..1b79e385a5 100644
--- a/scripts/builtin/img_mirror.dml
+++ b/scripts/builtin/img_mirror.dml
@@ -22,10 +22,29 @@
# This function is an image data augmentation function.
# It flips an image on the X (horizontal) or Y (vertical) axis.
#
+# .. code-block:: python
+#
+# >>> import numpy as np
+# >>> from systemds.context import SystemDSContext
+# >>> from systemds.operator.algorithm import img_mirror
+# >>>
+# >>> with SystemDSContext() as sds:
+# ... img = sds.from_numpy(
+# ... np.array([[ 10., 20., 30.],
+# ... [ 40., 50., 60.],
+# ... [ 70., 80., 90.]], dtype=np.float32)
+# ... )
+# ... result_img = img_mirror(img, False).compute()
+# ... print(result_img)
+# [[30. 20. 10.]
+# [60. 50. 40.]
+# [90. 80. 70.]]
+#
+#
# INPUT:
# ---------------------------------------------------------------------------------------------
-# img_in Input matrix/image
-# max_value The maximum value pixels can have
+# img_in Input image as 2D matrix with top left corner at [1, 1]
+# horizontal_axis Flip either in X or Y axis
# ---------------------------------------------------------------------------------------------
#
# OUTPUT:
diff --git a/scripts/builtin/img_mirror_linearized.dml b/scripts/builtin/img_mirror_linearized.dml
index 08b3fe539f..f56f17dabb 100644
--- a/scripts/builtin/img_mirror_linearized.dml
+++ b/scripts/builtin/img_mirror_linearized.dml
@@ -22,9 +22,55 @@
# This function has the same functionality with img_mirror but it handles multiple images at
# the same time. Each row of the input and output matrix represents a linearized image/matrix
# It flips an image on the X (horizontal) or Y (vertical) axis.
+#
+# .. code-block:: python
+#
+# >>> import numpy as np
+# >>> from systemds.context import SystemDSContext
+# >>> from systemds.operator.algorithm import img_mirror_linearized
+# >>>
+# >>> with SystemDSContext() as sds:
+# ... img = sds.from_numpy(
+# ... np.array([[ 10., 20., 30.,
+# ... 40., 50., 60.,
+# ... 70., 80., 90. ]], dtype=np.float32)
+# ... )
+# ... result_img = img_mirror_linearized(img, True, 3, 3).compute()
+# ... print(result_img.reshape(3, 3))
+# [[70. 80. 90.]
+# [40. 50. 60.]
+# [10. 20. 30.]]
+#
+#
+# .. code-block:: python
+#
+# >>> import numpy as np
+# >>> from systemds.context import SystemDSContext
+# >>> from systemds.operator.algorithm import img_mirror_linearized
+# >>>
+# >>> with SystemDSContext() as sds:
+# ... imgs = sds.from_numpy(
+# ... np.array([[ 10., 20., 30.,
+# ... 40., 50., 60.,
+# ... 70., 80., 90. ],
+# ... [ 70., 80., 90.,
+# ... 40., 50., 60.,
+# ... 10., 20., 30. ]], dtype=np.float32)
+# ... )
+# ... result_imgs = img_mirror_linearized(imgs, True, 3, 3).compute()
+# ... print(result_imgs[0].reshape(3, 3))
+# ... print(result_imgs[1].reshape(3, 3))
+# [[70. 80. 90.]
+# [40. 50. 60.]
+# [10. 20. 30.]]
+# [[10. 20. 30.]
+# [40. 50. 60.]
+# [70. 80. 90.]]
+#
+#
# INPUT:
# -----------------------------------------------------------------------------------------
-# img_matrix Input matrix/image (every row represents a linearized matrix/image)
+# img_matrix Input images as linearized 2D matrix with top left corner at [1, 1] (every row represents a linearized matrix/image)
# horizontal_axis flip either in X or Y axis
# original_rows number of rows in the original 2-D images
# original_cols number of cols in the original 2-D images
diff --git a/scripts/builtin/img_posterize.dml b/scripts/builtin/img_posterize.dml
index 91578b9c76..3916c828ba 100644
--- a/scripts/builtin/img_posterize.dml
+++ b/scripts/builtin/img_posterize.dml
@@ -22,10 +22,29 @@
# The Image Posterize function limits pixel values to 2^bits different values in the range [0, 255].
# Assumes the input image can attain values in the range [0, 255].
#
+# .. code-block:: python
+#
+# >>> import numpy as np
+# >>> from systemds.context import SystemDSContext
+# >>> from systemds.operator.algorithm import img_posterize
+# >>>
+# >>> with SystemDSContext() as sds:
+# ... img = sds.from_numpy(
+# ... np.array([[ 10., 20., 30.],
+# ... [ 40., 255., 60.],
+# ... [ 70., 80., 90.]], dtype=np.float32)
+# ... )
+# ... result_img = img_posterize(img, 1).compute()
+# ... print(result_img)
+# [[ 0. 0. 0.]
+# [ 0. 128. 0.]
+# [ 0. 0. 0.]]
+#
+#
# INPUT:
# -------------------------------------------------------------------------------------------
-# img_in Input image
-# bits The number of bits keep for the values.
+# img_in Input image as 2D matrix with top left corner at [1, 1]
+# bits The number of bits to keep for the values.
# 1 means black and white, 8 means every integer between 0 and 255.
# -------------------------------------------------------------------------------------------
#
diff --git a/scripts/builtin/img_posterize_linearized.dml b/scripts/builtin/img_posterize_linearized.dml
index a0edcf3ed4..0ff833bf67 100644
--- a/scripts/builtin/img_posterize_linearized.dml
+++ b/scripts/builtin/img_posterize_linearized.dml
@@ -22,10 +22,29 @@
# The Linearized Image Posterize function limits pixel values to 2^bits different values in the range [0, 255].
# Assumes the input image can attain values in the range [0, 255].
#
+# .. code-block:: python
+#
+# >>> import numpy as np
+# >>> from systemds.context import SystemDSContext
+# >>> from systemds.operator.algorithm import img_posterize_linearized
+# >>>
+# >>> with SystemDSContext() as sds:
+# ... img = sds.from_numpy(
+# ... np.array([[ 10., 20., 30.,
+# ... 40., 255., 60.,
+# ... 70., 80., 90. ]], dtype=np.float32)
+# ... )
+# ... result_img = img_posterize_linearized(img, 1).compute()
+# ... print(result_img.reshape(3, 3))
+# [[ 0. 0. 0.]
+# [ 0. 128. 0.]
+# [ 0. 0. 0.]]
+#
+#
# INPUT:
# -------------------------------------------------------------------------------------------
-# img_in Row linearized input images as 2D matrix
-# bits The number of bits keep for the values.
+# img_in Input images as linearized 2D matrix with top left corner at [1, 1] (every row represents a linearized matrix/image)
+# bits The number of bits to keep for the values.
# 1 means black and white, 8 means every integer between 0 and 255.
# -------------------------------------------------------------------------------------------
#
diff --git a/scripts/builtin/img_rotate.dml b/scripts/builtin/img_rotate.dml
index c49826c210..d1e6da7bda 100644
--- a/scripts/builtin/img_rotate.dml
+++ b/scripts/builtin/img_rotate.dml
@@ -22,6 +22,25 @@
# The Image Rotate function rotates the input image counter-clockwise around the center.
# Uses nearest neighbor sampling.
#
+# .. code-block:: python
+#
+# >>> import numpy as np
+# >>> from systemds.context import SystemDSContext
+# >>> from systemds.operator.algorithm import img_rotate
+# >>>
+# >>> with SystemDSContext() as sds:
+# ... img = sds.from_numpy(
+# ... np.array([[ 10., 20., 30.],
+# ... [ 40., 50., 60.],
+# ... [ 70., 80., 90.]], dtype=np.float32)
+# ... )
+# ... result_img = img_rotate(img, 3.14159, 255.).compute()
+# ... print(result_img)
+# [[90. 80. 70.]
+# [60. 50. 40.]
+# [30. 20. 10.]]
+#
+#
# INPUT:
# -----------------------------------------------------------------------------------------------
# img_in Input image as 2D matrix with top left corner at [1, 1]
diff --git a/scripts/builtin/img_rotate_linearized.dml b/scripts/builtin/img_rotate_linearized.dml
index f5ac43625d..45ad077aae 100644
--- a/scripts/builtin/img_rotate_linearized.dml
+++ b/scripts/builtin/img_rotate_linearized.dml
@@ -22,11 +22,32 @@
# The Linearized Image Rotate function rotates the linearized input images counter-clockwise around the center.
# Uses nearest neighbor sampling.
#
+# .. code-block:: python
+#
+# >>> import numpy as np
+# >>> from systemds.context import SystemDSContext
+# >>> from systemds.operator.algorithm import img_rotate_linearized
+# >>>
+# >>> with SystemDSContext() as sds:
+# ... img = sds.from_numpy(
+# ... np.array([[ 10., 20., 30.,
+# ... 40., 50., 60.,
+# ... 70., 80., 90. ]], dtype=np.float32)
+# ... )
+# ... result_img = img_rotate_linearized(img, 3.14159, 255., 3, 3).compute()
+# ... print(result_img.reshape(3, 3))
+# [[90. 80. 70.]
+# [60. 50. 40.]
+# [30. 20. 10.]]
+#
+#
# INPUT:
# -----------------------------------------------------------------------------------------------
-# img_in Linearized input images as 2D matrix with top left corner at [1, 1]
+# img_in Input images as linearized 2D matrix with top left corner at [1, 1] (every row represents a linearized matrix/image)
# radians The value by which to rotate in radian.
-# fill_value The background color revealed by the rotation
+# fill_value The background color revealed by the rotation
+# s_cols Width of a single image
+# s_rows Height of a single image
# -----------------------------------------------------------------------------------------------
#
# OUTPUT:
diff --git a/scripts/builtin/img_sample_pairing.dml b/scripts/builtin/img_sample_pairing.dml
index 99147b2555..bac412a511 100644
--- a/scripts/builtin/img_sample_pairing.dml
+++ b/scripts/builtin/img_sample_pairing.dml
@@ -21,10 +21,34 @@
# The image sample pairing function blends two images together.
#
+# .. code-block:: python
+#
+# >>> import numpy as np
+# >>> from systemds.context import SystemDSContext
+# >>> from systemds.operator.algorithm import img_sample_pairing
+# >>>
+# >>> with SystemDSContext() as sds:
+# ... img_in1 = sds.from_numpy(
+# ... np.array([[ 10., 20., 30.],
+# ... [ 40., 50., 60.],
+# ... [ 70., 80., 90.]], dtype=np.float32)
+# ... )
+# ... img_in2 = sds.from_numpy(
+# ... np.array([[ 30., 40., 50.],
+# ... [ 60., 70., 80.],
+# ... [ 90., 100., 110.]], dtype=np.float32)
+# ... )
+# ... result_img = img_sample_pairing(img_in1, img_in2, 0.5).compute()
+# ... print(result_img)
+# [[ 20. 30. 40.]
+# [ 50. 60. 70.]
+# [ 80. 90. 100.]]
+#
+#
# INPUT:
# -------------------------------------------------------------------------------------------
-# img_in1 First input image
-# img_in2 Second input image
+# img_in1 First input image as 2D matrix with top left corner at [1, 1]
+# img_in2 Second input image as 2D matrix with top left corner at [1, 1]
# weight The weight given to the second image.
# 0 means only img_in1, 1 means only img_in2 will be visible
# -------------------------------------------------------------------------------------------
diff --git a/scripts/builtin/img_sample_pairing_linearized.dml b/scripts/builtin/img_sample_pairing_linearized.dml
index f09046cc18..975d12d2b8 100644
--- a/scripts/builtin/img_sample_pairing_linearized.dml
+++ b/scripts/builtin/img_sample_pairing_linearized.dml
@@ -21,9 +21,33 @@
# The image sample pairing function blends two images together.
#
+# .. code-block:: python
+#
+# >>> import numpy as np
+# >>> from systemds.context import SystemDSContext
+# >>> from systemds.operator.algorithm import img_sample_pairing_linearized
+# >>>
+# >>> with SystemDSContext() as sds:
+# ... img_in1 = sds.from_numpy(
+# ... np.array([[ 10., 20., 30.,
+# ... 40., 50., 60.,
+# ... 70., 80., 90. ]], dtype=np.float32)
+# ... )
+# ... img_in2 = sds.from_numpy(
+# ... np.array([[ 30., 40., 50.,
+# ... 60., 70., 80.,
+# ... 90., 100., 110. ]], dtype=np.float32)
+# ... )
+# ... result_img = img_sample_pairing_linearized(img_in1, img_in2, 0.5).compute()
+# ... print(result_img.reshape(3, 3))
+# [[ 20. 30. 40.]
+# [ 50. 60. 70.]
+# [ 80. 90. 100.]]
+#
+#
# INPUT:
# -------------------------------------------------------------------------------------------
-# img_in1 input matrix/image (every row is a linearized image)
+# img_in1 Input images as linearized 2D matrix with top left corner at [1, 1] (every row represents a linearized matrix/image)
# img_in2 Second input image (one image represented as a single row linearized matrix)
# weight The weight given to the second image.
# 0 means only img_in1, 1 means only img_in2 will be visible
diff --git a/scripts/builtin/img_shear.dml b/scripts/builtin/img_shear.dml
index 2cf00592a6..bce106d80e 100644
--- a/scripts/builtin/img_shear.dml
+++ b/scripts/builtin/img_shear.dml
@@ -22,6 +22,25 @@
# This function applies a shearing transformation to an image.
# Uses nearest neighbor sampling.
#
+# .. code-block:: python
+#
+# >>> import numpy as np
+# >>> from systemds.context import SystemDSContext
+# >>> from systemds.operator.algorithm import img_shear
+# >>>
+# >>> with SystemDSContext() as sds:
+# ... img = sds.from_numpy(
+# ... np.array([[ 10., 20., 30.],
+# ... [ 40., 50., 60.],
+# ... [ 70., 80., 90.]], dtype=np.float32)
+# ... )
+# ... result_img = img_shear(img, 1., 0., 255).compute()
+# ... print(result_img)
+# [[ 10. 20. 30.]
+# [255. 40. 50.]
+# [255. 255. 70.]]
+#
+#
# INPUT:
# ---------------------------------------------------------------------------------------------
# img_in Input image as 2D matrix with top left corner at [1, 1]
diff --git a/scripts/builtin/img_shear_linearized.dml b/scripts/builtin/img_shear_linearized.dml
index 79471f358b..4bac774b28 100644
--- a/scripts/builtin/img_shear_linearized.dml
+++ b/scripts/builtin/img_shear_linearized.dml
@@ -22,12 +22,33 @@
# This function applies a shearing transformation to linearized images.
# Uses nearest neighbor sampling.
#
+# .. code-block:: python
+#
+# >>> import numpy as np
+# >>> from systemds.context import SystemDSContext
+# >>> from systemds.operator.algorithm import img_shear_linearized
+# >>>
+# >>> with SystemDSContext() as sds:
+# ... img = sds.from_numpy(
+# ... np.array([[ 10., 20., 30.,
+# ... 40., 50., 60.,
+# ... 70., 80., 90. ]], dtype=np.float32)
+# ... )
+# ... result_img = img_shear_linearized(img, 1., 0., 0., 3, 3).compute()
+# ... print(result_img.reshape(3, 3))
+# [[10. 20. 30.]
+# [ 0. 40. 50.]
+# [ 0. 0. 70.]]
+#
+#
# INPUT:
# ---------------------------------------------------------------------------------------------
-# img_in Linearized input images as 2D matrix with top left corner at [1, 1]
+# img_in Input images as linearized 2D matrix with top left corner at [1, 1] (every row represents a linearized matrix/image)
# shear_x Shearing factor for horizontal shearing
# shear_y Shearing factor for vertical shearing
# fill_value The background color revealed by the shearing
+# s_cols Width of a single image
+# s_rows Height of a single image
# ---------------------------------------------------------------------------------------------
#
# OUTPUT:
diff --git a/scripts/builtin/img_transform.dml b/scripts/builtin/img_transform.dml
index f65e2f4a5f..d6636c0bc3 100644
--- a/scripts/builtin/img_transform.dml
+++ b/scripts/builtin/img_transform.dml
@@ -23,6 +23,25 @@
# Optionally resizes the image (without scaling).
# Uses nearest neighbor sampling.
#
+# .. code-block:: python
+#
+# >>> import numpy as np
+# >>> from systemds.context import SystemDSContext
+# >>> from systemds.operator.algorithm import img_transform
+# >>>
+# >>> with SystemDSContext() as sds:
+# ... img = sds.from_numpy(
+# ... np.array([[ 10., 20., 30.],
+# ... [ 40., 50., 60.],
+# ... [ 70., 80., 90.]], dtype=np.float32)
+# ... )
+# ... result_img = img_transform(img, 3, 3, -1., 0., 2., 0., 1., 0., 255.).compute()
+# ... print(result_img)
+# [[ 20. 10. 255.]
+# [ 50. 40. 255.]
+# [ 80. 70. 255.]]
+#
+#
# INPUT:
# -------------------------------------------------------------------------------------------
# img_in Input image as 2D matrix with top left corner at [1, 1]
diff --git a/scripts/builtin/img_transform_linearized.dml b/scripts/builtin/img_transform_linearized.dml
index 06867d61b2..dc4c650c58 100644
--- a/scripts/builtin/img_transform_linearized.dml
+++ b/scripts/builtin/img_transform_linearized.dml
@@ -23,13 +23,34 @@
# Optionally resizes the image (without scaling).
# Uses nearest neighbor sampling.
#
+# .. code-block:: python
+#
+# >>> import numpy as np
+# >>> from systemds.context import SystemDSContext
+# >>> from systemds.operator.algorithm import img_transform_linearized
+# >>>
+# >>> with SystemDSContext() as sds:
+# ... img = sds.from_numpy(
+# ... np.array([[ 10., 20., 30.,
+# ... 40., 50., 60.,
+# ... 70., 80., 90. ]], dtype=np.float32)
+# ... )
+# ... result_img = img_transform_linearized(img, 3, 3, -1., 0., 2., 0., 1., 0., 255., 3, 3).compute()
+# ... print(result_img.reshape(3, 3))
+# [[ 20. 10. 255.]
+# [ 50. 40. 255.]
+# [ 80. 70. 255.]]
+#
+#
# INPUT:
# -------------------------------------------------------------------------------------------
-# img_in Linearized input images as 2D matrix with top left corner at [1, 1]
+# img_in Input images as linearized 2D matrix with top left corner at [1, 1] (every row represents a linearized matrix/image)
# out_w Width of the output matrix
# out_h Height of the output matrix
# a,b,c,d,e,f The first two rows of the affine matrix in row-major order
-# fill_value The background of an image
+# fill_value The background of an image
+# s_cols Width of a single image
+# s_rows Height of a single image
# -------------------------------------------------------------------------------------------
#
# OUTPUT:
diff --git a/scripts/builtin/img_translate.dml b/scripts/builtin/img_translate.dml
index 9bf2664d33..687f8f0415 100644
--- a/scripts/builtin/img_translate.dml
+++ b/scripts/builtin/img_translate.dml
@@ -23,6 +23,25 @@
# Optionally resizes the image (without scaling).
# Uses nearest neighbor sampling.
#
+# .. code-block:: python
+#
+# >>> import numpy as np
+# >>> from systemds.context import SystemDSContext
+# >>> from systemds.operator.algorithm import img_translate
+# >>>
+# >>> with SystemDSContext() as sds:
+# ... img = sds.from_numpy(
+# ... np.array([[ 10., 20., 30.],
+# ... [ 40., 50., 60.],
+# ... [ 70., 80., 90.]], dtype=np.float32)
+# ... )
+# ... result_img = img_translate(img, 1., 1., 3, 3, 255.).compute()
+# ... print(result_img)
+# [[255. 255. 255.]
+# [255. 10. 20.]
+# [255. 40. 50.]]
+#
+#
# INPUT:
# ----------------------------------------------------------------------------------------------
# img_in Input image as 2D matrix with top left corner at [1, 1]
diff --git a/scripts/builtin/img_translate_linearized.dml b/scripts/builtin/img_translate_linearized.dml
index c2c898d21c..2feec93800 100644
--- a/scripts/builtin/img_translate_linearized.dml
+++ b/scripts/builtin/img_translate_linearized.dml
@@ -22,9 +22,29 @@
# This function has the same functionality with img_translate but it handles multiple images at
# the same time. Each row of the input and output matrix represents a linearized image/matrix
# It translates the image and Optionally resizes the image (without scaling).
+#
+# .. code-block:: python
+#
+# >>> import numpy as np
+# >>> from systemds.context import SystemDSContext
+# >>> from systemds.operator.algorithm import img_translate_linearized
+# >>>
+# >>> with SystemDSContext() as sds:
+# ... img = sds.from_numpy(
+# ... np.array([[ 10., 20., 30.,
+# ... 40., 50., 60.,
+# ... 70., 80., 90. ]], dtype=np.float32)
+# ... )
+# ... result_img = img_translate_linearized(img, 1., 1., 3, 3, 255.0, 3, 3).compute()
+# ... print(result_img.reshape(3, 3))
+# [[255. 255. 255.]
+# [255. 10. 20.]
+# [255. 40. 50.]]
+#
+#
# INPUT:
# ----------------------------------------------------------------------------------------------
-# img_in Input matrix/image (every row represents a linearized matrix/image)
+# img_in Input images as linearized 2D matrix with top left corner at [1, 1] (every row represents a linearized matrix/image)
# offset_x The distance to move the image in x direction
# offset_y The distance to move the image in y direction
# out_w Width of the output image
diff --git a/scripts/builtin/lm.dml b/scripts/builtin/lm.dml
index b7fc55e0ff..58f161a3ce 100644
--- a/scripts/builtin/lm.dml
+++ b/scripts/builtin/lm.dml
@@ -23,6 +23,36 @@
# method or the conjugate gradient algorithm depending on the input size
# of the matrices (See lmDS-function and lmCG-function respectively).
#
+# .. code-block:: python
+#
+# >>> import numpy as np
+# >>> from systemds.context import SystemDSContext
+# >>> from systemds.operator.algorithm import lm
+# >>>
+# >>> np.random.seed(0)
+# >>> features = np.random.rand(10, 15)
+# >>> y = np.random.rand(10, 1)
+# >>>
+# >>> with SystemDSContext() as sds:
+# ... weights = lm(sds.from_numpy(features), sds.from_numpy(y)).compute()
+# ... print(weights)
+# [[-0.11538199]
+# [-0.20386541]
+# [-0.39956034]
+# [ 1.04078623]
+# [ 0.43270839]
+# [ 0.18954599]
+# [ 0.49858969]
+# [-0.26812763]
+# [ 0.09961844]
+# [-0.57000751]
+# [-0.43386048]
+# [ 0.55358873]
+# [-0.54638565]
+# [ 0.2205885 ]
+# [ 0.37957689]]
+#
+#
# INPUT:
# --------------------------------------------------------------------
# X Matrix of feature vectors.
diff --git a/scripts/builtin/normalize.dml b/scripts/builtin/normalize.dml
index 1f136757aa..9496431ee8 100644
--- a/scripts/builtin/normalize.dml
+++ b/scripts/builtin/normalize.dml
@@ -22,6 +22,20 @@
# Min-max normalization (a.k.a. min-max scaling) to range [0,1]. For matrices
# of positive values, this normalization preserves the input sparsity.
#
+# .. code-block:: python
+#
+# >>> import numpy as np
+# >>> from systemds.context import SystemDSContext
+# >>> from systemds.operator.algorithm import normalize
+# >>>
+# >>> with SystemDSContext() as sds:
+# ... X = sds.from_numpy(np.array([[1, 2], [3, 4]]))
+# ... Y, cmin, cmax = normalize(X).compute()
+# ... print(Y)
+# [[0. 0.]
+# [1. 1.]]
+#
+#
# INPUT:
# ---------------------------------------------------------------------------------------
# X Input feature matrix of shape n-by-m
diff --git a/scripts/builtin/randomForest.dml b/scripts/builtin/randomForest.dml
index 53529afb9a..cd29826541 100644
--- a/scripts/builtin/randomForest.dml
+++ b/scripts/builtin/randomForest.dml
@@ -46,6 +46,47 @@
# prefixed by a one-hot vector of sampled features
# (e.g., [1,1,1,0] if we sampled a,b,c of the four features)
#
+# .. code-block:: python
+#
+# >>> import numpy as np
+# >>> from systemds.context import SystemDSContext
+# >>> from systemds.operator.algorithm import randomForest, randomForestPredict
+# >>>
+# >>> # tiny toy dataset
+# >>> X = np.array([[1],
+# ... [2],
+# ... [10],
+# ... [11]], dtype=np.int64)
+# >>> y = np.array([[1],
+# ... [1],
+# ... [2],
+# ... [2]], dtype=np.int64)
+# >>>
+# >>> with SystemDSContext() as sds:
+# ... X_sds = sds.from_numpy(X)
+# ... y_sds = sds.from_numpy(y)
+# ...
+# ... ctypes = sds.from_numpy(np.array([[1, 2]], dtype=np.int64))
+# ...
+# ... # train a 4-tree forest (no sampling)
+# ... M = randomForest(
+# ... X_sds, y_sds, ctypes,
+# ... num_trees = 4,
+# ... sample_frac = 1.0,
+# ... feature_frac = 1.0,
+# ... max_depth = 3,
+# ... min_leaf = 1,
+# ... min_split = 2,
+# ... seed = 42
+# ... )
+# ...
+# ... preds = randomForestPredict(X_sds, ctypes, M).compute()
+# ... print(preds)
+# [[1.]
+# [1.]
+# [2.]
+# [2.]]
+#
#
# INPUT:
# ------------------------------------------------------------------------------
diff --git a/scripts/builtin/randomForestPredict.dml b/scripts/builtin/randomForestPredict.dml
index a003f26f7d..3a42c7f487 100644
--- a/scripts/builtin/randomForestPredict.dml
+++ b/scripts/builtin/randomForestPredict.dml
@@ -22,6 +22,49 @@
# This script implements random forest prediction for recoded and binned
# categorical and numerical input features.
#
+#
+# .. code-block:: python
+#
+# >>> import numpy as np
+# >>> from systemds.context import SystemDSContext
+# >>> from systemds.operator.algorithm import randomForest, randomForestPredict
+# >>>
+# >>> # tiny toy dataset
+# >>> X = np.array([[1],
+# ... [2],
+# ... [10],
+# ... [11]], dtype=np.int64)
+# >>> y = np.array([[1],
+# ... [1],
+# ... [2],
+# ... [2]], dtype=np.int64)
+# >>>
+# >>> with SystemDSContext() as sds:
+# ... X_sds = sds.from_numpy(X)
+# ... y_sds = sds.from_numpy(y)
+# ...
+# ... ctypes = sds.from_numpy(np.array([[1, 2]], dtype=np.int64))
+# ...
+# ... # train a 4-tree forest (no sampling)
+# ... M = randomForest(
+# ... X_sds, y_sds, ctypes,
+# ... num_trees = 4,
+# ... sample_frac = 1.0,
+# ... feature_frac = 1.0,
+# ... max_depth = 3,
+# ... min_leaf = 1,
+# ... min_split = 2,
+# ... seed = 42
+# ... )
+# ...
+# ... preds = randomForestPredict(X_sds, ctypes, M).compute()
+# ... print(preds)
+# [[1.]
+# [1.]
+# [2.]
+# [2.]]
+#
+#
# INPUT:
# ------------------------------------------------------------------------------
# X Feature matrix in recoded/binned representation
diff --git a/scripts/builtin/toOneHot.dml b/scripts/builtin/toOneHot.dml
index 2232cdc97b..aec58c4999 100644
--- a/scripts/builtin/toOneHot.dml
+++ b/scripts/builtin/toOneHot.dml
@@ -21,6 +21,22 @@
# The toOneHot-function encodes unordered categorical vector to multiple binary vectors.
#
+# .. code-block:: python
+#
+# >>> import numpy as np
+# >>> from systemds.context import SystemDSContext
+# >>> from systemds.operator.algorithm import toOneHot
+# >>>
+# >>> with SystemDSContext() as sds:
+# ... X = sds.from_numpy(np.array([[1], [3], [2], [3]]))
+# ... Y = toOneHot(X, numClasses=3).compute()
+# ... print(Y)
+# [[1. 0. 0.]
+# [0. 0. 1.]
+# [0. 1. 0.]
+# [0. 0. 1.]]
+#
+#
# INPUT:
# ------------------------------------------------------------------------------------------
# X Vector with N integer entries between 1 and numClasses
diff --git a/src/main/python/docs/source/api/operator/algorithms.rst b/src/main/python/docs/source/api/operator/algorithms.rst
index 1ea5de4a43..2716389643 100644
--- a/src/main/python/docs/source/api/operator/algorithms.rst
+++ b/src/main/python/docs/source/api/operator/algorithms.rst
@@ -66,4 +66,9 @@ The output should be similar to
[ 0.37957689]]
.. automodule:: systemds.operator.algorithm
- :members:
\ No newline at end of file
+
+.. toctree::
+ :maxdepth: 1
+ :glob:
+
+ algorithms/*
\ 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
new file mode 100644
index 0000000000..9712759986
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/WoE.rst
@@ -0,0 +1,4 @@
+WoE
+===
+
+.. autofunction:: systemds.operator.algorithm.WoE
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/WoEApply.rst b/src/main/python/docs/source/api/operator/algorithms/WoEApply.rst
new file mode 100644
index 0000000000..1b612b82bb
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/WoEApply.rst
@@ -0,0 +1,4 @@
+WoEApply
+========
+
+.. autofunction:: systemds.operator.algorithm.WoEApply
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/abstain.rst b/src/main/python/docs/source/api/operator/algorithms/abstain.rst
new file mode 100644
index 0000000000..dcef879159
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/abstain.rst
@@ -0,0 +1,4 @@
+abstain
+=======
+
+.. autofunction:: systemds.operator.algorithm.abstain
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/adasyn.rst b/src/main/python/docs/source/api/operator/algorithms/adasyn.rst
new file mode 100644
index 0000000000..2876239375
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/adasyn.rst
@@ -0,0 +1,4 @@
+adasyn
+======
+
+.. autofunction:: systemds.operator.algorithm.adasyn
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/als.rst b/src/main/python/docs/source/api/operator/algorithms/als.rst
new file mode 100644
index 0000000000..67ff3426dc
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/als.rst
@@ -0,0 +1,4 @@
+als
+===
+
+.. autofunction:: systemds.operator.algorithm.als
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/alsCG.rst b/src/main/python/docs/source/api/operator/algorithms/alsCG.rst
new file mode 100644
index 0000000000..11407a8cd5
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/alsCG.rst
@@ -0,0 +1,4 @@
+alsCG
+=====
+
+.. autofunction:: systemds.operator.algorithm.alsCG
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/alsDS.rst b/src/main/python/docs/source/api/operator/algorithms/alsDS.rst
new file mode 100644
index 0000000000..cffde102ce
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/alsDS.rst
@@ -0,0 +1,4 @@
+alsDS
+=====
+
+.. autofunction:: systemds.operator.algorithm.alsDS
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/alsPredict.rst b/src/main/python/docs/source/api/operator/algorithms/alsPredict.rst
new file mode 100644
index 0000000000..872eeff8d4
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/alsPredict.rst
@@ -0,0 +1,4 @@
+alsPredict
+==========
+
+.. autofunction:: systemds.operator.algorithm.alsPredict
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/alsTopkPredict.rst b/src/main/python/docs/source/api/operator/algorithms/alsTopkPredict.rst
new file mode 100644
index 0000000000..f68c5c4e3f
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/alsTopkPredict.rst
@@ -0,0 +1,4 @@
+alsTopkPredict
+==============
+
+.. autofunction:: systemds.operator.algorithm.alsTopkPredict
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/ampute.rst b/src/main/python/docs/source/api/operator/algorithms/ampute.rst
new file mode 100644
index 0000000000..f8b7783ef6
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/ampute.rst
@@ -0,0 +1,4 @@
+ampute
+======
+
+.. autofunction:: systemds.operator.algorithm.ampute
\ No newline at end of file
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
new file mode 100644
index 0000000000..1af55455da
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/apply_pipeline.rst
@@ -0,0 +1,4 @@
+apply_pipeline
+==============
+
+.. autofunction:: systemds.operator.algorithm.apply_pipeline
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/arima.rst b/src/main/python/docs/source/api/operator/algorithms/arima.rst
new file mode 100644
index 0000000000..af74a3f85f
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/arima.rst
@@ -0,0 +1,4 @@
+arima
+=====
+
+.. autofunction:: systemds.operator.algorithm.arima
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/auc.rst b/src/main/python/docs/source/api/operator/algorithms/auc.rst
new file mode 100644
index 0000000000..06457bdb4a
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/auc.rst
@@ -0,0 +1,4 @@
+auc
+===
+
+.. autofunction:: systemds.operator.algorithm.auc
\ No newline at end of file
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
new file mode 100644
index 0000000000..fee877e3ab
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/autoencoder_2layer.rst
@@ -0,0 +1,4 @@
+autoencoder_2layer
+==================
+
+.. autofunction:: systemds.operator.algorithm.autoencoder_2layer
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/bandit.rst b/src/main/python/docs/source/api/operator/algorithms/bandit.rst
new file mode 100644
index 0000000000..6884f821ce
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/bandit.rst
@@ -0,0 +1,4 @@
+bandit
+======
+
+.. autofunction:: systemds.operator.algorithm.bandit
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/bivar.rst b/src/main/python/docs/source/api/operator/algorithms/bivar.rst
new file mode 100644
index 0000000000..4def7aeac4
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/bivar.rst
@@ -0,0 +1,4 @@
+bivar
+=====
+
+.. autofunction:: systemds.operator.algorithm.bivar
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/components.rst b/src/main/python/docs/source/api/operator/algorithms/components.rst
new file mode 100644
index 0000000000..e42ca98cf6
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/components.rst
@@ -0,0 +1,4 @@
+components
+==========
+
+.. autofunction:: systemds.operator.algorithm.components
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/confusionMatrix.rst b/src/main/python/docs/source/api/operator/algorithms/confusionMatrix.rst
new file mode 100644
index 0000000000..9018952389
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/confusionMatrix.rst
@@ -0,0 +1,4 @@
+confusionMatrix
+===============
+
+.. autofunction:: systemds.operator.algorithm.confusionMatrix
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/cooccurrenceMatrix.rst b/src/main/python/docs/source/api/operator/algorithms/cooccurrenceMatrix.rst
new file mode 100644
index 0000000000..d768c2f775
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/cooccurrenceMatrix.rst
@@ -0,0 +1,4 @@
+cooccurrenceMatrix
+==================
+
+.. autofunction:: systemds.operator.algorithm.cooccurrenceMatrix
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/cor.rst b/src/main/python/docs/source/api/operator/algorithms/cor.rst
new file mode 100644
index 0000000000..34484d65ce
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/cor.rst
@@ -0,0 +1,4 @@
+cor
+===
+
+.. autofunction:: systemds.operator.algorithm.cor
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/correctTypos.rst b/src/main/python/docs/source/api/operator/algorithms/correctTypos.rst
new file mode 100644
index 0000000000..38a5b7695c
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/correctTypos.rst
@@ -0,0 +1,4 @@
+correctTypos
+============
+
+.. autofunction:: systemds.operator.algorithm.correctTypos
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/correctTyposApply.rst b/src/main/python/docs/source/api/operator/algorithms/correctTyposApply.rst
new file mode 100644
index 0000000000..a7f3a77a31
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/correctTyposApply.rst
@@ -0,0 +1,4 @@
+correctTyposApply
+=================
+
+.. autofunction:: systemds.operator.algorithm.correctTyposApply
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/cox.rst b/src/main/python/docs/source/api/operator/algorithms/cox.rst
new file mode 100644
index 0000000000..a8cbdf4248
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/cox.rst
@@ -0,0 +1,4 @@
+cox
+===
+
+.. autofunction:: systemds.operator.algorithm.cox
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/cspline.rst b/src/main/python/docs/source/api/operator/algorithms/cspline.rst
new file mode 100644
index 0000000000..00861c0b63
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/cspline.rst
@@ -0,0 +1,4 @@
+cspline
+=======
+
+.. autofunction:: systemds.operator.algorithm.cspline
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/csplineCG.rst b/src/main/python/docs/source/api/operator/algorithms/csplineCG.rst
new file mode 100644
index 0000000000..27785cfd48
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/csplineCG.rst
@@ -0,0 +1,4 @@
+csplineCG
+=========
+
+.. autofunction:: systemds.operator.algorithm.csplineCG
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/csplineDS.rst b/src/main/python/docs/source/api/operator/algorithms/csplineDS.rst
new file mode 100644
index 0000000000..01e5a9719f
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/csplineDS.rst
@@ -0,0 +1,4 @@
+csplineDS
+=========
+
+.. autofunction:: systemds.operator.algorithm.csplineDS
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/cvlm.rst b/src/main/python/docs/source/api/operator/algorithms/cvlm.rst
new file mode 100644
index 0000000000..e11cf61aba
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/cvlm.rst
@@ -0,0 +1,4 @@
+cvlm
+====
+
+.. autofunction:: systemds.operator.algorithm.cvlm
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/dbscan.rst b/src/main/python/docs/source/api/operator/algorithms/dbscan.rst
new file mode 100644
index 0000000000..5a72b28bfb
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/dbscan.rst
@@ -0,0 +1,4 @@
+dbscan
+======
+
+.. autofunction:: systemds.operator.algorithm.dbscan
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/dbscanApply.rst b/src/main/python/docs/source/api/operator/algorithms/dbscanApply.rst
new file mode 100644
index 0000000000..57b52e92ae
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/dbscanApply.rst
@@ -0,0 +1,4 @@
+dbscanApply
+===========
+
+.. autofunction:: systemds.operator.algorithm.dbscanApply
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/decisionTree.rst b/src/main/python/docs/source/api/operator/algorithms/decisionTree.rst
new file mode 100644
index 0000000000..39b871ddb9
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/decisionTree.rst
@@ -0,0 +1,4 @@
+decisionTree
+============
+
+.. autofunction:: systemds.operator.algorithm.decisionTree
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/decisionTreePredict.rst b/src/main/python/docs/source/api/operator/algorithms/decisionTreePredict.rst
new file mode 100644
index 0000000000..c2cadd0df3
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/decisionTreePredict.rst
@@ -0,0 +1,4 @@
+decisionTreePredict
+===================
+
+.. autofunction:: systemds.operator.algorithm.decisionTreePredict
\ 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
new file mode 100644
index 0000000000..48a60442bd
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/deepWalk.rst
@@ -0,0 +1,4 @@
+deepWalk
+========
+
+.. autofunction:: systemds.operator.algorithm.deepWalk
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/denialConstraints.rst b/src/main/python/docs/source/api/operator/algorithms/denialConstraints.rst
new file mode 100644
index 0000000000..6f9580b5ed
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/denialConstraints.rst
@@ -0,0 +1,4 @@
+denialConstraints
+=================
+
+.. autofunction:: systemds.operator.algorithm.denialConstraints
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/differenceStatistics.rst b/src/main/python/docs/source/api/operator/algorithms/differenceStatistics.rst
new file mode 100644
index 0000000000..bd5eff6c47
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/differenceStatistics.rst
@@ -0,0 +1,4 @@
+differenceStatistics
+====================
+
+.. autofunction:: systemds.operator.algorithm.differenceStatistics
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/discoverFD.rst b/src/main/python/docs/source/api/operator/algorithms/discoverFD.rst
new file mode 100644
index 0000000000..acb39f63b0
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/discoverFD.rst
@@ -0,0 +1,4 @@
+discoverFD
+==========
+
+.. autofunction:: systemds.operator.algorithm.discoverFD
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/dist.rst b/src/main/python/docs/source/api/operator/algorithms/dist.rst
new file mode 100644
index 0000000000..048d11444e
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/dist.rst
@@ -0,0 +1,4 @@
+dist
+====
+
+.. autofunction:: systemds.operator.algorithm.dist
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/dmv.rst b/src/main/python/docs/source/api/operator/algorithms/dmv.rst
new file mode 100644
index 0000000000..c01e47ea63
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/dmv.rst
@@ -0,0 +1,4 @@
+dmv
+===
+
+.. autofunction:: systemds.operator.algorithm.dmv
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/ema.rst b/src/main/python/docs/source/api/operator/algorithms/ema.rst
new file mode 100644
index 0000000000..1fab50bc65
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/ema.rst
@@ -0,0 +1,4 @@
+ema
+===
+
+.. autofunction:: systemds.operator.algorithm.ema
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/executePipeline.rst b/src/main/python/docs/source/api/operator/algorithms/executePipeline.rst
new file mode 100644
index 0000000000..e06fc6e96b
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/executePipeline.rst
@@ -0,0 +1,4 @@
+executePipeline
+===============
+
+.. autofunction:: systemds.operator.algorithm.executePipeline
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/f1Score.rst b/src/main/python/docs/source/api/operator/algorithms/f1Score.rst
new file mode 100644
index 0000000000..fe436fc41b
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/f1Score.rst
@@ -0,0 +1,4 @@
+f1Score
+=======
+
+.. autofunction:: systemds.operator.algorithm.f1Score
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/fdr.rst b/src/main/python/docs/source/api/operator/algorithms/fdr.rst
new file mode 100644
index 0000000000..a776cfa305
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/fdr.rst
@@ -0,0 +1,4 @@
+fdr
+===
+
+.. autofunction:: systemds.operator.algorithm.fdr
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/ffPredict.rst b/src/main/python/docs/source/api/operator/algorithms/ffPredict.rst
new file mode 100644
index 0000000000..9772e15959
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/ffPredict.rst
@@ -0,0 +1,4 @@
+ffPredict
+=========
+
+.. autofunction:: systemds.operator.algorithm.ffPredict
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/ffTrain.rst b/src/main/python/docs/source/api/operator/algorithms/ffTrain.rst
new file mode 100644
index 0000000000..8e2b14ddfe
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/ffTrain.rst
@@ -0,0 +1,4 @@
+ffTrain
+=======
+
+.. autofunction:: systemds.operator.algorithm.ffTrain
\ No newline at end of file
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
new file mode 100644
index 0000000000..d3d32e880c
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/fit_pipeline.rst
@@ -0,0 +1,4 @@
+fit_pipeline
+============
+
+.. autofunction:: systemds.operator.algorithm.fit_pipeline
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/fixInvalidLengths.rst b/src/main/python/docs/source/api/operator/algorithms/fixInvalidLengths.rst
new file mode 100644
index 0000000000..31b0cd1233
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/fixInvalidLengths.rst
@@ -0,0 +1,4 @@
+fixInvalidLengths
+=================
+
+.. autofunction:: systemds.operator.algorithm.fixInvalidLengths
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/fixInvalidLengthsApply.rst b/src/main/python/docs/source/api/operator/algorithms/fixInvalidLengthsApply.rst
new file mode 100644
index 0000000000..95e5802fb3
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/fixInvalidLengthsApply.rst
@@ -0,0 +1,4 @@
+fixInvalidLengthsApply
+======================
+
+.. autofunction:: systemds.operator.algorithm.fixInvalidLengthsApply
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/flattenQuantile.rst b/src/main/python/docs/source/api/operator/algorithms/flattenQuantile.rst
new file mode 100644
index 0000000000..e6fffa7140
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/flattenQuantile.rst
@@ -0,0 +1,4 @@
+flattenQuantile
+===============
+
+.. autofunction:: systemds.operator.algorithm.flattenQuantile
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/frameSort.rst b/src/main/python/docs/source/api/operator/algorithms/frameSort.rst
new file mode 100644
index 0000000000..87ee40c035
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/frameSort.rst
@@ -0,0 +1,4 @@
+frameSort
+=========
+
+.. autofunction:: systemds.operator.algorithm.frameSort
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/frequencyEncode.rst b/src/main/python/docs/source/api/operator/algorithms/frequencyEncode.rst
new file mode 100644
index 0000000000..e54e934d0c
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/frequencyEncode.rst
@@ -0,0 +1,4 @@
+frequencyEncode
+===============
+
+.. autofunction:: systemds.operator.algorithm.frequencyEncode
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/frequencyEncodeApply.rst b/src/main/python/docs/source/api/operator/algorithms/frequencyEncodeApply.rst
new file mode 100644
index 0000000000..db4d94e92b
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/frequencyEncodeApply.rst
@@ -0,0 +1,4 @@
+frequencyEncodeApply
+====================
+
+.. autofunction:: systemds.operator.algorithm.frequencyEncodeApply
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/garch.rst b/src/main/python/docs/source/api/operator/algorithms/garch.rst
new file mode 100644
index 0000000000..0c605ab8a3
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/garch.rst
@@ -0,0 +1,4 @@
+garch
+=====
+
+.. autofunction:: systemds.operator.algorithm.garch
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/gaussianClassifier.rst b/src/main/python/docs/source/api/operator/algorithms/gaussianClassifier.rst
new file mode 100644
index 0000000000..e202cefae8
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/gaussianClassifier.rst
@@ -0,0 +1,4 @@
+gaussianClassifier
+==================
+
+.. autofunction:: systemds.operator.algorithm.gaussianClassifier
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/getAccuracy.rst b/src/main/python/docs/source/api/operator/algorithms/getAccuracy.rst
new file mode 100644
index 0000000000..da9b573d3d
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/getAccuracy.rst
@@ -0,0 +1,4 @@
+getAccuracy
+===========
+
+.. autofunction:: systemds.operator.algorithm.getAccuracy
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/glm.rst b/src/main/python/docs/source/api/operator/algorithms/glm.rst
new file mode 100644
index 0000000000..44a40c2a06
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/glm.rst
@@ -0,0 +1,4 @@
+glm
+===
+
+.. autofunction:: systemds.operator.algorithm.glm
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/glmPredict.rst b/src/main/python/docs/source/api/operator/algorithms/glmPredict.rst
new file mode 100644
index 0000000000..556ac2bbc4
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/glmPredict.rst
@@ -0,0 +1,4 @@
+glmPredict
+==========
+
+.. autofunction:: systemds.operator.algorithm.glmPredict
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/glove.rst b/src/main/python/docs/source/api/operator/algorithms/glove.rst
new file mode 100644
index 0000000000..e578875378
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/glove.rst
@@ -0,0 +1,4 @@
+glove
+=====
+
+.. autofunction:: systemds.operator.algorithm.glove
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/gmm.rst b/src/main/python/docs/source/api/operator/algorithms/gmm.rst
new file mode 100644
index 0000000000..081f197ffa
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/gmm.rst
@@ -0,0 +1,4 @@
+gmm
+===
+
+.. autofunction:: systemds.operator.algorithm.gmm
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/gmmPredict.rst b/src/main/python/docs/source/api/operator/algorithms/gmmPredict.rst
new file mode 100644
index 0000000000..9dd34ee83b
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/gmmPredict.rst
@@ -0,0 +1,4 @@
+gmmPredict
+==========
+
+.. autofunction:: systemds.operator.algorithm.gmmPredict
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/gnmf.rst b/src/main/python/docs/source/api/operator/algorithms/gnmf.rst
new file mode 100644
index 0000000000..2a7295d9da
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/gnmf.rst
@@ -0,0 +1,4 @@
+gnmf
+====
+
+.. autofunction:: systemds.operator.algorithm.gnmf
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/gridSearch.rst b/src/main/python/docs/source/api/operator/algorithms/gridSearch.rst
new file mode 100644
index 0000000000..b59e437004
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/gridSearch.rst
@@ -0,0 +1,4 @@
+gridSearch
+==========
+
+.. autofunction:: systemds.operator.algorithm.gridSearch
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/hospitalResidencyMatch.rst b/src/main/python/docs/source/api/operator/algorithms/hospitalResidencyMatch.rst
new file mode 100644
index 0000000000..92d798e644
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/hospitalResidencyMatch.rst
@@ -0,0 +1,4 @@
+hospitalResidencyMatch
+======================
+
+.. autofunction:: systemds.operator.algorithm.hospitalResidencyMatch
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/hyperband.rst b/src/main/python/docs/source/api/operator/algorithms/hyperband.rst
new file mode 100644
index 0000000000..270fd16601
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/hyperband.rst
@@ -0,0 +1,4 @@
+hyperband
+=========
+
+.. autofunction:: systemds.operator.algorithm.hyperband
\ No newline at end of file
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
new file mode 100644
index 0000000000..b43686296b
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/img_brightness.rst
@@ -0,0 +1,4 @@
+img_brightness
+==============
+
+.. autofunction:: systemds.operator.algorithm.img_brightness
\ No newline at end of file
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
new file mode 100644
index 0000000000..a0ac5c1ea7
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/img_brightness_linearized.rst
@@ -0,0 +1,4 @@
+img_brightness_linearized
+=========================
+
+.. autofunction:: systemds.operator.algorithm.img_brightness_linearized
\ No newline at end of file
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
new file mode 100644
index 0000000000..eab6bb2a07
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/img_crop.rst
@@ -0,0 +1,4 @@
+img_crop
+========
+
+.. autofunction:: systemds.operator.algorithm.img_crop
\ No newline at end of file
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
new file mode 100644
index 0000000000..e19d3a70a8
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/img_crop_linearized.rst
@@ -0,0 +1,4 @@
+img_crop_linearized
+===================
+
+.. autofunction:: systemds.operator.algorithm.img_crop_linearized
\ No newline at end of file
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
new file mode 100644
index 0000000000..b9b5e8467c
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/img_cutout.rst
@@ -0,0 +1,4 @@
+img_cutout
+==========
+
+.. autofunction:: systemds.operator.algorithm.img_cutout
\ No newline at end of file
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
new file mode 100644
index 0000000000..7ce7c76b1d
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/img_cutout_linearized.rst
@@ -0,0 +1,4 @@
+img_cutout_linearized
+=====================
+
+.. autofunction:: systemds.operator.algorithm.img_cutout_linearized
\ No newline at end of file
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
new file mode 100644
index 0000000000..be0af11a5a
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/img_invert.rst
@@ -0,0 +1,4 @@
+img_invert
+==========
+
+.. autofunction:: systemds.operator.algorithm.img_invert
\ No newline at end of file
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
new file mode 100644
index 0000000000..8d0a6cf520
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/img_invert_linearized.rst
@@ -0,0 +1,4 @@
+img_invert_linearized
+=====================
+
+.. autofunction:: systemds.operator.algorithm.img_invert_linearized
\ No newline at end of file
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
new file mode 100644
index 0000000000..d1d31fba23
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/img_mirror.rst
@@ -0,0 +1,4 @@
+img_mirror
+==========
+
+.. autofunction:: systemds.operator.algorithm.img_mirror
\ No newline at end of file
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
new file mode 100644
index 0000000000..56076e239f
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/img_mirror_linearized.rst
@@ -0,0 +1,4 @@
+img_mirror_linearized
+=====================
+
+.. autofunction:: systemds.operator.algorithm.img_mirror_linearized
\ No newline at end of file
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
new file mode 100644
index 0000000000..d2db21b114
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/img_posterize.rst
@@ -0,0 +1,4 @@
+img_posterize
+=============
+
+.. autofunction:: systemds.operator.algorithm.img_posterize
\ No newline at end of file
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
new file mode 100644
index 0000000000..debac6d54d
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/img_posterize_linearized.rst
@@ -0,0 +1,4 @@
+img_posterize_linearized
+========================
+
+.. autofunction:: systemds.operator.algorithm.img_posterize_linearized
\ No newline at end of file
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
new file mode 100644
index 0000000000..fca9801b32
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/img_rotate.rst
@@ -0,0 +1,4 @@
+img_rotate
+==========
+
+.. autofunction:: systemds.operator.algorithm.img_rotate
\ No newline at end of file
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
new file mode 100644
index 0000000000..f40f086f84
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/img_rotate_linearized.rst
@@ -0,0 +1,4 @@
+img_rotate_linearized
+=====================
+
+.. autofunction:: systemds.operator.algorithm.img_rotate_linearized
\ No newline at end of file
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
new file mode 100644
index 0000000000..7de25f74b5
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/img_sample_pairing.rst
@@ -0,0 +1,4 @@
+img_sample_pairing
+==================
+
+.. autofunction:: systemds.operator.algorithm.img_sample_pairing
\ No newline at end of file
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
new file mode 100644
index 0000000000..8cfd5a1873
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/img_sample_pairing_linearized.rst
@@ -0,0 +1,4 @@
+img_sample_pairing_linearized
+=============================
+
+.. autofunction:: systemds.operator.algorithm.img_sample_pairing_linearized
\ No newline at end of file
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
new file mode 100644
index 0000000000..8c8144d461
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/img_shear.rst
@@ -0,0 +1,4 @@
+img_shear
+=========
+
+.. autofunction:: systemds.operator.algorithm.img_shear
\ No newline at end of file
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
new file mode 100644
index 0000000000..8907f6a90b
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/img_shear_linearized.rst
@@ -0,0 +1,4 @@
+img_shear_linearized
+====================
+
+.. autofunction:: systemds.operator.algorithm.img_shear_linearized
\ No newline at end of file
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
new file mode 100644
index 0000000000..6bb4676270
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/img_transform.rst
@@ -0,0 +1,4 @@
+img_transform
+=============
+
+.. autofunction:: systemds.operator.algorithm.img_transform
\ No newline at end of file
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
new file mode 100644
index 0000000000..16d043af9b
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/img_transform_linearized.rst
@@ -0,0 +1,4 @@
+img_transform_linearized
+========================
+
+.. autofunction:: systemds.operator.algorithm.img_transform_linearized
\ No newline at end of file
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
new file mode 100644
index 0000000000..8b5952f8d0
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/img_translate.rst
@@ -0,0 +1,4 @@
+img_translate
+=============
+
+.. autofunction:: systemds.operator.algorithm.img_translate
\ No newline at end of file
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
new file mode 100644
index 0000000000..02f0ac813d
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/img_translate_linearized.rst
@@ -0,0 +1,4 @@
+img_translate_linearized
+========================
+
+.. autofunction:: systemds.operator.algorithm.img_translate_linearized
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/impurityMeasures.rst b/src/main/python/docs/source/api/operator/algorithms/impurityMeasures.rst
new file mode 100644
index 0000000000..bbb6460a20
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/impurityMeasures.rst
@@ -0,0 +1,4 @@
+impurityMeasures
+================
+
+.. autofunction:: systemds.operator.algorithm.impurityMeasures
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/imputeByFD.rst b/src/main/python/docs/source/api/operator/algorithms/imputeByFD.rst
new file mode 100644
index 0000000000..f2378547e2
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/imputeByFD.rst
@@ -0,0 +1,4 @@
+imputeByFD
+==========
+
+.. autofunction:: systemds.operator.algorithm.imputeByFD
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/imputeByFDApply.rst b/src/main/python/docs/source/api/operator/algorithms/imputeByFDApply.rst
new file mode 100644
index 0000000000..90d7b52601
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/imputeByFDApply.rst
@@ -0,0 +1,4 @@
+imputeByFDApply
+===============
+
+.. autofunction:: systemds.operator.algorithm.imputeByFDApply
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/imputeByKNN.rst b/src/main/python/docs/source/api/operator/algorithms/imputeByKNN.rst
new file mode 100644
index 0000000000..3f2e21eb59
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/imputeByKNN.rst
@@ -0,0 +1,4 @@
+imputeByKNN
+===========
+
+.. autofunction:: systemds.operator.algorithm.imputeByKNN
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/imputeByMean.rst b/src/main/python/docs/source/api/operator/algorithms/imputeByMean.rst
new file mode 100644
index 0000000000..cf7f4dc128
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/imputeByMean.rst
@@ -0,0 +1,4 @@
+imputeByMean
+============
+
+.. autofunction:: systemds.operator.algorithm.imputeByMean
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/imputeByMeanApply.rst b/src/main/python/docs/source/api/operator/algorithms/imputeByMeanApply.rst
new file mode 100644
index 0000000000..688b48db94
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/imputeByMeanApply.rst
@@ -0,0 +1,4 @@
+imputeByMeanApply
+=================
+
+.. autofunction:: systemds.operator.algorithm.imputeByMeanApply
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/imputeByMedian.rst b/src/main/python/docs/source/api/operator/algorithms/imputeByMedian.rst
new file mode 100644
index 0000000000..a6762253de
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/imputeByMedian.rst
@@ -0,0 +1,4 @@
+imputeByMedian
+==============
+
+.. autofunction:: systemds.operator.algorithm.imputeByMedian
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/imputeByMedianApply.rst b/src/main/python/docs/source/api/operator/algorithms/imputeByMedianApply.rst
new file mode 100644
index 0000000000..a6513410a3
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/imputeByMedianApply.rst
@@ -0,0 +1,4 @@
+imputeByMedianApply
+===================
+
+.. autofunction:: systemds.operator.algorithm.imputeByMedianApply
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/imputeByMode.rst b/src/main/python/docs/source/api/operator/algorithms/imputeByMode.rst
new file mode 100644
index 0000000000..817ec471d2
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/imputeByMode.rst
@@ -0,0 +1,4 @@
+imputeByMode
+============
+
+.. autofunction:: systemds.operator.algorithm.imputeByMode
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/imputeByModeApply.rst b/src/main/python/docs/source/api/operator/algorithms/imputeByModeApply.rst
new file mode 100644
index 0000000000..b7c78a9589
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/imputeByModeApply.rst
@@ -0,0 +1,4 @@
+imputeByModeApply
+=================
+
+.. autofunction:: systemds.operator.algorithm.imputeByModeApply
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/incSliceLine.rst b/src/main/python/docs/source/api/operator/algorithms/incSliceLine.rst
new file mode 100644
index 0000000000..da2c1f58de
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/incSliceLine.rst
@@ -0,0 +1,4 @@
+incSliceLine
+============
+
+.. autofunction:: systemds.operator.algorithm.incSliceLine
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/intersect.rst b/src/main/python/docs/source/api/operator/algorithms/intersect.rst
new file mode 100644
index 0000000000..762d68708b
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/intersect.rst
@@ -0,0 +1,4 @@
+intersect
+=========
+
+.. autofunction:: systemds.operator.algorithm.intersect
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/km.rst b/src/main/python/docs/source/api/operator/algorithms/km.rst
new file mode 100644
index 0000000000..8392789508
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/km.rst
@@ -0,0 +1,4 @@
+km
+==
+
+.. autofunction:: systemds.operator.algorithm.km
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/kmeans.rst b/src/main/python/docs/source/api/operator/algorithms/kmeans.rst
new file mode 100644
index 0000000000..7f4d1a9259
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/kmeans.rst
@@ -0,0 +1,4 @@
+kmeans
+======
+
+.. autofunction:: systemds.operator.algorithm.kmeans
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/kmeansPredict.rst b/src/main/python/docs/source/api/operator/algorithms/kmeansPredict.rst
new file mode 100644
index 0000000000..b0832ee485
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/kmeansPredict.rst
@@ -0,0 +1,4 @@
+kmeansPredict
+=============
+
+.. autofunction:: systemds.operator.algorithm.kmeansPredict
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/knn.rst b/src/main/python/docs/source/api/operator/algorithms/knn.rst
new file mode 100644
index 0000000000..c9bc1ed67d
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/knn.rst
@@ -0,0 +1,4 @@
+knn
+===
+
+.. autofunction:: systemds.operator.algorithm.knn
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/knnGraph.rst b/src/main/python/docs/source/api/operator/algorithms/knnGraph.rst
new file mode 100644
index 0000000000..19c9c7adc2
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/knnGraph.rst
@@ -0,0 +1,4 @@
+knnGraph
+========
+
+.. autofunction:: systemds.operator.algorithm.knnGraph
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/knnbf.rst b/src/main/python/docs/source/api/operator/algorithms/knnbf.rst
new file mode 100644
index 0000000000..098af73b36
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/knnbf.rst
@@ -0,0 +1,4 @@
+knnbf
+=====
+
+.. autofunction:: systemds.operator.algorithm.knnbf
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/l2svm.rst b/src/main/python/docs/source/api/operator/algorithms/l2svm.rst
new file mode 100644
index 0000000000..ab8155faaa
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/l2svm.rst
@@ -0,0 +1,4 @@
+l2svm
+=====
+
+.. autofunction:: systemds.operator.algorithm.l2svm
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/l2svmPredict.rst b/src/main/python/docs/source/api/operator/algorithms/l2svmPredict.rst
new file mode 100644
index 0000000000..0aede20fcb
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/l2svmPredict.rst
@@ -0,0 +1,4 @@
+l2svmPredict
+============
+
+.. autofunction:: systemds.operator.algorithm.l2svmPredict
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/lasso.rst b/src/main/python/docs/source/api/operator/algorithms/lasso.rst
new file mode 100644
index 0000000000..c4d8f49093
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/lasso.rst
@@ -0,0 +1,4 @@
+lasso
+=====
+
+.. autofunction:: systemds.operator.algorithm.lasso
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/lenetPredict.rst b/src/main/python/docs/source/api/operator/algorithms/lenetPredict.rst
new file mode 100644
index 0000000000..f7ca6d4cfa
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/lenetPredict.rst
@@ -0,0 +1,4 @@
+lenetPredict
+============
+
+.. autofunction:: systemds.operator.algorithm.lenetPredict
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/lenetTrain.rst b/src/main/python/docs/source/api/operator/algorithms/lenetTrain.rst
new file mode 100644
index 0000000000..59a1463290
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/lenetTrain.rst
@@ -0,0 +1,4 @@
+lenetTrain
+==========
+
+.. autofunction:: systemds.operator.algorithm.lenetTrain
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/lm.rst b/src/main/python/docs/source/api/operator/algorithms/lm.rst
new file mode 100644
index 0000000000..50eded5883
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/lm.rst
@@ -0,0 +1,4 @@
+lm
+==
+
+.. autofunction:: systemds.operator.algorithm.lm
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/lmCG.rst b/src/main/python/docs/source/api/operator/algorithms/lmCG.rst
new file mode 100644
index 0000000000..e0242f1377
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/lmCG.rst
@@ -0,0 +1,4 @@
+lmCG
+====
+
+.. autofunction:: systemds.operator.algorithm.lmCG
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/lmDS.rst b/src/main/python/docs/source/api/operator/algorithms/lmDS.rst
new file mode 100644
index 0000000000..52255a9310
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/lmDS.rst
@@ -0,0 +1,4 @@
+lmDS
+====
+
+.. autofunction:: systemds.operator.algorithm.lmDS
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/lmPredict.rst b/src/main/python/docs/source/api/operator/algorithms/lmPredict.rst
new file mode 100644
index 0000000000..a7179cb84e
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/lmPredict.rst
@@ -0,0 +1,4 @@
+lmPredict
+=========
+
+.. autofunction:: systemds.operator.algorithm.lmPredict
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/lmPredictStats.rst b/src/main/python/docs/source/api/operator/algorithms/lmPredictStats.rst
new file mode 100644
index 0000000000..984fd90730
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/lmPredictStats.rst
@@ -0,0 +1,4 @@
+lmPredictStats
+==============
+
+.. autofunction:: systemds.operator.algorithm.lmPredictStats
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/logSumExp.rst b/src/main/python/docs/source/api/operator/algorithms/logSumExp.rst
new file mode 100644
index 0000000000..aea539ced3
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/logSumExp.rst
@@ -0,0 +1,4 @@
+logSumExp
+=========
+
+.. autofunction:: systemds.operator.algorithm.logSumExp
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/mae.rst b/src/main/python/docs/source/api/operator/algorithms/mae.rst
new file mode 100644
index 0000000000..36094918d8
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/mae.rst
@@ -0,0 +1,4 @@
+mae
+===
+
+.. autofunction:: systemds.operator.algorithm.mae
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/mape.rst b/src/main/python/docs/source/api/operator/algorithms/mape.rst
new file mode 100644
index 0000000000..a2284debb8
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/mape.rst
@@ -0,0 +1,4 @@
+mape
+====
+
+.. autofunction:: systemds.operator.algorithm.mape
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/matrixProfile.rst b/src/main/python/docs/source/api/operator/algorithms/matrixProfile.rst
new file mode 100644
index 0000000000..6dd5b4a7dd
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/matrixProfile.rst
@@ -0,0 +1,4 @@
+matrixProfile
+=============
+
+.. autofunction:: systemds.operator.algorithm.matrixProfile
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/mcc.rst b/src/main/python/docs/source/api/operator/algorithms/mcc.rst
new file mode 100644
index 0000000000..918f849be8
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/mcc.rst
@@ -0,0 +1,4 @@
+mcc
+===
+
+.. autofunction:: systemds.operator.algorithm.mcc
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/mdedup.rst b/src/main/python/docs/source/api/operator/algorithms/mdedup.rst
new file mode 100644
index 0000000000..88fd7ed5be
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/mdedup.rst
@@ -0,0 +1,4 @@
+mdedup
+======
+
+.. autofunction:: systemds.operator.algorithm.mdedup
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/mice.rst b/src/main/python/docs/source/api/operator/algorithms/mice.rst
new file mode 100644
index 0000000000..429337e782
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/mice.rst
@@ -0,0 +1,4 @@
+mice
+====
+
+.. autofunction:: systemds.operator.algorithm.mice
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/miceApply.rst b/src/main/python/docs/source/api/operator/algorithms/miceApply.rst
new file mode 100644
index 0000000000..2ecc09a5c2
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/miceApply.rst
@@ -0,0 +1,4 @@
+miceApply
+=========
+
+.. autofunction:: systemds.operator.algorithm.miceApply
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/mse.rst b/src/main/python/docs/source/api/operator/algorithms/mse.rst
new file mode 100644
index 0000000000..b739bbda38
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/mse.rst
@@ -0,0 +1,4 @@
+mse
+===
+
+.. autofunction:: systemds.operator.algorithm.mse
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/msmape.rst b/src/main/python/docs/source/api/operator/algorithms/msmape.rst
new file mode 100644
index 0000000000..b71f226d93
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/msmape.rst
@@ -0,0 +1,4 @@
+msmape
+======
+
+.. autofunction:: systemds.operator.algorithm.msmape
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/msvm.rst b/src/main/python/docs/source/api/operator/algorithms/msvm.rst
new file mode 100644
index 0000000000..744f0b3dd7
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/msvm.rst
@@ -0,0 +1,4 @@
+msvm
+====
+
+.. autofunction:: systemds.operator.algorithm.msvm
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/msvmPredict.rst b/src/main/python/docs/source/api/operator/algorithms/msvmPredict.rst
new file mode 100644
index 0000000000..7900af7168
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/msvmPredict.rst
@@ -0,0 +1,4 @@
+msvmPredict
+===========
+
+.. autofunction:: systemds.operator.algorithm.msvmPredict
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/multiLogReg.rst b/src/main/python/docs/source/api/operator/algorithms/multiLogReg.rst
new file mode 100644
index 0000000000..603271a702
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/multiLogReg.rst
@@ -0,0 +1,4 @@
+multiLogReg
+===========
+
+.. autofunction:: systemds.operator.algorithm.multiLogReg
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/multiLogRegPredict.rst b/src/main/python/docs/source/api/operator/algorithms/multiLogRegPredict.rst
new file mode 100644
index 0000000000..edaf7f8305
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/multiLogRegPredict.rst
@@ -0,0 +1,4 @@
+multiLogRegPredict
+==================
+
+.. autofunction:: systemds.operator.algorithm.multiLogRegPredict
\ No newline at end of file
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
new file mode 100644
index 0000000000..bc1c11bbc1
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/na_locf.rst
@@ -0,0 +1,4 @@
+na_locf
+=======
+
+.. autofunction:: systemds.operator.algorithm.na_locf
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/naiveBayes.rst b/src/main/python/docs/source/api/operator/algorithms/naiveBayes.rst
new file mode 100644
index 0000000000..0dcd81e0e2
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/naiveBayes.rst
@@ -0,0 +1,4 @@
+naiveBayes
+==========
+
+.. autofunction:: systemds.operator.algorithm.naiveBayes
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/naiveBayesPredict.rst b/src/main/python/docs/source/api/operator/algorithms/naiveBayesPredict.rst
new file mode 100644
index 0000000000..96882aea3d
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/naiveBayesPredict.rst
@@ -0,0 +1,4 @@
+naiveBayesPredict
+=================
+
+.. autofunction:: systemds.operator.algorithm.naiveBayesPredict
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/normalize.rst b/src/main/python/docs/source/api/operator/algorithms/normalize.rst
new file mode 100644
index 0000000000..10ebc62538
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/normalize.rst
@@ -0,0 +1,4 @@
+normalize
+=========
+
+.. autofunction:: systemds.operator.algorithm.normalize
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/normalizeApply.rst b/src/main/python/docs/source/api/operator/algorithms/normalizeApply.rst
new file mode 100644
index 0000000000..cc42b36e95
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/normalizeApply.rst
@@ -0,0 +1,4 @@
+normalizeApply
+==============
+
+.. autofunction:: systemds.operator.algorithm.normalizeApply
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/nrmse.rst b/src/main/python/docs/source/api/operator/algorithms/nrmse.rst
new file mode 100644
index 0000000000..ad189fa080
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/nrmse.rst
@@ -0,0 +1,4 @@
+nrmse
+=====
+
+.. autofunction:: systemds.operator.algorithm.nrmse
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/outlier.rst b/src/main/python/docs/source/api/operator/algorithms/outlier.rst
new file mode 100644
index 0000000000..e79c68e3a3
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/outlier.rst
@@ -0,0 +1,4 @@
+outlier
+=======
+
+.. autofunction:: systemds.operator.algorithm.outlier
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/outlierByArima.rst b/src/main/python/docs/source/api/operator/algorithms/outlierByArima.rst
new file mode 100644
index 0000000000..7ea56086d3
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/outlierByArima.rst
@@ -0,0 +1,4 @@
+outlierByArima
+==============
+
+.. autofunction:: systemds.operator.algorithm.outlierByArima
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/outlierByIQR.rst b/src/main/python/docs/source/api/operator/algorithms/outlierByIQR.rst
new file mode 100644
index 0000000000..fe62f01994
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/outlierByIQR.rst
@@ -0,0 +1,4 @@
+outlierByIQR
+============
+
+.. autofunction:: systemds.operator.algorithm.outlierByIQR
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/outlierByIQRApply.rst b/src/main/python/docs/source/api/operator/algorithms/outlierByIQRApply.rst
new file mode 100644
index 0000000000..2681463d05
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/outlierByIQRApply.rst
@@ -0,0 +1,4 @@
+outlierByIQRApply
+=================
+
+.. autofunction:: systemds.operator.algorithm.outlierByIQRApply
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/outlierBySd.rst b/src/main/python/docs/source/api/operator/algorithms/outlierBySd.rst
new file mode 100644
index 0000000000..bf7a66cf0d
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/outlierBySd.rst
@@ -0,0 +1,4 @@
+outlierBySd
+===========
+
+.. autofunction:: systemds.operator.algorithm.outlierBySd
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/outlierBySdApply.rst b/src/main/python/docs/source/api/operator/algorithms/outlierBySdApply.rst
new file mode 100644
index 0000000000..ed34b6b6d2
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/outlierBySdApply.rst
@@ -0,0 +1,4 @@
+outlierBySdApply
+================
+
+.. autofunction:: systemds.operator.algorithm.outlierBySdApply
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/pageRank.rst b/src/main/python/docs/source/api/operator/algorithms/pageRank.rst
new file mode 100644
index 0000000000..f1bedc8419
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/pageRank.rst
@@ -0,0 +1,4 @@
+pageRank
+========
+
+.. autofunction:: systemds.operator.algorithm.pageRank
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/pca.rst b/src/main/python/docs/source/api/operator/algorithms/pca.rst
new file mode 100644
index 0000000000..1eda6ee503
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/pca.rst
@@ -0,0 +1,4 @@
+pca
+===
+
+.. autofunction:: systemds.operator.algorithm.pca
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/pcaInverse.rst b/src/main/python/docs/source/api/operator/algorithms/pcaInverse.rst
new file mode 100644
index 0000000000..6cc0cf1bff
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/pcaInverse.rst
@@ -0,0 +1,4 @@
+pcaInverse
+==========
+
+.. autofunction:: systemds.operator.algorithm.pcaInverse
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/pcaTransform.rst b/src/main/python/docs/source/api/operator/algorithms/pcaTransform.rst
new file mode 100644
index 0000000000..f78df2e465
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/pcaTransform.rst
@@ -0,0 +1,4 @@
+pcaTransform
+============
+
+.. autofunction:: systemds.operator.algorithm.pcaTransform
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/pnmf.rst b/src/main/python/docs/source/api/operator/algorithms/pnmf.rst
new file mode 100644
index 0000000000..1dd0dcb367
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/pnmf.rst
@@ -0,0 +1,4 @@
+pnmf
+====
+
+.. autofunction:: systemds.operator.algorithm.pnmf
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/ppca.rst b/src/main/python/docs/source/api/operator/algorithms/ppca.rst
new file mode 100644
index 0000000000..38e6f4468b
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/ppca.rst
@@ -0,0 +1,4 @@
+ppca
+====
+
+.. autofunction:: systemds.operator.algorithm.ppca
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/psnr.rst b/src/main/python/docs/source/api/operator/algorithms/psnr.rst
new file mode 100644
index 0000000000..c16bb02613
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/psnr.rst
@@ -0,0 +1,4 @@
+psnr
+====
+
+.. autofunction:: systemds.operator.algorithm.psnr
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/quantizeByCluster.rst b/src/main/python/docs/source/api/operator/algorithms/quantizeByCluster.rst
new file mode 100644
index 0000000000..1d4edf6d0d
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/quantizeByCluster.rst
@@ -0,0 +1,4 @@
+quantizeByCluster
+=================
+
+.. autofunction:: systemds.operator.algorithm.quantizeByCluster
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/raGroupby.rst b/src/main/python/docs/source/api/operator/algorithms/raGroupby.rst
new file mode 100644
index 0000000000..bdf7bc9294
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/raGroupby.rst
@@ -0,0 +1,4 @@
+raGroupby
+=========
+
+.. autofunction:: systemds.operator.algorithm.raGroupby
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/raJoin.rst b/src/main/python/docs/source/api/operator/algorithms/raJoin.rst
new file mode 100644
index 0000000000..f26d443fdb
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/raJoin.rst
@@ -0,0 +1,4 @@
+raJoin
+======
+
+.. autofunction:: systemds.operator.algorithm.raJoin
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/raSelection.rst b/src/main/python/docs/source/api/operator/algorithms/raSelection.rst
new file mode 100644
index 0000000000..7ce2f3805e
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/raSelection.rst
@@ -0,0 +1,4 @@
+raSelection
+===========
+
+.. autofunction:: systemds.operator.algorithm.raSelection
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/randomForest.rst b/src/main/python/docs/source/api/operator/algorithms/randomForest.rst
new file mode 100644
index 0000000000..e38646fabc
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/randomForest.rst
@@ -0,0 +1,4 @@
+randomForest
+============
+
+.. autofunction:: systemds.operator.algorithm.randomForest
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/randomForestPredict.rst b/src/main/python/docs/source/api/operator/algorithms/randomForestPredict.rst
new file mode 100644
index 0000000000..e49e104980
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/randomForestPredict.rst
@@ -0,0 +1,4 @@
+randomForestPredict
+===================
+
+.. autofunction:: systemds.operator.algorithm.randomForestPredict
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/rmse.rst b/src/main/python/docs/source/api/operator/algorithms/rmse.rst
new file mode 100644
index 0000000000..9a4772dcbd
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/rmse.rst
@@ -0,0 +1,4 @@
+rmse
+====
+
+.. autofunction:: systemds.operator.algorithm.rmse
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/scale.rst b/src/main/python/docs/source/api/operator/algorithms/scale.rst
new file mode 100644
index 0000000000..48a3d09415
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/scale.rst
@@ -0,0 +1,4 @@
+scale
+=====
+
+.. autofunction:: systemds.operator.algorithm.scale
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/scaleApply.rst b/src/main/python/docs/source/api/operator/algorithms/scaleApply.rst
new file mode 100644
index 0000000000..4150e19e62
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/scaleApply.rst
@@ -0,0 +1,4 @@
+scaleApply
+==========
+
+.. autofunction:: systemds.operator.algorithm.scaleApply
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/scaleMinMax.rst b/src/main/python/docs/source/api/operator/algorithms/scaleMinMax.rst
new file mode 100644
index 0000000000..a8a18237ca
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/scaleMinMax.rst
@@ -0,0 +1,4 @@
+scaleMinMax
+===========
+
+.. autofunction:: systemds.operator.algorithm.scaleMinMax
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/selectByVarThresh.rst b/src/main/python/docs/source/api/operator/algorithms/selectByVarThresh.rst
new file mode 100644
index 0000000000..f84ccd0678
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/selectByVarThresh.rst
@@ -0,0 +1,4 @@
+selectByVarThresh
+=================
+
+.. autofunction:: systemds.operator.algorithm.selectByVarThresh
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/ses.rst b/src/main/python/docs/source/api/operator/algorithms/ses.rst
new file mode 100644
index 0000000000..6e797bbfe7
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/ses.rst
@@ -0,0 +1,4 @@
+ses
+===
+
+.. autofunction:: systemds.operator.algorithm.ses
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/setdiff.rst b/src/main/python/docs/source/api/operator/algorithms/setdiff.rst
new file mode 100644
index 0000000000..abb64d899a
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/setdiff.rst
@@ -0,0 +1,4 @@
+setdiff
+=======
+
+.. autofunction:: systemds.operator.algorithm.setdiff
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/shapExplainer.rst b/src/main/python/docs/source/api/operator/algorithms/shapExplainer.rst
new file mode 100644
index 0000000000..b376f4a5f8
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/shapExplainer.rst
@@ -0,0 +1,4 @@
+shapExplainer
+=============
+
+.. autofunction:: systemds.operator.algorithm.shapExplainer
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/sherlock.rst b/src/main/python/docs/source/api/operator/algorithms/sherlock.rst
new file mode 100644
index 0000000000..bec99c1dcc
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/sherlock.rst
@@ -0,0 +1,4 @@
+sherlock
+========
+
+.. autofunction:: systemds.operator.algorithm.sherlock
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/sherlockPredict.rst b/src/main/python/docs/source/api/operator/algorithms/sherlockPredict.rst
new file mode 100644
index 0000000000..bb3c82835d
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/sherlockPredict.rst
@@ -0,0 +1,4 @@
+sherlockPredict
+===============
+
+.. autofunction:: systemds.operator.algorithm.sherlockPredict
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/shortestPath.rst b/src/main/python/docs/source/api/operator/algorithms/shortestPath.rst
new file mode 100644
index 0000000000..8bba99bf79
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/shortestPath.rst
@@ -0,0 +1,4 @@
+shortestPath
+============
+
+.. autofunction:: systemds.operator.algorithm.shortestPath
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/sigmoid.rst b/src/main/python/docs/source/api/operator/algorithms/sigmoid.rst
new file mode 100644
index 0000000000..b2e613532f
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/sigmoid.rst
@@ -0,0 +1,4 @@
+sigmoid
+=======
+
+.. autofunction:: systemds.operator.algorithm.sigmoid
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/skewness.rst b/src/main/python/docs/source/api/operator/algorithms/skewness.rst
new file mode 100644
index 0000000000..7d4d80df49
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/skewness.rst
@@ -0,0 +1,4 @@
+skewness
+========
+
+.. autofunction:: systemds.operator.algorithm.skewness
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/sliceLine.rst b/src/main/python/docs/source/api/operator/algorithms/sliceLine.rst
new file mode 100644
index 0000000000..df6362d9f7
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/sliceLine.rst
@@ -0,0 +1,4 @@
+sliceLine
+=========
+
+.. autofunction:: systemds.operator.algorithm.sliceLine
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/sliceLineDebug.rst b/src/main/python/docs/source/api/operator/algorithms/sliceLineDebug.rst
new file mode 100644
index 0000000000..0f5a3f19cf
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/sliceLineDebug.rst
@@ -0,0 +1,4 @@
+sliceLineDebug
+==============
+
+.. autofunction:: systemds.operator.algorithm.sliceLineDebug
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/sliceLineExtract.rst b/src/main/python/docs/source/api/operator/algorithms/sliceLineExtract.rst
new file mode 100644
index 0000000000..94b0bbc011
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/sliceLineExtract.rst
@@ -0,0 +1,4 @@
+sliceLineExtract
+================
+
+.. autofunction:: systemds.operator.algorithm.sliceLineExtract
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/slicefinder.rst b/src/main/python/docs/source/api/operator/algorithms/slicefinder.rst
new file mode 100644
index 0000000000..85c7fced01
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/slicefinder.rst
@@ -0,0 +1,4 @@
+slicefinder
+===========
+
+.. autofunction:: systemds.operator.algorithm.slicefinder
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/smape.rst b/src/main/python/docs/source/api/operator/algorithms/smape.rst
new file mode 100644
index 0000000000..6aadbd9420
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/smape.rst
@@ -0,0 +1,4 @@
+smape
+=====
+
+.. autofunction:: systemds.operator.algorithm.smape
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/smote.rst b/src/main/python/docs/source/api/operator/algorithms/smote.rst
new file mode 100644
index 0000000000..729d9529d3
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/smote.rst
@@ -0,0 +1,4 @@
+smote
+=====
+
+.. autofunction:: systemds.operator.algorithm.smote
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/softmax.rst b/src/main/python/docs/source/api/operator/algorithms/softmax.rst
new file mode 100644
index 0000000000..3d142077f9
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/softmax.rst
@@ -0,0 +1,4 @@
+softmax
+=======
+
+.. autofunction:: systemds.operator.algorithm.softmax
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/split.rst b/src/main/python/docs/source/api/operator/algorithms/split.rst
new file mode 100644
index 0000000000..0c46d92819
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/split.rst
@@ -0,0 +1,4 @@
+split
+=====
+
+.. autofunction:: systemds.operator.algorithm.split
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/splitBalanced.rst b/src/main/python/docs/source/api/operator/algorithms/splitBalanced.rst
new file mode 100644
index 0000000000..f9c6640a02
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/splitBalanced.rst
@@ -0,0 +1,4 @@
+splitBalanced
+=============
+
+.. autofunction:: systemds.operator.algorithm.splitBalanced
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/sqrtMatrix.rst b/src/main/python/docs/source/api/operator/algorithms/sqrtMatrix.rst
new file mode 100644
index 0000000000..f59bbb3b4a
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/sqrtMatrix.rst
@@ -0,0 +1,4 @@
+sqrtMatrix
+==========
+
+.. autofunction:: systemds.operator.algorithm.sqrtMatrix
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/stableMarriage.rst b/src/main/python/docs/source/api/operator/algorithms/stableMarriage.rst
new file mode 100644
index 0000000000..ddddbae2b2
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/stableMarriage.rst
@@ -0,0 +1,4 @@
+stableMarriage
+==============
+
+.. autofunction:: systemds.operator.algorithm.stableMarriage
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/statsNA.rst b/src/main/python/docs/source/api/operator/algorithms/statsNA.rst
new file mode 100644
index 0000000000..2272428487
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/statsNA.rst
@@ -0,0 +1,4 @@
+statsNA
+=======
+
+.. autofunction:: systemds.operator.algorithm.statsNA
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/steplm.rst b/src/main/python/docs/source/api/operator/algorithms/steplm.rst
new file mode 100644
index 0000000000..35cb47cff1
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/steplm.rst
@@ -0,0 +1,4 @@
+steplm
+======
+
+.. autofunction:: systemds.operator.algorithm.steplm
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/stratstats.rst b/src/main/python/docs/source/api/operator/algorithms/stratstats.rst
new file mode 100644
index 0000000000..65ec9dd1b4
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/stratstats.rst
@@ -0,0 +1,4 @@
+stratstats
+==========
+
+.. autofunction:: systemds.operator.algorithm.stratstats
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/symmetricDifference.rst b/src/main/python/docs/source/api/operator/algorithms/symmetricDifference.rst
new file mode 100644
index 0000000000..494e632383
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/symmetricDifference.rst
@@ -0,0 +1,4 @@
+symmetricDifference
+===================
+
+.. autofunction:: systemds.operator.algorithm.symmetricDifference
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/tSNE.rst b/src/main/python/docs/source/api/operator/algorithms/tSNE.rst
new file mode 100644
index 0000000000..1021a05219
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/tSNE.rst
@@ -0,0 +1,4 @@
+tSNE
+====
+
+.. autofunction:: systemds.operator.algorithm.tSNE
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/toOneHot.rst b/src/main/python/docs/source/api/operator/algorithms/toOneHot.rst
new file mode 100644
index 0000000000..8c220b3d86
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/toOneHot.rst
@@ -0,0 +1,4 @@
+toOneHot
+========
+
+.. autofunction:: systemds.operator.algorithm.toOneHot
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/tomeklink.rst b/src/main/python/docs/source/api/operator/algorithms/tomeklink.rst
new file mode 100644
index 0000000000..4fd0bd17f7
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/tomeklink.rst
@@ -0,0 +1,4 @@
+tomeklink
+=========
+
+.. autofunction:: systemds.operator.algorithm.tomeklink
\ No newline at end of file
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
new file mode 100644
index 0000000000..b57c24f3a4
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/topk_cleaning.rst
@@ -0,0 +1,4 @@
+topk_cleaning
+=============
+
+.. autofunction:: systemds.operator.algorithm.topk_cleaning
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/underSampling.rst b/src/main/python/docs/source/api/operator/algorithms/underSampling.rst
new file mode 100644
index 0000000000..0b7b146b0a
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/underSampling.rst
@@ -0,0 +1,4 @@
+underSampling
+=============
+
+.. autofunction:: systemds.operator.algorithm.underSampling
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/union.rst b/src/main/python/docs/source/api/operator/algorithms/union.rst
new file mode 100644
index 0000000000..24da31088f
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/union.rst
@@ -0,0 +1,4 @@
+union
+=====
+
+.. autofunction:: systemds.operator.algorithm.union
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/univar.rst b/src/main/python/docs/source/api/operator/algorithms/univar.rst
new file mode 100644
index 0000000000..c4df0e4e75
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/univar.rst
@@ -0,0 +1,4 @@
+univar
+======
+
+.. autofunction:: systemds.operator.algorithm.univar
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/vectorToCsv.rst b/src/main/python/docs/source/api/operator/algorithms/vectorToCsv.rst
new file mode 100644
index 0000000000..c1c9e2cbc0
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/vectorToCsv.rst
@@ -0,0 +1,4 @@
+vectorToCsv
+===========
+
+.. autofunction:: systemds.operator.algorithm.vectorToCsv
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/wer.rst b/src/main/python/docs/source/api/operator/algorithms/wer.rst
new file mode 100644
index 0000000000..9ea55cbd1f
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/wer.rst
@@ -0,0 +1,4 @@
+wer
+===
+
+.. autofunction:: systemds.operator.algorithm.wer
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/winsorize.rst b/src/main/python/docs/source/api/operator/algorithms/winsorize.rst
new file mode 100644
index 0000000000..43c20fbc65
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/winsorize.rst
@@ -0,0 +1,4 @@
+winsorize
+=========
+
+.. autofunction:: systemds.operator.algorithm.winsorize
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/winsorizeApply.rst b/src/main/python/docs/source/api/operator/algorithms/winsorizeApply.rst
new file mode 100644
index 0000000000..f4b3c9e983
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/winsorizeApply.rst
@@ -0,0 +1,4 @@
+winsorizeApply
+==============
+
+.. autofunction:: systemds.operator.algorithm.winsorizeApply
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/xdummy1.rst b/src/main/python/docs/source/api/operator/algorithms/xdummy1.rst
new file mode 100644
index 0000000000..20e4eed2b3
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/xdummy1.rst
@@ -0,0 +1,4 @@
+xdummy1
+=======
+
+.. autofunction:: systemds.operator.algorithm.xdummy1
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/xdummy2.rst b/src/main/python/docs/source/api/operator/algorithms/xdummy2.rst
new file mode 100644
index 0000000000..9254147e69
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/xdummy2.rst
@@ -0,0 +1,4 @@
+xdummy2
+=======
+
+.. autofunction:: systemds.operator.algorithm.xdummy2
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/xgboost.rst b/src/main/python/docs/source/api/operator/algorithms/xgboost.rst
new file mode 100644
index 0000000000..506771aa6d
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/xgboost.rst
@@ -0,0 +1,4 @@
+xgboost
+=======
+
+.. autofunction:: systemds.operator.algorithm.xgboost
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/xgboostPredictClassification.rst b/src/main/python/docs/source/api/operator/algorithms/xgboostPredictClassification.rst
new file mode 100644
index 0000000000..b65b35c8eb
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/xgboostPredictClassification.rst
@@ -0,0 +1,4 @@
+xgboostPredictClassification
+============================
+
+.. autofunction:: systemds.operator.algorithm.xgboostPredictClassification
\ No newline at end of file
diff --git a/src/main/python/docs/source/api/operator/algorithms/xgboostPredictRegression.rst b/src/main/python/docs/source/api/operator/algorithms/xgboostPredictRegression.rst
new file mode 100644
index 0000000000..1e33101190
--- /dev/null
+++ b/src/main/python/docs/source/api/operator/algorithms/xgboostPredictRegression.rst
@@ -0,0 +1,4 @@
+xgboostPredictRegression
+========================
+
+.. autofunction:: systemds.operator.algorithm.xgboostPredictRegression
\ No newline at end of file
diff --git a/src/main/python/generator/dml_parser.py b/src/main/python/generator/dml_parser.py
index 8e835e96a1..e9079b95d6 100644
--- a/src/main/python/generator/dml_parser.py
+++ b/src/main/python/generator/dml_parser.py
@@ -23,7 +23,7 @@
import json
import os
import re
-
+import textwrap
class FunctionParser(object):
header_input_pattern = r"^[ \t\n]*[#]+[ \t\n]*input[ \t\n\w:;.,#]*[\s#\-]*[#]+[\w\s\d:,.()\" \t\n\-]*[\s#\-]*$"
@@ -196,10 +196,30 @@ class FunctionParser(object):
input_parameters = self.parse_input_output_string(h_input)
output_parameters = self.parse_input_output_string(h_output)
+ with open(path, 'r') as f:
+ content = f.read()
+ pat = re.compile(
+ r"""
+ ^\#\s*\.\.\s*code-block::\s*python # .. code-block:: python
+ (.*?) # ← capture the actual example
+ (?= # stop just before
+ ^\#\s*(?:INPUT:| # → “# INPUT:” OR
+ \.\.\s*code-block::\s*python) # → another “# .. code-block:: python”
+ )
+ """,
+ re.MULTILINE | re.DOTALL | re.VERBOSE,
+ )
+ code_blocks = []
+ for match in pat.finditer(content):
+ raw_block = match.group(1)
+ code_lines = [line.lstrip("#") for line in raw_block.splitlines()] # Remove leading #
+ code_block = textwrap.dedent("\n".join([code_line for code_line in code_lines if code_line != ""]))
+ code_blocks.append(code_block)
data = {'description': description,
'parameters': input_parameters,
- 'return_values': output_parameters}
+ 'return_values': output_parameters,
+ 'code_blocks': code_blocks}
return data
def parse_input_output_string(self, data: str):
diff --git a/src/main/python/generator/generator.py b/src/main/python/generator/generator.py
index b124feff19..e321d8336c 100644
--- a/src/main/python/generator/generator.py
+++ b/src/main/python/generator/generator.py
@@ -35,6 +35,10 @@ class PythonAPIFileGenerator(object):
target_path = os.path.join(os.path.dirname(os.path.dirname(
__file__)), 'systemds', 'operator', 'algorithm', 'builtin')
+ test_path = os.path.join(os.path.dirname(os.path.dirname(
+ __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')
template_path = os.path.join('resources', 'template_python_script_imports')
@@ -55,6 +59,8 @@ class PythonAPIFileGenerator(object):
self.extension = '.{extension}'.format(extension=extension)
os.makedirs(self.__class__.target_path, exist_ok=True)
+ os.makedirs(self.__class__.test_path, exist_ok=True)
+ os.makedirs(self.__class__.rst_path, exist_ok=True)
self.function_names = list()
for name in manually_added_algorithm_builtins:
# only add files which actually exist, to avoid breaking
@@ -89,13 +95,59 @@ class PythonAPIFileGenerator(object):
with open(target_file, "w") as new_script:
new_script.write(self.licence)
new_script.write(self.generated_by)
- new_script.write((self.generated_from + dml_file.replace("\\", "/") + "\n").replace(
- "../", "").replace("src/main/python/generator/", ""))
+ relative_path = os.path.relpath(dml_file, start=self.source_path)
+ new_script.write(f"{self.generated_from}scripts/builtin/{relative_path}\n")
new_script.write(self.imports)
new_script.write(file_content)
self.function_names.append(filename)
+ def generate_test_file(self, function_name: str, code_block: str = None):
+ """
+ Generates a test file for the given function
+ """
+ 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.generated_by)
+ test_script.write("import unittest, contextlib, io\n")
+
+ test_script.write(f"class Test{function_name.upper()}(unittest.TestCase):\n")
+ test_script.write(f" def test_{function_name}(self):\n")
+ if code_block:
+ test_script.write(" # Example test case provided in python the code block\n")
+ test_script.write(" buf = io.StringIO()\n")
+ test_script.write(" with contextlib.redirect_stdout(buf):\n")
+
+ expected =""
+ for raw_line in code_block.splitlines(keepends=True): # keepends=True → ‘\n’ is preserved
+ stripped = raw_line.lstrip()
+ if stripped.startswith((">>>", "...")):
+ code_line = stripped[4:]
+ if code_line.strip():
+ test_script.write(f" {code_line}")
+ else:
+ test_script.write("\n")
+ 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("\nif __name__ == '__main__':\n")
+ test_script.write(" unittest.main()\n")
+
+ def generate_rst_file(self, function_name: str):
+ """
+ Generates an rst file for the given function
+ """
+ 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(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)
@@ -390,6 +442,8 @@ if __name__ == "__main__":
try:
header_data = f_parser.parse_header(dml_file)
data = f_parser.parse_function(dml_file)
+ if not data:
+ continue
f_parser.check_parameters(header_data, data)
doc_generator.generate_documentation(header_data, data)
@@ -404,5 +458,22 @@ if __name__ == "__main__":
continue
file_generator.generate_file(
data["function_name"], script_content, dml_file)
+
+ # Generate test cases using the code blocks
+ test_examples = header_data.get("code_blocks", None)
+ if test_examples:
+ for i, test_example in enumerate(test_examples):
+ test_example_name = data["function_name"]
+ # Don't add test number if only one example
+ if len(test_examples) > 1:
+ test_example_name += f"_{i}"
+ file_generator.generate_test_file(test_example_name, test_example)
+ # TODO: dml test case files should also be created
+ else:
+ print(f"[INFO] Skipping python test case creation for '{data['function_name']}': No code example.")
+
+ # Generate rst file
+ file_generator.generate_rst_file(data["function_name"])
+
file_generator.function_names.sort()
file_generator.generate_init_file()
diff --git a/src/main/python/systemds/operator/algorithm/builtin/dist.py b/src/main/python/systemds/operator/algorithm/builtin/dist.py
index 5f33d96bc2..c04f6fb1f4 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/dist.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/dist.py
@@ -32,6 +32,21 @@ def dist(X: Matrix):
"""
Returns Euclidean distance matrix (distances between N n-dimensional points)
+ .. code-block:: python
+
+ >>> import numpy as np
+ >>> from systemds.context import SystemDSContext
+ >>> from systemds.operator.algorithm import dist
+ >>>
+ >>> with SystemDSContext() as sds:
+ ... X = sds.from_numpy(np.array([[0], [3], [4]]))
+ ... out = dist(X).compute()
+ ... print(out)
+ [[0. 3. 4.]
+ [3. 0. 1.]
+ [4. 1. 0.]]
+
+
:param X: Matrix to calculate the distance inside
diff --git a/src/main/python/systemds/operator/algorithm/builtin/img_brightness.py b/src/main/python/systemds/operator/algorithm/builtin/img_brightness.py
index 63a472716a..a7e93f13a1 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/img_brightness.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/img_brightness.py
@@ -34,9 +34,26 @@ def img_brightness(img_in: Matrix,
"""
The img_brightness-function is an image data augmentation function. It changes the brightness of the image.
+ .. code-block:: python
+ >>> import numpy as np
+ >>> from systemds.context import SystemDSContext
+ >>> from systemds.operator.algorithm import img_brightness
+ >>>
+ >>> with SystemDSContext() as sds:
+ ... img = sds.from_numpy(
+ ... np.array([[ 50, 100,
+ ... 150, 200 ]], dtype=np.float32)
+ ... )
+ ... result_img = img_brightness(img, 30.0, 150).compute()
+ ... print(result_img.reshape(2, 2))
+ [[ 80. 130.]
+ [150. 150.]]
- :param img_in: Input matrix/image
+
+
+
+ :param img_in: Input image as 2D matrix with top left corner at [1, 1]
:param value: The amount of brightness to be changed for the image
:param channel_max: Maximum value of the brightness of the image
:return: Output matrix/image
diff --git a/src/main/python/systemds/operator/algorithm/builtin/img_brightness_linearized.py b/src/main/python/systemds/operator/algorithm/builtin/img_brightness_linearized.py
index a5b62012f5..c5c107526e 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/img_brightness_linearized.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/img_brightness_linearized.py
@@ -34,9 +34,26 @@ def img_brightness_linearized(img_in: Matrix,
"""
The img_brightness_linearized-function is an image data augmentation function. It changes the brightness of one or multiple images.
+ .. code-block:: python
+ >>> import numpy as np
+ >>> from systemds.context import SystemDSContext
+ >>> from systemds.operator.algorithm import img_brightness_linearized
+ >>>
+ >>> with SystemDSContext() as sds:
+ ... img = sds.from_numpy(
+ ... np.array([[ 50, 100,
+ ... 150, 200 ]], dtype=np.float32)
+ ... )
+ ... result_img = img_brightness_linearized(img, 30.0, 255).compute()
+ ... print(result_img.reshape(2, 2))
+ [[ 80. 130.]
+ [180. 230.]]
- :param img_in: Input matrix/image (can represent multiple images every row of the matrix represents a linearized image)
+
+
+
+ :param img_in: Input images as linearized 2D matrix with top left corner at [1, 1] (every row represents a linearized matrix/image)
:param value: The amount of brightness to be changed for the image
:param channel_max: Maximum value of the brightness of the image
:return: Output matrix/images (every row of the matrix represents a linearized image)
diff --git a/src/main/python/systemds/operator/algorithm/builtin/img_crop.py b/src/main/python/systemds/operator/algorithm/builtin/img_crop.py
index f0432c7578..f5eed9a2ea 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/img_crop.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/img_crop.py
@@ -36,9 +36,26 @@ def img_crop(img_in: Matrix,
"""
The img_crop-function is an image data augmentation function. It cuts out a subregion of an image.
+ .. code-block:: python
+ >>> import numpy as np
+ >>> from systemds.context import SystemDSContext
+ >>> from systemds.operator.algorithm import img_crop
+ >>>
+ >>> with SystemDSContext() as sds:
+ ... img = sds.from_numpy(
+ ... np.array([[ 50., 100., 150.],
+ ... [150., 200., 250.],
+ ... [250., 200., 200.]], dtype=np.float32)
+ ... )
+ ... result_img = img_crop(img, 1, 1, 1, 1).compute()
+ ... print(result_img)
+ [[200.]]
- :param img_in: Input matrix/image
+
+
+
+ :param img_in: Input image as 2D matrix with top left corner at [1, 1]
:param w: The width of the subregion required
:param h: The height of the subregion required
:param x_offset: The horizontal coordinate in the image to begin the crop operation
diff --git a/src/main/python/systemds/operator/algorithm/builtin/img_crop_linearized.py b/src/main/python/systemds/operator/algorithm/builtin/img_crop_linearized.py
index 4321a8af0d..46fcf802f4 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/img_crop_linearized.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/img_crop_linearized.py
@@ -38,9 +38,26 @@ def img_crop_linearized(img_in: Matrix,
"""
The img_crop_linearized cuts out a rectangular section of multiple linearized images.
+ .. code-block:: python
+ >>> import numpy as np
+ >>> from systemds.context import SystemDSContext
+ >>> from systemds.operator.algorithm import img_crop_linearized
+ >>>
+ >>> with SystemDSContext() as sds:
+ ... img = sds.from_numpy(
+ ... np.array([[ 50., 100., 150.,
+ ... 150., 200., 250.,
+ ... 250., 200., 200. ]], dtype=np.float32)
+ ... )
+ ... result_img = img_crop_linearized(img, 1, 1, 1, 1, 3, 3).compute()
+ ... print(result_img)
+ [[200.]]
- :param img_in: Linearized input images as 2D matrix
+
+
+
+ :param img_in: Input images as linearized 2D matrix with top left corner at [1, 1] (every row represents a linearized matrix/image)
:param w: The width of the subregion required
:param h: The height of the subregion required
:param x_offset: The horizontal offset for the center of the crop region
diff --git a/src/main/python/systemds/operator/algorithm/builtin/img_cutout.py b/src/main/python/systemds/operator/algorithm/builtin/img_cutout.py
index 93befbd736..110e91e9e9 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/img_cutout.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/img_cutout.py
@@ -38,6 +38,26 @@ def img_cutout(img_in: Matrix,
Image Cutout function replaces a rectangular section of an image with a constant value.
+ .. code-block:: python
+
+ >>> import numpy as np
+ >>> from systemds.context import SystemDSContext
+ >>> from systemds.operator.algorithm import img_cutout
+ >>>
+ >>> with SystemDSContext() as sds:
+ ... img = sds.from_numpy(
+ ... np.array([[ 50., 100., 150.],
+ ... [150., 200., 250.],
+ ... [250., 200., 200.]], dtype=np.float32)
+ ... )
+ ... result_img = img_cutout(img, 2, 2, 1, 1, 49.).compute()
+ ... print(result_img)
+ [[ 50. 100. 150.]
+ [150. 49. 250.]
+ [250. 200. 200.]]
+
+
+
:param img_in: Input image as 2D matrix with top left corner at [1, 1]
:param x: Column index of the top left corner of the rectangle (starting at 1)
diff --git a/src/main/python/systemds/operator/algorithm/builtin/img_cutout_linearized.py b/src/main/python/systemds/operator/algorithm/builtin/img_cutout_linearized.py
index 2dd0c52239..765885c663 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/img_cutout_linearized.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/img_cutout_linearized.py
@@ -39,9 +39,28 @@ def img_cutout_linearized(img_in: Matrix,
"""
Image Cutout function replaces a rectangular section of an image with a constant value.
+ .. code-block:: python
+ >>> import numpy as np
+ >>> from systemds.context import SystemDSContext
+ >>> from systemds.operator.algorithm import img_cutout_linearized
+ >>>
+ >>> with SystemDSContext() as sds:
+ ... img = sds.from_numpy(
+ ... np.array([[ 50., 100., 150.,
+ ... 150., 200., 250.,
+ ... 250., 200., 200. ]], dtype=np.float32)
+ ... )
+ ... result_img = img_cutout_linearized(img, 2, 2, 1, 1, 25.0, 3, 3).compute()
+ ... print(result_img.reshape(3, 3))
+ [[ 50. 100. 150.]
+ [150. 25. 250.]
+ [250. 200. 200.]]
- :param img_in: Input images as linearized 2D matrix with top left corner at [1, 1]
+
+
+
+ :param img_in: Input images as linearized 2D matrix with top left corner at [1, 1] (every row represents a linearized matrix/image)
:param x: Column index of the top left corner of the rectangle (starting at 1)
:param y: Row index of the top left corner of the rectangle (starting at 1)
:param width: Width of the rectangle (must be positive)
diff --git a/src/main/python/systemds/operator/algorithm/builtin/img_invert.py b/src/main/python/systemds/operator/algorithm/builtin/img_invert.py
index a555f23708..32ad67c405 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/img_invert.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/img_invert.py
@@ -33,9 +33,28 @@ def img_invert(img_in: Matrix,
"""
This is an image data augmentation function. It inverts an image.
+ .. code-block:: python
+ >>> import numpy as np
+ >>> from systemds.context import SystemDSContext
+ >>> from systemds.operator.algorithm import img_invert
+ >>>
+ >>> with SystemDSContext() as sds:
+ ... img = sds.from_numpy(
+ ... np.array([[ 10., 20., 30.],
+ ... [ 40., 50., 60.],
+ ... [ 70., 80., 90.]], dtype=np.float32)
+ ... )
+ ... result_img = img_invert(img, 210.).compute()
+ ... print(result_img)
+ [[200. 190. 180.]
+ [170. 160. 150.]
+ [140. 130. 120.]]
- :param img_in: Input image
+
+
+
+ :param img_in: Input image as 2D matrix with top left corner at [1, 1]
:param max_value: The maximum value pixels can have
:return: Output image
"""
diff --git a/src/main/python/systemds/operator/algorithm/builtin/img_invert_linearized.py b/src/main/python/systemds/operator/algorithm/builtin/img_invert_linearized.py
index 2f66a0b8be..59e30a3c77 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/img_invert_linearized.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/img_invert_linearized.py
@@ -33,9 +33,28 @@ def img_invert_linearized(img_in: Matrix,
"""
This is an image data augmentation function. It inverts an image.It can handle one or multiple images
+ .. code-block:: python
+ >>> import numpy as np
+ >>> from systemds.context import SystemDSContext
+ >>> from systemds.operator.algorithm import img_invert_linearized
+ >>>
+ >>> with SystemDSContext() as sds:
+ ... img = sds.from_numpy(
+ ... np.array([[ 10., 20., 30.,
+ ... 40., 50., 60.,
+ ... 70., 80., 90. ]], dtype=np.float32)
+ ... )
+ ... result_img = img_invert_linearized(img, 200.).compute()
+ ... print(result_img.reshape(3, 3))
+ [[190. 180. 170.]
+ [160. 150. 140.]
+ [130. 120. 110.]]
- :param img_in: Input matrix/image (every row of the matrix represents a linearized image)
+
+
+
+ :param img_in: Input images as linearized 2D matrix with top left corner at [1, 1] (every row represents a linearized matrix/image)
:param max_value: The maximum value pixels can have
:return: Output images (every row of the matrix represents a linearized image)
"""
diff --git a/src/main/python/systemds/operator/algorithm/builtin/img_mirror.py b/src/main/python/systemds/operator/algorithm/builtin/img_mirror.py
index 285d25fbf2..94d95438fb 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/img_mirror.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/img_mirror.py
@@ -34,10 +34,29 @@ def img_mirror(img_in: Matrix,
This function is an image data augmentation function.
It flips an image on the X (horizontal) or Y (vertical) axis.
+ .. code-block:: python
+ >>> import numpy as np
+ >>> from systemds.context import SystemDSContext
+ >>> from systemds.operator.algorithm import img_mirror
+ >>>
+ >>> with SystemDSContext() as sds:
+ ... img = sds.from_numpy(
+ ... np.array([[ 10., 20., 30.],
+ ... [ 40., 50., 60.],
+ ... [ 70., 80., 90.]], dtype=np.float32)
+ ... )
+ ... result_img = img_mirror(img, False).compute()
+ ... print(result_img)
+ [[30. 20. 10.]
+ [60. 50. 40.]
+ [90. 80. 70.]]
- :param img_in: Input matrix/image
- :param max_value: The maximum value pixels can have
+
+
+
+ :param img_in: Input image as 2D matrix with top left corner at [1, 1]
+ :param horizontal_axis: Flip either in X or Y axis
:return: Flipped matrix/image
"""
diff --git a/src/main/python/systemds/operator/algorithm/builtin/img_mirror_linearized.py b/src/main/python/systemds/operator/algorithm/builtin/img_mirror_linearized.py
index 1c6ae58ad0..fdde6506c3 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/img_mirror_linearized.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/img_mirror_linearized.py
@@ -37,8 +37,54 @@ def img_mirror_linearized(img_matrix: Matrix,
the same time. Each row of the input and output matrix represents a linearized image/matrix
It flips an image on the X (horizontal) or Y (vertical) axis.
+ .. code-block:: python
- :param img_matrix: Input matrix/image (every row represents a linearized matrix/image)
+ >>> import numpy as np
+ >>> from systemds.context import SystemDSContext
+ >>> from systemds.operator.algorithm import img_mirror_linearized
+ >>>
+ >>> with SystemDSContext() as sds:
+ ... img = sds.from_numpy(
+ ... np.array([[ 10., 20., 30.,
+ ... 40., 50., 60.,
+ ... 70., 80., 90. ]], dtype=np.float32)
+ ... )
+ ... result_img = img_mirror_linearized(img, True, 3, 3).compute()
+ ... print(result_img.reshape(3, 3))
+ [[70. 80. 90.]
+ [40. 50. 60.]
+ [10. 20. 30.]]
+
+
+ .. code-block:: python
+
+ >>> import numpy as np
+ >>> from systemds.context import SystemDSContext
+ >>> from systemds.operator.algorithm import img_mirror_linearized
+ >>>
+ >>> with SystemDSContext() as sds:
+ ... imgs = sds.from_numpy(
+ ... np.array([[ 10., 20., 30.,
+ ... 40., 50., 60.,
+ ... 70., 80., 90. ],
+ ... [ 70., 80., 90.,
+ ... 40., 50., 60.,
+ ... 10., 20., 30. ]], dtype=np.float32)
+ ... )
+ ... result_imgs = img_mirror_linearized(imgs, True, 3, 3).compute()
+ ... print(result_imgs[0].reshape(3, 3))
+ ... print(result_imgs[1].reshape(3, 3))
+ [[70. 80. 90.]
+ [40. 50. 60.]
+ [10. 20. 30.]]
+ [[10. 20. 30.]
+ [40. 50. 60.]
+ [70. 80. 90.]]
+
+
+
+
+ :param img_matrix: Input images as linearized 2D matrix with top left corner at [1, 1] (every row represents a linearized matrix/image)
:param horizontal_axis: flip either in X or Y axis
:param original_rows: number of rows in the original 2-D images
:param original_cols: number of cols in the original 2-D images
diff --git a/src/main/python/systemds/operator/algorithm/builtin/img_posterize.py b/src/main/python/systemds/operator/algorithm/builtin/img_posterize.py
index e314b0e7ca..ae1b367ded 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/img_posterize.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/img_posterize.py
@@ -34,10 +34,29 @@ def img_posterize(img_in: Matrix,
The Image Posterize function limits pixel values to 2^bits different values in the range [0, 255].
Assumes the input image can attain values in the range [0, 255].
+ .. code-block:: python
+ >>> import numpy as np
+ >>> from systemds.context import SystemDSContext
+ >>> from systemds.operator.algorithm import img_posterize
+ >>>
+ >>> with SystemDSContext() as sds:
+ ... img = sds.from_numpy(
+ ... np.array([[ 10., 20., 30.],
+ ... [ 40., 255., 60.],
+ ... [ 70., 80., 90.]], dtype=np.float32)
+ ... )
+ ... result_img = img_posterize(img, 1).compute()
+ ... print(result_img)
+ [[ 0. 0. 0.]
+ [ 0. 128. 0.]
+ [ 0. 0. 0.]]
- :param img_in: Input image
- :param bits: The number of bits keep for the values.
+
+
+
+ :param img_in: Input image as 2D matrix with top left corner at [1, 1]
+ :param bits: The number of bits to keep for the values.
1 means black and white, 8 means every integer between 0 and 255.
:return: Output image
"""
diff --git a/src/main/python/systemds/operator/algorithm/builtin/img_posterize_linearized.py b/src/main/python/systemds/operator/algorithm/builtin/img_posterize_linearized.py
index 286ce0222d..508145943f 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/img_posterize_linearized.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/img_posterize_linearized.py
@@ -34,10 +34,29 @@ def img_posterize_linearized(img_in: Matrix,
The Linearized Image Posterize function limits pixel values to 2^bits different values in the range [0, 255].
Assumes the input image can attain values in the range [0, 255].
+ .. code-block:: python
+ >>> import numpy as np
+ >>> from systemds.context import SystemDSContext
+ >>> from systemds.operator.algorithm import img_posterize_linearized
+ >>>
+ >>> with SystemDSContext() as sds:
+ ... img = sds.from_numpy(
+ ... np.array([[ 10., 20., 30.,
+ ... 40., 255., 60.,
+ ... 70., 80., 90. ]], dtype=np.float32)
+ ... )
+ ... result_img = img_posterize_linearized(img, 1).compute()
+ ... print(result_img.reshape(3, 3))
+ [[ 0. 0. 0.]
+ [ 0. 128. 0.]
+ [ 0. 0. 0.]]
- :param img_in: Row linearized input images as 2D matrix
- :param bits: The number of bits keep for the values.
+
+
+
+ :param img_in: Input images as linearized 2D matrix with top left corner at [1, 1] (every row represents a linearized matrix/image)
+ :param bits: The number of bits to keep for the values.
1 means black and white, 8 means every integer between 0 and 255.
:return: Row linearized output images as 2D matrix
"""
diff --git a/src/main/python/systemds/operator/algorithm/builtin/img_rotate.py b/src/main/python/systemds/operator/algorithm/builtin/img_rotate.py
index b8ab1ec068..55f7f28864 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/img_rotate.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/img_rotate.py
@@ -35,6 +35,25 @@ def img_rotate(img_in: Matrix,
The Image Rotate function rotates the input image counter-clockwise around the center.
Uses nearest neighbor sampling.
+ .. code-block:: python
+
+ >>> import numpy as np
+ >>> from systemds.context import SystemDSContext
+ >>> from systemds.operator.algorithm import img_rotate
+ >>>
+ >>> with SystemDSContext() as sds:
+ ... img = sds.from_numpy(
+ ... np.array([[ 10., 20., 30.],
+ ... [ 40., 50., 60.],
+ ... [ 70., 80., 90.]], dtype=np.float32)
+ ... )
+ ... result_img = img_rotate(img, 3.14159, 255.).compute()
+ ... print(result_img)
+ [[90. 80. 70.]
+ [60. 50. 40.]
+ [30. 20. 10.]]
+
+
:param img_in: Input image as 2D matrix with top left corner at [1, 1]
diff --git a/src/main/python/systemds/operator/algorithm/builtin/img_rotate_linearized.py b/src/main/python/systemds/operator/algorithm/builtin/img_rotate_linearized.py
index 94e7ecbff2..9b1c1725de 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/img_rotate_linearized.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/img_rotate_linearized.py
@@ -37,11 +37,32 @@ def img_rotate_linearized(img_in: Matrix,
The Linearized Image Rotate function rotates the linearized input images counter-clockwise around the center.
Uses nearest neighbor sampling.
+ .. code-block:: python
+ >>> import numpy as np
+ >>> from systemds.context import SystemDSContext
+ >>> from systemds.operator.algorithm import img_rotate_linearized
+ >>>
+ >>> with SystemDSContext() as sds:
+ ... img = sds.from_numpy(
+ ... np.array([[ 10., 20., 30.,
+ ... 40., 50., 60.,
+ ... 70., 80., 90. ]], dtype=np.float32)
+ ... )
+ ... result_img = img_rotate_linearized(img, 3.14159, 255., 3, 3).compute()
+ ... print(result_img.reshape(3, 3))
+ [[90. 80. 70.]
+ [60. 50. 40.]
+ [30. 20. 10.]]
- :param img_in: Linearized input images as 2D matrix with top left corner at [1, 1]
+
+
+
+ :param img_in: Input images as linearized 2D matrix with top left corner at [1, 1] (every row represents a linearized matrix/image)
:param radians: The value by which to rotate in radian.
:param fill_value: The background color revealed by the rotation
+ :param s_cols: Width of a single image
+ :param s_rows: Height of a single image
:return: Output images in linearized form as 2D matrix with top left corner at [1, 1]
"""
diff --git a/src/main/python/systemds/operator/algorithm/builtin/img_sample_pairing.py b/src/main/python/systemds/operator/algorithm/builtin/img_sample_pairing.py
index 892c524baf..c757d626bd 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/img_sample_pairing.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/img_sample_pairing.py
@@ -34,10 +34,34 @@ def img_sample_pairing(img_in1: Matrix,
"""
The image sample pairing function blends two images together.
+ .. code-block:: python
+ >>> import numpy as np
+ >>> from systemds.context import SystemDSContext
+ >>> from systemds.operator.algorithm import img_sample_pairing
+ >>>
+ >>> with SystemDSContext() as sds:
+ ... img_in1 = sds.from_numpy(
+ ... np.array([[ 10., 20., 30.],
+ ... [ 40., 50., 60.],
+ ... [ 70., 80., 90.]], dtype=np.float32)
+ ... )
+ ... img_in2 = sds.from_numpy(
+ ... np.array([[ 30., 40., 50.],
+ ... [ 60., 70., 80.],
+ ... [ 90., 100., 110.]], dtype=np.float32)
+ ... )
+ ... result_img = img_sample_pairing(img_in1, img_in2, 0.5).compute()
+ ... print(result_img)
+ [[ 20. 30. 40.]
+ [ 50. 60. 70.]
+ [ 80. 90. 100.]]
- :param img_in1: First input image
- :param img_in2: Second input image
+
+
+
+ :param img_in1: First input image as 2D matrix with top left corner at [1, 1]
+ :param img_in2: Second input image as 2D matrix with top left corner at [1, 1]
:param weight: The weight given to the second image.
0 means only img_in1, 1 means only img_in2 will be visible
:return: Output image
diff --git a/src/main/python/systemds/operator/algorithm/builtin/img_sample_pairing_linearized.py b/src/main/python/systemds/operator/algorithm/builtin/img_sample_pairing_linearized.py
index a7f08c74f4..4368e2ddc3 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/img_sample_pairing_linearized.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/img_sample_pairing_linearized.py
@@ -34,9 +34,33 @@ def img_sample_pairing_linearized(img_in1: Matrix,
"""
The image sample pairing function blends two images together.
+ .. code-block:: python
+ >>> import numpy as np
+ >>> from systemds.context import SystemDSContext
+ >>> from systemds.operator.algorithm import img_sample_pairing_linearized
+ >>>
+ >>> with SystemDSContext() as sds:
+ ... img_in1 = sds.from_numpy(
+ ... np.array([[ 10., 20., 30.,
+ ... 40., 50., 60.,
+ ... 70., 80., 90. ]], dtype=np.float32)
+ ... )
+ ... img_in2 = sds.from_numpy(
+ ... np.array([[ 30., 40., 50.,
+ ... 60., 70., 80.,
+ ... 90., 100., 110. ]], dtype=np.float32)
+ ... )
+ ... result_img = img_sample_pairing_linearized(img_in1, img_in2, 0.5).compute()
+ ... print(result_img.reshape(3, 3))
+ [[ 20. 30. 40.]
+ [ 50. 60. 70.]
+ [ 80. 90. 100.]]
- :param img_in1: input matrix/image (every row is a linearized image)
+
+
+
+ :param img_in1: Input images as linearized 2D matrix with top left corner at [1, 1] (every row represents a linearized matrix/image)
:param img_in2: Second input image (one image represented as a single row linearized matrix)
:param weight: The weight given to the second image.
0 means only img_in1, 1 means only img_in2 will be visible
diff --git a/src/main/python/systemds/operator/algorithm/builtin/img_shear.py b/src/main/python/systemds/operator/algorithm/builtin/img_shear.py
index 44ad9f6883..b9c6a22cab 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/img_shear.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/img_shear.py
@@ -36,6 +36,25 @@ def img_shear(img_in: Matrix,
This function applies a shearing transformation to an image.
Uses nearest neighbor sampling.
+ .. code-block:: python
+
+ >>> import numpy as np
+ >>> from systemds.context import SystemDSContext
+ >>> from systemds.operator.algorithm import img_shear
+ >>>
+ >>> with SystemDSContext() as sds:
+ ... img = sds.from_numpy(
+ ... np.array([[ 10., 20., 30.],
+ ... [ 40., 50., 60.],
+ ... [ 70., 80., 90.]], dtype=np.float32)
+ ... )
+ ... result_img = img_shear(img, 1., 0., 255).compute()
+ ... print(result_img)
+ [[ 10. 20. 30.]
+ [255. 40. 50.]
+ [255. 255. 70.]]
+
+
:param img_in: Input image as 2D matrix with top left corner at [1, 1]
diff --git a/src/main/python/systemds/operator/algorithm/builtin/img_shear_linearized.py b/src/main/python/systemds/operator/algorithm/builtin/img_shear_linearized.py
index a470c8a08c..96899e6d06 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/img_shear_linearized.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/img_shear_linearized.py
@@ -38,12 +38,33 @@ def img_shear_linearized(img_in: Matrix,
This function applies a shearing transformation to linearized images.
Uses nearest neighbor sampling.
+ .. code-block:: python
+ >>> import numpy as np
+ >>> from systemds.context import SystemDSContext
+ >>> from systemds.operator.algorithm import img_shear_linearized
+ >>>
+ >>> with SystemDSContext() as sds:
+ ... img = sds.from_numpy(
+ ... np.array([[ 10., 20., 30.,
+ ... 40., 50., 60.,
+ ... 70., 80., 90. ]], dtype=np.float32)
+ ... )
+ ... result_img = img_shear_linearized(img, 1., 0., 0., 3, 3).compute()
+ ... print(result_img.reshape(3, 3))
+ [[10. 20. 30.]
+ [ 0. 40. 50.]
+ [ 0. 0. 70.]]
- :param img_in: Linearized input images as 2D matrix with top left corner at [1, 1]
+
+
+
+ :param img_in: Input images as linearized 2D matrix with top left corner at [1, 1] (every row represents a linearized matrix/image)
:param shear_x: Shearing factor for horizontal shearing
:param shear_y: Shearing factor for vertical shearing
:param fill_value: The background color revealed by the shearing
+ :param s_cols: Width of a single image
+ :param s_rows: Height of a single image
:return: Output images in linearized form as 2D matrix with top left corner at [1, 1]
"""
diff --git a/src/main/python/systemds/operator/algorithm/builtin/img_transform.py b/src/main/python/systemds/operator/algorithm/builtin/img_transform.py
index 73095816bd..51a2468e1a 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/img_transform.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/img_transform.py
@@ -43,6 +43,25 @@ def img_transform(img_in: Matrix,
Optionally resizes the image (without scaling).
Uses nearest neighbor sampling.
+ .. code-block:: python
+
+ >>> import numpy as np
+ >>> from systemds.context import SystemDSContext
+ >>> from systemds.operator.algorithm import img_transform
+ >>>
+ >>> with SystemDSContext() as sds:
+ ... img = sds.from_numpy(
+ ... np.array([[ 10., 20., 30.],
+ ... [ 40., 50., 60.],
+ ... [ 70., 80., 90.]], dtype=np.float32)
+ ... )
+ ... result_img = img_transform(img, 3, 3, -1., 0., 2., 0., 1., 0., 255.).compute()
+ ... print(result_img)
+ [[ 20. 10. 255.]
+ [ 50. 40. 255.]
+ [ 80. 70. 255.]]
+
+
:param img_in: Input image as 2D matrix with top left corner at [1, 1]
diff --git a/src/main/python/systemds/operator/algorithm/builtin/img_transform_linearized.py b/src/main/python/systemds/operator/algorithm/builtin/img_transform_linearized.py
index 8020b22a54..fb706fc2f9 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/img_transform_linearized.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/img_transform_linearized.py
@@ -45,13 +45,34 @@ def img_transform_linearized(img_in: Matrix,
Optionally resizes the image (without scaling).
Uses nearest neighbor sampling.
+ .. code-block:: python
+ >>> import numpy as np
+ >>> from systemds.context import SystemDSContext
+ >>> from systemds.operator.algorithm import img_transform_linearized
+ >>>
+ >>> with SystemDSContext() as sds:
+ ... img = sds.from_numpy(
+ ... np.array([[ 10., 20., 30.,
+ ... 40., 50., 60.,
+ ... 70., 80., 90. ]], dtype=np.float32)
+ ... )
+ ... result_img = img_transform_linearized(img, 3, 3, -1., 0., 2., 0., 1., 0., 255., 3, 3).compute()
+ ... print(result_img.reshape(3, 3))
+ [[ 20. 10. 255.]
+ [ 50. 40. 255.]
+ [ 80. 70. 255.]]
- :param img_in: Linearized input images as 2D matrix with top left corner at [1, 1]
+
+
+
+ :param img_in: Input images as linearized 2D matrix with top left corner at [1, 1] (every row represents a linearized matrix/image)
:param out_w: Width of the output matrix
:param out_h: Height of the output matrix
:param a,b,c,d,e,f: The first two rows of the affine matrix in row-major order
:param fill_value: The background of an image
+ :param s_cols: Width of a single image
+ :param s_rows: Height of a single image
:return: Output images in linearized form as 2D matrix with top left corner at [1, 1]
"""
diff --git a/src/main/python/systemds/operator/algorithm/builtin/img_translate.py b/src/main/python/systemds/operator/algorithm/builtin/img_translate.py
index 9cfc991ca5..e184bdbadf 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/img_translate.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/img_translate.py
@@ -39,6 +39,25 @@ def img_translate(img_in: Matrix,
Optionally resizes the image (without scaling).
Uses nearest neighbor sampling.
+ .. code-block:: python
+
+ >>> import numpy as np
+ >>> from systemds.context import SystemDSContext
+ >>> from systemds.operator.algorithm import img_translate
+ >>>
+ >>> with SystemDSContext() as sds:
+ ... img = sds.from_numpy(
+ ... np.array([[ 10., 20., 30.],
+ ... [ 40., 50., 60.],
+ ... [ 70., 80., 90.]], dtype=np.float32)
+ ... )
+ ... result_img = img_translate(img, 1., 1., 3, 3, 255.).compute()
+ ... print(result_img)
+ [[255. 255. 255.]
+ [255. 10. 20.]
+ [255. 40. 50.]]
+
+
:param img_in: Input image as 2D matrix with top left corner at [1, 1]
diff --git a/src/main/python/systemds/operator/algorithm/builtin/img_translate_linearized.py b/src/main/python/systemds/operator/algorithm/builtin/img_translate_linearized.py
index 92098dab2c..9b3e2eab92 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/img_translate_linearized.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/img_translate_linearized.py
@@ -41,8 +41,28 @@ def img_translate_linearized(img_in: Matrix,
the same time. Each row of the input and output matrix represents a linearized image/matrix
It translates the image and Optionally resizes the image (without scaling).
+ .. code-block:: python
- :param img_in: Input matrix/image (every row represents a linearized matrix/image)
+ >>> import numpy as np
+ >>> from systemds.context import SystemDSContext
+ >>> from systemds.operator.algorithm import img_translate_linearized
+ >>>
+ >>> with SystemDSContext() as sds:
+ ... img = sds.from_numpy(
+ ... np.array([[ 10., 20., 30.,
+ ... 40., 50., 60.,
+ ... 70., 80., 90. ]], dtype=np.float32)
+ ... )
+ ... result_img = img_translate_linearized(img, 1., 1., 3, 3, 255.0, 3, 3).compute()
+ ... print(result_img.reshape(3, 3))
+ [[255. 255. 255.]
+ [255. 10. 20.]
+ [255. 40. 50.]]
+
+
+
+
+ :param img_in: Input images as linearized 2D matrix with top left corner at [1, 1] (every row represents a linearized matrix/image)
:param offset_x: The distance to move the image in x direction
:param offset_y: The distance to move the image in y direction
:param out_w: Width of the output image
diff --git a/src/main/python/systemds/operator/algorithm/builtin/lm.py b/src/main/python/systemds/operator/algorithm/builtin/lm.py
index e67bbb366f..fa317fb22c 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/lm.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/lm.py
@@ -36,6 +36,36 @@ def lm(X: Matrix,
method or the conjugate gradient algorithm depending on the input size
of the matrices (See lmDS-function and lmCG-function respectively).
+ .. code-block:: python
+
+ >>> import numpy as np
+ >>> from systemds.context import SystemDSContext
+ >>> from systemds.operator.algorithm import lm
+ >>>
+ >>> np.random.seed(0)
+ >>> features = np.random.rand(10, 15)
+ >>> y = np.random.rand(10, 1)
+ >>>
+ >>> with SystemDSContext() as sds:
+ ... weights = lm(sds.from_numpy(features), sds.from_numpy(y)).compute()
+ ... print(weights)
+ [[-0.11538199]
+ [-0.20386541]
+ [-0.39956034]
+ [ 1.04078623]
+ [ 0.43270839]
+ [ 0.18954599]
+ [ 0.49858969]
+ [-0.26812763]
+ [ 0.09961844]
+ [-0.57000751]
+ [-0.43386048]
+ [ 0.55358873]
+ [-0.54638565]
+ [ 0.2205885 ]
+ [ 0.37957689]]
+
+
:param X: Matrix of feature vectors.
diff --git a/src/main/python/systemds/operator/algorithm/builtin/normalize.py b/src/main/python/systemds/operator/algorithm/builtin/normalize.py
index 9353f75b8b..f4dd5bbd12 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/normalize.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/normalize.py
@@ -33,6 +33,20 @@ def normalize(X: Matrix):
Min-max normalization (a.k.a. min-max scaling) to range [0,1]. For matrices
of positive values, this normalization preserves the input sparsity.
+ .. code-block:: python
+
+ >>> import numpy as np
+ >>> from systemds.context import SystemDSContext
+ >>> from systemds.operator.algorithm import normalize
+ >>>
+ >>> with SystemDSContext() as sds:
+ ... X = sds.from_numpy(np.array([[1, 2], [3, 4]]))
+ ... Y, cmin, cmax = normalize(X).compute()
+ ... print(Y)
+ [[0. 0.]
+ [1. 1.]]
+
+
:param X: Input feature matrix of shape n-by-m
diff --git a/src/main/python/systemds/operator/algorithm/builtin/randomForest.py b/src/main/python/systemds/operator/algorithm/builtin/randomForest.py
index 177ebd3fd3..f100d28092 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/randomForest.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/randomForest.py
@@ -60,6 +60,47 @@ def randomForest(X: Matrix,
prefixed by a one-hot vector of sampled features
(e.g., [1,1,1,0] if we sampled a,b,c of the four features)
+ .. code-block:: python
+
+ >>> import numpy as np
+ >>> from systemds.context import SystemDSContext
+ >>> from systemds.operator.algorithm import randomForest, randomForestPredict
+ >>>
+ >>> # tiny toy dataset
+ >>> X = np.array([[1],
+ ... [2],
+ ... [10],
+ ... [11]], dtype=np.int64)
+ >>> y = np.array([[1],
+ ... [1],
+ ... [2],
+ ... [2]], dtype=np.int64)
+ >>>
+ >>> with SystemDSContext() as sds:
+ ... X_sds = sds.from_numpy(X)
+ ... y_sds = sds.from_numpy(y)
+ ...
+ ... ctypes = sds.from_numpy(np.array([[1, 2]], dtype=np.int64))
+ ...
+ ... # train a 4-tree forest (no sampling)
+ ... M = randomForest(
+ ... X_sds, y_sds, ctypes,
+ ... num_trees = 4,
+ ... sample_frac = 1.0,
+ ... feature_frac = 1.0,
+ ... max_depth = 3,
+ ... min_leaf = 1,
+ ... min_split = 2,
+ ... seed = 42
+ ... )
+ ...
+ ... preds = randomForestPredict(X_sds, ctypes, M).compute()
+ ... print(preds)
+ [[1.]
+ [1.]
+ [2.]
+ [2.]]
+
diff --git a/src/main/python/systemds/operator/algorithm/builtin/randomForestPredict.py b/src/main/python/systemds/operator/algorithm/builtin/randomForestPredict.py
index bff00217e2..78dc1bda3f 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/randomForestPredict.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/randomForestPredict.py
@@ -37,6 +37,49 @@ def randomForestPredict(X: Matrix,
categorical and numerical input features.
+ .. code-block:: python
+
+ >>> import numpy as np
+ >>> from systemds.context import SystemDSContext
+ >>> from systemds.operator.algorithm import randomForest, randomForestPredict
+ >>>
+ >>> # tiny toy dataset
+ >>> X = np.array([[1],
+ ... [2],
+ ... [10],
+ ... [11]], dtype=np.int64)
+ >>> y = np.array([[1],
+ ... [1],
+ ... [2],
+ ... [2]], dtype=np.int64)
+ >>>
+ >>> with SystemDSContext() as sds:
+ ... X_sds = sds.from_numpy(X)
+ ... y_sds = sds.from_numpy(y)
+ ...
+ ... ctypes = sds.from_numpy(np.array([[1, 2]], dtype=np.int64))
+ ...
+ ... # train a 4-tree forest (no sampling)
+ ... M = randomForest(
+ ... X_sds, y_sds, ctypes,
+ ... num_trees = 4,
+ ... sample_frac = 1.0,
+ ... feature_frac = 1.0,
+ ... max_depth = 3,
+ ... min_leaf = 1,
+ ... min_split = 2,
+ ... seed = 42
+ ... )
+ ...
+ ... preds = randomForestPredict(X_sds, ctypes, M).compute()
+ ... print(preds)
+ [[1.]
+ [1.]
+ [2.]
+ [2.]]
+
+
+
:param X: Feature matrix in recoded/binned representation
:param y: Label matrix in recoded/binned representation,
diff --git a/src/main/python/systemds/operator/algorithm/builtin/toOneHot.py b/src/main/python/systemds/operator/algorithm/builtin/toOneHot.py
index 0ad76ec5f7..436ed64df7 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/toOneHot.py
+++ b/src/main/python/systemds/operator/algorithm/builtin/toOneHot.py
@@ -33,6 +33,22 @@ def toOneHot(X: Matrix,
"""
The toOneHot-function encodes unordered categorical vector to multiple binary vectors.
+ .. code-block:: python
+
+ >>> import numpy as np
+ >>> from systemds.context import SystemDSContext
+ >>> from systemds.operator.algorithm import toOneHot
+ >>>
+ >>> with SystemDSContext() as sds:
+ ... X = sds.from_numpy(np.array([[1], [3], [2], [3]]))
+ ... Y = toOneHot(X, numClasses=3).compute()
+ ... print(Y)
+ [[1. 0. 0.]
+ [0. 0. 1.]
+ [0. 1. 0.]
+ [0. 0. 1.]]
+
+
:param X: Vector with N integer entries between 1 and numClasses
diff --git a/src/main/python/tests/algorithms/test_lm.py b/src/main/python/tests/algorithms/test_lm.py
deleted file mode 100644
index aad8abac66..0000000000
--- a/src/main/python/tests/algorithms/test_lm.py
+++ /dev/null
@@ -1,65 +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.
-#
-# -------------------------------------------------------------
-
-import unittest
-
-import numpy as np
-from sklearn.linear_model import LinearRegression
-from systemds.context import SystemDSContext
-from systemds.operator.algorithm import lm
-
-np.random.seed(7)
-
-
-class TestLm(unittest.TestCase):
-
- sds: SystemDSContext = None
-
- @classmethod
- def setUpClass(cls):
- cls.sds = SystemDSContext()
-
- @classmethod
- def tearDownClass(cls):
- cls.sds.close()
-
- def test_lm_simple(self):
- # if the dimensions of the input is 1, then the
- X = np.random.rand(30, 1)
- Y = np.random.rand(30, 1)
- regressor = LinearRegression(fit_intercept=False)
- model = regressor.fit(X, Y).coef_
-
- X_sds = self.sds.from_numpy(X)
- Y_sds = self.sds.from_numpy(Y)
-
- sds_model_weights = lm(X_sds, Y_sds, verbose=False).compute()
- model = model.reshape(sds_model_weights.shape)
-
- eps = 1e-03
-
- self.assertTrue(
- np.allclose(sds_model_weights, model, eps), "All elements are not close"
- )
-
-
-if __name__ == "__main__":
- unittest.main(exit=False)
diff --git a/src/main/python/systemds/operator/algorithm/builtin/img_invert.py b/src/main/python/tests/auto_tests/test_dist.py
similarity index 57%
copy from src/main/python/systemds/operator/algorithm/builtin/img_invert.py
copy to src/main/python/tests/auto_tests/test_dist.py
index a555f23708..6a3e39f05d 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/img_invert.py
+++ b/src/main/python/tests/auto_tests/test_dist.py
@@ -20,27 +20,25 @@
# -------------------------------------------------------------
# Autogenerated By : src/main/python/generator/generator.py
-# Autogenerated From : scripts/builtin/img_invert.dml
+import unittest, contextlib, io
+class TestDIST(unittest.TestCase):
+ def test_dist(self):
+ # Example test case provided in python the code block
+ buf = io.StringIO()
+ with contextlib.redirect_stdout(buf):
+ import numpy as np
+ from systemds.context import SystemDSContext
+ from systemds.operator.algorithm import dist
-from typing import Dict, Iterable
+ with SystemDSContext() as sds:
+ X = sds.from_numpy(np.array([[0], [3], [4]]))
+ out = dist(X).compute()
+ print(out)
-from systemds.operator import OperationNode, Matrix, Frame, List, MultiReturn, Scalar
-from systemds.utils.consts import VALID_INPUT_TYPES
+ expected="""[[0. 3. 4.]
+ [3. 0. 1.]
+ [4. 1. 0.]]"""
+ self.assertEqual(buf.getvalue().strip(), expected)
-
-def img_invert(img_in: Matrix,
- max_value: float):
- """
- This is an image data augmentation function. It inverts an image.
-
-
-
- :param img_in: Input image
- :param max_value: The maximum value pixels can have
- :return: Output image
- """
-
- params_dict = {'img_in': img_in, 'max_value': max_value}
- return Matrix(img_in.sds_context,
- 'img_invert',
- named_input_nodes=params_dict)
+if __name__ == '__main__':
+ unittest.main()
diff --git a/src/main/python/systemds/operator/algorithm/builtin/img_invert_linearized.py b/src/main/python/tests/auto_tests/test_img_brightness.py
similarity index 52%
copy from src/main/python/systemds/operator/algorithm/builtin/img_invert_linearized.py
copy to src/main/python/tests/auto_tests/test_img_brightness.py
index 2f66a0b8be..f30545cd76 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/img_invert_linearized.py
+++ b/src/main/python/tests/auto_tests/test_img_brightness.py
@@ -20,27 +20,27 @@
# -------------------------------------------------------------
# Autogenerated By : src/main/python/generator/generator.py
-# Autogenerated From : scripts/builtin/img_invert_linearized.dml
+import unittest, contextlib, io
+class TestIMG_BRIGHTNESS(unittest.TestCase):
+ def test_img_brightness(self):
+ # Example test case provided in python the code block
+ buf = io.StringIO()
+ with contextlib.redirect_stdout(buf):
+ import numpy as np
+ from systemds.context import SystemDSContext
+ from systemds.operator.algorithm import img_brightness
-from typing import Dict, Iterable
+ with SystemDSContext() as sds:
+ img = sds.from_numpy(
+ np.array([[ 50, 100,
+ 150, 200 ]], dtype=np.float32)
+ )
+ result_img = img_brightness(img, 30.0, 150).compute()
+ print(result_img.reshape(2, 2))
-from systemds.operator import OperationNode, Matrix, Frame, List, MultiReturn, Scalar
-from systemds.utils.consts import VALID_INPUT_TYPES
+ expected="""[[ 80. 130.]
+ [150. 150.]]"""
+ self.assertEqual(buf.getvalue().strip(), expected)
-
-def img_invert_linearized(img_in: Matrix,
- max_value: float):
- """
- This is an image data augmentation function. It inverts an image.It can handle one or multiple images
-
-
-
- :param img_in: Input matrix/image (every row of the matrix represents a linearized image)
- :param max_value: The maximum value pixels can have
- :return: Output images (every row of the matrix represents a linearized image)
- """
-
- params_dict = {'img_in': img_in, 'max_value': max_value}
- return Matrix(img_in.sds_context,
- 'img_invert_linearized',
- named_input_nodes=params_dict)
+if __name__ == '__main__':
+ unittest.main()
diff --git a/src/main/python/systemds/operator/algorithm/builtin/img_invert_linearized.py b/src/main/python/tests/auto_tests/test_img_brightness_linearized.py
similarity index 51%
copy from src/main/python/systemds/operator/algorithm/builtin/img_invert_linearized.py
copy to src/main/python/tests/auto_tests/test_img_brightness_linearized.py
index 2f66a0b8be..a82bab3153 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/img_invert_linearized.py
+++ b/src/main/python/tests/auto_tests/test_img_brightness_linearized.py
@@ -20,27 +20,27 @@
# -------------------------------------------------------------
# Autogenerated By : src/main/python/generator/generator.py
-# Autogenerated From : scripts/builtin/img_invert_linearized.dml
+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
+ buf = io.StringIO()
+ with contextlib.redirect_stdout(buf):
+ import numpy as np
+ from systemds.context import SystemDSContext
+ from systemds.operator.algorithm import img_brightness_linearized
-from typing import Dict, Iterable
+ with SystemDSContext() as sds:
+ img = sds.from_numpy(
+ np.array([[ 50, 100,
+ 150, 200 ]], dtype=np.float32)
+ )
+ result_img = img_brightness_linearized(img, 30.0, 255).compute()
+ print(result_img.reshape(2, 2))
-from systemds.operator import OperationNode, Matrix, Frame, List, MultiReturn, Scalar
-from systemds.utils.consts import VALID_INPUT_TYPES
+ expected="""[[ 80. 130.]
+ [180. 230.]]"""
+ self.assertEqual(buf.getvalue().strip(), expected)
-
-def img_invert_linearized(img_in: Matrix,
- max_value: float):
- """
- This is an image data augmentation function. It inverts an image.It can handle one or multiple images
-
-
-
- :param img_in: Input matrix/image (every row of the matrix represents a linearized image)
- :param max_value: The maximum value pixels can have
- :return: Output images (every row of the matrix represents a linearized image)
- """
-
- params_dict = {'img_in': img_in, 'max_value': max_value}
- return Matrix(img_in.sds_context,
- 'img_invert_linearized',
- named_input_nodes=params_dict)
+if __name__ == '__main__':
+ unittest.main()
diff --git a/src/main/python/systemds/operator/algorithm/builtin/img_invert_linearized.py b/src/main/python/tests/auto_tests/test_img_crop.py
similarity index 52%
copy from src/main/python/systemds/operator/algorithm/builtin/img_invert_linearized.py
copy to src/main/python/tests/auto_tests/test_img_crop.py
index 2f66a0b8be..ac94a9f833 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/img_invert_linearized.py
+++ b/src/main/python/tests/auto_tests/test_img_crop.py
@@ -20,27 +20,27 @@
# -------------------------------------------------------------
# Autogenerated By : src/main/python/generator/generator.py
-# Autogenerated From : scripts/builtin/img_invert_linearized.dml
+import unittest, contextlib, io
+class TestIMG_CROP(unittest.TestCase):
+ def test_img_crop(self):
+ # Example test case provided in python the code block
+ buf = io.StringIO()
+ with contextlib.redirect_stdout(buf):
+ import numpy as np
+ from systemds.context import SystemDSContext
+ from systemds.operator.algorithm import img_crop
-from typing import Dict, Iterable
+ with SystemDSContext() as sds:
+ img = sds.from_numpy(
+ np.array([[ 50., 100., 150.],
+ [150., 200., 250.],
+ [250., 200., 200.]], dtype=np.float32)
+ )
+ result_img = img_crop(img, 1, 1, 1, 1).compute()
+ print(result_img)
-from systemds.operator import OperationNode, Matrix, Frame, List, MultiReturn, Scalar
-from systemds.utils.consts import VALID_INPUT_TYPES
+ expected="""[[200.]]"""
+ self.assertEqual(buf.getvalue().strip(), expected)
-
-def img_invert_linearized(img_in: Matrix,
- max_value: float):
- """
- This is an image data augmentation function. It inverts an image.It can handle one or multiple images
-
-
-
- :param img_in: Input matrix/image (every row of the matrix represents a linearized image)
- :param max_value: The maximum value pixels can have
- :return: Output images (every row of the matrix represents a linearized image)
- """
-
- params_dict = {'img_in': img_in, 'max_value': max_value}
- return Matrix(img_in.sds_context,
- 'img_invert_linearized',
- named_input_nodes=params_dict)
+if __name__ == '__main__':
+ unittest.main()
diff --git a/src/main/python/systemds/operator/algorithm/builtin/img_invert_linearized.py b/src/main/python/tests/auto_tests/test_img_crop_linearized.py
similarity index 50%
copy from src/main/python/systemds/operator/algorithm/builtin/img_invert_linearized.py
copy to src/main/python/tests/auto_tests/test_img_crop_linearized.py
index 2f66a0b8be..ae22372188 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/img_invert_linearized.py
+++ b/src/main/python/tests/auto_tests/test_img_crop_linearized.py
@@ -20,27 +20,27 @@
# -------------------------------------------------------------
# Autogenerated By : src/main/python/generator/generator.py
-# Autogenerated From : scripts/builtin/img_invert_linearized.dml
+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
+ buf = io.StringIO()
+ with contextlib.redirect_stdout(buf):
+ import numpy as np
+ from systemds.context import SystemDSContext
+ from systemds.operator.algorithm import img_crop_linearized
-from typing import Dict, Iterable
+ with SystemDSContext() as sds:
+ img = sds.from_numpy(
+ np.array([[ 50., 100., 150.,
+ 150., 200., 250.,
+ 250., 200., 200. ]], dtype=np.float32)
+ )
+ result_img = img_crop_linearized(img, 1, 1, 1, 1, 3, 3).compute()
+ print(result_img)
-from systemds.operator import OperationNode, Matrix, Frame, List, MultiReturn, Scalar
-from systemds.utils.consts import VALID_INPUT_TYPES
+ expected="""[[200.]]"""
+ self.assertEqual(buf.getvalue().strip(), expected)
-
-def img_invert_linearized(img_in: Matrix,
- max_value: float):
- """
- This is an image data augmentation function. It inverts an image.It can handle one or multiple images
-
-
-
- :param img_in: Input matrix/image (every row of the matrix represents a linearized image)
- :param max_value: The maximum value pixels can have
- :return: Output images (every row of the matrix represents a linearized image)
- """
-
- params_dict = {'img_in': img_in, 'max_value': max_value}
- return Matrix(img_in.sds_context,
- 'img_invert_linearized',
- named_input_nodes=params_dict)
+if __name__ == '__main__':
+ unittest.main()
diff --git a/src/main/python/systemds/operator/algorithm/builtin/img_invert_linearized.py b/src/main/python/tests/auto_tests/test_img_cutout.py
similarity index 50%
copy from src/main/python/systemds/operator/algorithm/builtin/img_invert_linearized.py
copy to src/main/python/tests/auto_tests/test_img_cutout.py
index 2f66a0b8be..e66f0aed6f 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/img_invert_linearized.py
+++ b/src/main/python/tests/auto_tests/test_img_cutout.py
@@ -20,27 +20,29 @@
# -------------------------------------------------------------
# Autogenerated By : src/main/python/generator/generator.py
-# Autogenerated From : scripts/builtin/img_invert_linearized.dml
+import unittest, contextlib, io
+class TestIMG_CUTOUT(unittest.TestCase):
+ def test_img_cutout(self):
+ # Example test case provided in python the code block
+ buf = io.StringIO()
+ with contextlib.redirect_stdout(buf):
+ import numpy as np
+ from systemds.context import SystemDSContext
+ from systemds.operator.algorithm import img_cutout
-from typing import Dict, Iterable
+ with SystemDSContext() as sds:
+ img = sds.from_numpy(
+ np.array([[ 50., 100., 150.],
+ [150., 200., 250.],
+ [250., 200., 200.]], dtype=np.float32)
+ )
+ result_img = img_cutout(img, 2, 2, 1, 1, 49.).compute()
+ print(result_img)
-from systemds.operator import OperationNode, Matrix, Frame, List, MultiReturn, Scalar
-from systemds.utils.consts import VALID_INPUT_TYPES
+ expected="""[[ 50. 100. 150.]
+ [150. 49. 250.]
+ [250. 200. 200.]]"""
+ self.assertEqual(buf.getvalue().strip(), expected)
-
-def img_invert_linearized(img_in: Matrix,
- max_value: float):
- """
- This is an image data augmentation function. It inverts an image.It can handle one or multiple images
-
-
-
- :param img_in: Input matrix/image (every row of the matrix represents a linearized image)
- :param max_value: The maximum value pixels can have
- :return: Output images (every row of the matrix represents a linearized image)
- """
-
- params_dict = {'img_in': img_in, 'max_value': max_value}
- return Matrix(img_in.sds_context,
- 'img_invert_linearized',
- named_input_nodes=params_dict)
+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
new file mode 100644
index 0000000000..f553b14039
--- /dev/null
+++ b/src/main/python/tests/auto_tests/test_img_cutout_linearized.py
@@ -0,0 +1,48 @@
+# -------------------------------------------------------------
+#
+# 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.
+#
+# -------------------------------------------------------------
+
+# 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
+ buf = io.StringIO()
+ with contextlib.redirect_stdout(buf):
+ import numpy as np
+ from systemds.context import SystemDSContext
+ from systemds.operator.algorithm import img_cutout_linearized
+
+ with SystemDSContext() as sds:
+ img = sds.from_numpy(
+ np.array([[ 50., 100., 150.,
+ 150., 200., 250.,
+ 250., 200., 200. ]], dtype=np.float32)
+ )
+ 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.]
+ [150. 25. 250.]
+ [250. 200. 200.]]"""
+ self.assertEqual(buf.getvalue().strip(), expected)
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/src/main/python/systemds/operator/algorithm/builtin/img_invert_linearized.py b/src/main/python/tests/auto_tests/test_img_invert.py
similarity index 51%
copy from src/main/python/systemds/operator/algorithm/builtin/img_invert_linearized.py
copy to src/main/python/tests/auto_tests/test_img_invert.py
index 2f66a0b8be..a11ff19e99 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/img_invert_linearized.py
+++ b/src/main/python/tests/auto_tests/test_img_invert.py
@@ -20,27 +20,29 @@
# -------------------------------------------------------------
# Autogenerated By : src/main/python/generator/generator.py
-# Autogenerated From : scripts/builtin/img_invert_linearized.dml
+import unittest, contextlib, io
+class TestIMG_INVERT(unittest.TestCase):
+ def test_img_invert(self):
+ # Example test case provided in python the code block
+ buf = io.StringIO()
+ with contextlib.redirect_stdout(buf):
+ import numpy as np
+ from systemds.context import SystemDSContext
+ from systemds.operator.algorithm import img_invert
-from typing import Dict, Iterable
+ with SystemDSContext() as sds:
+ img = sds.from_numpy(
+ np.array([[ 10., 20., 30.],
+ [ 40., 50., 60.],
+ [ 70., 80., 90.]], dtype=np.float32)
+ )
+ result_img = img_invert(img, 210.).compute()
+ print(result_img)
-from systemds.operator import OperationNode, Matrix, Frame, List, MultiReturn, Scalar
-from systemds.utils.consts import VALID_INPUT_TYPES
+ expected="""[[200. 190. 180.]
+ [170. 160. 150.]
+ [140. 130. 120.]]"""
+ self.assertEqual(buf.getvalue().strip(), expected)
-
-def img_invert_linearized(img_in: Matrix,
- max_value: float):
- """
- This is an image data augmentation function. It inverts an image.It can handle one or multiple images
-
-
-
- :param img_in: Input matrix/image (every row of the matrix represents a linearized image)
- :param max_value: The maximum value pixels can have
- :return: Output images (every row of the matrix represents a linearized image)
- """
-
- params_dict = {'img_in': img_in, 'max_value': max_value}
- return Matrix(img_in.sds_context,
- 'img_invert_linearized',
- named_input_nodes=params_dict)
+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
new file mode 100644
index 0000000000..65db0866c9
--- /dev/null
+++ b/src/main/python/tests/auto_tests/test_img_invert_linearized.py
@@ -0,0 +1,48 @@
+# -------------------------------------------------------------
+#
+# 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.
+#
+# -------------------------------------------------------------
+
+# 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
+ buf = io.StringIO()
+ with contextlib.redirect_stdout(buf):
+ import numpy as np
+ from systemds.context import SystemDSContext
+ from systemds.operator.algorithm import img_invert_linearized
+
+ with SystemDSContext() as sds:
+ img = sds.from_numpy(
+ np.array([[ 10., 20., 30.,
+ 40., 50., 60.,
+ 70., 80., 90. ]], dtype=np.float32)
+ )
+ result_img = img_invert_linearized(img, 200.).compute()
+ print(result_img.reshape(3, 3))
+
+ 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/systemds/operator/algorithm/builtin/img_invert_linearized.py b/src/main/python/tests/auto_tests/test_img_mirror.py
similarity index 51%
copy from src/main/python/systemds/operator/algorithm/builtin/img_invert_linearized.py
copy to src/main/python/tests/auto_tests/test_img_mirror.py
index 2f66a0b8be..241635199c 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/img_invert_linearized.py
+++ b/src/main/python/tests/auto_tests/test_img_mirror.py
@@ -20,27 +20,29 @@
# -------------------------------------------------------------
# Autogenerated By : src/main/python/generator/generator.py
-# Autogenerated From : scripts/builtin/img_invert_linearized.dml
+import unittest, contextlib, io
+class TestIMG_MIRROR(unittest.TestCase):
+ def test_img_mirror(self):
+ # Example test case provided in python the code block
+ buf = io.StringIO()
+ with contextlib.redirect_stdout(buf):
+ import numpy as np
+ from systemds.context import SystemDSContext
+ from systemds.operator.algorithm import img_mirror
-from typing import Dict, Iterable
+ with SystemDSContext() as sds:
+ img = sds.from_numpy(
+ np.array([[ 10., 20., 30.],
+ [ 40., 50., 60.],
+ [ 70., 80., 90.]], dtype=np.float32)
+ )
+ result_img = img_mirror(img, False).compute()
+ print(result_img)
-from systemds.operator import OperationNode, Matrix, Frame, List, MultiReturn, Scalar
-from systemds.utils.consts import VALID_INPUT_TYPES
+ expected="""[[30. 20. 10.]
+ [60. 50. 40.]
+ [90. 80. 70.]]"""
+ self.assertEqual(buf.getvalue().strip(), expected)
-
-def img_invert_linearized(img_in: Matrix,
- max_value: float):
- """
- This is an image data augmentation function. It inverts an image.It can handle one or multiple images
-
-
-
- :param img_in: Input matrix/image (every row of the matrix represents a linearized image)
- :param max_value: The maximum value pixels can have
- :return: Output images (every row of the matrix represents a linearized image)
- """
-
- params_dict = {'img_in': img_in, 'max_value': max_value}
- return Matrix(img_in.sds_context,
- 'img_invert_linearized',
- named_input_nodes=params_dict)
+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
new file mode 100644
index 0000000000..f5b8ba4733
--- /dev/null
+++ b/src/main/python/tests/auto_tests/test_img_mirror_linearized_0.py
@@ -0,0 +1,48 @@
+# -------------------------------------------------------------
+#
+# 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.
+#
+# -------------------------------------------------------------
+
+# 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
+ buf = io.StringIO()
+ with contextlib.redirect_stdout(buf):
+ import numpy as np
+ from systemds.context import SystemDSContext
+ from systemds.operator.algorithm import img_mirror_linearized
+
+ with SystemDSContext() as sds:
+ img = sds.from_numpy(
+ np.array([[ 10., 20., 30.,
+ 40., 50., 60.,
+ 70., 80., 90. ]], dtype=np.float32)
+ )
+ result_img = img_mirror_linearized(img, True, 3, 3).compute()
+ print(result_img.reshape(3, 3))
+
+ 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
new file mode 100644
index 0000000000..a9884ab19e
--- /dev/null
+++ b/src/main/python/tests/auto_tests/test_img_mirror_linearized_1.py
@@ -0,0 +1,55 @@
+# -------------------------------------------------------------
+#
+# 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.
+#
+# -------------------------------------------------------------
+
+# 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
+ buf = io.StringIO()
+ with contextlib.redirect_stdout(buf):
+ import numpy as np
+ from systemds.context import SystemDSContext
+ from systemds.operator.algorithm import img_mirror_linearized
+
+ with SystemDSContext() as sds:
+ imgs = sds.from_numpy(
+ np.array([[ 10., 20., 30.,
+ 40., 50., 60.,
+ 70., 80., 90. ],
+ [ 70., 80., 90.,
+ 40., 50., 60.,
+ 10., 20., 30. ]], dtype=np.float32)
+ )
+ result_imgs = img_mirror_linearized(imgs, True, 3, 3).compute()
+ print(result_imgs[0].reshape(3, 3))
+ print(result_imgs[1].reshape(3, 3))
+
+ expected="""[[70. 80. 90.]
+ [40. 50. 60.]
+ [10. 20. 30.]]
+[[10. 20. 30.]
+ [40. 50. 60.]
+ [70. 80. 90.]]"""
+ self.assertEqual(buf.getvalue().strip(), expected)
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/src/main/python/systemds/operator/algorithm/builtin/img_invert_linearized.py b/src/main/python/tests/auto_tests/test_img_posterize.py
similarity index 50%
copy from src/main/python/systemds/operator/algorithm/builtin/img_invert_linearized.py
copy to src/main/python/tests/auto_tests/test_img_posterize.py
index 2f66a0b8be..d0f1cd7b6c 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/img_invert_linearized.py
+++ b/src/main/python/tests/auto_tests/test_img_posterize.py
@@ -20,27 +20,29 @@
# -------------------------------------------------------------
# Autogenerated By : src/main/python/generator/generator.py
-# Autogenerated From : scripts/builtin/img_invert_linearized.dml
+import unittest, contextlib, io
+class TestIMG_POSTERIZE(unittest.TestCase):
+ def test_img_posterize(self):
+ # Example test case provided in python the code block
+ buf = io.StringIO()
+ with contextlib.redirect_stdout(buf):
+ import numpy as np
+ from systemds.context import SystemDSContext
+ from systemds.operator.algorithm import img_posterize
-from typing import Dict, Iterable
+ with SystemDSContext() as sds:
+ img = sds.from_numpy(
+ np.array([[ 10., 20., 30.],
+ [ 40., 255., 60.],
+ [ 70., 80., 90.]], dtype=np.float32)
+ )
+ result_img = img_posterize(img, 1).compute()
+ print(result_img)
-from systemds.operator import OperationNode, Matrix, Frame, List, MultiReturn, Scalar
-from systemds.utils.consts import VALID_INPUT_TYPES
+ expected="""[[ 0. 0. 0.]
+ [ 0. 128. 0.]
+ [ 0. 0. 0.]]"""
+ self.assertEqual(buf.getvalue().strip(), expected)
-
-def img_invert_linearized(img_in: Matrix,
- max_value: float):
- """
- This is an image data augmentation function. It inverts an image.It can handle one or multiple images
-
-
-
- :param img_in: Input matrix/image (every row of the matrix represents a linearized image)
- :param max_value: The maximum value pixels can have
- :return: Output images (every row of the matrix represents a linearized image)
- """
-
- params_dict = {'img_in': img_in, 'max_value': max_value}
- return Matrix(img_in.sds_context,
- 'img_invert_linearized',
- named_input_nodes=params_dict)
+if __name__ == '__main__':
+ unittest.main()
diff --git a/src/main/python/systemds/operator/algorithm/builtin/img_invert_linearized.py b/src/main/python/tests/auto_tests/test_img_posterize_linearized.py
similarity index 51%
copy from src/main/python/systemds/operator/algorithm/builtin/img_invert_linearized.py
copy to src/main/python/tests/auto_tests/test_img_posterize_linearized.py
index 2f66a0b8be..fb2605998f 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/img_invert_linearized.py
+++ b/src/main/python/tests/auto_tests/test_img_posterize_linearized.py
@@ -20,27 +20,29 @@
# -------------------------------------------------------------
# Autogenerated By : src/main/python/generator/generator.py
-# Autogenerated From : scripts/builtin/img_invert_linearized.dml
+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
+ buf = io.StringIO()
+ with contextlib.redirect_stdout(buf):
+ import numpy as np
+ from systemds.context import SystemDSContext
+ from systemds.operator.algorithm import img_posterize_linearized
-from typing import Dict, Iterable
+ with SystemDSContext() as sds:
+ img = sds.from_numpy(
+ np.array([[ 10., 20., 30.,
+ 40., 255., 60.,
+ 70., 80., 90. ]], dtype=np.float32)
+ )
+ result_img = img_posterize_linearized(img, 1).compute()
+ print(result_img.reshape(3, 3))
-from systemds.operator import OperationNode, Matrix, Frame, List, MultiReturn, Scalar
-from systemds.utils.consts import VALID_INPUT_TYPES
+ expected="""[[ 0. 0. 0.]
+ [ 0. 128. 0.]
+ [ 0. 0. 0.]]"""
+ self.assertEqual(buf.getvalue().strip(), expected)
-
-def img_invert_linearized(img_in: Matrix,
- max_value: float):
- """
- This is an image data augmentation function. It inverts an image.It can handle one or multiple images
-
-
-
- :param img_in: Input matrix/image (every row of the matrix represents a linearized image)
- :param max_value: The maximum value pixels can have
- :return: Output images (every row of the matrix represents a linearized image)
- """
-
- params_dict = {'img_in': img_in, 'max_value': max_value}
- return Matrix(img_in.sds_context,
- 'img_invert_linearized',
- named_input_nodes=params_dict)
+if __name__ == '__main__':
+ unittest.main()
diff --git a/src/main/python/systemds/operator/algorithm/builtin/img_invert_linearized.py b/src/main/python/tests/auto_tests/test_img_rotate.py
similarity index 51%
copy from src/main/python/systemds/operator/algorithm/builtin/img_invert_linearized.py
copy to src/main/python/tests/auto_tests/test_img_rotate.py
index 2f66a0b8be..ed7e8bcc43 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/img_invert_linearized.py
+++ b/src/main/python/tests/auto_tests/test_img_rotate.py
@@ -20,27 +20,29 @@
# -------------------------------------------------------------
# Autogenerated By : src/main/python/generator/generator.py
-# Autogenerated From : scripts/builtin/img_invert_linearized.dml
+import unittest, contextlib, io
+class TestIMG_ROTATE(unittest.TestCase):
+ def test_img_rotate(self):
+ # Example test case provided in python the code block
+ buf = io.StringIO()
+ with contextlib.redirect_stdout(buf):
+ import numpy as np
+ from systemds.context import SystemDSContext
+ from systemds.operator.algorithm import img_rotate
-from typing import Dict, Iterable
+ with SystemDSContext() as sds:
+ img = sds.from_numpy(
+ np.array([[ 10., 20., 30.],
+ [ 40., 50., 60.],
+ [ 70., 80., 90.]], dtype=np.float32)
+ )
+ result_img = img_rotate(img, 3.14159, 255.).compute()
+ print(result_img)
-from systemds.operator import OperationNode, Matrix, Frame, List, MultiReturn, Scalar
-from systemds.utils.consts import VALID_INPUT_TYPES
+ expected="""[[90. 80. 70.]
+ [60. 50. 40.]
+ [30. 20. 10.]]"""
+ self.assertEqual(buf.getvalue().strip(), expected)
-
-def img_invert_linearized(img_in: Matrix,
- max_value: float):
- """
- This is an image data augmentation function. It inverts an image.It can handle one or multiple images
-
-
-
- :param img_in: Input matrix/image (every row of the matrix represents a linearized image)
- :param max_value: The maximum value pixels can have
- :return: Output images (every row of the matrix represents a linearized image)
- """
-
- params_dict = {'img_in': img_in, 'max_value': max_value}
- return Matrix(img_in.sds_context,
- 'img_invert_linearized',
- named_input_nodes=params_dict)
+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
new file mode 100644
index 0000000000..1f2d7ba1f6
--- /dev/null
+++ b/src/main/python/tests/auto_tests/test_img_rotate_linearized.py
@@ -0,0 +1,48 @@
+# -------------------------------------------------------------
+#
+# 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.
+#
+# -------------------------------------------------------------
+
+# 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
+ buf = io.StringIO()
+ with contextlib.redirect_stdout(buf):
+ import numpy as np
+ from systemds.context import SystemDSContext
+ from systemds.operator.algorithm import img_rotate_linearized
+
+ with SystemDSContext() as sds:
+ img = sds.from_numpy(
+ np.array([[ 10., 20., 30.,
+ 40., 50., 60.,
+ 70., 80., 90. ]], dtype=np.float32)
+ )
+ result_img = img_rotate_linearized(img, 3.14159, 255., 3, 3).compute()
+ print(result_img.reshape(3, 3))
+
+ 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
new file mode 100644
index 0000000000..87c50493c4
--- /dev/null
+++ b/src/main/python/tests/auto_tests/test_img_sample_pairing.py
@@ -0,0 +1,53 @@
+# -------------------------------------------------------------
+#
+# 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.
+#
+# -------------------------------------------------------------
+
+# 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
+ buf = io.StringIO()
+ with contextlib.redirect_stdout(buf):
+ import numpy as np
+ from systemds.context import SystemDSContext
+ from systemds.operator.algorithm import img_sample_pairing
+
+ with SystemDSContext() as sds:
+ img_in1 = sds.from_numpy(
+ np.array([[ 10., 20., 30.],
+ [ 40., 50., 60.],
+ [ 70., 80., 90.]], dtype=np.float32)
+ )
+ img_in2 = sds.from_numpy(
+ np.array([[ 30., 40., 50.],
+ [ 60., 70., 80.],
+ [ 90., 100., 110.]], dtype=np.float32)
+ )
+ result_img = img_sample_pairing(img_in1, img_in2, 0.5).compute()
+ print(result_img)
+
+ 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
new file mode 100644
index 0000000000..5b550735e3
--- /dev/null
+++ b/src/main/python/tests/auto_tests/test_img_sample_pairing_linearized.py
@@ -0,0 +1,53 @@
+# -------------------------------------------------------------
+#
+# 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.
+#
+# -------------------------------------------------------------
+
+# 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
+ buf = io.StringIO()
+ with contextlib.redirect_stdout(buf):
+ import numpy as np
+ from systemds.context import SystemDSContext
+ from systemds.operator.algorithm import img_sample_pairing_linearized
+
+ with SystemDSContext() as sds:
+ img_in1 = sds.from_numpy(
+ np.array([[ 10., 20., 30.,
+ 40., 50., 60.,
+ 70., 80., 90. ]], dtype=np.float32)
+ )
+ img_in2 = sds.from_numpy(
+ np.array([[ 30., 40., 50.,
+ 60., 70., 80.,
+ 90., 100., 110. ]], dtype=np.float32)
+ )
+ result_img = img_sample_pairing_linearized(img_in1, img_in2, 0.5).compute()
+ print(result_img.reshape(3, 3))
+
+ 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/systemds/operator/algorithm/builtin/img_invert_linearized.py b/src/main/python/tests/auto_tests/test_img_shear.py
similarity index 51%
copy from src/main/python/systemds/operator/algorithm/builtin/img_invert_linearized.py
copy to src/main/python/tests/auto_tests/test_img_shear.py
index 2f66a0b8be..5571e9d3cb 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/img_invert_linearized.py
+++ b/src/main/python/tests/auto_tests/test_img_shear.py
@@ -20,27 +20,29 @@
# -------------------------------------------------------------
# Autogenerated By : src/main/python/generator/generator.py
-# Autogenerated From : scripts/builtin/img_invert_linearized.dml
+import unittest, contextlib, io
+class TestIMG_SHEAR(unittest.TestCase):
+ def test_img_shear(self):
+ # Example test case provided in python the code block
+ buf = io.StringIO()
+ with contextlib.redirect_stdout(buf):
+ import numpy as np
+ from systemds.context import SystemDSContext
+ from systemds.operator.algorithm import img_shear
-from typing import Dict, Iterable
+ with SystemDSContext() as sds:
+ img = sds.from_numpy(
+ np.array([[ 10., 20., 30.],
+ [ 40., 50., 60.],
+ [ 70., 80., 90.]], dtype=np.float32)
+ )
+ result_img = img_shear(img, 1., 0., 255).compute()
+ print(result_img)
-from systemds.operator import OperationNode, Matrix, Frame, List, MultiReturn, Scalar
-from systemds.utils.consts import VALID_INPUT_TYPES
+ expected="""[[ 10. 20. 30.]
+ [255. 40. 50.]
+ [255. 255. 70.]]"""
+ self.assertEqual(buf.getvalue().strip(), expected)
-
-def img_invert_linearized(img_in: Matrix,
- max_value: float):
- """
- This is an image data augmentation function. It inverts an image.It can handle one or multiple images
-
-
-
- :param img_in: Input matrix/image (every row of the matrix represents a linearized image)
- :param max_value: The maximum value pixels can have
- :return: Output images (every row of the matrix represents a linearized image)
- """
-
- params_dict = {'img_in': img_in, 'max_value': max_value}
- return Matrix(img_in.sds_context,
- 'img_invert_linearized',
- named_input_nodes=params_dict)
+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
new file mode 100644
index 0000000000..d8963beaeb
--- /dev/null
+++ b/src/main/python/tests/auto_tests/test_img_shear_linearized.py
@@ -0,0 +1,48 @@
+# -------------------------------------------------------------
+#
+# 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.
+#
+# -------------------------------------------------------------
+
+# 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
+ buf = io.StringIO()
+ with contextlib.redirect_stdout(buf):
+ import numpy as np
+ from systemds.context import SystemDSContext
+ from systemds.operator.algorithm import img_shear_linearized
+
+ with SystemDSContext() as sds:
+ img = sds.from_numpy(
+ np.array([[ 10., 20., 30.,
+ 40., 50., 60.,
+ 70., 80., 90. ]], dtype=np.float32)
+ )
+ result_img = img_shear_linearized(img, 1., 0., 0., 3, 3).compute()
+ print(result_img.reshape(3, 3))
+
+ 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/systemds/operator/algorithm/builtin/img_invert_linearized.py b/src/main/python/tests/auto_tests/test_img_transform.py
similarity index 50%
copy from src/main/python/systemds/operator/algorithm/builtin/img_invert_linearized.py
copy to src/main/python/tests/auto_tests/test_img_transform.py
index 2f66a0b8be..f1a91bc6d8 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/img_invert_linearized.py
+++ b/src/main/python/tests/auto_tests/test_img_transform.py
@@ -20,27 +20,29 @@
# -------------------------------------------------------------
# Autogenerated By : src/main/python/generator/generator.py
-# Autogenerated From : scripts/builtin/img_invert_linearized.dml
+import unittest, contextlib, io
+class TestIMG_TRANSFORM(unittest.TestCase):
+ def test_img_transform(self):
+ # Example test case provided in python the code block
+ buf = io.StringIO()
+ with contextlib.redirect_stdout(buf):
+ import numpy as np
+ from systemds.context import SystemDSContext
+ from systemds.operator.algorithm import img_transform
-from typing import Dict, Iterable
+ with SystemDSContext() as sds:
+ img = sds.from_numpy(
+ np.array([[ 10., 20., 30.],
+ [ 40., 50., 60.],
+ [ 70., 80., 90.]], dtype=np.float32)
+ )
+ result_img = img_transform(img, 3, 3, -1., 0., 2., 0., 1., 0., 255.).compute()
+ print(result_img)
-from systemds.operator import OperationNode, Matrix, Frame, List, MultiReturn, Scalar
-from systemds.utils.consts import VALID_INPUT_TYPES
+ expected="""[[ 20. 10. 255.]
+ [ 50. 40. 255.]
+ [ 80. 70. 255.]]"""
+ self.assertEqual(buf.getvalue().strip(), expected)
-
-def img_invert_linearized(img_in: Matrix,
- max_value: float):
- """
- This is an image data augmentation function. It inverts an image.It can handle one or multiple images
-
-
-
- :param img_in: Input matrix/image (every row of the matrix represents a linearized image)
- :param max_value: The maximum value pixels can have
- :return: Output images (every row of the matrix represents a linearized image)
- """
-
- params_dict = {'img_in': img_in, 'max_value': max_value}
- return Matrix(img_in.sds_context,
- 'img_invert_linearized',
- named_input_nodes=params_dict)
+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
new file mode 100644
index 0000000000..6992968486
--- /dev/null
+++ b/src/main/python/tests/auto_tests/test_img_transform_linearized.py
@@ -0,0 +1,48 @@
+# -------------------------------------------------------------
+#
+# 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.
+#
+# -------------------------------------------------------------
+
+# 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
+ buf = io.StringIO()
+ with contextlib.redirect_stdout(buf):
+ import numpy as np
+ from systemds.context import SystemDSContext
+ from systemds.operator.algorithm import img_transform_linearized
+
+ with SystemDSContext() as sds:
+ img = sds.from_numpy(
+ np.array([[ 10., 20., 30.,
+ 40., 50., 60.,
+ 70., 80., 90. ]], dtype=np.float32)
+ )
+ 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.]
+ [ 50. 40. 255.]
+ [ 80. 70. 255.]]"""
+ self.assertEqual(buf.getvalue().strip(), expected)
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/src/main/python/systemds/operator/algorithm/builtin/img_invert_linearized.py b/src/main/python/tests/auto_tests/test_img_translate.py
similarity index 50%
copy from src/main/python/systemds/operator/algorithm/builtin/img_invert_linearized.py
copy to src/main/python/tests/auto_tests/test_img_translate.py
index 2f66a0b8be..22f63e25f4 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/img_invert_linearized.py
+++ b/src/main/python/tests/auto_tests/test_img_translate.py
@@ -20,27 +20,29 @@
# -------------------------------------------------------------
# Autogenerated By : src/main/python/generator/generator.py
-# Autogenerated From : scripts/builtin/img_invert_linearized.dml
+import unittest, contextlib, io
+class TestIMG_TRANSLATE(unittest.TestCase):
+ def test_img_translate(self):
+ # Example test case provided in python the code block
+ buf = io.StringIO()
+ with contextlib.redirect_stdout(buf):
+ import numpy as np
+ from systemds.context import SystemDSContext
+ from systemds.operator.algorithm import img_translate
-from typing import Dict, Iterable
+ with SystemDSContext() as sds:
+ img = sds.from_numpy(
+ np.array([[ 10., 20., 30.],
+ [ 40., 50., 60.],
+ [ 70., 80., 90.]], dtype=np.float32)
+ )
+ result_img = img_translate(img, 1., 1., 3, 3, 255.).compute()
+ print(result_img)
-from systemds.operator import OperationNode, Matrix, Frame, List, MultiReturn, Scalar
-from systemds.utils.consts import VALID_INPUT_TYPES
+ expected="""[[255. 255. 255.]
+ [255. 10. 20.]
+ [255. 40. 50.]]"""
+ self.assertEqual(buf.getvalue().strip(), expected)
-
-def img_invert_linearized(img_in: Matrix,
- max_value: float):
- """
- This is an image data augmentation function. It inverts an image.It can handle one or multiple images
-
-
-
- :param img_in: Input matrix/image (every row of the matrix represents a linearized image)
- :param max_value: The maximum value pixels can have
- :return: Output images (every row of the matrix represents a linearized image)
- """
-
- params_dict = {'img_in': img_in, 'max_value': max_value}
- return Matrix(img_in.sds_context,
- 'img_invert_linearized',
- named_input_nodes=params_dict)
+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
new file mode 100644
index 0000000000..86c894b1c5
--- /dev/null
+++ b/src/main/python/tests/auto_tests/test_img_translate_linearized.py
@@ -0,0 +1,48 @@
+# -------------------------------------------------------------
+#
+# 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.
+#
+# -------------------------------------------------------------
+
+# 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
+ buf = io.StringIO()
+ with contextlib.redirect_stdout(buf):
+ import numpy as np
+ from systemds.context import SystemDSContext
+ from systemds.operator.algorithm import img_translate_linearized
+
+ with SystemDSContext() as sds:
+ img = sds.from_numpy(
+ np.array([[ 10., 20., 30.,
+ 40., 50., 60.,
+ 70., 80., 90. ]], dtype=np.float32)
+ )
+ 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.]
+ [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
new file mode 100644
index 0000000000..5c4e83bc8b
--- /dev/null
+++ b/src/main/python/tests/auto_tests/test_lm.py
@@ -0,0 +1,59 @@
+# -------------------------------------------------------------
+#
+# 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.
+#
+# -------------------------------------------------------------
+
+# 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
+ buf = io.StringIO()
+ with contextlib.redirect_stdout(buf):
+ import numpy as np
+ from systemds.context import SystemDSContext
+ from systemds.operator.algorithm import lm
+
+ np.random.seed(0)
+ features = np.random.rand(10, 15)
+ y = np.random.rand(10, 1)
+
+ with SystemDSContext() as sds:
+ weights = lm(sds.from_numpy(features), sds.from_numpy(y)).compute()
+ print(weights)
+
+ expected="""[[-0.11538199]
+ [-0.20386541]
+ [-0.39956034]
+ [ 1.04078623]
+ [ 0.43270839]
+ [ 0.18954599]
+ [ 0.49858969]
+ [-0.26812763]
+ [ 0.09961844]
+ [-0.57000751]
+ [-0.43386048]
+ [ 0.55358873]
+ [-0.54638565]
+ [ 0.2205885 ]
+ [ 0.37957689]]"""
+ self.assertEqual(buf.getvalue().strip(), expected)
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/src/main/python/systemds/operator/algorithm/builtin/img_invert.py b/src/main/python/tests/auto_tests/test_normalize.py
similarity index 57%
copy from src/main/python/systemds/operator/algorithm/builtin/img_invert.py
copy to src/main/python/tests/auto_tests/test_normalize.py
index a555f23708..8d6e910a42 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/img_invert.py
+++ b/src/main/python/tests/auto_tests/test_normalize.py
@@ -20,27 +20,24 @@
# -------------------------------------------------------------
# Autogenerated By : src/main/python/generator/generator.py
-# Autogenerated From : scripts/builtin/img_invert.dml
+import unittest, contextlib, io
+class TestNORMALIZE(unittest.TestCase):
+ def test_normalize(self):
+ # Example test case provided in python the code block
+ buf = io.StringIO()
+ with contextlib.redirect_stdout(buf):
+ import numpy as np
+ from systemds.context import SystemDSContext
+ from systemds.operator.algorithm import normalize
-from typing import Dict, Iterable
+ with SystemDSContext() as sds:
+ X = sds.from_numpy(np.array([[1, 2], [3, 4]]))
+ Y, cmin, cmax = normalize(X).compute()
+ print(Y)
-from systemds.operator import OperationNode, Matrix, Frame, List, MultiReturn, Scalar
-from systemds.utils.consts import VALID_INPUT_TYPES
+ expected="""[[0. 0.]
+ [1. 1.]]"""
+ self.assertEqual(buf.getvalue().strip(), expected)
-
-def img_invert(img_in: Matrix,
- max_value: float):
- """
- This is an image data augmentation function. It inverts an image.
-
-
-
- :param img_in: Input image
- :param max_value: The maximum value pixels can have
- :return: Output image
- """
-
- params_dict = {'img_in': img_in, 'max_value': max_value}
- return Matrix(img_in.sds_context,
- 'img_invert',
- named_input_nodes=params_dict)
+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
new file mode 100644
index 0000000000..917e6524d3
--- /dev/null
+++ b/src/main/python/tests/auto_tests/test_randomForest.py
@@ -0,0 +1,71 @@
+# -------------------------------------------------------------
+#
+# 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.
+#
+# -------------------------------------------------------------
+
+# 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
+ buf = io.StringIO()
+ with contextlib.redirect_stdout(buf):
+ import numpy as np
+ from systemds.context import SystemDSContext
+ from systemds.operator.algorithm import randomForest, randomForestPredict
+
+ # tiny toy dataset
+ X = np.array([[1],
+ [2],
+ [10],
+ [11]], dtype=np.int64)
+ y = np.array([[1],
+ [1],
+ [2],
+ [2]], dtype=np.int64)
+
+ with SystemDSContext() as sds:
+ X_sds = sds.from_numpy(X)
+ y_sds = sds.from_numpy(y)
+
+ ctypes = sds.from_numpy(np.array([[1, 2]], dtype=np.int64))
+
+ # train a 4-tree forest (no sampling)
+ M = randomForest(
+ X_sds, y_sds, ctypes,
+ num_trees = 4,
+ sample_frac = 1.0,
+ feature_frac = 1.0,
+ max_depth = 3,
+ min_leaf = 1,
+ min_split = 2,
+ seed = 42
+ )
+
+ preds = randomForestPredict(X_sds, ctypes, M).compute()
+ print(preds)
+
+ 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
new file mode 100644
index 0000000000..48b8e06bdf
--- /dev/null
+++ b/src/main/python/tests/auto_tests/test_randomForestPredict.py
@@ -0,0 +1,71 @@
+# -------------------------------------------------------------
+#
+# 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.
+#
+# -------------------------------------------------------------
+
+# 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
+ buf = io.StringIO()
+ with contextlib.redirect_stdout(buf):
+ import numpy as np
+ from systemds.context import SystemDSContext
+ from systemds.operator.algorithm import randomForest, randomForestPredict
+
+ # tiny toy dataset
+ X = np.array([[1],
+ [2],
+ [10],
+ [11]], dtype=np.int64)
+ y = np.array([[1],
+ [1],
+ [2],
+ [2]], dtype=np.int64)
+
+ with SystemDSContext() as sds:
+ X_sds = sds.from_numpy(X)
+ y_sds = sds.from_numpy(y)
+
+ ctypes = sds.from_numpy(np.array([[1, 2]], dtype=np.int64))
+
+ # train a 4-tree forest (no sampling)
+ M = randomForest(
+ X_sds, y_sds, ctypes,
+ num_trees = 4,
+ sample_frac = 1.0,
+ feature_frac = 1.0,
+ max_depth = 3,
+ min_leaf = 1,
+ min_split = 2,
+ seed = 42
+ )
+
+ preds = randomForestPredict(X_sds, ctypes, M).compute()
+ print(preds)
+
+ expected="""[[1.]
+ [1.]
+ [2.]
+ [2.]]"""
+ self.assertEqual(buf.getvalue().strip(), expected)
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/src/main/python/systemds/operator/algorithm/builtin/img_invert.py b/src/main/python/tests/auto_tests/test_toOneHot.py
similarity index 56%
copy from src/main/python/systemds/operator/algorithm/builtin/img_invert.py
copy to src/main/python/tests/auto_tests/test_toOneHot.py
index a555f23708..4d6b15e79f 100644
--- a/src/main/python/systemds/operator/algorithm/builtin/img_invert.py
+++ b/src/main/python/tests/auto_tests/test_toOneHot.py
@@ -20,27 +20,26 @@
# -------------------------------------------------------------
# Autogenerated By : src/main/python/generator/generator.py
-# Autogenerated From : scripts/builtin/img_invert.dml
+import unittest, contextlib, io
+class TestTOONEHOT(unittest.TestCase):
+ def test_toOneHot(self):
+ # Example test case provided in python the code block
+ buf = io.StringIO()
+ with contextlib.redirect_stdout(buf):
+ import numpy as np
+ from systemds.context import SystemDSContext
+ from systemds.operator.algorithm import toOneHot
-from typing import Dict, Iterable
+ with SystemDSContext() as sds:
+ X = sds.from_numpy(np.array([[1], [3], [2], [3]]))
+ Y = toOneHot(X, numClasses=3).compute()
+ print(Y)
-from systemds.operator import OperationNode, Matrix, Frame, List, MultiReturn, Scalar
-from systemds.utils.consts import VALID_INPUT_TYPES
+ expected="""[[1. 0. 0.]
+ [0. 0. 1.]
+ [0. 1. 0.]
+ [0. 0. 1.]]"""
+ self.assertEqual(buf.getvalue().strip(), expected)
-
-def img_invert(img_in: Matrix,
- max_value: float):
- """
- This is an image data augmentation function. It inverts an image.
-
-
-
- :param img_in: Input image
- :param max_value: The maximum value pixels can have
- :return: Output image
- """
-
- params_dict = {'img_in': img_in, 'max_value': max_value}
- return Matrix(img_in.sds_context,
- 'img_invert',
- named_input_nodes=params_dict)
+if __name__ == '__main__':
+ unittest.main()
(systemds) 02/02: [MINOR] Python Testing Cleanup
Posted by ba...@apache.org.
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):