From d3fce94448e2d55ec12ef06143810290c04fe7b1 Mon Sep 17 00:00:00 2001 From: bkmartinjr Date: Thu, 19 Sep 2024 08:12:00 -0700 Subject: [PATCH 1/9] add minimum version for several dependencies --- pyproject.toml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index ab21890..7901253 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -6,9 +6,9 @@ build-backend = "setuptools.build_meta" name = "tiledbsoma-ml" dynamic = ["version"] dependencies = [ - "attrs", - "tiledbsoma", - "torch", + "attrs>=22.2", + "tiledbsoma>=1.9.0", + "torch>=2.0", "torchdata<=0.9", "numpy", "numba", From c2fb3a06fb3f942fe07fdc102cc69c2b1d313982 Mon Sep 17 00:00:00 2001 From: bkmartinjr Date: Thu, 19 Sep 2024 08:12:26 -0700 Subject: [PATCH 2/9] add compat test for primary dependencies --- .../python-tilledbsoma-ml-compat.yml | 44 +++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 .github/workflows/python-tilledbsoma-ml-compat.yml diff --git a/.github/workflows/python-tilledbsoma-ml-compat.yml b/.github/workflows/python-tilledbsoma-ml-compat.yml new file mode 100644 index 0000000..e1df23d --- /dev/null +++ b/.github/workflows/python-tilledbsoma-ml-compat.yml @@ -0,0 +1,44 @@ +name: python-tiledbsoma-ml past tiledbsoma compat # Latest tiledbsoma version covered by another workflow + +on: + pull_request: + branches: ["*"] + paths-ignore: + - "scripts/**" + push: + branches: [main] + paths-ignore: + - "scripts/**" + +jobs: + unit_tests: + strategy: + fail-fast: false + matrix: + os: ["ubuntu-latest", "macos-latest"] + python-version: ["3.9", "3.10", "3.11", "3.12"] + tiledbsoma-version: + - "~=1.9.0" + - "~=1.10.0" + - "~=1.11.0" + - "~=1.12.0" + - "~=1.13.0" + - "~=1.14.0" + + runs-on: ${{ matrix.os }} + + steps: + - uses: actions/checkout@v4 + + - uses: actions/setup-python@v5 + with: + python-version: ${{ matrix.python-version }} + cache: pip + + - name: Install prereqs + run: | + pip install --upgrade pip pytest setuptools + pip install tiledbsoma=${{ tiledbsoma-version }} . + + - name: Run tests + run: pytest -v tests From 407414a35d6250ceb87ae7ef6dd1d05e3657cd09 Mon Sep 17 00:00:00 2001 From: bkmartinjr Date: Thu, 19 Sep 2024 08:16:06 -0700 Subject: [PATCH 3/9] fix typo in workflow --- .github/workflows/python-tilledbsoma-ml-compat.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python-tilledbsoma-ml-compat.yml b/.github/workflows/python-tilledbsoma-ml-compat.yml index e1df23d..a962236 100644 --- a/.github/workflows/python-tilledbsoma-ml-compat.yml +++ b/.github/workflows/python-tilledbsoma-ml-compat.yml @@ -38,7 +38,7 @@ jobs: - name: Install prereqs run: | pip install --upgrade pip pytest setuptools - pip install tiledbsoma=${{ tiledbsoma-version }} . + pip install tiledbsoma=${{ matrix.tiledbsoma-version }} . - name: Run tests run: pytest -v tests From 0f6030fde1cbe593dbae99c1258753b64c3aac2b Mon Sep 17 00:00:00 2001 From: bkmartinjr Date: Thu, 19 Sep 2024 08:17:32 -0700 Subject: [PATCH 4/9] fix another typo --- .github/workflows/python-tilledbsoma-ml-compat.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python-tilledbsoma-ml-compat.yml b/.github/workflows/python-tilledbsoma-ml-compat.yml index a962236..d9d4a95 100644 --- a/.github/workflows/python-tilledbsoma-ml-compat.yml +++ b/.github/workflows/python-tilledbsoma-ml-compat.yml @@ -38,7 +38,7 @@ jobs: - name: Install prereqs run: | pip install --upgrade pip pytest setuptools - pip install tiledbsoma=${{ matrix.tiledbsoma-version }} . + pip install tiledbsoma${{ matrix.tiledbsoma-version }} . - name: Run tests run: pytest -v tests From 75145adeb8b0e2f3d76fb725af94143b8a511eb7 Mon Sep 17 00:00:00 2001 From: bkmartinjr Date: Thu, 19 Sep 2024 08:41:04 -0700 Subject: [PATCH 5/9] compat matrix refinement --- .../python-tilledbsoma-ml-compat.yml | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/.github/workflows/python-tilledbsoma-ml-compat.yml b/.github/workflows/python-tilledbsoma-ml-compat.yml index d9d4a95..edbe577 100644 --- a/.github/workflows/python-tilledbsoma-ml-compat.yml +++ b/.github/workflows/python-tilledbsoma-ml-compat.yml @@ -17,13 +17,16 @@ jobs: matrix: os: ["ubuntu-latest", "macos-latest"] python-version: ["3.9", "3.10", "3.11", "3.12"] - tiledbsoma-version: - - "~=1.9.0" - - "~=1.10.0" - - "~=1.11.0" - - "~=1.12.0" - - "~=1.13.0" - - "~=1.14.0" + pkg-version: + - "tiledbsoma~=1.9.0 numpy<=2.0.0" + - "tiledbsoma~=1.10.0 numpy<=2.0.0" + - "tiledbsoma~=1.11.0" + - "tiledbsoma~=1.12.0" + - "tiledbsoma~=1.13.0" + - "tiledbsoma~=1.14.0" + exclude: # TODO: remove mac-os/3.12 exclusion when tiledbsoma supports it + - python-version: 3.12 + os: macos-latest runs-on: ${{ matrix.os }} @@ -38,7 +41,7 @@ jobs: - name: Install prereqs run: | pip install --upgrade pip pytest setuptools - pip install tiledbsoma${{ matrix.tiledbsoma-version }} . + pip install ${{ matrix.pkg-version }} . - name: Run tests run: pytest -v tests From 295cbb0bacb56c412ed29df24a3e1a12edbf020e Mon Sep 17 00:00:00 2001 From: bkmartinjr Date: Thu, 19 Sep 2024 08:45:00 -0700 Subject: [PATCH 6/9] fix quoting --- .github/workflows/python-tilledbsoma-ml-compat.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/python-tilledbsoma-ml-compat.yml b/.github/workflows/python-tilledbsoma-ml-compat.yml index edbe577..8291d58 100644 --- a/.github/workflows/python-tilledbsoma-ml-compat.yml +++ b/.github/workflows/python-tilledbsoma-ml-compat.yml @@ -18,8 +18,8 @@ jobs: os: ["ubuntu-latest", "macos-latest"] python-version: ["3.9", "3.10", "3.11", "3.12"] pkg-version: - - "tiledbsoma~=1.9.0 numpy<=2.0.0" - - "tiledbsoma~=1.10.0 numpy<=2.0.0" + - "tiledbsoma~=1.9.0 'numpy<=2.0.0'" + - "tiledbsoma~=1.10.0 'numpy<=2.0.0'" - "tiledbsoma~=1.11.0" - "tiledbsoma~=1.12.0" - "tiledbsoma~=1.13.0" From 4d847289062d7eedb25544c52602378f4731cc15 Mon Sep 17 00:00:00 2001 From: bkmartinjr Date: Thu, 19 Sep 2024 08:54:06 -0700 Subject: [PATCH 7/9] refine compat test matrix --- .github/workflows/python-tilledbsoma-ml-compat.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/python-tilledbsoma-ml-compat.yml b/.github/workflows/python-tilledbsoma-ml-compat.yml index 8291d58..4f65648 100644 --- a/.github/workflows/python-tilledbsoma-ml-compat.yml +++ b/.github/workflows/python-tilledbsoma-ml-compat.yml @@ -18,8 +18,8 @@ jobs: os: ["ubuntu-latest", "macos-latest"] python-version: ["3.9", "3.10", "3.11", "3.12"] pkg-version: - - "tiledbsoma~=1.9.0 'numpy<=2.0.0'" - - "tiledbsoma~=1.10.0 'numpy<=2.0.0'" + - "tiledbsoma~=1.9.0 'numpy<2.0.0'" + - "tiledbsoma~=1.10.0 'numpy<2.0.0'" - "tiledbsoma~=1.11.0" - "tiledbsoma~=1.12.0" - "tiledbsoma~=1.13.0" From 35aea4e8d11638f11cf395748083be292fdd3a48 Mon Sep 17 00:00:00 2001 From: bkmartinjr Date: Thu, 19 Sep 2024 09:19:12 -0700 Subject: [PATCH 8/9] further simplify matrix --- .github/workflows/python-tilledbsoma-ml-compat.yml | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/.github/workflows/python-tilledbsoma-ml-compat.yml b/.github/workflows/python-tilledbsoma-ml-compat.yml index 4f65648..61a5001 100644 --- a/.github/workflows/python-tilledbsoma-ml-compat.yml +++ b/.github/workflows/python-tilledbsoma-ml-compat.yml @@ -5,18 +5,20 @@ on: branches: ["*"] paths-ignore: - "scripts/**" + - "notebooks/**" push: branches: [main] paths-ignore: - "scripts/**" + - "notebooks/**" jobs: unit_tests: strategy: fail-fast: false matrix: - os: ["ubuntu-latest", "macos-latest"] - python-version: ["3.9", "3.10", "3.11", "3.12"] + os: ["ubuntu-latest"] # could add 'macos-latest', but the matrix is already huge... + python-version: ["3.9", "3.10", "3.11"] # TODO: add 3.12 when tiledbsoma releases wheels for it. pkg-version: - "tiledbsoma~=1.9.0 'numpy<2.0.0'" - "tiledbsoma~=1.10.0 'numpy<2.0.0'" @@ -24,9 +26,6 @@ jobs: - "tiledbsoma~=1.12.0" - "tiledbsoma~=1.13.0" - "tiledbsoma~=1.14.0" - exclude: # TODO: remove mac-os/3.12 exclusion when tiledbsoma supports it - - python-version: 3.12 - os: macos-latest runs-on: ${{ matrix.os }} From 0bb6805886ce8d23cee4e5ee5ffaaa1ba1562433 Mon Sep 17 00:00:00 2001 From: Bruce Martin Date: Thu, 19 Sep 2024 10:03:37 -0700 Subject: [PATCH 9/9] update changelog to use correct links (#3) --- CHANGELOG.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6f0d697..957c631 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,12 +8,16 @@ and this project adheres to [Semantic Versioning](http://semver.org/). ## [Unreleased] - yyyy-mm-dd -Porting and enhancing initial code contribution from the Chan Zuckerberg Initiative Foundation +Port and enhance contribution from the Chan Zuckerberg Initiative Foundation [CELLxGENE](https://cellxgene.cziscience.com/) project. +This is not a one-for-one migration of the contributed code. Substantial changes have +been made to the package utility (e.g., multi-GPU support), improve API usability, etc. + ### Added -- Initial commits via PR [#2823](https://github.com/single-cell-data/TileDB-SOMA/pull/2823) +- Initial commits via [PR #1](https://github.com/single-cell-data/TileDB-SOMA-ML/pull/1) +- Refine package dependency pins and compatibility tests via [PR #2](https://github.com/single-cell-data/TileDB-SOMA-ML/pull/2) ### Changed