diff --git a/.gitignore b/.gitignore index 15e57da1a36..d2e9d00015e 100644 --- a/.gitignore +++ b/.gitignore @@ -11,5 +11,4 @@ files-to-customize.txt .netlify __pycache__/ node_modules -projects-to-versions.json rapids-docs-env/ diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 1b573d22140..cad6c925b2a 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -6,6 +6,9 @@ ci: autoupdate_branch: "" autoupdate_commit_msg: "[pre-commit.ci] pre-commit autoupdate" autoupdate_schedule: quarterly + skip: + # requires 'jq' and 'yq', which don't come pre-installed in the pre-commit.ci image + - generate-projects-to-versions submodules: false repos: @@ -35,6 +38,13 @@ repos: .devcontainer/devcontainer.json ) - id: check-yaml + - repo: local + hooks: + - id: generate-projects-to-versions + name: generate-projects-to-versions + entry: ./ci/generate-projects-to-versions.sh + language: system + pass_filenames: false - repo: https://github.com/sirosen/texthooks rev: 0.7.1 hooks: diff --git a/_data/docs.yml b/_data/docs.yml index 0ea4b6b2538..1ffb432c911 100644 --- a/_data/docs.yml +++ b/_data/docs.yml @@ -35,6 +35,28 @@ apis: legacy: 1 stable: 1 nightly: 1 + cugraph: + name: cuGraph + path: cugraph + desc: 'cuGraph is a GPU accelerated graph analytics library, with functionality like NetworkX, which is seamlessly integrated into the RAPIDS data science platform. cuGraph supports GNNs with PyG, DGL packages, cugraph-service for analytics on a remote graph, and WHOLEGRAPH for memory management.' + ghlink: https://github.com/rapidsai/cugraph + cllink: https://github.com/rapidsai/cugraph/blob/main/CHANGELOG.md + versions: + # enable or disable links; 0 = disabled, 1 = enabled + legacy: 1 + stable: 1 + nightly: 1 + cuxfilter: + name: cuxfilter + path: cuxfilter + desc: 'cuxfilter acts as a connector library, which provides the connections between different visualization libraries and a GPU dataframe without much hassle. This also allows the user to use charts from different libraries in a single dashboard, while also providing the interaction.' + ghlink: https://github.com/rapidsai/cuxfilter + cllink: https://github.com/rapidsai/cuxfilter/blob/main/CHANGELOG.md + versions: + # enable or disable links; 0 = disabled, 1 = enabled + legacy: 1 + stable: 1 + nightly: 1 cudf-java: name: 'Java + cuDF' path: cudf-java @@ -46,6 +68,83 @@ apis: legacy: 1 stable: 1 nightly: 0 + cucim: + name: cuCIM + path: cucim + desc: 'The RAPIDS cuCIM is an extensible toolkit designed to provide GPU accelerated I/O, computer vision & image processing primitives for N-Dimensional images with a focus on biomedical imaging.' + ghlink: https://github.com/rapidsai/cucim + cllink: https://github.com/rapidsai/cucim/blob/main/CHANGELOG.md + versions: + # enable or disable links; 0 = disabled, 1 = enabled + legacy: 1 + stable: 1 + nightly: 1 + cuvs: + name: cuVS + path: cuvs + desc: 'cuVS is a library for GPU-accelerated vector search and clustering.' + ghlink: https://github.com/rapidsai/cuvs + cllink: https://github.com/rapidsai/cuvs/blob/main/CHANGELOG.md + versions: + # enable or disable links; 0 = disabled, 1 = enabled + legacy: 1 + stable: 1 + nightly: 1 + kvikio: + name: KvikIO + path: kvikio + desc: "KvikIO is a Python and C++ library for high performance file IO using GPUDirect Storage (GDS)." + ghlink: https://github.com/rapidsai/kvikio + cllink: https://github.com/rapidsai/kvikio/blob/main/CHANGELOG.md + versions: + # enable or disable links; 0 = disabled, 1 = enabled + legacy: 1 + stable: 1 + nightly: 1 + raft: + name: RAFT + path: raft + desc: "RAFT contains fundamental widely-used algorithms and primitives for vector search, machine learning, and information retrieval." + ghlink: https://github.com/rapidsai/raft + cllink: https://github.com/rapidsai/raft/blob/main/CHANGELOG.md + versions: + # enable or disable links; 0 = disabled, 1 = enabled + legacy: 1 + stable: 1 + nightly: 1 + dask-cuda: + name: Dask-CUDA + path: dask-cuda + desc: "Various utilities to improve deployment and management of Dask workers on CUDA-enabled systems." + ghlink: https://github.com/rapidsai/dask-cuda + cllink: https://github.com/rapidsai/dask-cuda/blob/main/CHANGELOG.md + versions: + # enable or disable links; 0 = disabled, 1 = enabled + legacy: 1 + stable: 1 + nightly: 1 + rmm: + name: RMM + path: rmm + desc: 'RAPIDS Memory Manager (RMM) is a central place for all device memory allocations in cuDF (C++ and Python) and other RAPIDS libraries. In addition, it is a replacement allocator for CUDA Device Memory (and CUDA Managed Memory) and a pool allocator to make CUDA device memory allocation / deallocation faster and asynchronous.' + ghlink: https://github.com/rapidsai/rmm + cllink: https://github.com/rapidsai/rmm/blob/main/CHANGELOG.md + versions: + # enable or disable links; 0 = disabled, 1 = enabled + legacy: 1 + stable: 1 + nightly: 1 + rapidsmpf: + name: RapidsMPF + path: rapidsmpf + desc: 'RAPIDS Multi-Process Foundation (rapidsmpf) is a collection of multi-GPU, distributed memory algorithms written in C++ and exposed to Python.' + ghlink: https://github.com/rapidsai/rapidsmpf + versions: + # enable or disable links; 0 = disabled, 1 = enabled + legacy: 0 + stable: 1 + nightly: 1 + # RAPIDS "Libs" - lower-level libraries that are building blocks for creating # custom tools and integrate with other libraries @@ -73,6 +172,28 @@ libs: legacy: 1 stable: 1 nightly: 1 + libcuml: + name: libcuml + path: libcuml + desc: 'libcuml is a C/C++ CUDA library for cuML.' + ghlink: https://github.com/rapidsai/cuml + cllink: https://github.com/rapidsai/cuml/blob/main/CHANGELOG.md + versions: + # enable or disable links; 0 = disabled, 1 = enabled + legacy: 1 + stable: 1 + nightly: 1 + libkvikio: + name: libkvikio + path: libkvikio + desc: "libkvikio is a C++ header-only library providing bindings to cuFile, which enables GPUDirect Storage (GDS)." + ghlink: https://github.com/rapidsai/kvikio + cllink: https://github.com/rapidsai/kvikio/blob/main/CHANGELOG.md + versions: + # enable or disable links; 0 = disabled, 1 = enabled + legacy: 1 + stable: 1 + nightly: 1 libucxx: name: libucxx path: libucxx diff --git a/ci/customization/projects-to-versions.json b/ci/customization/projects-to-versions.json new file mode 100644 index 00000000000..97aa6020750 --- /dev/null +++ b/ci/customization/projects-to-versions.json @@ -0,0 +1,112 @@ +{ + "cucim": { + "legacy": "25.06", + "nightly": "25.10", + "stable": "25.08" + }, + "cudf": { + "legacy": "25.06", + "nightly": "25.10", + "stable": "25.08" + }, + "cudf-java": { + "legacy": "25.06", + "stable": "25.08" + }, + "cugraph": { + "legacy": "25.06", + "nightly": "25.10", + "stable": "25.08" + }, + "cuml": { + "legacy": "25.06", + "nightly": "25.10", + "stable": "25.08" + }, + "cuproj": { + "legacy": "25.02", + "stable": "25.04" + }, + "cusignal": {}, + "cuspatial": { + "legacy": "25.02", + "stable": "25.04" + }, + "cuvs": { + "legacy": "25.06", + "nightly": "25.10", + "stable": "25.08" + }, + "cuxfilter": { + "legacy": "25.06", + "nightly": "25.10", + "stable": "25.08" + }, + "dask-cuda": { + "legacy": "25.06", + "nightly": "25.10", + "stable": "25.08" + }, + "dask-cudf": { + "legacy": "25.06", + "nightly": "25.10", + "stable": "25.08" + }, + "kvikio": { + "legacy": "25.06", + "nightly": "25.10", + "stable": "25.08" + }, + "libcudf": { + "legacy": "25.06", + "nightly": "25.10", + "stable": "25.08" + }, + "libcuml": { + "legacy": "25.06", + "nightly": "25.10", + "stable": "25.08" + }, + "libcuproj": { + "legacy": "25.02", + "stable": "25.04" + }, + "libcuspatial": { + "legacy": "25.02", + "stable": "25.04" + }, + "libkvikio": { + "legacy": "25.06", + "nightly": "25.10", + "stable": "25.08" + }, + "librmm": { + "legacy": "25.06", + "nightly": "25.10", + "stable": "25.08" + }, + "libucxx": { + "legacy": "0.44", + "nightly": "0.46", + "stable": "0.45" + }, + "raft": { + "legacy": "25.06", + "nightly": "25.10", + "stable": "25.08" + }, + "rapids-cmake": { + "legacy": "25.06", + "nightly": "25.10", + "stable": "25.08" + }, + "rapidsmpf": { + "nightly": "25.10", + "stable": "25.08" + }, + "rmm": { + "legacy": "25.06", + "nightly": "25.10", + "stable": "25.08" + } +} diff --git a/ci/download_from_s3.sh b/ci/download_from_s3.sh index 82185b3ccc5..37144b54ab9 100755 --- a/ci/download_from_s3.sh +++ b/ci/download_from_s3.sh @@ -71,7 +71,7 @@ download_lib_docs() { SRC VERSION_NAME VERSION_NUMBER echo "--- processing RAPIDS libraries ---" - PROJECTS_TO_VERSIONS_JSON=$(./ci/get-projects-to-versions.sh) + PROJECTS_TO_VERSIONS_JSON=$(cat "./ci/customization/projects-to-versions.json") for PROJECT in $(jq -r 'keys | .[]' <<< "${PROJECTS_TO_VERSIONS_JSON}"); do # extract the map of versions to download for this project, which will look something like: diff --git a/ci/get-projects-to-versions.sh b/ci/generate-projects-to-versions.sh similarity index 97% rename from ci/get-projects-to-versions.sh rename to ci/generate-projects-to-versions.sh index 4925addf355..514cb2b85c7 100755 --- a/ci/get-projects-to-versions.sh +++ b/ci/generate-projects-to-versions.sh @@ -35,7 +35,7 @@ # # Only that mapping is written to stdout, so this is safe to use inline like this: # -# PROJECTS_TO_VERSIONS=$(./ci/get-projects-to-versions.sh) +# PROJECTS_TO_VERSIONS=$(./ci/generate-projects-to-versions.sh) # # WARNING: no guarantees are made about the ordering of output in this mapping. # @@ -130,4 +130,4 @@ for PROJECT in $(yq -r 'keys | .[]' <<< "$INACTIVE_PROJECT_MAP"); do ) done -echo -n "${PROJECTS_TO_VERSIONS}" +echo "${PROJECTS_TO_VERSIONS}" > ./ci/customization/projects-to-versions.json diff --git a/ci/post-process.sh b/ci/post-process.sh index 0bbbbc4f7cd..5078a86a181 100755 --- a/ci/post-process.sh +++ b/ci/post-process.sh @@ -10,7 +10,6 @@ CURRENT_DIR=$(dirname $(realpath $0)) pip install -r "${CURRENT_DIR}/customization/requirements.txt" PROJECTS_TO_VERSIONS_PATH="${CURRENT_DIR}"/customization/projects-to-versions.json -"${CURRENT_DIR}"/get-projects-to-versions.sh > "${PROJECTS_TO_VERSIONS_PATH}" "${CURRENT_DIR}"/update_symlinks.sh "${PROJECTS_TO_VERSIONS_PATH}"