From e85e9ff0de005ef8282a5ce4fc3e5a78bdd8d79c Mon Sep 17 00:00:00 2001 From: jranek Date: Tue, 17 Mar 2026 15:47:07 -0700 Subject: [PATCH 1/4] update python --- .github/workflows/build.yml | 41 +++++++++++++++++++++++++++++++++++++ setup.py | 4 ++-- 2 files changed, 43 insertions(+), 2 deletions(-) create mode 100644 .github/workflows/build.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..f8afb81 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,41 @@ +name: Build and Test + +on: + push: + +permissions: + contents: read # to fetch code (actions/checkout) + +jobs: + build_wheels: + name: ${{ matrix.os }} Wheels + runs-on: ${{ matrix.os }} + strategy: + # Ensure that a wheel builder finishes even if another fails + fail-fast: false + matrix: + os: [windows-latest, macos-latest] + python-version: ['3.8', '3.9', '3.10', '3.11', '3.12'] + + steps: + - name: Checkout ${{ github.repository }} + uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python-version }} + + - name: Dependencies + run: pip install . + + - name: Test + run: | + python -c "\ + import anndata + from sketchKH import * + adata = anndata.read_h5ad('data/nk_cell_preprocessed.h5ad') + kh_indices, adata_subsample = sketch(adata, sample_set_key = 'FCS_File', gamma = 1, num_subsamples = 500, frequency_seed = 0, n_jobs = 4) + " diff --git a/setup.py b/setup.py index 737b114..456a3fc 100644 --- a/setup.py +++ b/setup.py @@ -11,7 +11,7 @@ author_email='compcylab@gmail.com', url='https://github.com/CompCy-lab/SketchKH', license='MIT', - python_requires='>=3.6, <3.10', + python_requires='>=3.6', long_description=long_description, long_description_content_type = 'text/markdown', packages = find_packages(), @@ -43,4 +43,4 @@ 'tqdm_joblib', ], ext_modules=[], -) \ No newline at end of file +) From 58bdaf9d5fef40397a0ee992231df4d043dfe83f Mon Sep 17 00:00:00 2001 From: jranek Date: Tue, 17 Mar 2026 16:07:26 -0700 Subject: [PATCH 2/4] update python --- README.md | 4 ++-- pyproject.toml | 45 +++++++++++++++++++++++++++++++++++++++++++++ setup.py | 7 ++++--- 3 files changed, 51 insertions(+), 5 deletions(-) create mode 100644 pyproject.toml diff --git a/README.md b/README.md index f29dae7..10dced5 100644 --- a/README.md +++ b/README.md @@ -4,13 +4,13 @@ Distribution-Informed Sketching with Kernel Herding ## Overview We provide a set of functions for distribution-aware sketching of multiple profiled single-cell samples via Kernel Herding. Our sketches select a small, representative set of cells from each profiled sample so that all major immune cell-types and their relative frequencies are well-represented. * Please see our paper for more information (ACM-BCB 2022) : https://arxiv.org/abs/2207.00584 -* Updated : December 27, 2024 +* Updated : March 17, 2026 ![Sketching via KH Overview](https://github.com/CompCy-lab/SketchKH/blob/main/sketch_overview.png?raw=True) ## Installation Dependencies -* Python >= 3.6 < 3.10, anndata >= 0.7.6, numpy >= 1.22.4, scipy >= 1.7.1, numba, joblib, tqdm_joblib +* Python >= 3.6, anndata >= 0.7.6, numpy >= 1.22.4, scipy >= 1.7.1, numba, joblib, tqdm_joblib You can install the package with `pip` by, ``` diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..efd1e2d --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,45 @@ +[build-system] +requires = ["setuptools>=61.0", "wheel"] +build-backend = "setuptools.build_meta" + +[project] +name = "sketchKH" +version = "0.1.3" +description = "Distribution-based sketching of single-cell samples" +readme = "README.md" +requires-python = ">=3.6" +license = { text = "MIT" } +authors = [ + { name = "CompCy Lab", email = "compcylab@gmail.com" } +] +dependencies = [ + "anndata>=0.7.6", + "numpy>=1.22.4", + "scipy>=1.7.1", + "numba", + "tqdm", + "joblib", + "tqdm_joblib", +] +keywords = [ + "cytometry", + "single-cell bioinformatics", + "clinical prediction", + "compression", + "computational biology", +] +classifiers = [ + "Development Status :: 3 - Alpha", + "Intended Audience :: Science/Research", + "Topic :: Scientific/Engineering :: Bio-Informatics", + "License :: OSI Approved :: MIT License", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Operating System :: OS Independent", +] + +[project.urls] +Homepage = "https://github.com/CompCy-lab/SketchKH" \ No newline at end of file diff --git a/setup.py b/setup.py index 456a3fc..5c392c0 100644 --- a/setup.py +++ b/setup.py @@ -5,7 +5,7 @@ setup( name='sketchKH', - version='0.1.2', + version='0.1.3', description='Distribution-based sketching of single-cell samples', author='CompCy Lab', author_email='compcylab@gmail.com', @@ -20,10 +20,11 @@ 'Intended Audience :: Science/Research', 'Topic :: Scientific/Engineering :: Bio-Informatics', 'License :: OSI Approved :: MIT License', - 'Programming Language :: Python :: 3.6', - 'Programming Language :: Python :: 3.7', 'Programming Language :: Python :: 3.8', 'Programming Language :: Python :: 3.9', + 'Programming Language :: Python :: 3.10', + 'Programming Language :: Python :: 3.11', + 'Programming Language :: Python :: 3.12', 'Operating System :: OS Independent', ], keywords=[ From 14be6c00ff81cf90dfee1eab60780e241b3107da Mon Sep 17 00:00:00 2001 From: jranek Date: Tue, 17 Mar 2026 16:13:19 -0700 Subject: [PATCH 3/4] update python --- setup.py | 47 ----------------------------------------------- 1 file changed, 47 deletions(-) delete mode 100644 setup.py diff --git a/setup.py b/setup.py deleted file mode 100644 index 5c392c0..0000000 --- a/setup.py +++ /dev/null @@ -1,47 +0,0 @@ -from setuptools import setup, find_packages - -with open('README.md', 'r') as f: - long_description = f.read() - -setup( - name='sketchKH', - version='0.1.3', - description='Distribution-based sketching of single-cell samples', - author='CompCy Lab', - author_email='compcylab@gmail.com', - url='https://github.com/CompCy-lab/SketchKH', - license='MIT', - python_requires='>=3.6', - long_description=long_description, - long_description_content_type = 'text/markdown', - packages = find_packages(), - classifiers=[ - 'Development Status :: 3 - Alpha', - 'Intended Audience :: Science/Research', - 'Topic :: Scientific/Engineering :: Bio-Informatics', - 'License :: OSI Approved :: MIT License', - 'Programming Language :: Python :: 3.8', - 'Programming Language :: Python :: 3.9', - 'Programming Language :: Python :: 3.10', - 'Programming Language :: Python :: 3.11', - 'Programming Language :: Python :: 3.12', - 'Operating System :: OS Independent', - ], - keywords=[ - 'cytometry', - 'single-cell bioinformatics', - 'clinical prediction', - 'compression', - 'computational biology', - ], - install_requires=[ - 'anndata>=0.7.6', - 'numpy>=1.22.4', - 'scipy>=1.7.1', - 'numba', - 'tqdm', - 'joblib', - 'tqdm_joblib', - ], - ext_modules=[], -) From 072e8b27fff7f22428cc546cef4fd91b523d4177 Mon Sep 17 00:00:00 2001 From: jranek Date: Tue, 17 Mar 2026 16:18:41 -0700 Subject: [PATCH 4/4] update python --- pyproject.toml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index efd1e2d..f1a16a7 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -8,7 +8,6 @@ version = "0.1.3" description = "Distribution-based sketching of single-cell samples" readme = "README.md" requires-python = ">=3.6" -license = { text = "MIT" } authors = [ { name = "CompCy Lab", email = "compcylab@gmail.com" } ] @@ -42,4 +41,8 @@ classifiers = [ ] [project.urls] -Homepage = "https://github.com/CompCy-lab/SketchKH" \ No newline at end of file +Homepage = "https://github.com/CompCy-lab/SketchKH" + +[tool.setuptools.packages.find] +include = ["sketchKH*"] +exclude = ["data*"] \ No newline at end of file