diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml index c7cd11723..da1b2b0dc 100644 --- a/.github/workflows/pr.yaml +++ b/.github/workflows/pr.yaml @@ -111,66 +111,145 @@ jobs: uses: rapidsai/shared-workflows/.github/workflows/changed-files.yaml@main with: files_yaml: | - test_cpp: + build_docs: - '**' - - '!CONTRIBUTING.md' - - '!README.md' - - '!ci/release/update-version-cuopt.sh' - - '!ci/release/update-version-rapids.sh' - - '!docs/**' - - '!img/**' - - '!notebooks/**' - - '!python/**' - - '!readme_pages/**' + - '!.ai/**' + - '!.coderabbit.yaml' + - '!.github/AGENTS.md' + - '!.github/CODE_OF_CONDUCT.md' + - '!.github/CODEOWNERS' + - '!.github/ISSUE_TEMPLATE/**' + - '!.github/PULL_REQUEST_TEMPLATE.md' + - '!.github/SECURITY.md' + - '!.github/.ai/**' + - '!.github/.coderabbit_review_guide.md' + - '!.github/agents/**' + - '!.github/copy-pr-bot.yaml' + - '!.github/ops-bot.yaml' + - '!.pre-commit-config.yaml' + - '!ci/build_wheel*.sh' + - '!ci/check_style.sh' + - '!ci/release/**' + - '!ci/run_ctests.sh' + - '!ci/run_*.pytests.sh' + - '!ci/test_cpp*.sh' + - '!ci/test_notebooks.sh' + - '!ci/test_python.sh' + - '!ci/test_self_hosted_service.sh' + - '!ci/test_wheel*.sh' - '!container-builder/**' - - '!helm-chart/**' + - '!helmchart/**' - '!ngc/**' - - '!omniverse/**' - - '!regression/**' - - '!resources/**' + - '!sonar-project.properties' + - '!sonarqube/**' - '!ucf/**' - '!utilities/**' - test_notebooks: - - '**' - - '!CONTRIBUTING.md' - - '!README.md' - - '!ci/release/update-version-cuopt.sh' - - '!ci/release/update-version-rapids.sh' - - '!docs/**' - - '!python/nvcf_client/**' - test_python: + test_cpp: - '**' - '!CONTRIBUTING.md' - '!README.md' - - '!ci/release/update-version-cuopt.sh' - - '!ci/release/update-version-rapids.sh' + - '!.ai/**' + - '!.coderabbit.yaml' + - '!.github/AGENTS.md' + - '!.github/CODE_OF_CONDUCT.md' + - '!.github/CODEOWNERS' + - '!.github/ISSUE_TEMPLATE/**' + - '!.github/PULL_REQUEST_TEMPLATE.md' + - '!.github/SECURITY.md' + - '!.github/.ai/**' + - '!.github/.coderabbit_review_guide.md' + - '!.github/agents/**' + - '!.github/copy-pr-bot.yaml' + - '!.github/ops-bot.yaml' + - '!.pre-commit-config.yaml' + - '!ci/build_docs.sh' + - '!ci/build_python.sh' + - '!ci/build_wheel*.sh' + - '!ci/check_style.sh' + - '!ci/release/**' + - '!ci/test_python.sh' + - '!ci/test_self_hosted_service.sh' + - '!ci/test_wheel*.sh' + - '!container-builder/**' - '!docs/**' + - '!helmchart/**' - '!img/**' + - '!ngc/**' - '!notebooks/**' - - '!python/nvcf_client/**' - test_python_cuopt: + - '!python/**' + - '!sonar-project.properties' + - '!sonarqube/**' + - '!ucf/**' + - '!utilities/**' + test_python_conda: - '**' - '!CONTRIBUTING.md' - '!README.md' - - '!ci/release/update-version-cuopt.sh' - - '!ci/release/update-version-rapids.sh' + - '!.ai/**' + - '!.coderabbit.yaml' + - '!.github/AGENTS.md' + - '!.github/CODE_OF_CONDUCT.md' + - '!.github/CODEOWNERS' + - '!.github/ISSUE_TEMPLATE/**' + - '!.github/PULL_REQUEST_TEMPLATE.md' + - '!.github/SECURITY.md' + - '!.github/.ai/**' + - '!.github/.coderabbit_review_guide.md' + - '!.github/agents/**' + - '!.github/copy-pr-bot.yaml' + - '!.github/ops-bot.yaml' + - '!.pre-commit-config.yaml' + - '!ci/build_docs.sh' + - '!ci/build_wheel*.sh' + - '!ci/check_style.sh' + - '!ci/release/**' + - '!ci/test_self_hosted_service.sh' + - '!ci/test_wheel*.sh' + - '!container-builder/**' - '!docs/**' + - '!helmchart/**' - '!img/**' + - '!ngc/**' - '!notebooks/**' - - '!python/cuopt_self_hosted/**' - - '!python/cuopt_server/**' - - '!python/nvcf_client/**' - test_python_cuopt_server: + - '!sonar-project.properties' + - '!sonarqube/**' + - '!ucf/**' + - '!utilities/**' + test_python_wheels: - '**' - '!CONTRIBUTING.md' - '!README.md' - - '!ci/release/update-version-cuopt.sh' - - '!ci/release/update-version-rapids.sh' - - '!docs/**' + - '!.ai/**' + - '!.coderabbit.yaml' + - '!.github/AGENTS.md' + - '!.github/CODE_OF_CONDUCT.md' + - '!.github/CODEOWNERS' + - '!.github/ISSUE_TEMPLATE/**' + - '!.github/PULL_REQUEST_TEMPLATE.md' + - '!.github/SECURITY.md' + - '!.github/.ai/**' + - '!.github/.coderabbit_review_guide.md' + - '!.github/agents/**' + - '!.github/copy-pr-bot.yaml' + - '!.github/ops-bot.yaml' + - '!.pre-commit-config.yaml' + - '!ci/build_cpp.sh' + - '!ci/build_docs.sh' + - '!ci/build_python.sh' + - '!ci/check_style.sh' + - '!ci/release/**' + - '!ci/run_ctests.sh' + - '!ci/test_python.sh' + - '!conda/**' + - '!container-builder/**' + - '!helmchart/**' - '!img/**' + - '!ngc/**' - '!notebooks/**' - - '!python/cuopt_self_hosted/**' - - '!python/nvcf_client/**' + - '!sonar-project.properties' + - '!sonarqube/**' + - '!ucf/**' + - '!utilities/**' checks: secrets: inherit uses: rapidsai/shared-workflows/.github/workflows/checks.yaml@main @@ -187,7 +266,7 @@ jobs: conda-cpp-tests: needs: [conda-cpp-build, changed-files, compute-matrix-filters] uses: rapidsai/shared-workflows/.github/workflows/conda-cpp-tests.yaml@main - #if: fromJSON(needs.changed-files.outputs.changed_file_groups).test_cpp + if: fromJSON(needs.changed-files.outputs.changed_file_groups).test_cpp with: build_type: pull-request script: ci/test_cpp.sh @@ -210,7 +289,7 @@ jobs: conda-python-tests: needs: [conda-python-build, changed-files, compute-matrix-filters] uses: rapidsai/shared-workflows/.github/workflows/conda-python-tests.yaml@main - #if: fromJSON(needs.changed-files.outputs.changed_file_groups).test_python + if: fromJSON(needs.changed-files.outputs.changed_file_groups).test_python_conda with: run_codecov: false build_type: pull-request @@ -224,9 +303,10 @@ jobs: script-env-secret-3-key: CUOPT_AWS_SECRET_ACCESS_KEY script-env-secret-3-value: ${{ secrets.CUOPT_AWS_SECRET_ACCESS_KEY }} docs-build: - needs: conda-python-build + needs: [conda-python-build, changed-files] secrets: inherit uses: rapidsai/shared-workflows/.github/workflows/custom-job.yaml@main + if: fromJSON(needs.changed-files.outputs.changed_file_groups).build_docs with: build_type: pull-request node_type: "gpu-l4-latest-1" @@ -271,7 +351,7 @@ jobs: wheel-tests-cuopt: needs: [wheel-build-cuopt, wheel-build-cuopt-mps-parser, wheel-build-cuopt-sh-client, changed-files, compute-matrix-filters] uses: rapidsai/shared-workflows/.github/workflows/wheels-test.yaml@main - #if: fromJSON(needs.changed-files.outputs.changed_file_groups).test_python_cuopt + if: fromJSON(needs.changed-files.outputs.changed_file_groups).test_python_wheels with: build_type: pull-request script: ci/test_wheel_cuopt.sh @@ -311,7 +391,7 @@ jobs: wheel-tests-cuopt-server: needs: [wheel-build-cuopt, wheel-build-cuopt-server, changed-files, compute-matrix-filters] uses: rapidsai/shared-workflows/.github/workflows/wheels-test.yaml@main - #if: fromJSON(needs.changed-files.outputs.changed_file_groups).test_python_cuopt_server + if: fromJSON(needs.changed-files.outputs.changed_file_groups).test_python_wheels with: build_type: pull-request script: ci/test_wheel_cuopt_server.sh @@ -327,7 +407,7 @@ jobs: needs: [wheel-build-cuopt, wheel-build-cuopt-server, changed-files] secrets: inherit uses: ./.github/workflows/self_hosted_service_test.yaml - #if: fromJSON(needs.changed-files.outputs.changed_file_groups).test_python + if: fromJSON(needs.changed-files.outputs.changed_file_groups).test_python_wheels with: build_type: pull-request script: ci/test_self_hosted_service.sh diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index c713ae883..0c2779fcf 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -54,7 +54,7 @@ repos: - id: shellcheck args: ["--severity=warning"] - repo: https://github.com/rapidsai/pre-commit-hooks - rev: v1.2.1 + rev: v1.3.3 hooks: - id: verify-copyright args: [--fix, --spdx] @@ -75,6 +75,12 @@ repos: (?x)^( ^cpp/tests/utilities/cxxopts.hpp ) + - id: verify-pyproject-license + # ignore the top-level pyproject.toml, which doesn't + # have or need a [project] table + exclude: | + (?x) + ^pyproject[.]toml$ - repo: local hooks: - id: update-versions diff --git a/ci/build_wheel.sh b/ci/build_wheel.sh index 41a71cef9..7b1f772c3 100755 --- a/ci/build_wheel.sh +++ b/ci/build_wheel.sh @@ -10,6 +10,8 @@ package_dir=$2 source rapids-configure-sccache source rapids-date-string +RAPIDS_INIT_PIP_REMOVE_NVIDIA_INDEX="true" +export RAPIDS_INIT_PIP_REMOVE_NVIDIA_INDEX source rapids-init-pip # Update the version to accomdate nightly and release changes for the wheel name @@ -26,14 +28,13 @@ RAPIDS_PIP_WHEEL_ARGS=( -v --no-deps --disable-pip-version-check - --extra-index-url=https://pypi.nvidia.com ) # Only use --build-constraint when build isolation is enabled. # # Passing '--build-constraint' and '--no-build-isolation` together results in an error from 'pip', # but we want to keep environment variable PIP_CONSTRAINT set unconditionally. -# PIP_NO_BUILD_ISOLATION=0 means "add --no-build-isolation" (ref: https://github.com/pypa/pip/issues/573 +# PIP_NO_BUILD_ISOLATION=0 means "add --no-build-isolation" (ref: https://github.com/pypa/pip/issues/5735) if [[ "${PIP_NO_BUILD_ISOLATION:-}" != "0" ]]; then RAPIDS_PIP_WHEEL_ARGS+=(--build-constraint="${PIP_CONSTRAINT}") fi diff --git a/ci/build_wheel_cuopt.sh b/ci/build_wheel_cuopt.sh index 0ba991e57..83f715172 100755 --- a/ci/build_wheel_cuopt.sh +++ b/ci/build_wheel_cuopt.sh @@ -6,6 +6,8 @@ set -euo pipefail +RAPIDS_INIT_PIP_REMOVE_NVIDIA_INDEX="true" +export RAPIDS_INIT_PIP_REMOVE_NVIDIA_INDEX source rapids-init-pip # Install rockylinux repo diff --git a/ci/build_wheel_cuopt_mps_parser.sh b/ci/build_wheel_cuopt_mps_parser.sh index 21681db46..9c7037368 100755 --- a/ci/build_wheel_cuopt_mps_parser.sh +++ b/ci/build_wheel_cuopt_mps_parser.sh @@ -1,11 +1,13 @@ #!/bin/bash -# SPDX-FileCopyrightText: Copyright (c) 2024-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-FileCopyrightText: Copyright (c) 2024-2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 set -euo pipefail +RAPIDS_INIT_PIP_REMOVE_NVIDIA_INDEX="true" +export RAPIDS_INIT_PIP_REMOVE_NVIDIA_INDEX source rapids-init-pip package_dir="python/cuopt/cuopt/linear_programming" diff --git a/ci/build_wheel_cuopt_server.sh b/ci/build_wheel_cuopt_server.sh index a316bad1d..4193cde43 100755 --- a/ci/build_wheel_cuopt_server.sh +++ b/ci/build_wheel_cuopt_server.sh @@ -1,10 +1,12 @@ #!/bin/bash -# SPDX-FileCopyrightText: Copyright (c) 2023-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-FileCopyrightText: Copyright (c) 2023-2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 set -euo pipefail +RAPIDS_INIT_PIP_REMOVE_NVIDIA_INDEX="true" +export RAPIDS_INIT_PIP_REMOVE_NVIDIA_INDEX source rapids-init-pip package_dir="python/cuopt_server" diff --git a/ci/build_wheel_cuopt_sh_client.sh b/ci/build_wheel_cuopt_sh_client.sh index a7792226a..0e52ed434 100755 --- a/ci/build_wheel_cuopt_sh_client.sh +++ b/ci/build_wheel_cuopt_sh_client.sh @@ -1,10 +1,12 @@ #!/bin/bash -# SPDX-FileCopyrightText: Copyright (c) 2023-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-FileCopyrightText: Copyright (c) 2023-2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 set -euo pipefail +RAPIDS_INIT_PIP_REMOVE_NVIDIA_INDEX="true" +export RAPIDS_INIT_PIP_REMOVE_NVIDIA_INDEX source rapids-init-pip package_dir="python/cuopt_self_hosted" diff --git a/ci/build_wheel_libcuopt.sh b/ci/build_wheel_libcuopt.sh index 640562ed3..164d025e9 100755 --- a/ci/build_wheel_libcuopt.sh +++ b/ci/build_wheel_libcuopt.sh @@ -1,9 +1,11 @@ #!/bin/bash -# SPDX-FileCopyrightText: Copyright (c) 2023-2025, NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-FileCopyrightText: Copyright (c) 2023-2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 set -euo pipefail +RAPIDS_INIT_PIP_REMOVE_NVIDIA_INDEX="true" +export RAPIDS_INIT_PIP_REMOVE_NVIDIA_INDEX source rapids-init-pip package_name="libcuopt" diff --git a/ci/test_self_hosted_service.sh b/ci/test_self_hosted_service.sh index 65e3f0498..6b126b809 100755 --- a/ci/test_self_hosted_service.sh +++ b/ci/test_self_hosted_service.sh @@ -1,10 +1,12 @@ #!/bin/bash -# SPDX-FileCopyrightText: Copyright (c) 2024-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-FileCopyrightText: Copyright (c) 2024-2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 set -euo pipefail +RAPIDS_INIT_PIP_REMOVE_NVIDIA_INDEX="true" +export RAPIDS_INIT_PIP_REMOVE_NVIDIA_INDEX source rapids-init-pip # Download the cuopt built in the previous step @@ -16,7 +18,6 @@ LIBCUOPT_WHEELHOUSE=$(RAPIDS_PY_WHEEL_NAME="libcuopt_${RAPIDS_PY_CUDA_SUFFIX}" r # echo to expand wildcard before adding `[extra]` requires for pip rapids-pip-retry install \ - --extra-index-url=https://pypi.nvidia.com \ "${CUOPT_MPS_PARSER_WHEELHOUSE}"/cuopt_mps_parser*.whl \ "${CUOPT_WHEELHOUSE}"/cuopt*.whl \ "${LIBCUOPT_WHEELHOUSE}"/libcuopt*.whl \ diff --git a/ci/test_wheel_cuopt.sh b/ci/test_wheel_cuopt.sh index b5faa8496..22392c7e8 100755 --- a/ci/test_wheel_cuopt.sh +++ b/ci/test_wheel_cuopt.sh @@ -1,12 +1,14 @@ #!/bin/bash -# SPDX-FileCopyrightText: Copyright (c) 2023-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-FileCopyrightText: Copyright (c) 2023-2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 set -euo pipefail # sets up a constraints file for 'pip' and puts its location in an exported variable PIP_EXPORT, # so those constraints will affect all future 'pip install' calls +RAPIDS_INIT_PIP_REMOVE_NVIDIA_INDEX="true" +export RAPIDS_INIT_PIP_REMOVE_NVIDIA_INDEX source rapids-init-pip # Download the packages built in the previous step @@ -27,7 +29,6 @@ EOF # echo to expand wildcard before adding `[extra]` requires for pip rapids-pip-retry install \ - --extra-index-url=https://pypi.nvidia.com \ --constraint "${PIP_CONSTRAINT}" \ "${CUOPT_MPS_PARSER_WHEELHOUSE}"/cuopt_mps_parser*.whl \ "$(echo "${CUOPT_WHEELHOUSE}"/cuopt*.whl)[test]" \ diff --git a/ci/test_wheel_cuopt_server.sh b/ci/test_wheel_cuopt_server.sh index 68e3aa931..652638878 100755 --- a/ci/test_wheel_cuopt_server.sh +++ b/ci/test_wheel_cuopt_server.sh @@ -1,10 +1,12 @@ #!/bin/bash -# SPDX-FileCopyrightText: Copyright (c) 2023-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-FileCopyrightText: Copyright (c) 2023-2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 set -eou pipefail +RAPIDS_INIT_PIP_REMOVE_NVIDIA_INDEX="true" +export RAPIDS_INIT_PIP_REMOVE_NVIDIA_INDEX source rapids-init-pip # Download the packages built in the previous step @@ -17,7 +19,6 @@ LIBCUOPT_WHEELHOUSE=$(RAPIDS_PY_WHEEL_NAME="libcuopt_${RAPIDS_PY_CUDA_SUFFIX}" r # echo to expand wildcard before adding `[extra]` requires for pip rapids-pip-retry install \ - --extra-index-url=https://pypi.nvidia.com \ "${CUOPT_MPS_PARSER_WHEELHOUSE}"/cuopt_mps_parser*.whl \ "$(echo "${CUOPT_SERVER_WHEELHOUSE}"/cuopt_server*.whl)[test]" \ "${CUOPT_WHEELHOUSE}"/cuopt*.whl \ diff --git a/ci/thirdparty-testing/run_cvxpy_tests.sh b/ci/thirdparty-testing/run_cvxpy_tests.sh index 94ab0969c..c336f6a80 100755 --- a/ci/thirdparty-testing/run_cvxpy_tests.sh +++ b/ci/thirdparty-testing/run_cvxpy_tests.sh @@ -1,5 +1,5 @@ #!/bin/bash -# SPDX-FileCopyrightText: Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-FileCopyrightText: Copyright (c) 2025-2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 set -e -u -o pipefail @@ -25,7 +25,6 @@ pip wheel \ echo "installing 'cvxpy' with cuopt" python -m pip install \ --constraint "${PIP_CONSTRAINT}" \ - --extra-index-url=https://pypi.nvidia.com \ --extra-index-url=https://pypi.anaconda.org/rapidsai-wheels-nightly/simple \ 'pytest-error-for-skips>=2.0.2' \ "$(echo ./dist/cvxpy*.whl)[CUOPT,testing]" diff --git a/ci/validate_wheel.sh b/ci/validate_wheel.sh index 4b84e1038..2e337f29c 100755 --- a/ci/validate_wheel.sh +++ b/ci/validate_wheel.sh @@ -1,6 +1,6 @@ #!/bin/bash -# SPDX-FileCopyrightText: Copyright (c) 2024-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-FileCopyrightText: Copyright (c) 2024-2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 set -euo pipefail @@ -8,12 +8,37 @@ set -euo pipefail package_dir=$1 wheel_dir_relative_path=$2 +RAPIDS_CUDA_MAJOR="${RAPIDS_CUDA_VERSION%%.*}" + cd "${package_dir}" rapids-logger "validate packages with 'pydistcheck'" +PYDISTCHECK_ARGS=( + --inspect +) + +# PyPI hard limit is 1GiB, but try to keep these as small as possible +if [[ "${package_dir}" == "python/libcuopt" ]]; then + if [[ "${RAPIDS_CUDA_MAJOR}" == "12" ]]; then + PYDISTCHECK_ARGS+=( + --max-allowed-size-compressed '625Mi' + ) + else + PYDISTCHECK_ARGS+=( + --max-allowed-size-compressed '475Mi' + ) + fi +elif [[ "${package_dir}" != "python/cuopt" ]] && \ + [[ "${package_dir}" != "python/cuopt/cuopt/linear_programming" ]] && \ + [[ "${package_dir}" != "python/cuopt_server" ]] && \ + [[ "${package_dir}" != "python/cuopt_self_hosted" ]]; then + rapids-echo-stderr "unrecognized package_dir: '${package_dir}'" + exit 1 +fi + pydistcheck \ - --inspect \ + "${PYDISTCHECK_ARGS[@]}" \ "$(echo "${wheel_dir_relative_path}"/*.whl)" rapids-logger "validate packages with 'twine'" diff --git a/dependencies.yaml b/dependencies.yaml index 053b5e4fb..1d5ebd753 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -351,11 +351,6 @@ dependencies: - &pandas pandas>=2.0 - &pyyaml pyyaml>=6.0.0 - scipy>=1.14.1 - - output_types: requirements - packages: - # pip recognizes the index as a global option for the requirements.txt file - - --extra-index-url=https://pypi.nvidia.com - - --extra-index-url=https://pypi.anaconda.org/rapidsai-wheels-nightly/simple specific: - output_types: [conda, requirements, pyproject] matrices: @@ -519,7 +514,6 @@ dependencies: - output_types: requirements packages: # pip recognizes the index as a global option for the requirements.txt file - - --extra-index-url=https://pypi.nvidia.com - --extra-index-url=https://pypi.anaconda.org/rapidsai-wheels-nightly/simple specific: - output_types: [requirements, pyproject] @@ -572,7 +566,6 @@ dependencies: - output_types: requirements packages: # pip recognizes the index as a global option for the requirements.txt file - - --extra-index-url=https://pypi.nvidia.com - --extra-index-url=https://pypi.anaconda.org/rapidsai-wheels-nightly/simple specific: - output_types: [requirements, pyproject] @@ -598,7 +591,6 @@ dependencies: - &cudf_unsuffixed cudf==26.4.*,>=0.0.0a0 - output_types: requirements packages: - - --extra-index-url=https://pypi.nvidia.com - --extra-index-url=https://pypi.anaconda.org/rapidsai-wheels-nightly/simple specific: - output_types: [requirements, pyproject] @@ -624,7 +616,6 @@ dependencies: - &pylibraft_unsuffixed pylibraft==26.4.*,>=0.0.0a0 - output_types: requirements packages: - - --extra-index-url=https://pypi.nvidia.com - --extra-index-url=https://pypi.anaconda.org/rapidsai-wheels-nightly/simple specific: - output_types: [requirements, pyproject] diff --git a/python/cuopt/cuopt/linear_programming/pyproject.toml b/python/cuopt/cuopt/linear_programming/pyproject.toml index 99b684e42..e59f8d3a0 100644 --- a/python/cuopt/cuopt/linear_programming/pyproject.toml +++ b/python/cuopt/cuopt/linear_programming/pyproject.toml @@ -59,8 +59,8 @@ select = [ "distro-too-large-compressed", ] -# PyPI limit is 100 MiB, fail CI before we get too close to that -max_allowed_size_compressed = '75M' +# PyPI hard limit is 1GiB, but try to keep this as small as possible +max_allowed_size_compressed = '15Mi' [tool.rapids-build-backend] build-backend = "scikit_build_core.build" diff --git a/python/cuopt/pyproject.toml b/python/cuopt/pyproject.toml index cb0cfee13..44734577c 100644 --- a/python/cuopt/pyproject.toml +++ b/python/cuopt/pyproject.toml @@ -74,8 +74,8 @@ select = [ "distro-too-large-compressed", ] -# detect when package size grows significantly -max_allowed_size_compressed = '100M' +# PyPI hard limit is 1GiB, but try to keep this as small as possible +max_allowed_size_compressed = '55Mi' [tool.pytest.ini_options] testpaths = ["cuopt/tests"] diff --git a/python/cuopt_self_hosted/pyproject.toml b/python/cuopt_self_hosted/pyproject.toml index 27dfefc45..ce1fb9ae1 100644 --- a/python/cuopt_self_hosted/pyproject.toml +++ b/python/cuopt_self_hosted/pyproject.toml @@ -78,8 +78,8 @@ select = [ "distro-too-large-compressed", ] -# PyPI limit is 100 MiB, fail CI before we get too close to that -max_allowed_size_compressed = '75M' +# PyPI hard limit is 1GiB, but try to keep this as small as possible +max_allowed_size_compressed = '15Mi' [tool.pytest.ini_options] testpaths = ["tests"] diff --git a/python/cuopt_server/pyproject.toml b/python/cuopt_server/pyproject.toml index 1e142432b..0a39531b8 100644 --- a/python/cuopt_server/pyproject.toml +++ b/python/cuopt_server/pyproject.toml @@ -87,8 +87,8 @@ select = [ "distro-too-large-compressed", ] -# PyPI limit is 100 MiB, fail CI before we get too close to that -max_allowed_size_compressed = '75M' +# PyPI hard limit is 1GiB, but try to keep this as small as possible +max_allowed_size_compressed = '15Mi' [tool.pytest.ini_options] testpaths = ["cuopt_server/tests"] diff --git a/python/libcuopt/pyproject.toml b/python/libcuopt/pyproject.toml index c2df22aa2..f7ae6771e 100644 --- a/python/libcuopt/pyproject.toml +++ b/python/libcuopt/pyproject.toml @@ -48,15 +48,14 @@ Source = "https://github.com/nvidia/cuopt" [project.entry-points."cmake.prefix"] libcuopt = "libcuopt" +[project.scripts] +cuopt_cli = "libcuopt._cli_wrapper:main" + [tool.pydistcheck] select = [ + # note: max_allowed_size_compressed is set as a command-line arg "distro-too-large-compressed", ] -max_allowed_size_compressed = '620M' - -[project.scripts] -cuopt_cli = "libcuopt._cli_wrapper:main" - [tool.scikit-build] build-dir = "build/{wheel_tag}"