diff --git a/_data/docs.yml b/_data/docs.yml index 66aef99a165..0ea4b6b2538 100644 --- a/_data/docs.yml +++ b/_data/docs.yml @@ -35,61 +35,6 @@ 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 - cuspatial: - name: cuSpatial - path: cuspatial - desc: 'cuSpatial is a GPU-accelerated vector GIS library including binary predicates (DE-9IM), point-in-polygon, spatial join, distances, and trajectory analysis.' - ghlink: https://github.com/rapidsai/cuspatial - cllink: https://github.com/rapidsai/cuspatial/blob/main/CHANGELOG.md - versions: - # enable or disable links; 0 = disabled, 1 = enabled - legacy: 1 - stable: 0 - nightly: 0 - cuproj: - name: cuProj - path: cuProj - desc: 'cuProj is a GPU-accelerated geographic and geodetic coordinate transformation library which supports projecting coordinates between coordinate reference systems (CRSes), compatible with PyProj.' - ghlink: https://github.com/rapidsai/cuspatial/tree/main/python/cuproj - cllink: https://github.com/rapidsai/cuspatial/blob/main/CHANGELOG.md # cuProj is housed within cuSpatial so updates remain in the cuSpatial changelog - versions: - # enable or disable links; 0 = disabled, 1 = enabled - legacy: 1 - stable: 0 - nightly: 0 - cusignal: - name: cusignal - path: cusignal - desc: 'cuSignal functionality has been moved to CuPy. Please see the CuPy documentation for more information.' - ghlink: https://github.com/cupy/cupy - cllink: https://docs.cupy.dev/en/latest/reference/scipy_signal.html - versions: - # enable or disable links; 0 = disabled, 1 = enabled - legacy: 0 - stable: 0 - nightly: 0 cudf-java: name: 'Java + cuDF' path: cudf-java @@ -101,83 +46,6 @@ 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: 0 - nightly: 1 - # RAPIDS "Libs" - lower-level libraries that are building blocks for creating # custom tools and integrate with other libraries @@ -205,68 +73,103 @@ libs: legacy: 1 stable: 1 nightly: 1 - libcuspatial: - name: libcuspatial - path: libcuspatial - desc: 'libcuspatial is a GPU-accelerated header-only C++ vector GIS library including binary predicates (DE-9IM), point-in-polygon, spatial join, distances, and trajectory analysis.' - ghlink: https://github.com/rapidsai/cuspatial - cllink: https://github.com/rapidsai/cuspatial/blob/main/CHANGELOG.md + libucxx: + name: libucxx + path: libucxx + desc: "UCXX is an object-oriented C++ interface for UCX, with native support for Python bindings." + ghlink: https://github.com/rapidsai/ucxx versions: # enable or disable links; 0 = disabled, 1 = enabled legacy: 1 - stable: 0 - nightly: 0 - libcuproj: - name: libcuproj - path: libcuproj - desc: 'libcuproj is a C++ header-only library for GPU-accelerated geographic and geodetic coordinate transformation library which supports projecting coordinates between coordinate reference systems (CRSes), similar to PROJ.' - ghlink: https://github.com/rapidsai/cuspatial/tree/main/cpp/cuproj - cllink: https://github.com/rapidsai/cuspatial/blob/main/CHANGELOG.md # Shares a changelog with cuSpatial + stable: 1 + nightly: 1 + rapids-cmake: + name: rapids-cmake + path: rapids-cmake + desc: "This is a collection of CMake modules that are useful for all CUDA RAPIDS projects. By sharing the code in a single place it makes rolling out CMake fixes easier." + ghlink: https://github.com/rapidsai/rapids-cmake + cllink: https://github.com/rapidsai/rapids-cmake/blob/main/CHANGELOG.md versions: # enable or disable links; 0 = disabled, 1 = enabled legacy: 1 - stable: 0 - nightly: 0 - 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 + stable: 1 + nightly: 1 + +# "inactive" RAPIDS projects, where docs links are preserved indefinitely but not +# expected to be get new releases +inactive-projects: + cuproj: + name: cuProj + path: cuProj + desc: 'cuProj is a GPU-accelerated geographic and geodetic coordinate transformation library which supports projecting coordinates between coordinate reference systems (CRSes), compatible with PyProj.' + ghlink: https://github.com/rapidsai/cuspatial/tree/main/python/cuproj + cllink: https://github.com/rapidsai/cuspatial/blob/main/CHANGELOG.md # cuProj is housed within cuSpatial so updates remain in the cuSpatial changelog 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 + nightly: 0 + # always use these specific versions for these specific paths, regardless + # of the current state of RAPIDS + version-overrides: + legacy: "25.02" + stable: "25.04" + cusignal: + name: cusignal + path: cusignal + desc: 'cuSignal functionality has been moved to CuPy. Please see the CuPy documentation for more information.' + ghlink: https://github.com/cupy/cupy + cllink: https://docs.cupy.dev/en/latest/reference/scipy_signal.html + versions: + # enable or disable links; 0 = disabled, 1 = enabled + legacy: 0 + stable: 0 + nightly: 0 + cuspatial: + name: cuSpatial + path: cuspatial + desc: 'cuSpatial is a GPU-accelerated vector GIS library including binary predicates (DE-9IM), point-in-polygon, spatial join, distances, and trajectory analysis.' + ghlink: https://github.com/rapidsai/cuspatial + cllink: https://github.com/rapidsai/cuspatial/blob/main/CHANGELOG.md versions: # enable or disable links; 0 = disabled, 1 = enabled legacy: 1 stable: 1 - nightly: 1 - libucxx: - name: libucxx - path: libucxx - desc: "UCXX is an object-oriented C++ interface for UCX, with native support for Python bindings." - ghlink: https://github.com/rapidsai/ucxx + nightly: 0 + # always use these specific versions for these specific paths, regardless + # of the current state of RAPIDS + version-overrides: + legacy: "25.02" + stable: "25.04" + libcuproj: + name: libcuproj + path: libcuproj + desc: 'libcuproj is a C++ header-only library for GPU-accelerated geographic and geodetic coordinate transformation library which supports projecting coordinates between coordinate reference systems (CRSes), similar to PROJ.' + ghlink: https://github.com/rapidsai/cuspatial/tree/main/cpp/cuproj + cllink: https://github.com/rapidsai/cuspatial/blob/main/CHANGELOG.md # Shares a changelog with cuSpatial versions: # enable or disable links; 0 = disabled, 1 = enabled legacy: 1 stable: 1 - nightly: 1 - rapids-cmake: - name: rapids-cmake - path: rapids-cmake - desc: "This is a collection of CMake modules that are useful for all CUDA RAPIDS projects. By sharing the code in a single place it makes rolling out CMake fixes easier." - ghlink: https://github.com/rapidsai/rapids-cmake - cllink: https://github.com/rapidsai/rapids-cmake/blob/main/CHANGELOG.md + nightly: 0 + # always use these specific versions for these specific paths, regardless + # of the current state of RAPIDS + version-overrides: + legacy: "25.02" + stable: "25.04" + libcuspatial: + name: libcuspatial + path: libcuspatial + desc: 'libcuspatial is a GPU-accelerated header-only C++ vector GIS library including binary predicates (DE-9IM), point-in-polygon, spatial join, distances, and trajectory analysis.' + ghlink: https://github.com/rapidsai/cuspatial + cllink: https://github.com/rapidsai/cuspatial/blob/main/CHANGELOG.md versions: # enable or disable links; 0 = disabled, 1 = enabled legacy: 1 stable: 1 - nightly: 1 + nightly: 0 + # always use these specific versions for these specific paths, regardless + # of the current state of RAPIDS + version-overrides: + legacy: "25.02" + stable: "25.04" diff --git a/_includes/api-docs.html b/_includes/api-docs.html index b022cc099cd..cf7613ccabe 100644 --- a/_includes/api-docs.html +++ b/_includes/api-docs.html @@ -9,7 +9,9 @@ ### {{ api.name }} {{ api.desc }} #### DOCS {% for version_name in versions -%} - {%- if api.name == "libucxx" -%} + {%- if api.version-overrides -%} + **[{{ version_name }} ({{ api.version-overrides[version_name] }})](/api/{{ api.path }}/{{ version_name }})** + {%- elsif api.name == "libucxx" -%} **[{{ version_name }} ({{ site.data.releases[version_name].ucxx_version }})](/api/{{ api.path }}/{{ version_name }})** {%- else -%} **[{{ version_name }} ({{ site.data.releases[version_name].version }})](/api/{{ api.path }}/{{ version_name }})** diff --git a/api.md b/api.md index e1959e0e5b9..88c8e4988bb 100644 --- a/api.md +++ b/api.md @@ -29,3 +29,7 @@ select the docs that fit your needs. ## RAPIDS Libraries {% include api-docs.html data=site.data.docs.libs %} + +## Inactive Projects + +{% include api-docs.html data=site.data.docs.inactive-projects %} diff --git a/ci/get-projects-to-versions.sh b/ci/get-projects-to-versions.sh index 81adf3e2568..4925addf355 100755 --- a/ci/get-projects-to-versions.sh +++ b/ci/get-projects-to-versions.sh @@ -13,6 +13,11 @@ # # The libraries that should be copied are read from "_data/docs.yml". # +# The versions that should be copied are read from a mix of sources: +# +# - active projects: "_data/releases.json" +# - inactive projects: 'version-overrides' field in entries in "_data/docs.yml" +# # Produces a JSON mapping of the form: # # { @@ -42,6 +47,7 @@ log-stderr() { } PROJECT_MAP=$(yq '.apis + .libs' _data/docs.yml) +INACTIVE_PROJECT_MAP=$(yq '.inactive-projects' _data/docs.yml) VERSION_MAP=$(jq '{ "legacy": { "version": .legacy.version, "ucxx_version": .legacy.ucxx_version }, @@ -82,4 +88,46 @@ for PROJECT in $(yq -r 'keys | .[]' <<< "$PROJECT_MAP"); do ) done +# inactive projects have specific versions hard-coded in their configuration, process those separately +for PROJECT in $(yq -r 'keys | .[]' <<< "$INACTIVE_PROJECT_MAP"); do + THIS_PROJECT_MAP="{\"${PROJECT}\":{}}" + for VERSION_NAME in $(jq -r 'keys | .[]' <<< "$VERSION_MAP"); do + # do not attempt updates for any versions where the corresponding key is '0' in docs.yml + INACTIVE_PROJECT_MAP_JSON=$(yq -r -o json '.' <<< "$INACTIVE_PROJECT_MAP") + if [ "$(jq -r --arg pr "$PROJECT" --arg vn "$VERSION_NAME" '.[$pr].versions[$vn]' <<< "$INACTIVE_PROJECT_MAP_JSON")" == "0" ]; then + log-stderr "Skipping: $PROJECT | $VERSION_NAME" + continue + fi + + # get the version from the 'version-overrides' field in docs.yml, hard-coded there + # so it doesn't change from release-to-release for inactive projects + VERSION_NUMBER=$( + jq -r \ + --arg vn "$VERSION_NAME" \ + --arg pr "${PROJECT}" \ + '.[$pr]."version-overrides"[$vn]' \ + <<< "${INACTIVE_PROJECT_MAP_JSON}" + ) + PROJECT_MAP_JSON=$(yq -r -o json '.' <<< "$PROJECT_MAP") + if [ "$(jq -r --arg pr "$PROJECT" --arg vn "$VERSION_NAME" '.[$pr].versions[$vn]' <<< "$PROJECT_MAP_JSON")" == "0" ]; then + log-stderr "Skipping: $PROJECT | $VERSION_NAME | $VERSION_NUMBER" + continue + fi + THIS_PROJECT_MAP=$( + jq \ + --arg pr "${PROJECT}" \ + --arg version_name "${VERSION_NAME}" \ + --arg version_number "${VERSION_NUMBER}" \ + '.[$pr] |= . + {$version_name: $version_number}' \ + <<< "${THIS_PROJECT_MAP}" + ) + done + # add this new entry to the mapping + PROJECTS_TO_VERSIONS=$( + jq --slurp \ + 'map(to_entries) | flatten | group_by(.key) | map({key: .[0].key, value: map(.value) | add}) | from_entries' \ + <<< "${PROJECTS_TO_VERSIONS}${THIS_PROJECT_MAP}" + ) +done + echo -n "${PROJECTS_TO_VERSIONS}"