scikit-learn-intelex 2025.4.0__py311-none-win_amd64.whl → 2025.6.0__py311-none-win_amd64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of scikit-learn-intelex might be problematic. Click here for more details.

Files changed (270) hide show
  1. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/__main__.py +1 -1
  2. scikit_learn_intelex-2025.6.0.data/data/Lib/site-packages/daal4py/_daal4py.cp311-win_amd64.pyd +0 -0
  3. scikit_learn_intelex-2025.6.0.data/data/Lib/site-packages/daal4py/mb/__init__.py +83 -0
  4. scikit_learn_intelex-2025.6.0.data/data/Lib/site-packages/daal4py/mb/gbt_convertors.py +922 -0
  5. scikit_learn_intelex-2025.6.0.data/data/Lib/site-packages/daal4py/mb/logistic_regression_builders.py +217 -0
  6. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/daal4py/mb/model_builders.py → scikit_learn_intelex-2025.6.0.data/data/Lib/site-packages/daal4py/mb/tree_based_builders.py +129 -106
  7. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/mpi_transceiver.cp311-win_amd64.pyd +0 -0
  8. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/_n_jobs_support.py +6 -2
  9. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/_utils.py +1 -1
  10. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/dbscan.py +2 -2
  11. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/k_means.py +6 -38
  12. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/decomposition/_pca.py +12 -8
  13. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/AdaBoostClassifier.py +2 -6
  14. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/GBTDAAL.py +3 -7
  15. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/_forest.py +41 -153
  16. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/_coordinate_descent.py +13 -15
  17. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/_linear.py +7 -10
  18. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/_ridge.py +22 -57
  19. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/logistic_path.py +3 -4
  20. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/manifold/_t_sne.py +8 -3
  21. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/metrics/_pairwise.py +30 -7
  22. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/dispatcher.py +3 -3
  23. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_base.py +6 -16
  24. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_classification.py +4 -7
  25. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_regression.py +3 -5
  26. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/svm/svm.py +4 -2
  27. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/base.py +8 -3
  28. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/validation.py +82 -5
  29. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/__init__.py +125 -83
  30. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/_config.py +27 -2
  31. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/_device_offload.py +86 -82
  32. scikit_learn_intelex-2025.6.0.data/data/Lib/site-packages/onedal/_onedal_py_dpc.cp311-win_amd64.pyd +0 -0
  33. scikit_learn_intelex-2025.6.0.data/data/Lib/site-packages/onedal/_onedal_py_host.cp311-win_amd64.pyd +0 -0
  34. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/basic_statistics/basic_statistics.py +21 -17
  35. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/basic_statistics/incremental_basic_statistics.py +44 -39
  36. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/cluster/dbscan.py +35 -42
  37. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/cluster/kmeans.py +83 -74
  38. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/cluster/kmeans_init.py +57 -24
  39. scikit_learn_intelex-2025.6.0.data/data/Lib/site-packages/onedal/common/_backend.py +233 -0
  40. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/common/hyperparameters.py +4 -4
  41. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/common/tests/test_sycl.py +27 -12
  42. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/covariance/covariance.py +27 -19
  43. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/covariance/incremental_covariance.py +35 -32
  44. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/datatypes/_data_conversion.py +6 -10
  45. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/datatypes/tests/test_data.py +179 -78
  46. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/decomposition/incremental_pca.py +39 -25
  47. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/decomposition/pca.py +28 -16
  48. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/decomposition/tests/test_incremental_pca.py +2 -2
  49. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/ensemble/forest.py +130 -93
  50. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/linear_model/incremental_linear_model.py +76 -57
  51. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/linear_model/linear_model.py +63 -37
  52. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/linear_model/logistic_regression.py +96 -68
  53. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/neighbors/neighbors.py +156 -119
  54. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/primitives/get_tree.py +5 -3
  55. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/primitives/kernel_functions.py +21 -18
  56. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/primitives/tests/test_kernel_functions.py +4 -4
  57. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/svm/svm.py +80 -32
  58. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/svm/tests/test_csr_svm.py +10 -9
  59. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/svm/tests/test_nusvc.py +10 -10
  60. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/svm/tests/test_nusvr.py +8 -8
  61. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/svm/tests/test_svc.py +5 -5
  62. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/svm/tests/test_svr.py +10 -10
  63. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/tests/utils/_device_selection.py +3 -13
  64. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/utils/_array_api.py +14 -2
  65. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/utils/_dpep_helpers.py +16 -1
  66. scikit_learn_intelex-2025.6.0.data/data/Lib/site-packages/onedal/utils/_sycl_queue_manager.py +161 -0
  67. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/utils/tests/test_validation.py +3 -3
  68. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/utils/validation.py +47 -16
  69. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/__init__.py +3 -2
  70. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/__main__.py +2 -2
  71. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/_config.py +48 -6
  72. scikit_learn_intelex-2025.6.0.data/data/Lib/site-packages/sklearnex/_device_offload.py +194 -0
  73. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/_utils.py +36 -43
  74. scikit_learn_intelex-2025.6.0.data/data/Lib/site-packages/sklearnex/base.py +109 -0
  75. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/basic_statistics.py +14 -20
  76. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/incremental_basic_statistics.py +31 -40
  77. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/cluster/dbscan.py +10 -11
  78. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/cluster/k_means.py +20 -19
  79. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/covariance/incremental_covariance.py +49 -62
  80. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/decomposition/pca.py +9 -20
  81. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/dispatcher.py +4 -4
  82. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/doc/third-party-programs.txt +207 -2
  83. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/ensemble/_forest.py +111 -366
  84. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/glob/__main__.py +1 -1
  85. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/glob/dispatcher.py +1 -1
  86. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/linear_model/coordinate_descent.py +18 -6
  87. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/linear_model/incremental_linear.py +41 -126
  88. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/linear_model/incremental_ridge.py +37 -85
  89. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/linear_model/linear.py +52 -47
  90. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/linear_model/logistic_regression.py +45 -84
  91. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/linear_model/ridge.py +17 -20
  92. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_linear.py +60 -1
  93. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_logreg.py +2 -2
  94. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/manifold/t_sne.py +8 -6
  95. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/metrics/pairwise.py +1 -3
  96. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/metrics/ranking.py +1 -1
  97. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/model_selection/split.py +1 -3
  98. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/neighbors/_lof.py +7 -54
  99. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/neighbors/common.py +6 -5
  100. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_classification.py +31 -73
  101. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_regression.py +30 -70
  102. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/neighbors/knn_unsupervised.py +5 -13
  103. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/preview/covariance/covariance.py +6 -19
  104. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/preview/decomposition/incremental_pca.py +45 -62
  105. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/tests/test_basic_statistics_spmd.py +10 -3
  106. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/tests/test_incremental_basic_statistics_spmd.py +8 -4
  107. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/tests/test_dbscan_spmd.py +13 -2
  108. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/tests/test_kmeans_spmd.py +10 -3
  109. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/tests/test_covariance_spmd.py +7 -4
  110. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/tests/test_incremental_covariance_spmd.py +13 -2
  111. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/tests/test_incremental_pca_spmd.py +9 -2
  112. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/tests/test_pca_spmd.py +7 -2
  113. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/ensemble/tests/test_forest_spmd.py +25 -8
  114. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_incremental_linear_spmd.py +6 -2
  115. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_linear_regression_spmd.py +12 -3
  116. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/tests/test_logistic_regression_spmd.py +12 -5
  117. {scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/daal4py/mb → scikit_learn_intelex-2025.6.0.data/data/Lib/site-packages/sklearnex/spmd/neighbors}/__init__.py +2 -2
  118. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/neighbors/tests/test_neighbors_spmd.py +27 -5
  119. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/svm/_common.py +15 -28
  120. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/svm/nusvc.py +36 -129
  121. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/svm/nusvr.py +10 -22
  122. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/svm/svc.py +34 -127
  123. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/svm/svr.py +10 -22
  124. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/tests/test_common.py +51 -11
  125. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/tests/test_config.py +62 -0
  126. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/tests/test_memory_usage.py +18 -24
  127. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/tests/test_monkeypatch.py +4 -4
  128. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/tests/test_patching.py +89 -60
  129. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/tests/test_run_to_run_stability.py +7 -0
  130. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/tests/utils/base.py +2 -2
  131. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/utils/validation.py +8 -22
  132. {scikit_learn_intelex-2025.4.0.dist-info → scikit_learn_intelex-2025.6.0.dist-info}/METADATA +2 -3
  133. scikit_learn_intelex-2025.6.0.dist-info/RECORD +257 -0
  134. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/daal4py/_daal4py.cp311-win_amd64.pyd +0 -0
  135. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/daal4py/doc/third-party-programs.txt +0 -424
  136. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/_onedal_py_dpc.cp311-win_amd64.pyd +0 -0
  137. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/_onedal_py_host.cp311-win_amd64.pyd +0 -0
  138. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/common/_base.py +0 -38
  139. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/common/_policy.py +0 -55
  140. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/common/_spmd_policy.py +0 -30
  141. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/common/tests/test_policy.py +0 -76
  142. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/onedal/utils/__init__.py +0 -49
  143. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/_device_offload.py +0 -126
  144. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/spmd/neighbors/__init__.py +0 -19
  145. scikit_learn_intelex-2025.4.0.data/data/Lib/site-packages/sklearnex/spmd/neighbors/neighbors.py +0 -25
  146. scikit_learn_intelex-2025.4.0.dist-info/RECORD +0 -259
  147. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/__init__.py +0 -0
  148. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/__init__.py +0 -0
  149. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/__init__.py +0 -0
  150. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/cluster/tests/test_dbscan.py +0 -0
  151. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/decomposition/__init__.py +0 -0
  152. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/__init__.py +0 -0
  153. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/ensemble/tests/test_decision_forest.py +0 -0
  154. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/__init__.py +0 -0
  155. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/coordinate_descent.py +0 -0
  156. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/linear.py +0 -0
  157. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/logistic_loss.py +0 -0
  158. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/ridge.py +0 -0
  159. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/tests/test_linear.py +0 -0
  160. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/linear_model/tests/test_ridge.py +0 -0
  161. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/manifold/__init__.py +0 -0
  162. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/metrics/__init__.py +0 -0
  163. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/metrics/_ranking.py +0 -0
  164. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/model_selection/__init__.py +0 -0
  165. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/model_selection/_split.py +0 -0
  166. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/model_selection/tests/test_split.py +0 -0
  167. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/__init__.py +0 -0
  168. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/_models_info.py +0 -0
  169. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/test_monkeypatch.py +0 -0
  170. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/test_patching.py +0 -0
  171. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/monkeypatch/tests/utils/_launch_algorithms.py +0 -0
  172. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/__init__.py +0 -0
  173. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/_unsupervised.py +0 -0
  174. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/neighbors/tests/test_kneighbors.py +0 -0
  175. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/svm/__init__.py +0 -0
  176. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/__init__.py +0 -0
  177. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/daal4py/sklearn/utils/tests/test_utils.py +0 -0
  178. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/basic_statistics/__init__.py +0 -0
  179. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/basic_statistics/tests/test_basic_statistics.py +0 -0
  180. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/basic_statistics/tests/test_incremental_basic_statistics.py +0 -0
  181. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/basic_statistics/tests/utils.py +0 -0
  182. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/cluster/__init__.py +0 -0
  183. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/cluster/tests/test_dbscan.py +0 -0
  184. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/cluster/tests/test_kmeans.py +0 -0
  185. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/cluster/tests/test_kmeans_init.py +0 -0
  186. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/common/_estimator_checks.py +0 -0
  187. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/common/_mixin.py +0 -0
  188. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/covariance/__init__.py +0 -0
  189. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/covariance/tests/test_covariance.py +0 -0
  190. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/covariance/tests/test_incremental_covariance.py +0 -0
  191. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/datatypes/__init__.py +0 -0
  192. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/datatypes/tests/common.py +0 -0
  193. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/decomposition/__init__.py +0 -0
  194. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/ensemble/__init__.py +0 -0
  195. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/ensemble/tests/test_random_forest.py +0 -0
  196. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/linear_model/__init__.py +0 -0
  197. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_incremental_linear_regression.py +0 -0
  198. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_incremental_ridge_regression.py +0 -0
  199. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_linear_regression.py +0 -0
  200. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_logistic_regression.py +0 -0
  201. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/linear_model/tests/test_ridge.py +0 -0
  202. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/neighbors/__init__.py +0 -0
  203. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/neighbors/tests/test_knn_classification.py +0 -0
  204. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/primitives/__init__.py +0 -0
  205. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/svm/__init__.py +0 -0
  206. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/tests/test_common.py +0 -0
  207. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/onedal/tests/utils/_dataframes_support.py +0 -0
  208. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/__init__.py +0 -0
  209. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/tests/test_basic_statistics.py +0 -0
  210. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/basic_statistics/tests/test_incremental_basic_statistics.py +0 -0
  211. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/cluster/__init__.py +0 -0
  212. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/cluster/tests/test_dbscan.py +0 -0
  213. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/cluster/tests/test_kmeans.py +0 -0
  214. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/conftest.py +0 -0
  215. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/covariance/__init__.py +0 -0
  216. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/covariance/tests/test_incremental_covariance.py +0 -0
  217. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/decomposition/__init__.py +0 -0
  218. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/decomposition/tests/test_pca.py +0 -0
  219. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/ensemble/__init__.py +0 -0
  220. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/ensemble/tests/test_forest.py +0 -0
  221. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/linear_model/__init__.py +0 -0
  222. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_incremental_linear.py +0 -0
  223. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_incremental_ridge.py +0 -0
  224. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/linear_model/tests/test_ridge.py +0 -0
  225. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/manifold/__init__.py +0 -0
  226. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/manifold/tests/test_tsne.py +0 -0
  227. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/metrics/__init__.py +0 -0
  228. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/metrics/tests/test_metrics.py +0 -0
  229. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/model_selection/__init__.py +0 -0
  230. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/model_selection/tests/test_model_selection.py +0 -0
  231. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/neighbors/__init__.py +0 -0
  232. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/neighbors/tests/test_neighbors.py +0 -0
  233. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/preview/__init__.py +0 -0
  234. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/preview/covariance/__init__.py +0 -0
  235. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/preview/covariance/tests/test_covariance.py +0 -0
  236. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/preview/decomposition/__init__.py +0 -0
  237. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/preview/decomposition/tests/test_incremental_pca.py +0 -0
  238. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/__init__.py +0 -0
  239. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/__init__.py +0 -0
  240. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/basic_statistics.py +0 -0
  241. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/basic_statistics/incremental_basic_statistics.py +0 -0
  242. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/__init__.py +0 -0
  243. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/dbscan.py +0 -0
  244. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/cluster/kmeans.py +0 -0
  245. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/__init__.py +0 -0
  246. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/covariance.py +0 -0
  247. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/covariance/incremental_covariance.py +0 -0
  248. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/__init__.py +0 -0
  249. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/incremental_pca.py +0 -0
  250. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/decomposition/pca.py +0 -0
  251. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/ensemble/__init__.py +0 -0
  252. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/ensemble/forest.py +0 -0
  253. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/__init__.py +0 -0
  254. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/incremental_linear_model.py +0 -0
  255. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/linear_model.py +0 -0
  256. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/spmd/linear_model/logistic_regression.py +0 -0
  257. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/svm/__init__.py +0 -0
  258. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/svm/tests/test_svm.py +0 -0
  259. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/tests/test_hyperparameters.py +0 -0
  260. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/tests/test_n_jobs_support.py +0 -0
  261. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/tests/test_parallel.py +0 -0
  262. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/tests/utils/__init__.py +0 -0
  263. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/tests/utils/spmd.py +0 -0
  264. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/utils/__init__.py +0 -0
  265. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/utils/_array_api.py +0 -0
  266. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/utils/parallel.py +0 -0
  267. {scikit_learn_intelex-2025.4.0.data → scikit_learn_intelex-2025.6.0.data}/data/Lib/site-packages/sklearnex/utils/tests/test_validation.py +0 -0
  268. {scikit_learn_intelex-2025.4.0.dist-info → scikit_learn_intelex-2025.6.0.dist-info}/LICENSE.txt +0 -0
  269. {scikit_learn_intelex-2025.4.0.dist-info → scikit_learn_intelex-2025.6.0.dist-info}/WHEEL +0 -0
  270. {scikit_learn_intelex-2025.4.0.dist-info → scikit_learn_intelex-2025.6.0.dist-info}/top_level.txt +0 -0
@@ -25,19 +25,17 @@ from daal4py.sklearn._n_jobs_support import control_n_jobs
25
25
  from daal4py.sklearn._utils import sklearn_check_version
26
26
  from onedal.cluster import DBSCAN as onedal_DBSCAN
27
27
 
28
+ from .._config import get_config
28
29
  from .._device_offload import dispatch
29
- from .._utils import PatchableEstimator, PatchingConditionsChain
30
+ from .._utils import PatchingConditionsChain
31
+ from ..base import oneDALEstimator
32
+ from ..utils.validation import validate_data
30
33
 
31
34
  if sklearn_check_version("1.1") and not sklearn_check_version("1.2"):
32
35
  from sklearn.utils import check_scalar
33
36
 
34
- if sklearn_check_version("1.6"):
35
- from sklearn.utils.validation import validate_data
36
- else:
37
- validate_data = _sklearn_DBSCAN._validate_data
38
37
 
39
-
40
- class BaseDBSCAN(ABC):
38
+ class BaseDBSCAN(oneDALEstimator):
41
39
  def _onedal_dbscan(self, **onedal_params):
42
40
  return onedal_DBSCAN(**onedal_params)
43
41
 
@@ -51,7 +49,7 @@ class BaseDBSCAN(ABC):
51
49
 
52
50
 
53
51
  @control_n_jobs(decorated_methods=["fit"])
54
- class DBSCAN(PatchableEstimator, _sklearn_DBSCAN, BaseDBSCAN):
52
+ class DBSCAN(BaseDBSCAN, _sklearn_DBSCAN):
55
53
  __doc__ = _sklearn_DBSCAN.__doc__
56
54
 
57
55
  if sklearn_check_version("1.2"):
@@ -89,8 +87,8 @@ class DBSCAN(PatchableEstimator, _sklearn_DBSCAN, BaseDBSCAN):
89
87
  self.n_jobs = n_jobs
90
88
 
91
89
  def _onedal_fit(self, X, y, sample_weight=None, queue=None):
92
- if sklearn_check_version("1.0"):
93
- X = validate_data(self, X, force_all_finite=False)
90
+ if get_config()["use_raw_input"] is False:
91
+ X = validate_data(self, X, ensure_all_finite=False)
94
92
 
95
93
  onedal_params = {
96
94
  "eps": self.eps,
@@ -178,7 +176,8 @@ class DBSCAN(PatchableEstimator, _sklearn_DBSCAN, BaseDBSCAN):
178
176
  if self.eps <= 0.0:
179
177
  raise ValueError(f"eps == {self.eps}, must be > 0.0.")
180
178
 
181
- if sample_weight is not None:
179
+ use_raw_input = get_config().get("use_raw_input", False) is True
180
+ if not use_raw_input and sample_weight is not None:
182
181
  sample_weight = _check_sample_weight(sample_weight, X)
183
182
  dispatch(
184
183
  self,
@@ -35,19 +35,18 @@ if daal_check_version((2023, "P", 200)):
35
35
 
36
36
  from daal4py.sklearn._n_jobs_support import control_n_jobs
37
37
  from daal4py.sklearn._utils import sklearn_check_version
38
+ from onedal._device_offload import support_input_format
38
39
  from onedal.cluster import KMeans as onedal_KMeans
39
- from onedal.utils import _is_csr
40
+ from onedal.utils.validation import _is_csr
40
41
 
41
42
  from .._device_offload import dispatch, wrap_output_data
42
- from .._utils import PatchableEstimator, PatchingConditionsChain
43
-
44
- if sklearn_check_version("1.6"):
45
- from sklearn.utils.validation import validate_data
46
- else:
47
- validate_data = _sklearn_KMeans._validate_data
43
+ from .._utils import PatchingConditionsChain
44
+ from ..base import oneDALEstimator
45
+ from ..utils._array_api import get_namespace
46
+ from ..utils.validation import validate_data
48
47
 
49
48
  @control_n_jobs(decorated_methods=["fit", "fit_transform", "predict", "score"])
50
- class KMeans(PatchableEstimator, _sklearn_KMeans):
49
+ class KMeans(oneDALEstimator, _sklearn_KMeans):
51
50
  __doc__ = _sklearn_KMeans.__doc__
52
51
 
53
52
  if sklearn_check_version("1.2"):
@@ -321,16 +320,20 @@ if daal_check_version((2023, "P", 200)):
321
320
  _onedal_gpu_supported = _onedal_supported
322
321
  _onedal_cpu_supported = _onedal_supported
323
322
 
324
- @wrap_output_data
325
- def fit_transform(self, X, y=None, sample_weight=None):
326
- return self.fit(X, sample_weight=sample_weight)._transform(X)
327
-
328
- @wrap_output_data
329
- def transform(self, X):
330
- check_is_fitted(self)
323
+ def _check_test_data(self, X):
324
+ xp, _ = get_namespace(X)
325
+ X = validate_data(
326
+ self,
327
+ X,
328
+ accept_sparse="csr",
329
+ reset=False,
330
+ dtype=[xp.float64, xp.float32],
331
+ order="C",
332
+ accept_large_sparse=False,
333
+ )
334
+ return X
331
335
 
332
- X = self._check_test_data(X)
333
- return self._transform(X)
336
+ _transform = support_input_format(_sklearn_KMeans._transform)
334
337
 
335
338
  @wrap_output_data
336
339
  def score(self, X, y=None, sample_weight=None):
@@ -385,8 +388,6 @@ if daal_check_version((2023, "P", 200)):
385
388
 
386
389
  fit.__doc__ = _sklearn_KMeans.fit.__doc__
387
390
  predict.__doc__ = _sklearn_KMeans.predict.__doc__
388
- transform.__doc__ = _sklearn_KMeans.transform.__doc__
389
- fit_transform.__doc__ = _sklearn_KMeans.fit_transform.__doc__
390
391
  score.__doc__ = _sklearn_KMeans.score.__doc__
391
392
 
392
393
  else:
@@ -30,24 +30,27 @@ from daal4py.sklearn._utils import daal_check_version, sklearn_check_version
30
30
  from onedal.covariance import (
31
31
  IncrementalEmpiricalCovariance as onedal_IncrementalEmpiricalCovariance,
32
32
  )
33
+ from onedal.utils._array_api import _is_numpy_namespace
33
34
  from sklearnex import config_context
34
35
 
36
+ from .._config import get_config
35
37
  from .._device_offload import dispatch, wrap_output_data
36
- from .._utils import IntelEstimator, PatchingConditionsChain, register_hyperparameters
38
+ from .._utils import (
39
+ PatchingConditionsChain,
40
+ _add_inc_serialization_note,
41
+ register_hyperparameters,
42
+ )
43
+ from ..base import oneDALEstimator
37
44
  from ..metrics import pairwise_distances
38
45
  from ..utils._array_api import get_namespace
46
+ from ..utils.validation import check_feature_names, validate_data
39
47
 
40
48
  if sklearn_check_version("1.2"):
41
49
  from sklearn.utils._param_validation import Interval
42
50
 
43
- if sklearn_check_version("1.6"):
44
- from sklearn.utils.validation import validate_data
45
- else:
46
- validate_data = BaseEstimator._validate_data
47
-
48
51
 
49
52
  @control_n_jobs(decorated_methods=["partial_fit", "fit", "_onedal_finalize_fit"])
50
- class IncrementalEmpiricalCovariance(IntelEstimator, BaseEstimator):
53
+ class IncrementalEmpiricalCovariance(oneDALEstimator, BaseEstimator):
51
54
  """
52
55
  Maximum likelihood covariance estimator that allows for the estimation when the data are split into
53
56
  batches. The user can use the ``partial_fit`` method to provide a single batch of data or use the ``fit`` method to provide
@@ -92,12 +95,7 @@ class IncrementalEmpiricalCovariance(IntelEstimator, BaseEstimator):
92
95
  n_features_in_ : int
93
96
  Number of features seen during ``fit`` or ``partial_fit``.
94
97
 
95
- Note
96
- ----
97
- Serializing instances of this class will trigger a forced finalization of calculations.
98
- Since finalize_fit can't be dispatched without directly provided queue
99
- and the dispatching policy can't be serialized, the computation is finalized
100
- during serialization and the policy is not saved in serialized data.
98
+ %incremental_serialization_note%
101
99
 
102
100
  Examples
103
101
  --------
@@ -118,6 +116,8 @@ class IncrementalEmpiricalCovariance(IntelEstimator, BaseEstimator):
118
116
  np.array([2., 3.])
119
117
  """
120
118
 
119
+ __doc__ = _add_inc_serialization_note(__doc__)
120
+
121
121
  _onedal_incremental_covariance = staticmethod(onedal_IncrementalEmpiricalCovariance)
122
122
 
123
123
  if sklearn_check_version("1.2"):
@@ -145,9 +145,9 @@ class IncrementalEmpiricalCovariance(IntelEstimator, BaseEstimator):
145
145
  )
146
146
  return patching_status
147
147
 
148
- def _onedal_finalize_fit(self, queue=None):
148
+ def _onedal_finalize_fit(self):
149
149
  assert hasattr(self, "_onedal_estimator")
150
- self._onedal_estimator.finalize_fit(queue=queue)
150
+ self._onedal_estimator.finalize_fit()
151
151
  self._need_to_finalize = False
152
152
 
153
153
  if not daal_check_version((2024, "P", 400)) and self.assume_centered:
@@ -184,30 +184,24 @@ class IncrementalEmpiricalCovariance(IntelEstimator, BaseEstimator):
184
184
  )
185
185
 
186
186
  def _onedal_partial_fit(self, X, queue=None, check_input=True):
187
-
188
187
  first_pass = not hasattr(self, "n_samples_seen_") or self.n_samples_seen_ == 0
189
188
 
189
+ use_raw_input = get_config().get("use_raw_input", False) is True
190
+ # never check input when using raw input
191
+ check_input &= use_raw_input is False
190
192
  # finite check occurs on onedal side
191
193
  if check_input:
192
194
  if sklearn_check_version("1.2"):
193
195
  self._validate_params()
194
196
 
195
- if sklearn_check_version("1.0"):
196
- X = validate_data(
197
- self,
198
- X,
199
- dtype=[np.float64, np.float32],
200
- reset=first_pass,
201
- copy=self.copy,
202
- force_all_finite=False,
203
- )
204
- else:
205
- X = check_array(
206
- X,
207
- dtype=[np.float64, np.float32],
208
- copy=self.copy,
209
- force_all_finite=False,
210
- )
197
+ X = validate_data(
198
+ self,
199
+ X,
200
+ dtype=[np.float64, np.float32],
201
+ reset=first_pass,
202
+ copy=self.copy,
203
+ ensure_all_finite=False,
204
+ )
211
205
 
212
206
  onedal_params = {
213
207
  "method": "dense",
@@ -235,20 +229,14 @@ class IncrementalEmpiricalCovariance(IntelEstimator, BaseEstimator):
235
229
 
236
230
  check_is_fitted(self)
237
231
  location = self.location_
238
- if sklearn_check_version("1.0"):
239
- X = validate_data(
240
- self,
241
- X_test,
242
- dtype=[np.float64, np.float32],
243
- reset=False,
244
- )
245
- else:
246
- X = check_array(
247
- X_test,
248
- dtype=[np.float64, np.float32],
249
- )
232
+ X = validate_data(
233
+ self,
234
+ X_test,
235
+ dtype=[xp.float64, xp.float32],
236
+ reset=False,
237
+ )
250
238
 
251
- if "numpy" not in xp.__name__:
239
+ if not _is_numpy_namespace(xp):
252
240
  location = xp.asarray(location, device=X_test.device)
253
241
  # depending on the sklearn version, check_array
254
242
  # and validate_data will return only numpy arrays
@@ -286,7 +274,7 @@ class IncrementalEmpiricalCovariance(IntelEstimator, BaseEstimator):
286
274
 
287
275
  Returns
288
276
  -------
289
- self : object
277
+ self : IncrementalEmpiricalCovariance
290
278
  Returns the instance itself.
291
279
  """
292
280
  return dispatch(
@@ -302,7 +290,7 @@ class IncrementalEmpiricalCovariance(IntelEstimator, BaseEstimator):
302
290
 
303
291
  def fit(self, X, y=None):
304
292
  """
305
- Fit the model with X, using minibatches of size batch_size.
293
+ Fit the model with X, using minibatches of size ``batch_size``.
306
294
 
307
295
  Parameters
308
296
  ----------
@@ -315,7 +303,7 @@ class IncrementalEmpiricalCovariance(IntelEstimator, BaseEstimator):
315
303
 
316
304
  Returns
317
305
  -------
318
- self : object
306
+ self : IncrementalEmpiricalCovariance
319
307
  Returns the instance itself.
320
308
  """
321
309
 
@@ -334,23 +322,19 @@ class IncrementalEmpiricalCovariance(IntelEstimator, BaseEstimator):
334
322
  if hasattr(self, "_onedal_estimator"):
335
323
  self._onedal_estimator._reset()
336
324
 
337
- if sklearn_check_version("1.2"):
338
- self._validate_params()
325
+ use_raw_input = get_config().get("use_raw_input", False) is True
326
+ if not use_raw_input:
327
+ if sklearn_check_version("1.2"):
328
+ self._validate_params()
339
329
 
340
- # finite check occurs on onedal side
341
- if sklearn_check_version("1.0"):
330
+ # finite check occurs on onedal side
342
331
  X = validate_data(
343
332
  self,
344
333
  X,
345
334
  dtype=[np.float64, np.float32],
346
335
  copy=self.copy,
347
- force_all_finite=False,
336
+ ensure_all_finite=False,
348
337
  )
349
- else:
350
- X = check_array(
351
- X, dtype=[np.float64, np.float32], copy=self.copy, force_all_finite=False
352
- )
353
- self.n_features_in_ = X.shape[1]
354
338
 
355
339
  self.batch_size_ = self.batch_size if self.batch_size else 5 * self.n_features_in_
356
340
 
@@ -363,14 +347,13 @@ class IncrementalEmpiricalCovariance(IntelEstimator, BaseEstimator):
363
347
  X_batch = X[batch]
364
348
  self._onedal_partial_fit(X_batch, queue=queue, check_input=False)
365
349
 
366
- self._onedal_finalize_fit(queue=queue)
350
+ self._onedal_finalize_fit()
367
351
 
368
352
  return self
369
353
 
370
354
  # expose sklearnex pairwise_distances if mahalanobis distance eventually supported
371
355
  def mahalanobis(self, X):
372
- if sklearn_check_version("1.0"):
373
- self._check_feature_names(X, reset=False)
356
+ check_feature_names(self, X, reset=False)
374
357
 
375
358
  xp, _ = get_namespace(X)
376
359
  precision = self.get_precision()
@@ -379,12 +362,13 @@ class IncrementalEmpiricalCovariance(IntelEstimator, BaseEstimator):
379
362
  # self.location_) , and will check for finiteness via check array
380
363
  # check_feature_names will match _validate_data functionally
381
364
  location = self.location_[np.newaxis, :]
382
- if "numpy" not in xp.__name__:
365
+ if not _is_numpy_namespace(xp):
383
366
  # Guarantee that inputs to pairwise_distances match in type and location
384
367
  location = xp.asarray(location, device=X.device)
385
368
 
386
369
  try:
387
370
  dist = pairwise_distances(X, location, metric="mahalanobis", VI=precision)
371
+
388
372
  except ValueError as e:
389
373
  # Throw the expected sklearn error in an n_feature length violation
390
374
  if "Incompatible dimension for X and Y matrices: X.shape[1] ==" in str(e):
@@ -395,6 +379,9 @@ class IncrementalEmpiricalCovariance(IntelEstimator, BaseEstimator):
395
379
  else:
396
380
  raise e
397
381
 
382
+ if not _is_numpy_namespace(xp):
383
+ dist = xp.asarray(dist, device=X.device)
384
+
398
385
  return (xp.reshape(dist, (-1,))) ** 2
399
386
 
400
387
  _onedal_cpu_supported = _onedal_supported
@@ -18,8 +18,6 @@ import logging
18
18
 
19
19
  from daal4py.sklearn._utils import daal_check_version
20
20
 
21
- from .._utils import PatchableEstimator
22
-
23
21
  if daal_check_version((2024, "P", 100)):
24
22
  import numbers
25
23
  from math import sqrt
@@ -34,7 +32,9 @@ if daal_check_version((2024, "P", 100)):
34
32
 
35
33
  from .._device_offload import dispatch, wrap_output_data
36
34
  from .._utils import PatchingConditionsChain
35
+ from ..base import oneDALEstimator
37
36
  from ..utils._array_api import get_namespace
37
+ from ..utils.validation import validate_data
38
38
 
39
39
  if sklearn_check_version("1.1") and not sklearn_check_version("1.2"):
40
40
  from sklearn.utils import check_scalar
@@ -46,13 +46,8 @@ if daal_check_version((2024, "P", 100)):
46
46
 
47
47
  from onedal.decomposition import PCA as onedal_PCA
48
48
 
49
- if sklearn_check_version("1.6"):
50
- from sklearn.utils.validation import validate_data
51
- else:
52
- validate_data = _sklearn_PCA._validate_data
53
-
54
49
  @control_n_jobs(decorated_methods=["fit", "transform", "fit_transform"])
55
- class PCA(PatchableEstimator, _sklearn_PCA):
50
+ class PCA(oneDALEstimator, _sklearn_PCA):
56
51
  __doc__ = _sklearn_PCA.__doc__
57
52
 
58
53
  if sklearn_check_version("1.2"):
@@ -184,18 +179,12 @@ if daal_check_version((2024, "P", 100)):
184
179
  )
185
180
 
186
181
  def _onedal_transform(self, X, queue=None):
187
- if sklearn_check_version("1.0"):
188
- X = validate_data(
189
- self,
190
- X,
191
- dtype=[np.float64, np.float32],
192
- reset=False,
193
- )
194
- else:
195
- X = check_array(
196
- X,
197
- dtype=[np.float64, np.float32],
198
- )
182
+ X = validate_data(
183
+ self,
184
+ X,
185
+ dtype=[np.float64, np.float32],
186
+ reset=False,
187
+ )
199
188
  self._validate_n_features_in_after_fitting(X)
200
189
 
201
190
  return self._onedal_estimator.predict(X, queue=queue)
@@ -454,10 +454,10 @@ def get_patch_names():
454
454
  def patch_sklearn(name=None, verbose=True, global_patch=False, preview=False):
455
455
  if preview:
456
456
  os.environ["SKLEARNEX_PREVIEW"] = "enabled_via_patch_sklearn"
457
- if not sklearn_check_version("0.24"):
457
+ if not sklearn_check_version("1.0"):
458
458
  raise NotImplementedError(
459
- "Intel(R) Extension for Scikit-learn* patches apply "
460
- "for scikit-learn >= 0.24 only ..."
459
+ "Extension for Scikit-learn* patches apply "
460
+ "for scikit-learn >= 1.0 only ..."
461
461
  )
462
462
 
463
463
  if global_patch:
@@ -482,7 +482,7 @@ def patch_sklearn(name=None, verbose=True, global_patch=False, preview=False):
482
482
 
483
483
  if verbose and sys.stderr is not None:
484
484
  sys.stderr.write(
485
- "Intel(R) Extension for Scikit-learn* enabled "
485
+ "Extension for Scikit-learn* enabled "
486
486
  "(https://github.com/uxlfoundation/scikit-learn-intelex)\n"
487
487
  )
488
488
 
@@ -1,4 +1,4 @@
1
- Intel® Extension for Scikit-learn Third Party Programs File
1
+ Extension for Scikit-learn Third Party Programs File
2
2
 
3
3
  This file contains the list of third party software (“third party programs”)
4
4
  contained in the Intel software and their required notices and/or license terms.
@@ -242,7 +242,7 @@ DAMAGE.
242
242
  -------------------------------------------------------------
243
243
 
244
244
  3. Cython
245
- Apache License
245
+ Apache License
246
246
  Version 2.0, January 2004
247
247
  https://www.apache.org/licenses/
248
248
 
@@ -421,4 +421,209 @@ Apache License
421
421
 
422
422
  -------------------------------------------------------------
423
423
 
424
+ 4. DLPack
425
+ Apache License
426
+ Version 2.0, January 2004
427
+ http://www.apache.org/licenses/
428
+
429
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
430
+
431
+ 1. Definitions.
432
+
433
+ "License" shall mean the terms and conditions for use, reproduction,
434
+ and distribution as defined by Sections 1 through 9 of this document.
435
+
436
+ "Licensor" shall mean the copyright owner or entity authorized by
437
+ the copyright owner that is granting the License.
438
+
439
+ "Legal Entity" shall mean the union of the acting entity and all
440
+ other entities that control, are controlled by, or are under common
441
+ control with that entity. For the purposes of this definition,
442
+ "control" means (i) the power, direct or indirect, to cause the
443
+ direction or management of such entity, whether by contract or
444
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
445
+ outstanding shares, or (iii) beneficial ownership of such entity.
446
+
447
+ "You" (or "Your") shall mean an individual or Legal Entity
448
+ exercising permissions granted by this License.
449
+
450
+ "Source" form shall mean the preferred form for making modifications,
451
+ including but not limited to software source code, documentation
452
+ source, and configuration files.
453
+
454
+ "Object" form shall mean any form resulting from mechanical
455
+ transformation or translation of a Source form, including but
456
+ not limited to compiled object code, generated documentation,
457
+ and conversions to other media types.
458
+
459
+ "Work" shall mean the work of authorship, whether in Source or
460
+ Object form, made available under the License, as indicated by a
461
+ copyright notice that is included in or attached to the work
462
+ (an example is provided in the Appendix below).
463
+
464
+ "Derivative Works" shall mean any work, whether in Source or Object
465
+ form, that is based on (or derived from) the Work and for which the
466
+ editorial revisions, annotations, elaborations, or other modifications
467
+ represent, as a whole, an original work of authorship. For the purposes
468
+ of this License, Derivative Works shall not include works that remain
469
+ separable from, or merely link (or bind by name) to the interfaces of,
470
+ the Work and Derivative Works thereof.
471
+
472
+ "Contribution" shall mean any work of authorship, including
473
+ the original version of the Work and any modifications or additions
474
+ to that Work or Derivative Works thereof, that is intentionally
475
+ submitted to Licensor for inclusion in the Work by the copyright owner
476
+ or by an individual or Legal Entity authorized to submit on behalf of
477
+ the copyright owner. For the purposes of this definition, "submitted"
478
+ means any form of electronic, verbal, or written communication sent
479
+ to the Licensor or its representatives, including but not limited to
480
+ communication on electronic mailing lists, source code control systems,
481
+ and issue tracking systems that are managed by, or on behalf of, the
482
+ Licensor for the purpose of discussing and improving the Work, but
483
+ excluding communication that is conspicuously marked or otherwise
484
+ designated in writing by the copyright owner as "Not a Contribution."
485
+
486
+ "Contributor" shall mean Licensor and any individual or Legal Entity
487
+ on behalf of whom a Contribution has been received by Licensor and
488
+ subsequently incorporated within the Work.
489
+
490
+ 2. Grant of Copyright License. Subject to the terms and conditions of
491
+ this License, each Contributor hereby grants to You a perpetual,
492
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
493
+ copyright license to reproduce, prepare Derivative Works of,
494
+ publicly display, publicly perform, sublicense, and distribute the
495
+ Work and such Derivative Works in Source or Object form.
496
+
497
+ 3. Grant of Patent License. Subject to the terms and conditions of
498
+ this License, each Contributor hereby grants to You a perpetual,
499
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
500
+ (except as stated in this section) patent license to make, have made,
501
+ use, offer to sell, sell, import, and otherwise transfer the Work,
502
+ where such license applies only to those patent claims licensable
503
+ by such Contributor that are necessarily infringed by their
504
+ Contribution(s) alone or by combination of their Contribution(s)
505
+ with the Work to which such Contribution(s) was submitted. If You
506
+ institute patent litigation against any entity (including a
507
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
508
+ or a Contribution incorporated within the Work constitutes direct
509
+ or contributory patent infringement, then any patent licenses
510
+ granted to You under this License for that Work shall terminate
511
+ as of the date such litigation is filed.
512
+
513
+ 4. Redistribution. You may reproduce and distribute copies of the
514
+ Work or Derivative Works thereof in any medium, with or without
515
+ modifications, and in Source or Object form, provided that You
516
+ meet the following conditions:
517
+
518
+ (a) You must give any other recipients of the Work or
519
+ Derivative Works a copy of this License; and
520
+
521
+ (b) You must cause any modified files to carry prominent notices
522
+ stating that You changed the files; and
523
+
524
+ (c) You must retain, in the Source form of any Derivative Works
525
+ that You distribute, all copyright, patent, trademark, and
526
+ attribution notices from the Source form of the Work,
527
+ excluding those notices that do not pertain to any part of
528
+ the Derivative Works; and
529
+
530
+ (d) If the Work includes a "NOTICE" text file as part of its
531
+ distribution, then any Derivative Works that You distribute must
532
+ include a readable copy of the attribution notices contained
533
+ within such NOTICE file, excluding those notices that do not
534
+ pertain to any part of the Derivative Works, in at least one
535
+ of the following places: within a NOTICE text file distributed
536
+ as part of the Derivative Works; within the Source form or
537
+ documentation, if provided along with the Derivative Works; or,
538
+ within a display generated by the Derivative Works, if and
539
+ wherever such third-party notices normally appear. The contents
540
+ of the NOTICE file are for informational purposes only and
541
+ do not modify the License. You may add Your own attribution
542
+ notices within Derivative Works that You distribute, alongside
543
+ or as an addendum to the NOTICE text from the Work, provided
544
+ that such additional attribution notices cannot be construed
545
+ as modifying the License.
546
+
547
+ You may add Your own copyright statement to Your modifications and
548
+ may provide additional or different license terms and conditions
549
+ for use, reproduction, or distribution of Your modifications, or
550
+ for any such Derivative Works as a whole, provided Your use,
551
+ reproduction, and distribution of the Work otherwise complies with
552
+ the conditions stated in this License.
553
+
554
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
555
+ any Contribution intentionally submitted for inclusion in the Work
556
+ by You to the Licensor shall be under the terms and conditions of
557
+ this License, without any additional terms or conditions.
558
+ Notwithstanding the above, nothing herein shall supersede or modify
559
+ the terms of any separate license agreement you may have executed
560
+ with Licensor regarding such Contributions.
561
+
562
+ 6. Trademarks. This License does not grant permission to use the trade
563
+ names, trademarks, service marks, or product names of the Licensor,
564
+ except as required for reasonable and customary use in describing the
565
+ origin of the Work and reproducing the content of the NOTICE file.
566
+
567
+ 7. Disclaimer of Warranty. Unless required by applicable law or
568
+ agreed to in writing, Licensor provides the Work (and each
569
+ Contributor provides its Contributions) on an "AS IS" BASIS,
570
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
571
+ implied, including, without limitation, any warranties or conditions
572
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
573
+ PARTICULAR PURPOSE. You are solely responsible for determining the
574
+ appropriateness of using or redistributing the Work and assume any
575
+ risks associated with Your exercise of permissions under this License.
576
+
577
+ 8. Limitation of Liability. In no event and under no legal theory,
578
+ whether in tort (including negligence), contract, or otherwise,
579
+ unless required by applicable law (such as deliberate and grossly
580
+ negligent acts) or agreed to in writing, shall any Contributor be
581
+ liable to You for damages, including any direct, indirect, special,
582
+ incidental, or consequential damages of any character arising as a
583
+ result of this License or out of the use or inability to use the
584
+ Work (including but not limited to damages for loss of goodwill,
585
+ work stoppage, computer failure or malfunction, or any and all
586
+ other commercial damages or losses), even if such Contributor
587
+ has been advised of the possibility of such damages.
588
+
589
+ 9. Accepting Warranty or Additional Liability. While redistributing
590
+ the Work or Derivative Works thereof, You may choose to offer,
591
+ and charge a fee for, acceptance of support, warranty, indemnity,
592
+ or other liability obligations and/or rights consistent with this
593
+ License. However, in accepting such obligations, You may act only
594
+ on Your own behalf and on Your sole responsibility, not on behalf
595
+ of any other Contributor, and only if You agree to indemnify,
596
+ defend, and hold each Contributor harmless for any liability
597
+ incurred by, or claims asserted against, such Contributor by reason
598
+ of your accepting any such warranty or additional liability.
599
+
600
+ END OF TERMS AND CONDITIONS
601
+
602
+ APPENDIX: How to apply the Apache License to your work.
603
+
604
+ To apply the Apache License to your work, attach the following
605
+ boilerplate notice, with the fields enclosed by brackets "{}"
606
+ replaced with your own identifying information. (Don't include
607
+ the brackets!) The text should be enclosed in the appropriate
608
+ comment syntax for the file format. We also recommend that a
609
+ file or class name and description of purpose be included on the
610
+ same "printed page" as the copyright notice for easier
611
+ identification within third-party archives.
612
+
613
+ Copyright 2017 by Contributors
614
+
615
+ Licensed under the Apache License, Version 2.0 (the "License");
616
+ you may not use this file except in compliance with the License.
617
+ You may obtain a copy of the License at
618
+
619
+ http://www.apache.org/licenses/LICENSE-2.0
620
+
621
+ Unless required by applicable law or agreed to in writing, software
622
+ distributed under the License is distributed on an "AS IS" BASIS,
623
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
624
+ See the License for the specific language governing permissions and
625
+ limitations under the License.
626
+
627
+ -------------------------------------------------------------
628
+
424
629
  Other names and brands may be claimed as the property of others.