diff --git a/.github/workflows/test-gpu-dev.yml b/.github/workflows/test-gpu-dev.yml index b47355fa..2d5cd25f 100644 --- a/.github/workflows/test-gpu-dev.yml +++ b/.github/workflows/test-gpu-dev.yml @@ -42,7 +42,7 @@ jobs: - name: Install Python uses: actions/setup-python@v5 with: - python-version: "3.11" + python-version: "3.12" - name: Install UV uses: hynek/setup-cached-uv@v2 @@ -55,6 +55,7 @@ jobs: "scanpy @ git+https://github.com/scverse/scanpy.git" "anndata @ git+https://github.com/scverse/anndata.git" --extra-index-url=https://pypi.nvidia.com + --index-strategy=unsafe-best-match - name: Run test run: pytest diff --git a/.github/workflows/test-gpu.yml b/.github/workflows/test-gpu.yml index f2fef56a..40d0c931 100644 --- a/.github/workflows/test-gpu.yml +++ b/.github/workflows/test-gpu.yml @@ -42,7 +42,7 @@ jobs: - name: Install Python uses: actions/setup-python@v5 with: - python-version: "3.11" + python-version: "3.12" - name: Install UV uses: hynek/setup-cached-uv@v2 @@ -50,7 +50,7 @@ jobs: cache-dependency-path: pyproject.toml - name: Install rapids-singlecell - run: uv pip install --system -e .[test,rapids12] --extra-index-url=https://pypi.nvidia.com + run: uv pip install --system -e .[test,rapids12] --extra-index-url=https://pypi.nvidia.com --index-strategy=unsafe-best-match - name: Pip list run: pip list diff --git a/conda/rsc_rapids_24.10.yml b/conda/rsc_rapids_24.12.yml similarity index 91% rename from conda/rsc_rapids_24.10.yml rename to conda/rsc_rapids_24.12.yml index c21bf794..b57125df 100644 --- a/conda/rsc_rapids_24.10.yml +++ b/conda/rsc_rapids_24.12.yml @@ -5,8 +5,8 @@ channels: - conda-forge - bioconda dependencies: - - rapids=24.10 - - python=3.11 + - rapids=24.12 + - python=3.12 - cuda-version=12.5 - cudnn - cutensor diff --git a/docs/Installation.md b/docs/Installation.md index bce93e67..54b01c5c 100644 --- a/docs/Installation.md +++ b/docs/Installation.md @@ -2,9 +2,9 @@ ## Conda The easiest way to install *rapids-singlecell* is to use one of the *yaml* file provided in the [conda](https://github.com/scverse/rapids_singlecell/tree/main/conda) folder. These *yaml* files install everything needed to run the example notebooks and get you started. ``` -conda env create -f conda/rsc_rapids_24.06.yml #default CUDA-11.8 +conda env create -f conda/rsc_rapids_24.08.yml #default CUDA-11.8 # or -mamba env create -f conda/rsc_rapids_24.08.yml #default CUDA-12.5 +mamba env create -f conda/rsc_rapids_24.12.yml #default CUDA-12.5 ``` ## PyPI As of version 0.4.0 *rapids-singlecell* is now on PyPI. @@ -21,6 +21,10 @@ pip install 'rapids-singlecell[rapids12]' --extra-index-url=https://pypi.nvidia. ``` It is important to ensure that the CUDA environment is set up correctly so that RAPIDS and Cupy can locate the necessary libraries. +```{note} +If you are using `python=3.12` with `uv`, you might need to add the `--index-strategy=unsafe-best-match` flag to ensure compatibility. +``` + ## Docker We also offer a Docker container for `rapids-singlecell`. This container includes all the necessary dependencies, making it even easier to get started with `rapids-singlecell`. diff --git a/hatch.toml b/hatch.toml index 7d11867b..e3b2ce0c 100644 --- a/hatch.toml +++ b/hatch.toml @@ -9,3 +9,8 @@ features = ["test", "rapids12"] features = ["doc"] scripts.build = "sphinx-build -M html docs docs/_build {args}" scripts.clean = "git clean -fXd docs" + +[envs.default.pip] +extra_index_urls = [ + "https://pypi.nvidia.com" +] diff --git a/pyproject.toml b/pyproject.toml index 3f7f8bfc..06d11367 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -5,7 +5,7 @@ build-backend = "hatchling.build" [project] name = "rapids_singlecell" description = "running single cell analysis on Nvidia GPUs" -requires-python = ">=3.10" +requires-python = ">=3.10, <3.13" license = {file = "LICENSE"} authors = [{name = "Severin Dicks"}] readme = {file = "README.md", content-type="text/markdown"} @@ -26,8 +26,8 @@ dependencies = [ ] [project.optional-dependencies] -rapids11 = ["cupy-cuda11x","cudf-cu11==24.10.*", "cuml-cu11==24.10.*", "cugraph-cu11==24.10.*"] -rapids12 = ["cupy-cuda12x","cudf-cu12==24.8.*", "cuml-cu12==24.8.*", "cugraph-cu12==24.8.*"] +rapids11 = ["cupy-cuda11x","cudf-cu11==24.12.*", "cuml-cu11==24.12.*", "cugraph-cu11==24.12.*"] +rapids12 = ["cupy-cuda12x","cudf-cu12==24.12.*", "cuml-cu12==24.12.*", "cugraph-cu12==24.12.*"] doc = [ "sphinx>=4.5.0", "sphinx-copybutton",