Repository: czbiohub-sf/iohub (language: python)

Issue:
Cleanup `waveorder` references
After migration, the module should be more self-contained and not depend on `waveorder`.
Branched off from #1.


Discussion / hints:

Fix patch:
diff --git a/iohub/multipagetiff.py b/iohub/multipagetiff.py
index 61b0e129..c933a2ba 100644
--- a/iohub/multipagetiff.py
+++ b/iohub/multipagetiff.py
@@ -6,7 +6,7 @@
 from copy import copy
 import glob
 import warnings
-from waveorder.io.reader_base import ReaderBase
+from iohub.reader_base import ReaderBase
 
 
 class MicromanagerOmeTiffReader(ReaderBase):
diff --git a/iohub/pycromanager.py b/iohub/pycromanager.py
index 4009cac3..56cd988f 100644
--- a/iohub/pycromanager.py
+++ b/iohub/pycromanager.py
@@ -1,7 +1,7 @@
 import warnings
 import numpy as np
 import zarr
-from waveorder.io.reader_base import ReaderBase
+from iohub.reader_base import ReaderBase
 from pycromanager import Dataset
 
 
diff --git a/iohub/reader.py b/iohub/reader.py
index cf0b81c1..1bf021b0 100644
--- a/iohub/reader.py
+++ b/iohub/reader.py
@@ -3,11 +3,11 @@
 import glob
 import natsort
 import tifffile as tiff
-from waveorder.io.singlepagetiff import MicromanagerSequenceReader
-from waveorder.io.multipagetiff import MicromanagerOmeTiffReader
-from waveorder.io.upti import UPTIReader
-from waveorder.io.zarrfile import ZarrReader
-from waveorder.io.pycromanager import PycromanagerReader
+from iohub.singlepagetiff import MicromanagerSequenceReader
+from iohub.multipagetiff import MicromanagerOmeTiffReader
+from iohub.upti import UPTIReader
+from iohub.zarrfile import ZarrReader
+from iohub.pycromanager import PycromanagerReader
 import logging
 
 # replicate from aicsimageio logging mechanism
diff --git a/iohub/singlepagetiff.py b/iohub/singlepagetiff.py
index 09ba253a..4541feaa 100644
--- a/iohub/singlepagetiff.py
+++ b/iohub/singlepagetiff.py
@@ -9,7 +9,7 @@
 import json
 import natsort
 
-from waveorder.io.reader_base import ReaderBase
+from iohub.reader_base import ReaderBase
 
 
 class MicromanagerSequenceReader(ReaderBase):
diff --git a/iohub/upti.py b/iohub/upti.py
index 7a7e1915..dee344c9 100644
--- a/iohub/upti.py
+++ b/iohub/upti.py
@@ -4,7 +4,7 @@
 import zarr
 import tifffile as tiff
 import glob
-from waveorder.io.reader_base import ReaderBase
+from iohub.reader_base import ReaderBase
 
 
 class UPTIReader(ReaderBase):
diff --git a/iohub/writer.py b/iohub/writer.py
index 86a0215e..ecc33209 100644
--- a/iohub/writer.py
+++ b/iohub/writer.py
@@ -1,6 +1,6 @@
 import zarr
 import os
-from waveorder.io.writer_structures import HCSZarr, DefaultZarr
+from iohub.writer_structures import HCSZarr, DefaultZarr
 
 
 class WaveorderWriter:
diff --git a/iohub/zarrfile.py b/iohub/zarrfile.py
index 9cc72b93..7c16db7b 100644
--- a/iohub/zarrfile.py
+++ b/iohub/zarrfile.py
@@ -1,7 +1,7 @@
 import os
 import zarr
 from copy import copy
-from waveorder.io.reader_base import ReaderBase
+from iohub.reader_base import ReaderBase
 
 
 class ZarrReader(ReaderBase):
diff --git a/pyproject.toml b/pyproject.toml
index 7caead92..4d0aa2a5 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -3,7 +3,7 @@ requires = ["setuptools", "wheel", "setuptools_scm"]
 build-backend = "setuptools.build_meta"
 
 [tool.setuptools_scm]
-write_to = "waveorder/_version.py"
+write_to = "iohub/_version.py"
 
 [tool.black]
 line-length = 79
diff --git a/setup.cfg b/setup.cfg
index 155d1857..c83d80b5 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -1,10 +1,10 @@
 [metadata]
-name = waveorder
+name = iohub
 author = Computational Microscopy Platform, CZ Biohub
 author_email = shalin.mehta@czbiohub.org
-url = https://github.com/mehta-lab/waveorder
+url = https://github.com/czbiohub/iohub
 license = BSD 3-Clause License
-description = Wave optical simulations and deconvolution of optical properties
+description = 
 long_description = file: README.md
 long_description_content_type = text/markdown
 classifiers =
@@ -23,15 +23,15 @@ classifiers =
     Operating System :: Unix
     Operating System :: MacOS
 project_urls =
-    Bug Tracker = https://github.com/mehta-lab/waveorder/issues
-    Documentation = https://github.com/mehta-lab/waveorder
-    Source Code = https://github.com/mehta-lab/waveorder
-    User Support = https://github.com/mehta-lab/waveorder/issues
+    Bug Tracker = https://github.com/czbiohub/iohub/issues
+    Documentation = https://github.com/czbiohub/iohub
+    Source Code = https://github.com/czbiohub/iohub
+    User Support = https://github.com/czbiohub/iohub/issues
 
 [options]
 package = find:
 include_package_data = True
-python_requires = >3.7
+python_requires = >3.8
 setup_requires = setuptools_scm
 # add your package requirements here
 install_requires =


Test patch:
diff --git a/.github/workflows/pytests.yml b/.github/workflows/pytests.yml
index d44d5b15..5713b0d9 100644
--- a/.github/workflows/pytests.yml
+++ b/.github/workflows/pytests.yml
@@ -11,21 +11,19 @@ jobs:
     runs-on: ubuntu-latest
     strategy:
       matrix:
-        python-version: [3.7]
+        python-version: ['3.8', '3.9', '3.10']
 
     steps:
-    - name: Checkout repo
-      uses: actions/checkout@v2
+    - uses: actions/checkout@v3
 
-    - name: Set up Python ${{ matrix.python-version }}
-      uses: actions/setup-python@v1
+    - uses: actions/setup-python@v4
       with:
         python-version: ${{ matrix.python-version }}
 
     - name: Install dependencies
       run: |
         python -m pip install --upgrade pip
-        pip install .[dev]
+        pip install ".[dev]"
 
 #    - name: Lint with flake8
 #      run: |
diff --git a/tests/reader/test_multipagetiff.py b/tests/reader/test_multipagetiff.py
index 785854b3..ce7d1740 100644
--- a/tests/reader/test_multipagetiff.py
+++ b/tests/reader/test_multipagetiff.py
@@ -1,6 +1,6 @@
 import zarr
 import numpy as np
-from waveorder.io.multipagetiff import MicromanagerOmeTiffReader
+from iohub.multipagetiff import MicromanagerOmeTiffReader
 
 
 def test_constructor_mm2gamma(setup_test_data, setup_mm2gamma_ome_tiffs):
diff --git a/tests/reader/test_pycromanager.py b/tests/reader/test_pycromanager.py
index af9006dd..d8d4400b 100644
--- a/tests/reader/test_pycromanager.py
+++ b/tests/reader/test_pycromanager.py
@@ -1,6 +1,6 @@
 import numpy as np
 import dask.array
-from waveorder.io.pycromanager import PycromanagerReader
+from iohub.pycromanager import PycromanagerReader
 
 
 def test_constructor(setup_test_data, setup_pycromanager_test_data):
diff --git a/tests/reader/test_reader.py b/tests/reader/test_reader.py
index da37a671..9d700775 100644
--- a/tests/reader/test_reader.py
+++ b/tests/reader/test_reader.py
@@ -2,10 +2,10 @@
 import dask.array
 import zarr
 import numpy as np
-from waveorder.io.reader import WaveorderReader
-from waveorder.io.singlepagetiff import MicromanagerSequenceReader
-from waveorder.io.multipagetiff import MicromanagerOmeTiffReader
-from waveorder.io.pycromanager import PycromanagerReader
+from iohub.reader import WaveorderReader
+from iohub.singlepagetiff import MicromanagerSequenceReader
+from iohub.multipagetiff import MicromanagerOmeTiffReader
+from iohub.pycromanager import PycromanagerReader
 
 # todo: consider tests for handling ometiff when singlepagetifff is specified (or vice versa)
 # todo: consider tests for handling of positions when extract_data is True and False.
diff --git a/tests/reader/test_singlepagetiff.py b/tests/reader/test_singlepagetiff.py
index 2f9adbea..8f3be27f 100644
--- a/tests/reader/test_singlepagetiff.py
+++ b/tests/reader/test_singlepagetiff.py
@@ -1,6 +1,6 @@
 import zarr
 import numpy as np
-from waveorder.io.singlepagetiff import MicromanagerSequenceReader
+from iohub.singlepagetiff import MicromanagerSequenceReader
 
 
 def test_constructor_mm2gamma(setup_test_data, setup_mm2gamma_singlepage_tiffs):
diff --git a/tests/reader/test_zarrfile.py b/tests/reader/test_zarrfile.py
index 4de308c2..098c717b 100644
--- a/tests/reader/test_zarrfile.py
+++ b/tests/reader/test_zarrfile.py
@@ -1,6 +1,6 @@
 import pytest
-from waveorder.io.zarrfile import ZarrReader
-from waveorder.io.reader import WaveorderReader
+from iohub.zarrfile import ZarrReader
+from iohub.reader import WaveorderReader
 import zarr
 import numpy as np
 
diff --git a/tests/writer/test_default_writer.py b/tests/writer/test_default_writer.py
index bb79e12a..4f58ccd9 100644
--- a/tests/writer/test_default_writer.py
+++ b/tests/writer/test_default_writer.py
@@ -2,8 +2,8 @@
 import os
 import zarr
 import numpy as np
-from waveorder.io.writer import WaveorderWriter
-from waveorder.io.writer_structures import DefaultZarr, HCSZarr, WriterBase
+from iohub.writer import WaveorderWriter
+from iohub.writer_structures import DefaultZarr, HCSZarr, WriterBase
 
 def test_constructor(setup_writer_folder):
     """
diff --git a/tests/writer/test_hcs_writer.py b/tests/writer/test_hcs_writer.py
index f730710e..f1c104cf 100644
--- a/tests/writer/test_hcs_writer.py
+++ b/tests/writer/test_hcs_writer.py
@@ -2,8 +2,8 @@
 import os
 import zarr
 import numpy as np
-from waveorder.io.writer import WaveorderWriter
-from waveorder.io.writer_structures import DefaultZarr, HCSZarr, WriterBase
+from iohub.writer import WaveorderWriter
+from iohub.writer_structures import DefaultZarr, HCSZarr, WriterBase
 
 hcs_meta = {'plate': {
     'acquisitions': [{'id': 1,