Skip to content

Update ipython and black minimum versions to fix security alerts #119

Update ipython and black minimum versions to fix security alerts

Update ipython and black minimum versions to fix security alerts #119

Workflow file for this run

# This workflow will install Python dependencies, run tests and lint with a single version of Python
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions
# 10/31/2025 compatibility issue for MacOS: all DeepCell versions require TensorFlow 2.8.0, which is not available for macOS ARM64. Skipped optional deepcell backend for MacOS
name: Test imc package
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
linux:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Python 3.10
id: setup-python
uses: actions/setup-python@v5
with:
python-version: '3.10'
- name: Cache pip packages
uses: actions/cache@v4
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('**/pyproject.toml') }}
- name: Install dependencies
run: |
${{ env.pythonLocation }}/bin/python -m pip install --upgrade pip setuptools wheel
${{ env.pythonLocation }}/bin/python -m pip install pytest pytest-cov
${{ env.pythonLocation }}/bin/pip install "numpy<2.0" "scipy>=1.11,<1.16" "pandas>=2.0,<3.0" "matplotlib>=3.7,<3.11" "scikit-image==0.19.3" "tifffile>=2025.5" "networkx>=2.6,<3.0" "seaborn>=0.13,<0.14" "fastcluster==1.2.6"
${{ env.pythonLocation }}/bin/pip install "imctools>=2.1.8" "joblib>=1.2,<1.6" "leidenalg>=0.10.2" "python-louvain>=0.16" "scanpy>=1.9,<1.12" "bbknn>=1.6" "numpy-groupies>=0.9,<0.12" "parmap>=1.6,<2.0" "seaborn-extensions>=0.2.0" "outdated>=0.2.2" "ordered-set>=4.1.0" "urlpath>=1.2.0" "PyYAML>=6.0"
${{ env.pythonLocation }}/bin/pip install "astir==0.1.5" "DeepCell==0.12.6"
${{ env.pythonLocation }}/bin/pip install -e .
- name: Test with pytest
run: |
${{ env.pythonLocation }}/bin/python -m pytest imc/
mkdir -p imctest
cd imctest
imc process https://zenodo.org/record/5018260/files/COVID19_brain_Patient03_ROI3_COVID19_olfactorybulb.txt?download=1
ls -l processed/
ls -l results/phenotyping
windows:
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- name: Set up Python 3.10
uses: actions/setup-python@v5
with:
python-version: '3.10'
- name: Cache pip packages
uses: actions/cache@v4
with:
path: ~\AppData\Local\pip\Cache
key: ${{ runner.os }}-pip-${{ hashFiles('**/pyproject.toml') }}
- name: Install dependencies
shell: bash
run: |
python -m pip install --upgrade pip setuptools wheel
python -m pip install pytest pytest-cov
pip install "numpy<2.0" "scipy>=1.11,<1.16" "pandas>=2.0,<3.0" "matplotlib>=3.7,<3.11"
pip install "scikit-image==0.19.3" "tifffile>=2025.5" "networkx>=2.6,<3.0"
pip install "seaborn>=0.13,<0.14" "fastcluster==1.2.6"
pip install "imctools>=2.1.8" "joblib>=1.2,<1.6" "leidenalg>=0.10.2" "python-louvain>=0.16"
pip install "scanpy>=1.9,<1.12" "bbknn>=1.6" "numpy-groupies>=0.9,<0.12" "parmap>=1.6,<2.0"
pip install "seaborn-extensions>=0.2.0" "outdated>=0.2.2" "ordered-set>=4.1.0" "urlpath>=1.2.0" "PyYAML>=6.0"
pip install "astir==0.1.5" "DeepCell==0.12.6"
pip install -e .
- name: Test with pytest
shell: bash
run: |
python -m pytest imc/
osx:
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
- name: Set up Python 3.10
id: setup-python
uses: actions/setup-python@v5
with:
python-version: '3.10'
- name: Install HDF5
run: |
brew install hdf5
echo "HDF5_DIR=$(brew --prefix hdf5)" >> $GITHUB_ENV
- name: Cache pip packages
uses: actions/cache@v4
with:
path: ~/Library/Caches/pip
key: ${{ runner.os }}-pip-${{ hashFiles('**/pyproject.toml') }}
- name: Install dependencies
run: |
${{ env.pythonLocation }}/bin/python -m pip install --upgrade pip setuptools wheel
${{ env.pythonLocation }}/bin/python -m pip install pytest pytest-cov
${{ env.pythonLocation }}/bin/pip install "numpy<2.0" "scipy>=1.11,<1.16" "pandas>=2.0,<3.0" "matplotlib>=3.7,<3.11" "scikit-image==0.19.3" "tifffile>=2025.5" "networkx>=2.6,<3.0" "seaborn>=0.13,<0.14" "fastcluster==1.2.6"
${{ env.pythonLocation }}/bin/pip install "imctools>=2.1.8" "joblib>=1.2,<1.6" "leidenalg>=0.10.2" "python-louvain>=0.16" "scanpy>=1.9,<1.12" "bbknn>=1.6" "numpy-groupies>=0.9,<0.12" "parmap>=1.6,<2.0" "seaborn-extensions>=0.2.0" "outdated>=0.2.2" "ordered-set>=4.1.0" "urlpath>=1.2.0" "PyYAML>=6.0"
${{ env.pythonLocation }}/bin/pip install -e .
- name: Test with pytest
run: |
${{ env.pythonLocation }}/bin/python -m pytest imc/