{"id":8579,"library":"rapids-dask-dependency","title":"RAPIDS Dask Dependency Pinning","description":"rapids-dask-dependency is a meta-package within the RAPIDS ecosystem that pins compatible versions of Dask and Distributed for a specific RAPIDS release. Its primary function is to ensure that users working with RAPIDS libraries like cuDF and Dask-cuDF have a consistent and stable Dask environment, preventing common version mismatch issues. It aligns with the RAPIDS release cadence, currently at version 26.4.0.","status":"active","version":"26.4.0","language":"en","source_language":"en","source_url":"https://github.com/rapidsai/rapids-dask-dependency","tags":["rapids","dask","distributed","dependency management","meta-package","gpu"],"install":[{"cmd":"pip install rapids-dask-dependency==26.4.0","lang":"bash","label":"Install specific RAPIDS version"}],"dependencies":[],"imports":[],"quickstart":{"code":"# This package doesn't provide direct Python imports for functionality.\n# Its purpose is to ensure compatible Dask/Distributed versions are installed.\n# You install it to set up your environment *before* using Dask with RAPIDS.\n#\n# After installing, you can then import Dask components, which will be\n# the versions specified by rapids-dask-dependency:\n\n# Example of using Dask after installation:\nimport dask.array as da\nimport dask.dataframe as dd\nfrom dask.distributed import Client\n\n# This code will now run with Dask/Distributed versions compatible\n# with the 26.04 RAPIDS release.\n\n# client = Client()\n# print(client)\n# client.close()\n\nprint(f\"Dask Array imported successfully: {da.__version__}\")\nprint(f\"Dask DataFrame imported successfully: {dd.__version__}\")\n# print(f\"Dask Distributed imported successfully: {Client.__module__}\")","lang":"python","description":"rapids-dask-dependency is installed to manage your environment, not imported for direct use. The quickstart shows how to install it to ensure compatible Dask/Distributed versions are present, which then allows you to seamlessly use Dask with other RAPIDS libraries."},"warnings":[{"fix":"Always install all RAPIDS components (including rapids-dask-dependency) within the same environment and specify the same major version number, e.g., `pip install 'rapids-dask-dependency==26.4.0' 'cudf==26.4.0' 'dask-cudf==26.4.0'`. Consider using `conda` for stricter environment management.","message":"RAPIDS libraries (e.g., cudf, dask-cudf) and rapids-dask-dependency *must* belong to the same major RAPIDS release cycle (e.g., all 26.04.x). Mixing versions from different releases (e.g., 26.04 rapids-dask-dependency with 24.08 cudf) will lead to runtime errors, crashes, or incorrect behavior due to ABI/API mismatches.","severity":"breaking","affected_versions":"All versions"},{"fix":"Always install `rapids-dask-dependency` *first* in a fresh virtual environment, or use `pip install --upgrade --force-reinstall rapids-dask-dependency` to ensure Dask/Distributed are properly managed. Even better, use `conda` for RAPIDS installations, as it handles dependencies more robustly.","message":"Installing `rapids-dask-dependency` *after* Dask or Distributed might not automatically downgrade/upgrade existing packages. Pip generally prefers not to downgrade unless explicitly forced, leading to a potentially mixed environment.","severity":"gotcha","affected_versions":"All versions"}],"env_vars":null,"last_verified":"2026-04-16T00:00:00.000Z","next_check":"2026-07-15T00:00:00.000Z","problems":[{"fix":"Ensure `rapids-dask-dependency` (and other RAPIDS packages) are installed consistently across all nodes and in the correct version for your RAPIDS release. Consider rebuilding your environment from scratch using `conda create -n myenv python=3.10` then `conda install -c rapidsai -c nvidia -c conda-forge -c nodejs rapids-dask-dependency=<version> dask-cudf=<version>`.","cause":"Incompatible Dask and Distributed versions between the scheduler and workers, often due to an improperly managed environment or conflicting installations.","error":"distributed.scheduler.KilledWorker: Worker failed to start"},{"fix":"Verify that the versions of `dask` and `distributed` installed exactly match what `rapids-dask-dependency` specifies for your RAPIDS release. Re-run `pip install --upgrade --force-reinstall rapids-dask-dependency` to ensure these packages are correctly pinned. Check `pip list | grep dask` and `pip list | grep distributed`.","cause":"This error or similar `TypeError` or `AttributeError` can occur when Dask and Distributed have subtle API incompatibilities due to mismatched versions, despite appearing to import correctly.","error":"TypeError: 'distributed.protocol.pickle' object is not callable"}]}