From 96c1516e300291eeaa9f46965bd325a28cb64b4b Mon Sep 17 00:00:00 2001 From: Bruce Martin Date: Thu, 19 Sep 2024 10:36:57 -0700 Subject: [PATCH] Package dependency pins & test (#2) * add minimum version for several dependencies * add compat test for primary dependencies * fix typo in workflow * fix another typo * compat matrix refinement * fix quoting * refine compat test matrix * further simplify matrix * update changelog to use correct links (#3) --- .../python-tilledbsoma-ml-compat.yml | 46 +++++++++++++++++++ CHANGELOG.md | 8 +++- pyproject.toml | 6 +-- 3 files changed, 55 insertions(+), 5 deletions(-) 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..61a5001 --- /dev/null +++ b/.github/workflows/python-tilledbsoma-ml-compat.yml @@ -0,0 +1,46 @@ +name: python-tiledbsoma-ml past tiledbsoma compat # Latest tiledbsoma version covered by another workflow + +on: + pull_request: + branches: ["*"] + paths-ignore: + - "scripts/**" + - "notebooks/**" + push: + branches: [main] + paths-ignore: + - "scripts/**" + - "notebooks/**" + +jobs: + unit_tests: + strategy: + fail-fast: false + matrix: + 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'" + - "tiledbsoma~=1.11.0" + - "tiledbsoma~=1.12.0" + - "tiledbsoma~=1.13.0" + - "tiledbsoma~=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 ${{ matrix.pkg-version }} . + + - name: Run tests + run: pytest -v tests 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 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",