diff --git a/.azure-pipelines/azure-pipelines-linux.yml b/.azure-pipelines/azure-pipelines-linux.yml index b3d4273..1f0eda0 100755 --- a/.azure-pipelines/azure-pipelines-linux.yml +++ b/.azure-pipelines/azure-pipelines-linux.yml @@ -8,23 +8,26 @@ jobs: vmImage: ubuntu-16.04 strategy: matrix: - linux_python3.6.____73_pypy: - CONFIG: linux_python3.6.____73_pypy + linux_64_python3.6.____73_pypy: + CONFIG: linux_64_python3.6.____73_pypy UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: condaforge/linux-anvil-comp7 - linux_python3.6.____cpython: - CONFIG: linux_python3.6.____cpython + linux_64_python3.6.____cpython: + CONFIG: linux_64_python3.6.____cpython UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: condaforge/linux-anvil-comp7 - linux_python3.7.____cpython: - CONFIG: linux_python3.7.____cpython + linux_64_python3.7.____cpython: + CONFIG: linux_64_python3.7.____cpython UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: condaforge/linux-anvil-comp7 - linux_python3.8.____cpython: - CONFIG: linux_python3.8.____cpython + linux_64_python3.8.____cpython: + CONFIG: linux_64_python3.8.____cpython + UPLOAD_PACKAGES: 'True' + DOCKER_IMAGE: condaforge/linux-anvil-comp7 + linux_64_python3.9.____cpython: + CONFIG: linux_64_python3.9.____cpython UPLOAD_PACKAGES: 'True' DOCKER_IMAGE: condaforge/linux-anvil-comp7 - maxParallel: 8 timeoutInMinutes: 360 steps: diff --git a/.azure-pipelines/azure-pipelines-osx.yml b/.azure-pipelines/azure-pipelines-osx.yml index b160f33..d4c9ef2 100755 --- a/.azure-pipelines/azure-pipelines-osx.yml +++ b/.azure-pipelines/azure-pipelines-osx.yml @@ -5,22 +5,24 @@ jobs: - job: osx pool: - vmImage: macOS-10.14 + vmImage: macOS-10.15 strategy: matrix: - osx_python3.6.____73_pypy: - CONFIG: osx_python3.6.____73_pypy + osx_64_python3.6.____73_pypy: + CONFIG: osx_64_python3.6.____73_pypy UPLOAD_PACKAGES: 'True' - osx_python3.6.____cpython: - CONFIG: osx_python3.6.____cpython + osx_64_python3.6.____cpython: + CONFIG: osx_64_python3.6.____cpython UPLOAD_PACKAGES: 'True' - osx_python3.7.____cpython: - CONFIG: osx_python3.7.____cpython + osx_64_python3.7.____cpython: + CONFIG: osx_64_python3.7.____cpython UPLOAD_PACKAGES: 'True' - osx_python3.8.____cpython: - CONFIG: osx_python3.8.____cpython + osx_64_python3.8.____cpython: + CONFIG: osx_64_python3.8.____cpython + UPLOAD_PACKAGES: 'True' + osx_64_python3.9.____cpython: + CONFIG: osx_64_python3.9.____cpython UPLOAD_PACKAGES: 'True' - maxParallel: 8 timeoutInMinutes: 360 steps: diff --git a/.azure-pipelines/azure-pipelines-win.yml b/.azure-pipelines/azure-pipelines-win.yml index 9643a99..5c854f7 100755 --- a/.azure-pipelines/azure-pipelines-win.yml +++ b/.azure-pipelines/azure-pipelines-win.yml @@ -8,16 +8,18 @@ jobs: vmImage: vs2017-win2016 strategy: matrix: - win_python3.6.____cpython: - CONFIG: win_python3.6.____cpython + win_64_python3.6.____cpython: + CONFIG: win_64_python3.6.____cpython UPLOAD_PACKAGES: 'True' - win_python3.7.____cpython: - CONFIG: win_python3.7.____cpython + win_64_python3.7.____cpython: + CONFIG: win_64_python3.7.____cpython UPLOAD_PACKAGES: 'True' - win_python3.8.____cpython: - CONFIG: win_python3.8.____cpython + win_64_python3.8.____cpython: + CONFIG: win_64_python3.8.____cpython + UPLOAD_PACKAGES: 'True' + win_64_python3.9.____cpython: + CONFIG: win_64_python3.9.____cpython UPLOAD_PACKAGES: 'True' - maxParallel: 4 timeoutInMinutes: 360 variables: CONDA_BLD_PATH: D:\\bld\\ @@ -59,7 +61,7 @@ jobs: - task: CondaEnvironment@1 inputs: - packageSpecs: 'python=3.6 conda-build conda conda-forge::conda-forge-ci-setup=3 pip' # Optional + packageSpecs: 'python=3.6 conda-build conda "conda-forge-ci-setup=3" pip' # Optional installOptions: "-c conda-forge" updateConda: true displayName: Install conda-build and activate environment diff --git a/.ci_support/linux_python3.6.____73_pypy.yaml b/.ci_support/linux_64_python3.6.____73_pypy.yaml similarity index 82% rename from .ci_support/linux_python3.6.____73_pypy.yaml rename to .ci_support/linux_64_python3.6.____73_pypy.yaml index c78e0e5..ae12433 100644 --- a/.ci_support/linux_python3.6.____73_pypy.yaml +++ b/.ci_support/linux_64_python3.6.____73_pypy.yaml @@ -1,3 +1,5 @@ +cdt_name: +- cos6 channel_sources: - conda-forge,defaults channel_targets: @@ -10,3 +12,5 @@ pin_run_as_build: max_pin: x.x python: - 3.6.* *_73_pypy +target_platform: +- linux-64 diff --git a/.ci_support/linux_python3.6.____cpython.yaml b/.ci_support/linux_64_python3.6.____cpython.yaml similarity index 82% rename from .ci_support/linux_python3.6.____cpython.yaml rename to .ci_support/linux_64_python3.6.____cpython.yaml index 4e6ea7e..fde9add 100644 --- a/.ci_support/linux_python3.6.____cpython.yaml +++ b/.ci_support/linux_64_python3.6.____cpython.yaml @@ -1,3 +1,5 @@ +cdt_name: +- cos6 channel_sources: - conda-forge,defaults channel_targets: @@ -10,3 +12,5 @@ pin_run_as_build: max_pin: x.x python: - 3.6.* *_cpython +target_platform: +- linux-64 diff --git a/.ci_support/linux_python3.7.____cpython.yaml b/.ci_support/linux_64_python3.7.____cpython.yaml similarity index 82% rename from .ci_support/linux_python3.7.____cpython.yaml rename to .ci_support/linux_64_python3.7.____cpython.yaml index 3407c2a..15a1ab7 100644 --- a/.ci_support/linux_python3.7.____cpython.yaml +++ b/.ci_support/linux_64_python3.7.____cpython.yaml @@ -1,3 +1,5 @@ +cdt_name: +- cos6 channel_sources: - conda-forge,defaults channel_targets: @@ -10,3 +12,5 @@ pin_run_as_build: max_pin: x.x python: - 3.7.* *_cpython +target_platform: +- linux-64 diff --git a/.ci_support/linux_python3.8.____cpython.yaml b/.ci_support/linux_64_python3.8.____cpython.yaml similarity index 82% rename from .ci_support/linux_python3.8.____cpython.yaml rename to .ci_support/linux_64_python3.8.____cpython.yaml index f7398a1..36c8560 100644 --- a/.ci_support/linux_python3.8.____cpython.yaml +++ b/.ci_support/linux_64_python3.8.____cpython.yaml @@ -1,3 +1,5 @@ +cdt_name: +- cos6 channel_sources: - conda-forge,defaults channel_targets: @@ -10,3 +12,5 @@ pin_run_as_build: max_pin: x.x python: - 3.8.* *_cpython +target_platform: +- linux-64 diff --git a/.ci_support/linux_64_python3.9.____cpython.yaml b/.ci_support/linux_64_python3.9.____cpython.yaml new file mode 100644 index 0000000..0e66108 --- /dev/null +++ b/.ci_support/linux_64_python3.9.____cpython.yaml @@ -0,0 +1,16 @@ +cdt_name: +- cos6 +channel_sources: +- conda-forge,defaults +channel_targets: +- conda-forge main +docker_image: +- condaforge/linux-anvil-comp7 +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.9.* *_cpython +target_platform: +- linux-64 diff --git a/.ci_support/migrations/python38.yaml b/.ci_support/migrations/python38.yaml deleted file mode 100644 index b11022c..0000000 --- a/.ci_support/migrations/python38.yaml +++ /dev/null @@ -1,55 +0,0 @@ -migrator_ts: 1569538102 # The timestamp of when the migration was made -__migrator: - kind: - version - exclude: - - c_compiler - - vc - - cxx_compiler - migration_number: # Only use this if the bot messes up, putting this in will cause a complete rerun of the migration - 1 - bump_number: 0 - -python: - - 2.7 - - 3.6 - - 3.7 - - 3.8 - -c_compiler: - # legacy compilers for things that refuse to move - - toolchain_c # [(linux64 or osx) and (environ.get('CF_COMPILER_STACK') == 'comp4')] - # modern compilers - - gcc # [linux64] - - clang # [osx] - # non-standard arches get built with gcc - - gcc # [aarch64] - - gcc # [ppc64le] - - gcc # [armv7l] - - - vs2008 # [win] - - vs2015 # [win] - - vs2015 # [win] - - vs2015 # [win] - -cxx_compiler: - # legacy compilers for things that refuse to move - - toolchain_cxx # [(linux64 or osx) and (environ.get('CF_COMPILER_STACK') == 'comp4')] - # modern compilers - - gxx # [linux64] - - clangxx # [osx] - - - gxx # [aarch64] - - gxx # [ppc64le] - - gxx # [armv7l] - - - vs2008 # [win] - - vs2015 # [win] - - vs2015 # [win] - - vs2015 # [win] - -vc: # [win] - - 9 # [win] - - 14 # [win] - - 14 # [win] - - 14 # [win] diff --git a/.ci_support/migrations/python39.yaml b/.ci_support/migrations/python39.yaml new file mode 100644 index 0000000..3eff5c7 --- /dev/null +++ b/.ci_support/migrations/python39.yaml @@ -0,0 +1,26 @@ +migrator_ts: 1602104489 +__migrator: + migration_number: 2 + operation: key_add + primary_key: python + ordering: + python: + - 3.6.* *_cpython + - 3.7.* *_cpython + - 3.8.* *_cpython + - 3.9.* *_cpython # new entry + - 3.6.* *_73_pypy + paused: false + pr_limit: 50 + exclude: + # this shouldn't attempt to modify the python feedstocks + - python + - pypy3.6 + - pypy-meta +python: + - 3.9.* *_cpython +# additional entries to add for zip_keys +numpy: + - 1.19 +python_impl: + - cpython diff --git a/.ci_support/osx_python3.6.____73_pypy.yaml b/.ci_support/osx_64_python3.6.____73_pypy.yaml similarity index 89% rename from .ci_support/osx_python3.6.____73_pypy.yaml rename to .ci_support/osx_64_python3.6.____73_pypy.yaml index 9f9141e..e6f08de 100644 --- a/.ci_support/osx_python3.6.____73_pypy.yaml +++ b/.ci_support/osx_64_python3.6.____73_pypy.yaml @@ -6,11 +6,11 @@ channel_targets: - conda-forge main macos_machine: - x86_64-apple-darwin13.4.0 -macos_min_version: -- '10.9' pin_run_as_build: python: min_pin: x.x max_pin: x.x python: - 3.6.* *_73_pypy +target_platform: +- osx-64 diff --git a/.ci_support/osx_python3.6.____cpython.yaml b/.ci_support/osx_64_python3.6.____cpython.yaml similarity index 89% rename from .ci_support/osx_python3.6.____cpython.yaml rename to .ci_support/osx_64_python3.6.____cpython.yaml index 79a1eae..e5f17c2 100644 --- a/.ci_support/osx_python3.6.____cpython.yaml +++ b/.ci_support/osx_64_python3.6.____cpython.yaml @@ -6,11 +6,11 @@ channel_targets: - conda-forge main macos_machine: - x86_64-apple-darwin13.4.0 -macos_min_version: -- '10.9' pin_run_as_build: python: min_pin: x.x max_pin: x.x python: - 3.6.* *_cpython +target_platform: +- osx-64 diff --git a/.ci_support/osx_python3.7.____cpython.yaml b/.ci_support/osx_64_python3.7.____cpython.yaml similarity index 89% rename from .ci_support/osx_python3.7.____cpython.yaml rename to .ci_support/osx_64_python3.7.____cpython.yaml index b8ea857..163d3ce 100644 --- a/.ci_support/osx_python3.7.____cpython.yaml +++ b/.ci_support/osx_64_python3.7.____cpython.yaml @@ -6,11 +6,11 @@ channel_targets: - conda-forge main macos_machine: - x86_64-apple-darwin13.4.0 -macos_min_version: -- '10.9' pin_run_as_build: python: min_pin: x.x max_pin: x.x python: - 3.7.* *_cpython +target_platform: +- osx-64 diff --git a/.ci_support/osx_python3.8.____cpython.yaml b/.ci_support/osx_64_python3.8.____cpython.yaml similarity index 89% rename from .ci_support/osx_python3.8.____cpython.yaml rename to .ci_support/osx_64_python3.8.____cpython.yaml index 471f2e7..63cee21 100644 --- a/.ci_support/osx_python3.8.____cpython.yaml +++ b/.ci_support/osx_64_python3.8.____cpython.yaml @@ -6,11 +6,11 @@ channel_targets: - conda-forge main macos_machine: - x86_64-apple-darwin13.4.0 -macos_min_version: -- '10.9' pin_run_as_build: python: min_pin: x.x max_pin: x.x python: - 3.8.* *_cpython +target_platform: +- osx-64 diff --git a/.ci_support/osx_64_python3.9.____cpython.yaml b/.ci_support/osx_64_python3.9.____cpython.yaml new file mode 100644 index 0000000..51915a8 --- /dev/null +++ b/.ci_support/osx_64_python3.9.____cpython.yaml @@ -0,0 +1,16 @@ +MACOSX_DEPLOYMENT_TARGET: +- '10.9' +channel_sources: +- conda-forge,defaults +channel_targets: +- conda-forge main +macos_machine: +- x86_64-apple-darwin13.4.0 +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.9.* *_cpython +target_platform: +- osx-64 diff --git a/.ci_support/win_python3.6.____cpython.yaml b/.ci_support/win_64_python3.6.____cpython.yaml similarity index 86% rename from .ci_support/win_python3.6.____cpython.yaml rename to .ci_support/win_64_python3.6.____cpython.yaml index 2f96e5b..96be81f 100644 --- a/.ci_support/win_python3.6.____cpython.yaml +++ b/.ci_support/win_64_python3.6.____cpython.yaml @@ -8,3 +8,5 @@ pin_run_as_build: max_pin: x.x python: - 3.6.* *_cpython +target_platform: +- win-64 diff --git a/.ci_support/win_python3.7.____cpython.yaml b/.ci_support/win_64_python3.7.____cpython.yaml similarity index 86% rename from .ci_support/win_python3.7.____cpython.yaml rename to .ci_support/win_64_python3.7.____cpython.yaml index ddc04bf..281bd46 100644 --- a/.ci_support/win_python3.7.____cpython.yaml +++ b/.ci_support/win_64_python3.7.____cpython.yaml @@ -8,3 +8,5 @@ pin_run_as_build: max_pin: x.x python: - 3.7.* *_cpython +target_platform: +- win-64 diff --git a/.ci_support/win_python3.8.____cpython.yaml b/.ci_support/win_64_python3.8.____cpython.yaml similarity index 86% rename from .ci_support/win_python3.8.____cpython.yaml rename to .ci_support/win_64_python3.8.____cpython.yaml index 3fb691d..0840c1a 100644 --- a/.ci_support/win_python3.8.____cpython.yaml +++ b/.ci_support/win_64_python3.8.____cpython.yaml @@ -8,3 +8,5 @@ pin_run_as_build: max_pin: x.x python: - 3.8.* *_cpython +target_platform: +- win-64 diff --git a/.ci_support/win_64_python3.9.____cpython.yaml b/.ci_support/win_64_python3.9.____cpython.yaml new file mode 100644 index 0000000..f427bd2 --- /dev/null +++ b/.ci_support/win_64_python3.9.____cpython.yaml @@ -0,0 +1,12 @@ +channel_sources: +- conda-forge,defaults +channel_targets: +- conda-forge main +pin_run_as_build: + python: + min_pin: x.x + max_pin: x.x +python: +- 3.9.* *_cpython +target_platform: +- win-64 diff --git a/.scripts/build_steps.sh b/.scripts/build_steps.sh index de1ce1d..227e1ed 100755 --- a/.scripts/build_steps.sh +++ b/.scripts/build_steps.sh @@ -19,7 +19,7 @@ conda-build: CONDARC -conda install --yes --quiet conda-forge-ci-setup=3 conda-build pip -c conda-forge +conda install --yes --quiet "conda-forge-ci-setup=3" conda-build pip -c conda-forge # set up the condarc setup_conda_rc "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" @@ -37,13 +37,25 @@ source run_conda_forge_build_setup # make the build number clobber make_build_number "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" -conda build "${RECIPE_ROOT}" -m "${CI_SUPPORT}/${CONFIG}.yaml" \ - --suppress-variables \ - --clobber-file "${CI_SUPPORT}/clobber_${CONFIG}.yaml" -validate_recipe_outputs "${FEEDSTOCK_NAME}" -if [[ "${UPLOAD_PACKAGES}" != "False" ]]; then - upload_package --validate --feedstock-name="${FEEDSTOCK_NAME}" "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" +if [[ "${BUILD_WITH_CONDA_DEBUG:-0}" == 1 ]]; then + if [[ "x${BUILD_OUTPUT_ID:-}" != "x" ]]; then + EXTRA_CB_OPTIONS="${EXTRA_CB_OPTIONS:-} --output-id ${BUILD_OUTPUT_ID}" + fi + conda debug "${RECIPE_ROOT}" -m "${CI_SUPPORT}/${CONFIG}.yaml" \ + ${EXTRA_CB_OPTIONS:-} \ + --clobber-file "${CI_SUPPORT}/clobber_${CONFIG}.yaml" + # Drop into an interactive shell + /bin/bash +else + conda build "${RECIPE_ROOT}" -m "${CI_SUPPORT}/${CONFIG}.yaml" \ + --suppress-variables ${EXTRA_CB_OPTIONS:-} \ + --clobber-file "${CI_SUPPORT}/clobber_${CONFIG}.yaml" + validate_recipe_outputs "${FEEDSTOCK_NAME}" + + if [[ "${UPLOAD_PACKAGES}" != "False" ]]; then + upload_package --validate --feedstock-name="${FEEDSTOCK_NAME}" "${FEEDSTOCK_ROOT}" "${RECIPE_ROOT}" "${CONFIG_FILE}" + fi fi touch "${FEEDSTOCK_ROOT}/build_artifacts/conda-forge-build-done-${CONFIG}" \ No newline at end of file diff --git a/.scripts/run_docker_build.sh b/.scripts/run_docker_build.sh index e4d5bab..87ba4db 100755 --- a/.scripts/run_docker_build.sh +++ b/.scripts/run_docker_build.sh @@ -74,6 +74,8 @@ docker run ${DOCKER_RUN_ARGS} \ -e CI \ -e FEEDSTOCK_NAME \ -e CPU_COUNT \ + -e BUILD_WITH_CONDA_DEBUG \ + -e BUILD_OUTPUT_ID \ -e BINSTAR_TOKEN \ -e FEEDSTOCK_TOKEN \ -e STAGING_BINSTAR_TOKEN \ diff --git a/.scripts/run_osx_build.sh b/.scripts/run_osx_build.sh index d7e3c06..c299b79 100755 --- a/.scripts/run_osx_build.sh +++ b/.scripts/run_osx_build.sh @@ -23,7 +23,7 @@ source ${HOME}/miniforge3/etc/profile.d/conda.sh conda activate base echo -e "\n\nInstalling conda-forge-ci-setup=3 and conda-build." -conda install -n base --quiet --yes conda-forge-ci-setup=3 conda-build pip +conda install -n base --quiet --yes "conda-forge-ci-setup=3" conda-build pip @@ -47,7 +47,8 @@ set -e echo -e "\n\nMaking the build clobber file and running the build." make_build_number ./ ./recipe ./.ci_support/${CONFIG}.yaml -conda build ./recipe -m ./.ci_support/${CONFIG}.yaml --suppress-variables --clobber-file ./.ci_support/clobber_${CONFIG}.yaml + +conda build ./recipe -m ./.ci_support/${CONFIG}.yaml --suppress-variables --clobber-file ./.ci_support/clobber_${CONFIG}.yaml ${EXTRA_CB_OPTIONS:-} validate_recipe_outputs "${FEEDSTOCK_NAME}" if [[ "${UPLOAD_PACKAGES}" != "False" ]]; then diff --git a/LICENSE.txt b/LICENSE.txt index cba42cf..5f30279 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -1,5 +1,5 @@ BSD 3-clause license -Copyright (c) 2015-2019, conda-forge +Copyright (c) 2015-2020, conda-forge contributors All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: diff --git a/README.md b/README.md index d6be2f6..c22d65a 100644 --- a/README.md +++ b/README.md @@ -5,10 +5,14 @@ Home: https://github.com/bwohlberg/sporco Package license: BSD-3-Clause -Feedstock license: BSD-3-Clause +Feedstock license: [BSD-3-Clause](https://github.com/conda-forge/sporco-feedstock/blob/master/LICENSE.txt) Summary: Sparse Optimisation Research Code: A Python package for sparse coding a nd dictionary learning +Development: https://github.com/bwohlberg/sporco + +Documentation: https://sporco.readthedocs.io/en/latest/ + SPORCO is a Python package for solving optimisation problems with sparsity-inducing regularisation. These consist primarily of sparse coding and dictionary learning problems, including convolutional @@ -37,80 +41,101 @@ Current build status
Variant | Status | |
---|---|---|
linux_python3.6.____73_pypy | +linux_64_python3.6.____73_pypy |
- |
linux_python3.6.____cpython | +linux_64_python3.6.____cpython |
- |
linux_python3.7.____cpython | +linux_64_python3.7.____cpython |
- |
linux_python3.8.____cpython | +linux_64_python3.8.____cpython |
- |
osx_python3.6.____73_pypy | +linux_64_python3.9.____cpython |
- |
osx_python3.6.____cpython | +osx_64_python3.6.____73_pypy |
- |
osx_python3.7.____cpython | +osx_64_python3.6.____cpython |
- |
osx_python3.8.____cpython | +osx_64_python3.7.____cpython |
- |
win_python3.6.____cpython | +osx_64_python3.8.____cpython |
- |
win_python3.7.____cpython | +osx_64_python3.9.____cpython |
- |
win_python3.8.____cpython | +win_64_python3.6.____cpython |
- |
+
win_64_python3.7.____cpython | +
+
+ |
+ |
win_64_python3.8.____cpython | +
+
+ |
+ |
win_64_python3.9.____cpython | +
+
+ |
|
Linux_ppc64le | -
- |
-