AnacondaRecipes / scikit-learn-feedstock

A conda-smithy repository for scikit-learn.
BSD 3-Clause "New" or "Revised" License
0 stars 2 forks source link

scikit-learn 1.2.0 #18

Closed skupr-anaconda closed 1 year ago

skupr-anaconda commented 1 year ago

Jira ticket: PKG-887 (scikit-learn-1.2.0)

The upstream data: Github releases: https://github.com/scikit-learn/scikit-learn/releases Changelog: https://scikit-learn.org/stable/whats_new/v1.2.html Upstream license: License file: https://github.com/scikit-learn/scikit-learn/blob/master/COPYING Diff between the latest and previous upstream releases Requirements:

Actions:

Additional info:

**Package's statistics**
* Priority B | effort: medium | Category: anaconda | subcategory: core | pkg_type: python * Outdated platfroms: 'linux-64', 'linux-aarch64', 'linux-s390x', 'linux-ppc64le', 'osx-64', 'osx-arm64', 'win-64' * Latest version: 1.2.0 * Release on PyPi: * version: 1.2.0 * date: 2022-12-08T14:12:26 * [PyPi history](https://pypi.org/project/scikit-learn/#history) * Popularity: * 3 months downloads: 3146327.0 * All time: 17745300 downloads - scikit-learn 1.2.0 A set of python modules for machine learning and data mining
**Other checks:**
1. - [x] https://github.com/scikit-learn/scikit-learn/tree/1.2.0 exists 3. - [x] Check the pinnings 4. - [x] Changelog url error: https://github.com/scikit-learn/scikit-learn/tree/1.2.0 200 5. - [x] Additional research https://github.com/scikit-learn/scikit-learn/issues 6. - [x] `dev_url`: https://github.com/scikit-learn/scikit-learn 7. - [x] `doc_url`: https://scikit-learn.org/dev/user_guide.html 8. - [x] Verify that the `build_number` is correct 9. - [x] has `setuptools` 10. - [x] has `wheel` 11. - [x] `pip` in test 12. - [x] Verify the test section 13. - [x] Verify if the package is `architecture specific` 14. - [x] Verify that private modules are not mentioned in the recipe For example: (_private_module) 15. - [x] license_file: COPYING is present 16. - [x] license_family BSD is present 17. - [x] License: BSD-3-Clause - [x] License is `spdx` compliant * Check if the license identifier has correct name from the SPDX License List | Identifier | |:-------------------------------------| | BSD-3-Clause | | BSD-3-Clause-Attribution | | BSD-3-Clause-Clear | | BSD-3-Clause-LBNL | | BSD-3-Clause-Modification | | BSD-3-Clause-No-Military-License | | BSD-3-Clause-No-Nuclear-License | | BSD-3-Clause-No-Nuclear-License-2014 | | BSD-3-Clause-No-Nuclear-Warranty | | BSD-3-Clause-Open-MPI |
**Check dependency issues:**
../aggregate/scikit-learn-feedstock/recipe/meta.yaml Dependencies: ['threadpoolctl >=2.0.0', 'scipy >=1.3.2', 'python', 'setuptools <60.0', 'cython >=0.29.24', 'wheel', 'pip', 'joblib >=1.0.0', 'numpy'] noarch: - py3.7: No issues found - py3.8: No issues found - py3.9: No issues found - py3.10: No issues found linux-64: - py3.7: No issues found - py3.8: No issues found - py3.9: No issues found - py3.10: Encountered problems while solving: - nothing provides __glibc >=2.17 needed by libgcc-ng-11.2.0-h1234567_0 linux-ppc64le: - py3.7: No issues found - py3.8: No issues found - py3.9: No issues found - py3.10: No issues found linux-s390x: - py3.7: No issues found - py3.8: No issues found - py3.9: No issues found - py3.10: No issues found osx-64: - py3.7: No issues found - py3.8: No issues found - py3.9: No issues found - py3.10: No issues found osx-arm64: - py3.8: No issues found - py3.9: No issues found - py3.10: No issues found win-64: - py3.7: No issues found - py3.8: No issues found - py3.9: No issues found - py3.10: No issues found
**Package Build Score: 20** **Links:** * [Anaconda Recipes feedstock](https://github.com/AnacondaRecipes/scikit-learn-feedstock) * [Update branch](https://github.com/AnacondaRecipes/scikit-learn-feedstock/tree/1.2.0) * [conda-forge recipe](https://github.com/{upstream}/{feedstock_name}-feedstock) * [PyPI](https://pypi.org/project/scikit-learn) * [Diff between upstream and feature branch](https://github.com/conda-forge/scikit-learn-feedstock/compare/main...AnacondaRecipes:1.2.0) * [Diff between origin and feature branch](https://github.com/AnacondaRecipes/scikit-learn-feedstock/compare/master...AnacondaRecipes:1.2.0) * [The last merged PRs](https://github.com/AnacondaRecipes/scikit-learn-feedstock/pulls?q=is%3Apr+is%3Amerged+sort%3Aupdated-desc+)

Updating the recipe: If the recipe needs additional modification the update branch can be modified. Note that the PR diffs are not updated with these changes.

git clone -b 1.2.0 git@github.com:AnacondaRecipes/scikit-learn-feedstock.git
anaconda-pkg-build commented 1 year ago
Linter check found the following problems: The following problems have been found: WARNING: /tmp/abs_13_dru2c1c/clone/recipe/meta.yaml:97: missing_doc_source_url: The recipe is missing a doc_source_url WARNING: /tmp/abs_13_dru2c1c/clone/recipe/meta.yaml:97: missing_license_url: The recipe is missing a license_url Warnings were found
anaconda-pkg-build commented 1 year ago
Linter check found the following problems: The following problems have been found: WARNING: /tmp/abs_b85tj7zyl2/clone/recipe/meta.yaml:95: missing_doc_source_url: The recipe is missing a doc_source_url WARNING: /tmp/abs_b85tj7zyl2/clone/recipe/meta.yaml:95: missing_license_url: The recipe is missing a license_url Warnings were found
anaconda-pkg-build commented 1 year ago
Linter check found the following problems: The following problems have been found: WARNING: /tmp/abs_0401ue18rt/clone/recipe/meta.yaml:97: missing_license_url: The recipe is missing a license_url WARNING: /tmp/abs_0401ue18rt/clone/recipe/meta.yaml:97: missing_doc_source_url: The recipe is missing a doc_source_url Warnings were found
skupr-anaconda commented 1 year ago

To resolve issue with missing libc++.1.dylib and libomp.dylib on osx, I've added:

  ignore_run_exports:
    - llvm-openmp  # [osx]
  missing_dso_whitelist:
    - '*/libc++.1.dylib'  # [osx]
    - '*/libomp.dylib'    # [osx]

but I still have doubts if it's correct

skupr-anaconda commented 1 year ago

How scikit-learn works with openmp https://pypackaging-native.github.io/key-issues/native-dependencies/blas_openmp/ blas_lapack_openmp

katietz commented 1 year ago

yes, adding it to missing_dso_whitelist is for libc++ correct. we want to use system one in doubt.

skupr-anaconda commented 1 year ago

I'll upload the package in a test channel and then test it.

anaconda-pkg-build commented 1 year ago
Linter check found the following problems: The following problems have been found: WARNING: /tmp/abs_8b2zpeh20m/clone/recipe/meta.yaml:95: missing_doc_source_url: The recipe is missing a doc_source_url WARNING: /tmp/abs_8b2zpeh20m/clone/recipe/meta.yaml:95: missing_license_url: The recipe is missing a license_url Warnings were found
anaconda-pkg-build commented 1 year ago
Linter check found the following problems: The following problems have been found: WARNING: /tmp/abs_6anala_kye/clone/recipe/meta.yaml:95: missing_license_url: The recipe is missing a license_url WARNING: /tmp/abs_6anala_kye/clone/recipe/meta.yaml:95: missing_doc_source_url: The recipe is missing a doc_source_url Warnings were found
anaconda-pkg-build commented 1 year ago
Linter check found the following problems: The following problems have been found: WARNING: /tmp/abs_42stnlun1_/clone/recipe/meta.yaml:95: missing_doc_source_url: The recipe is missing a doc_source_url WARNING: /tmp/abs_42stnlun1_/clone/recipe/meta.yaml:95: missing_license_url: The recipe is missing a license_url Warnings were found
skupr-anaconda commented 1 year ago

With suppressed build_parameters in abs.yaml I've tested scikit-learn on my osx-arm64 machine:

conda create -n testsk python=3.10 pandas
conda activate testsk

If I run conda list we can see libcxx and llvm-openmp (they were downloaded from pkgs/main/osx-arm64):

# Name                    Version                   Build  Channel
blas                      1.0                    openblas
bottleneck                1.3.5           py310h96f19d2_0
bzip2                     1.0.8                h620ffc9_4
ca-certificates           2022.10.11           hca03da5_0
certifi                   2022.12.7       py310hca03da5_0
fftw                      3.3.9                h1a28f6b_1
joblib                    1.1.1           py310hca03da5_0
libcxx                    14.0.6               h848a8c0_0
libffi                    3.4.2                hca03da5_6
libgfortran               5.0.0           11_3_0_hca03da5_28
libgfortran5              11.3.0              h009349e_28
libopenblas               0.3.21               h269037a_0
llvm-openmp               14.0.6               hc6e5704_0
ncurses                   6.3                  h1a28f6b_3
numexpr                   2.8.4           py310hecc3335_0
numpy                     1.23.5          py310hb93e574_0
numpy-base                1.23.5          py310haf87e8b_0
openssl                   1.1.1s               h1a28f6b_0
packaging                 22.0            py310hca03da5_0
pandas                    1.5.2           py310h46d7db6_0
pip                       22.3.1          py310hca03da5_0
python                    3.10.8               hc0d8a6c_1
python-dateutil           2.8.2              pyhd3eb1b0_0
pytz                      2022.7          py310hca03da5_0
readline                  8.2                  h1a28f6b_0
scikit-learn              1.2.0           py310h313beb8_0    sk_test
scipy                     1.9.3           py310h20cbe94_0
setuptools                65.6.3          py310hca03da5_0
six                       1.16.0             pyhd3eb1b0_1
sqlite                    3.40.1               h7a7dc30_0
threadpoolctl             2.2.0              pyh0d69192_0
tk                        8.6.12               hb8d0fd4_0
tzdata                    2022g                h04d1e81_0
wheel                     0.37.1             pyhd3eb1b0_0
xz                        5.2.8                h80987f9_0
zlib                      1.2.13               h5a0b063_0

I would say that scikit-learn 1.2.0 will work with

  missing_dso_whitelist:
    - '*/libc++.1.dylib'  # [osx]
    - '*/libomp.dylib'    # [osx]

in the recipe.

anaconda-pkg-build commented 1 year ago
Linter check found the following problems: The following problems have been found: WARNING: /tmp/abs_0embpputxb/clone/recipe/meta.yaml:95: missing_doc_source_url: The recipe is missing a doc_source_url WARNING: /tmp/abs_0embpputxb/clone/recipe/meta.yaml:95: missing_license_url: The recipe is missing a license_url Warnings were found
anaconda-pkg-build commented 1 year ago
Linter check found the following problems: The following problems have been found: WARNING: /tmp/abs_af4k7sagkt/clone/recipe/meta.yaml:95: missing_doc_source_url: The recipe is missing a doc_source_url WARNING: /tmp/abs_af4k7sagkt/clone/recipe/meta.yaml:95: missing_license_url: The recipe is missing a license_url Warnings were found
anaconda-pkg-build commented 1 year ago
Linter check found the following problems: The following problems have been found: WARNING: /tmp/abs_430u0xsbpg/clone/recipe/meta.yaml:95: missing_doc_source_url: The recipe is missing a doc_source_url WARNING: /tmp/abs_430u0xsbpg/clone/recipe/meta.yaml:95: missing_license_url: The recipe is missing a license_url Warnings were found
anaconda-pkg-build commented 1 year ago
Linter check found the following problems: The following problems have been found: WARNING: /tmp/abs_8bhkfv2uqf/clone/recipe/meta.yaml:95: missing_license_url: The recipe is missing a license_url WARNING: /tmp/abs_8bhkfv2uqf/clone/recipe/meta.yaml:95: missing_doc_source_url: The recipe is missing a doc_source_url Warnings were found
anaconda-pkg-build commented 1 year ago
Linter check found the following problems: The following problems have been found: WARNING: /tmp/abs_34z4clv4pj/clone/recipe/meta.yaml:95: missing_doc_source_url: The recipe is missing a doc_source_url WARNING: /tmp/abs_34z4clv4pj/clone/recipe/meta.yaml:95: missing_license_url: The recipe is missing a license_url Warnings were found