Skip to content

Commit

Permalink
Merge pull request #132 from saeyslab/SC_19_github-actions
Browse files Browse the repository at this point in the history
Sc 19 GitHub actions
  • Loading branch information
ArneDefauw authored Sep 4, 2023
2 parents 9fd397f + 8bf4320 commit d1c2710
Show file tree
Hide file tree
Showing 9 changed files with 254 additions and 150 deletions.
83 changes: 83 additions & 0 deletions .github/workflows/run_tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
name: Run tests

on:
workflow_dispatch:

push:
branches:
- main

pull_request:
branches:
- main

paths:
- 'src/napari_sparrow/**'
- '.github/workflows/run_tests.yml'

env:
CACHE_NUMBER: 1 # increase to reset cache manually

jobs:
test:

strategy:
matrix:
os: [ ubuntu-latest ] #[ubuntu-latest, macos-latest]
python-version: ['3.10']
runs-on: ${{ matrix.os }}

steps:
- uses: actions/checkout@v2

# these libraries enable testing on Qt on linux
- uses: tlambert03/setup-qt-libs@v1

- name: Setup Mambaforge
uses: conda-incubator/setup-miniconda@v2
with:
miniforge-variant: Mambaforge
miniforge-version: latest
activate-environment: napari-sparrow
use-mamba: true
python-version: ${{ matrix.python-version }}

- name: Set cache environment variables
shell: bash -l {0}
run: |
CONDA_PREFIX=$(python -c "import sys; print(sys.prefix)")
echo "$CONDA_PREFIX"
echo "CONDA_PREFIX=$CONDA_PREFIX" >> $GITHUB_ENV
#- name: Set cache date
# run: echo "DATE=$(date +'%Y%m%d')" >> $GITHUB_ENV

- uses: actions/cache@v3
with:
path: ${{ env.CONDA_PREFIX }}
key: conda-env-${{ runner.os }}-${{ matrix.python-version }}-${{ hashFiles('environment.yml') }}-${{ env.CACHE_NUMBER }}
id: cache

- name: Update environment
run: mamba env update -n napari-sparrow -f environment.yml
if: steps.cache.outputs.cache-hit != 'true'


# this runs the platform-specific tests declared in tox.ini
- name: Test with tox
shell: bash -l {0}
run: |
conda activate napari-sparrow
pip install -e '.[testing]'
pip install tox tox-gh-actions
tox
env:
PLATFORM: ${{ matrix.os }}


- name: Upload coverage.xml
uses: actions/upload-artifact@v2
with:
name: coverage-report
path: coverage.xml

91 changes: 0 additions & 91 deletions .github/workflows/test_and_deploy.yml

This file was deleted.

1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ notebooks
src/napari_sparrow/_tests/test_data/*
!src/napari_sparrow/_tests/test_data/20272_slide1_A1-1_DAPI_4288_2144.tiff
!src/napari_sparrow/_tests/test_data/20272_slide1_A1-1_results_4288_2144.txt
!src/napari_sparrow/_tests/test_data/dummy_markers.csv

# Add exection for example configs for resolve and vizgen
!configs/allocate/resolve_liver.yaml
Expand Down
71 changes: 25 additions & 46 deletions environment.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,54 +2,33 @@ name: napari-sparrow
channels:
- pytorch
- conda-forge
- defaults
dependencies:
- python=3.10
- ipykernel=6.9.1
- pytorch=1.12
# disable for non-CUDA GPUs
- cudatoolkit=11.3
- geopandas=0.12.2
- leidenalg=0.9.1
- matplotlib=3.5.2
- napari=0.4.16
- pandas==1.4.2
- numpy==1.21.6
- scikit-image==0.19.2
- seaborn==0.11.2
- matplotlib==3.5.2
- scipy==1.8.0
- jupyterlab==3.4.0
- ipywidgets==7.7.0
- anndata==0.9.1
- tqdm==4.64.0
- opencv==4.5.5
- modestimage==0.2
- widgetsnbextension==3.6.0
# polygons
- geopandas==0.12.2
- rasterio==1.3.2
# scanpy
- scanpy==1.9.1
- python-igraph
# dev tools
- pre-commit
- pytest
- tox
- mypy
- pip
- numpy=1.24.4
- opencv=4.5.5
- pip=22.2.2
- python=3.10.8
- pytorch=1.12.1
- rasterio=1.3.2
- scanpy=1.9.1
- scipy=1.8.0
- seaborn=0.11.2
- pip:
- squidpy==1.2.0
- cellpose==2.0.5
- anndata==0.9.1
- basicpy==1.0.0
- nbmake==1.3.4
- pytest-xdist==2.5.0
- pytest-qt==4.2.0
- spatialdata==0.0.9
- napari-spatialdata==0.2.4
- aicsimageio==4.9.4
- multiscale-spatial-image==0.11.2
- voronoi-diagram-for-polygons==0.1.6 # https://github.com/longavailable/voronoi-diagram-for-polygons/issues/6
- black==23.1.0
- hydra-core==1.2.0
- leidenalg==0.9.1
- cellpose==2.0.5
- jax==0.4.6
- jaxlib==0.4.6
- shapely==2.0.1
- submitit==1.4.5

- spatialdata==0.0.9
- squidpy==1.2.0
- voronoi-diagram-for-polygons==0.1.6
- xarray==2022.12.0
- xarray-dataclasses==1.5.0
- xarray-datatree==0.0.12
- xarray-schema==0.0.3
- xarray-spatial==0.3.5
- pandas==1.4.2
7 changes: 7 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
[build-system]
requires = ["setuptools>=42.0.0", "wheel"]
build-backend = "setuptools.build_meta"

# pyproject.toml file content
[tool.coverage.run]
omit = ["src/napari_sparrow/_tests/*", "experiments/*"]
36 changes: 29 additions & 7 deletions setup.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -30,13 +30,21 @@ project_urls =
[options]
packages = find:
install_requires =
hydra-colorlog==1.2.0
hydra-core==1.2.0
hydra-optuna-sweeper==1.2.0
pandas==1.4.2
spatialdata==0.0.9
cellpose==2.0.5
squidpy==1.2.0
matplotlib<3.7 # scanpy not compatible with matplotlib>=3.7
scanpy==1.9.1
jax==0.4.6
jaxlib==0.4.6
basicpy==1.0.0
voronoi-diagram-for-polygons==0.1.6
rasterio==1.3.2
seaborn==0.11.2
leidenalg==0.9.1
magicgui
numpy
pyrootutils
qtpy
python_requires = >=3.8
include_package_data = True
package_dir =
Expand All @@ -53,14 +61,28 @@ napari.manifest =
napari-sparrow = napari_sparrow:napari.yaml

[options.extras_require]
plugin =
napari==0.4.16
hydra-core==1.2.0
hydra-colorlog==1.2.0
napari-spatialdata==0.2.4

testing =
napari
pyqt5
napari==0.4.16
hydra-core==1.2.0
hydra-colorlog==1.2.0
pytest
pytest-cov
pytest-qt
tox

cli =
hydra-core==1.2.0
hydra-colorlog==1.2.0
submitit==1.4.5
hydra-submitit-launcher==1.2.0


[options.package_data]
* = *.yaml

Expand Down
2 changes: 1 addition & 1 deletion src/napari_sparrow/_tests/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ def cfg_pipeline_global() -> DictConfig:
"dataset.data_dir=${paths.data_dir}",
"dataset.image=${dataset.data_dir}/20272_slide1_A1-1_DAPI_4288_2144.tiff",
"dataset.coords=${dataset.data_dir}/20272_slide1_A1-1_results_4288_2144.txt",
#"dataset.markers=${dataset.data_dir}/markerGeneListMartinNoLow.csv",
"dataset.markers=${dataset.data_dir}/dummy_markers.csv",
"allocate.delimiter='\t'",
"allocate.column_x=0",
"allocate.column_y=1",
Expand Down
Loading

0 comments on commit d1c2710

Please sign in to comment.