Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

update hatch #309

Merged
merged 14 commits into from
Dec 16, 2024
3 changes: 2 additions & 1 deletion .github/workflows/test-gpu-dev.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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
4 changes: 2 additions & 2 deletions .github/workflows/test-gpu.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,15 +42,15 @@ 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
with:
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
Expand Down
4 changes: 2 additions & 2 deletions conda/rsc_rapids_24.10.yml → conda/rsc_rapids_24.12.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
8 changes: 6 additions & 2 deletions docs/Installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand All @@ -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`.
Expand Down
5 changes: 5 additions & 0 deletions hatch.toml
Original file line number Diff line number Diff line change
Expand Up @@ -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"
]
6 changes: 3 additions & 3 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -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"}
Expand All @@ -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.10.*", "cuml-cu12==24.10.*", "cugraph-cu12==24.10.*"]
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",
Expand Down
Loading