Skip to content

Commit

Permalink
Merge branch 'master' into master
Browse files Browse the repository at this point in the history
  • Loading branch information
chaichontat authored Nov 20, 2024
2 parents bda2d40 + 233b013 commit 4b72706
Show file tree
Hide file tree
Showing 79 changed files with 2,010 additions and 1,195 deletions.
52 changes: 26 additions & 26 deletions .github/workflows/starfish-prod-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,10 @@ jobs:
steps:
- uses: actions/checkout@v2

- name: Setup Python 3.8
- name: Setup Python 3.9
uses: actions/setup-python@v2
with:
python-version: 3.8
python-version: 3.9

- uses: actions/cache@v2
with:
Expand All @@ -41,7 +41,7 @@ jobs:
strategy:
matrix:
os: ["windows-latest", "ubuntu-latest"]
python-version: ["3.7", "3.8", "3.9"]
python-version: ["3.9", "3.10", "3.11", "3.12"]
fail-fast: false
runs-on: ${{ matrix.os }}
steps:
Expand Down Expand Up @@ -71,7 +71,7 @@ jobs:
strategy:
matrix:
os: ["windows-latest", "ubuntu-latest"]
python-version: ["3.7", "3.8", "3.9"]
python-version: ["3.9", "3.10", "3.11", "3.12"]
fail-fast: false
runs-on: ${{ matrix.os }}
steps:
Expand Down Expand Up @@ -164,10 +164,10 @@ jobs:
steps:
- uses: actions/checkout@v2

- name: Setup Python 3.8
- name: Setup Python 3.9
uses: actions/setup-python@v2
with:
python-version: 3.8
python-version: 3.9

- uses: actions/cache@v2
with:
Expand All @@ -189,10 +189,10 @@ jobs:
steps:
- uses: actions/checkout@v2

- name: Setup Python 3.8
- name: Setup Python 3.9
uses: actions/setup-python@v2
with:
python-version: 3.8
python-version: 3.9

- uses: actions/cache@v2
with:
Expand All @@ -214,10 +214,10 @@ jobs:
steps:
- uses: actions/checkout@v2

- name: Setup Python 3.8
- name: Setup Python 3.9
uses: actions/setup-python@v2
with:
python-version: 3.8
python-version: 3.9

- uses: actions/cache@v2
with:
Expand All @@ -239,10 +239,10 @@ jobs:
steps:
- uses: actions/checkout@v2

- name: Setup Python 3.8
- name: Setup Python 3.9
uses: actions/setup-python@v2
with:
python-version: 3.8
python-version: 3.9

- uses: actions/cache@v2
with:
Expand All @@ -264,10 +264,10 @@ jobs:
steps:
- uses: actions/checkout@v2

- name: Setup Python 3.8
- name: Setup Python 3.9
uses: actions/setup-python@v2
with:
python-version: 3.8
python-version: 3.9

- uses: actions/cache@v2
with:
Expand All @@ -289,10 +289,10 @@ jobs:
steps:
- uses: actions/checkout@v2

- name: Setup Python 3.8
- name: Setup Python 3.9
uses: actions/setup-python@v2
with:
python-version: 3.8
python-version: 3.9

- uses: actions/cache@v2
with:
Expand All @@ -314,10 +314,10 @@ jobs:
steps:
- uses: actions/checkout@v2

- name: Setup Python 3.8
- name: Setup Python 3.9
uses: actions/setup-python@v2
with:
python-version: 3.8
python-version: 3.9

- uses: actions/cache@v2
with:
Expand All @@ -339,10 +339,10 @@ jobs:
steps:
- uses: actions/checkout@v2

- name: Setup Python 3.8
- name: Setup Python 3.9
uses: actions/setup-python@v2
with:
python-version: 3.8
python-version: 3.9

- uses: actions/cache@v2
with:
Expand All @@ -364,10 +364,10 @@ jobs:
steps:
- uses: actions/checkout@v2

- name: Setpu Python 3.8
- name: Setpu Python 3.9
uses: actions/setup-python@v2
with:
python-version: 3.8
python-version: 3.9

- uses: actions/cache@v2
with:
Expand All @@ -389,10 +389,10 @@ jobs:
steps:
- uses: actions/checkout@v2

- name: Setup Python 3.8
- name: Setup Python 3.9
uses: actions/setup-python@v2
with:
python-version: 3.8
python-version: 3.9

- uses: actions/cache@v2
with:
Expand All @@ -414,10 +414,10 @@ jobs:
steps:
- uses: actions/checkout@v2

- name: Setup Python 3.8
- name: Setup Python 3.9
uses: actions/setup-python@v2
with:
python-version: 3.8
python-version: 3.9

- uses: actions/cache@v2
with:
Expand Down
49 changes: 49 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,50 @@
## [0.3.1] - 2024-11-12
- Updating CHANGELOG.md for release 0.3.1
- Adding support to Python 3.12 (#2027)
- Numpy 1.26 update to support Python 3.12 (#2025)
- fixing blob radius calculation in 2d (#2023)
- Release 0.3.0 (#2021)

## [0.3.0] - 2024-10-05
- Dropping support for Python 3.8 and setting Python 3.9 as minimum (#2018)
- Update readthedocs.yml (#2014)
- Scripts and dependencies updates for Python 3.8 - 3.10 (#2009)
- Add min_distance parameter to peak_local_max call (#2008)
- Various Small Fixes/Improvements (#1985)
- Updated seqFISH Decoding Method: CheckAll Decoder (#1978)
- Bump dask from 2021.9.0 to 2021.10.0 in /requirements (#1968)
- Revert "Revert "Fix coords assignment in CombineAdjustFeatures.run (#1965)" (#1966)" (#1967)
- Revert "Fix coords assignment in CombineAdjustFeatures.run (#1965)" (#1966)
- Fix coords assignment in CombineAdjustFeatures.run (#1965)
- Add to_dict and from_dict methods to TransformsList class (#1956)
- fix notebook tests
- Fix check-notebooks makefile command; Add python 3.9 to slow-tests
- Fix Sphinx docs
- Register pytest markers
- Remove is_volume param from testing TrackpyLocalMaxPeakFinder invocation
- Address skimage deprecation of skimage.morphology.watershed
- Address Xarray pending deprecation for GroupBy.apply
- Remove usage of deprecated numpy builtin types like np.bool/np.int
- Add n_processes parameter to FindSpotsAlgorithm.run() abstract method
- Remove deprecated `indices` param for skimage.feature.peak_local_max
- Resolve failure when `peak_local_max()` finds no spots
- Fix failing nearest neighbor trace builder tests
- Fix composite codebook decoder tests
- Change default value of BlobDetector exclude_border parameter to False
- Fix incorrect type annotation and improper `.data()` method call
- Fix failing morphology utility functions
- Fix failing LearnTransform Translation class
- Fix failing Codebook and IntensityTable shape validator
- Fix failing Codebook.decode_per_round_max() test
- Update .gitignore file
- Defer when docker-smoketest github actiosn job is run
- Bump requirements to clear github actions cache
- Fix broken github actions Lint job; Fix broken caching
- Address Mypy type annotation errors
- Update github actions to use caching; Disable Napari tests for now
- Use `python -m pip install ...` to perform pip upgrade
- Replace Travis CI with Github Actions

## [0.2.2] - 2021-04-29
- Updates requirements
- Updates to documentation
Expand Down Expand Up @@ -233,6 +280,8 @@
## [0.0.33] - 2019.02.14
- Last release without a changelog!

[0.3.1]: https://github.com/spacetx/starfish/releases/tag/0.3.1
[0.3.0]: https://github.com/spacetx/starfish/releases/tag/0.3.0
[0.2.2]: https://github.com/spacetx/starfish/releases/tag/0.2.2
[0.2.1]: https://github.com/spacetx/starfish/releases/tag/0.2.1
[0.2.0]: https://github.com/spacetx/starfish/releases/tag/0.2.0
Expand Down
12 changes: 5 additions & 7 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ DOCKER_BUILD?=1

VERSION=$(shell sh -c "git describe --exact --dirty 2> /dev/null")
# if you update this, you will need to update the version pin for the "Install Napari & Test napari (pinned)" test in .travis.yml
PIP_VERSION=21.2.4
PIP_VERSION=24.2

define print_help
@printf " %-28s $(2)\n" $(1)
Expand Down Expand Up @@ -80,8 +80,8 @@ help-docs:

### REQUIREMENTS #############################################
#
GENERATED_REQUIREMENT_FILES=starfish/REQUIREMENTS-STRICT.txt requirements/REQUIREMENTS-CI.txt requirements/REQUIREMENTS-NAPARI-CI.txt
SOURCE_REQUIREMENT_FILES=REQUIREMENTS.txt requirements/REQUIREMENTS-CI.txt.in requirements/REQUIREMENTS-NAPARI-CI.txt.in
GENERATED_REQUIREMENT_FILES=starfish/REQUIREMENTS-STRICT.txt requirements/REQUIREMENTS-CI.txt requirements/REQUIREMENTS-NAPARI-CI.txt requirements/REQUIREMENTS-JUPYTER.txt
SOURCE_REQUIREMENT_FILES=REQUIREMENTS.txt requirements/REQUIREMENTS-CI.txt.in requirements/REQUIREMENTS-NAPARI-CI.txt.in requirements/REQUIREMENTS-JUPYTER.txt.in

# This rule pins the requirements with the minimal set of changes required to satisfy the
# requirements. This is typically run when a new requirement is added, and we want to
Expand All @@ -102,8 +102,7 @@ pin-all-requirements:
starfish/REQUIREMENTS-STRICT.txt : REQUIREMENTS.txt
[ ! -e .$<-env ] || exit 1
$(call create_venv, .$<-env)
.$<-env/bin/pip install --upgrade pip==$(PIP_VERSION)
.$<-env/bin/pip install -r $@
.$<-env/bin/pip install --upgrade --no-cache-dir pip==$(PIP_VERSION) setuptools
.$<-env/bin/pip install -r $<
echo "# You should not edit this file directly. Instead, you should edit one of the following files ($^) and run make $@" >| $@
.$<-env/bin/pip freeze --all | grep -v "pip==$(PIP_VERSION)" >> $@
Expand All @@ -112,8 +111,7 @@ starfish/REQUIREMENTS-STRICT.txt : REQUIREMENTS.txt
requirements/REQUIREMENTS-%.txt : requirements/REQUIREMENTS-%.txt.in REQUIREMENTS.txt
[ ! -e .$<-env ] || exit 1
$(call create_venv, .$<-env)
.$<-env/bin/pip install --upgrade pip==$(PIP_VERSION)
.$<-env/bin/pip install -r $@
.$<-env/bin/pip install --upgrade --no-cache-dir pip==$(PIP_VERSION) setuptools
for src in $^; do \
.$<-env/bin/pip install -r $$src; \
done
Expand Down
28 changes: 16 additions & 12 deletions README.rst
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
starfish: scalable pipelines for image-based transcriptomics
========
============================================================


.. image:: docs/source/_static/design/logo.png
:scale: 50 %
.. image:: https://github.com/spacetx/starfish/blob/64add94b51dbf6f8f5fd614b02c4dfbf4b0d702d/docs/source/_static/design/logo.png?raw=True
:alt: starfish logo
:width: 312
:height: 127
:align: center

-----------------------------

Expand All @@ -23,15 +25,17 @@ starfish: scalable pipelines for image-based transcriptomics
:target: https://spacetx-starfish.readthedocs.io/en/latest/?badge=latest
:alt: Documentation Status

.. image:: https://travis-ci.com/spacetx/starfish.svg?branch=master
:target: https://travis-ci.com/spacetx/starfish
.. image:: https://github.com/spacetx/starfish/actions/workflows/starfish-prod-ci.yml/badge.svg?branch=master
:target: https://github.com/spacetx/starfish/actions/workflows/starfish-prod-ci.yml
:alt: starfish production CI

.. image:: https://codecov.io/gh/spacetx/starfish/branch/master/graph/badge.svg
:target: https://codecov.io/gh/spacetx/starfish
:alt: Code Coverage

-------------------------------

*starfish* is a Python library for processing images of image-based spatial transcriptomics.
**starfish** is a Python library for processing images of image-based spatial transcriptomics.
It lets you build scalable pipelines that localize and quantify RNA transcripts in image data
generated by any FISH method, from simple RNA single-molecule FISH to combinatorial barcoded
assays.
Expand All @@ -47,19 +51,19 @@ See `spacetx-starfish.readthedocs.io <https://spacetx-starfish.readthedocs.io/en
Installation
------------

starfish supports python 3.7 and above and can easily be installed from PyPI:
starfish supports python 3.9-3.12 and can easily be installed from PyPI:

.. code-block:: bash
$ pip install starfish[napari]
`For more detailed installation instructions, see here <https://spacetx-starfish.readthedocs.io/en/latest/installation/>`_.
`Some operating systems might need different dependencies for napari. For more detailed installation instructions, see here <https://spacetx-starfish.readthedocs.io/en/latest/installation/>`_.

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.9 in future release when
upstream dependencies will require a minimum python=3.10 version.

Contributing
------------
Expand All @@ -70,7 +74,7 @@ We welcome contributions from our users! See our contributing.rst_ and `develope
.. _contributing.rst: https://github.com/spacetx/starfish/blob/master/CONTRIBUTING.rst

Help, support, and questions
----------------
----------------------------

- Forum: ask on the `Image.sc forum <https://forum.image.sc/tag/starfish>`_
- Email: `starfish@chanzuckerberg.com <mailto:starfish@chanzuckerberg.com>`_
41 changes: 19 additions & 22 deletions REQUIREMENTS.txt
Original file line number Diff line number Diff line change
@@ -1,30 +1,27 @@
# The following requirement is here because networkx restricts the version
# of decorator. Since pip is not a full dependency solver, it has already
# installed decorator before networkx is installed, and bombs after the
# fact.
decorator < 5.0
click
dataclasses==0.6
# docutils introduces an AttributeError: module 'docutils.nodes' has no attribute 'reprunicode'
docutils<0.21
h5py
jsonschema
matplotlib
numpy != 1.13.0, >= 1.20.0
pandas >= 0.23.4
# jsonschema 4.18.0 made RefResolver deprecated
jsonschema<4.18
# matplotlib 3.8 changes colormap module
matplotlib<3.8
# pinning mistune for m2r2 in CI requirements
mistune==0.8.4
# numpy 2.0 breaks code and migration requires additional work
numpy<2
read_roi
regional
semantic_version
# 0.16.[012] are excluded because https://github.com/scikit-image/scikit-image/pull/3984 introduced
# a bug into max peak finder. 0.16.3 presumably will have the fix from
# https://github.com/scikit-image/scikit-image/pull/4263.
scikit-image
# scikit-image is temporarily pinned as newer versions require updating module imports
scikit-image==0.21
scikit-learn
scipy
showit >= 1.1.4
slicedimage==4.1.1
sympy ~= 1.5.0
urllib3 <1.27, >=1.25.4
seaborn
semantic_version
showit
slicedimage
sympy
tqdm
trackpy
validators
xarray >= 0.14.1
ipywidgets
# xarray 2023.09 causses a ValueError: new dimensions ('y', 'x') must be a superset of existing dimensions ('dim_0', 'dim_1')
xarray<2023.09
Loading

0 comments on commit 4b72706

Please sign in to comment.