diff --git a/README.rst b/README.rst
index 7faf51c83..e77682757 100644
--- a/README.rst
+++ b/README.rst
@@ -47,19 +47,19 @@ See `spacetx-starfish.readthedocs.io `_.
+`Some operating systems might need different dependencies for napari. For more detailed installation instructions, see here `_.
Python Version Notice
---------------------
-starfish will be dropping support for python 3.6 in the next release due to
-minimum python=3.7 version requirements in upstream dependencies.
+starfish will be dropping support for python 3.8 in the next release due to
+minimum python=3.9 version requirements in upstream dependencies.
Contributing
------------
diff --git a/docs/source/installation/index.rst b/docs/source/installation/index.rst
index 520edd7a0..e211eaaae 100644
--- a/docs/source/installation/index.rst
+++ b/docs/source/installation/index.rst
@@ -3,7 +3,7 @@
Installation
============
-Starfish supports python 3.6 and above (python 3.7 recommended). To install the starfish package,
+Starfish supports python 3.8-11. To install the starfish package,
first verify that your python version is compatible. You can check this by running :code:`python
--version`.
@@ -12,13 +12,13 @@ The output should look similar to this:
.. code-block:: bash
$ python --version
- Python 3.7.7
+ Python 3.8.18
.. warning::
- While starfish itself has no known issues with python 3.8, scikit-image is not fully
- compatible with python 3.8. As such, installation of scikit-image, as part of starfish
- installation, may unexpectedly fail. The workaround is to install numpy first before
- installing starfish or scikit-image.
+ While starfish itself should work on any operating system, some napari dependencies might not be
+ compatible with Apple Silicon or Windows. As such, installation of napari, as part of starfish[napari]
+ installation, may unexpectedly fail. The workaround is to install napari first before
+ installing starfish or updating the dependencies via cloning the project and working in development mode.
Using virtual environments
@@ -44,7 +44,7 @@ Conda_ users can set one up like so:
.. code-block:: bash
- $ conda create -n starfish "python=3.7"
+ $ conda create -n starfish "python=3.8"
$ conda activate starfish
Installing *starfish*
@@ -57,7 +57,7 @@ Starfish can easily be installed using pip:
$ pip install starfish
.. note::
- If using python 3.8, first install numpy using pip before installing starfish.
+ If using Windows or Apple Silicon (M1+), first install napari using pip before installing starfish.
To use napari for interactive image visualization via :py:func:`.display` you must also
install napari:
@@ -72,8 +72,8 @@ Interactive visualization with napari also requires using Qt (e.g. by running th
Installing *starfish* on Windows
--------------------------------
-Windows users can install starfish in the same way. Again, we recommend using a conda or virtual
-environment with python 3.7. Here is how you would install starfish in a virtual environment
+Windows (cmd.exe) users can install starfish in the same way. Again, we recommend using a conda or virtual
+environment with python 3.8+. Here is how you would install starfish in a virtual environment
created with python's ``venv`` module:
.. code-block:: bat
@@ -82,12 +82,11 @@ created with python's ``venv`` module:
> cd starfish
> python -m venv .venv
> .venv\Scripts\activate.bat
+ > pip install napari[all]
> pip install starfish
- > pip install starfish[napari]
.. note::
- Python 3.8 has trouble installing scikit-image v0.15.0 and the ``pip install numpy``
- workaround does not solve this issue on Windows.
+ If you encounter issues, you need to update the dependencies via cloning the project and working in development mode.
Jupyter notebook
----------------
@@ -97,7 +96,54 @@ the virtualenv kernel to jupyter by activating your virtual environment and then
.. code-block:: bash
+ $ python -m pip install jupyter
$ python -m ipykernel install --user --name=
Now you should be able to select ``venv_name`` as the kernel in a jupyter notebook to have access
to the starfish library.
+
+Installing *starfish* in development mode
+-----------------------------------------
+
+If you need to resolve dependency issues with napari and jupyter or want to tinker with the
+starfish package, it is best to work in development mode.
+If you are on a mac, make sure you have the `XCode CommandLine Tools`_
+installed.
+
+.. _`XCode CommandLine Tools`: https://developer.apple.com/library/archive/technotes/tn2339/_index.html
+
+Check out the code for starfish:
+
+.. code-block:: bash
+
+ $ git clone https://github.com/spacetx/starfish.git
+ $ cd starfish
+
+Set up a `virtual environment`_:
+
+.. _`virtual environment`: #using-virtual-environments
+
+.. code-block:: bash
+
+ $ python -m venv .venv
+ $ source .venv/bin/activate
+
+Install starfish:
+
+.. code-block:: bash
+
+ $ make install-dev
+
+Update dependencies for napari and jupyter:
+
+.. code-block:: bash
+
+ $ make -B requirements/REQUIREMENTS-NAPARI-CI.txt
+ $ make -B requirements/REQUIREMENTS-JUPYTER.txt
+
+Install napari and jupyter:
+
+.. code-block:: bash
+
+ $ pip install -r requirements/REQUIREMENTS-NAPARI-CI.txt
+ $ pip install -r requirements/REQUIREMENTS-JUPYTER.txt