Skip to content

0.12.5

Compare
Choose a tag to compare
@github-actions github-actions released this 30 Mar 23:39
· 28 commits to refs/heads/master since this release
8235946

Main highlights:

  • Add support for Python 3.10
  • Add support for numpy version >= 1.24
  • Pin scikit-image to <0.20 for compatibility

🐛 Bug Fixes

Correct crop mode bug in tracking application and improve model metadata organization @msschwartz21 (#629)
  • The CellTracker had a bug where the crop mode was not being set during inference. This update to the tracking application sets the crop mode correctly.
  • Reorganizes model metadata and parameters to set of global variables in each application so that they are easier to maintain and update.

Warning: This PR is dependent on a tracking release after merging vanvalenlab/deepcell-tracking#108.

🧰 Maintenance

Add CI testing against dev branches of deepcell-toolbox and deepcell-tracking @rossbar (#636)

This should help catch incompatibilities between unreleased versions of libraries in the deepcell ecosystem.

What

  • Code remains unaffected - this PR is just dedicated to bolstering testing infrastructure

Why

  • The deepcell- libraries are interdependent: deepcell-tf depends on deepcell-tracking and deepcell-toolbox. If there is a change in one of these dependencies, there is no way to tell in the automated test running whether this will break something in deepcell-tf until the underlying libraries are released. Testing against the dev branches will catch potential issues sooner, at the expense of being noisier and reducing test specificity (failures can originate from either deepcell-tf or the dependencies). Overall however I think this should improve the ability to things consistent across libraries.
Prepare for 0.12.5 release @rossbar (#659)

What

  • Bump version numbers in final step before next patch release
Update copyright notice to 2023. @rossbar (#658)

What

  • Update year in copyright notice. Accomplished with:
find . -type f -exec sed -i "s/2016-2022/2016-2023/g" {} \;

Why

  • I plan to do a 0.12.5 release soon (primarily for the scikit-image pin) so I figured I'd get this in as well.
Update pydot dependency: soft dep for `keras.utils.plot_model` @rossbar (#647)

What

pydot is listed as a dependency, but is not actually used in the project, so should be safe to remove.

Why

Decreasing the dependency footprint is always beneficial. Doubly-so in the case of pydot, which has not been actively maintained in a while, see e.g. networkx/networkx#5723

Bump action versions to avoid deprecation warnings. @rossbar (#653)

What

The builtin github actions checkout, setup-python, and cache have all been updated to a later version of node. There are now deprecation warnings for the previous versions in the actions logs.

Why

General maintenance to keep the CI in good shape.

Note there may be other actions that need to be updated, but I'm starting with the main ones so I can see what remains in the logs after these updates.

Pin scikit-image to avoid expired deprecations. @rossbar (#656)

What

Why

My vote is to pin scikit-image then do a patch release. For the next minor release the pin should be updated to >=0.19.

Deprecate entire `export_utils` module @rossbar (#649)

What

A followup to #648. With the deprecation of export_model_to_tflite, it is now the case that every function in the export_utils module has been deprecated. Therefore I propose to deprecate the entire module. We can do this using the module getattr to emit warnings if a user ever tries to access the two public names (i.e. export_model or export_utils).

In practice this means import patterns like:

>>> from deepcell.utils import export_model  # or export utils

will now raise a deprecation warning as well.

The module getattr was added in Python 3.7 - see PEP 562 for details.

Why

Further cleanup related to the export_model functions, all of which are deprecated in favor of using tf.keras.models.save_model directly.

Deprecate export\_model\_to\_tflite @rossbar (#648)

What

Deprecate export_utils.export_model_to_tflite.

Why

Notify users who may still be using this function to switch to tf.keras.models.save_model. Closes gh-645.

Lint with ruff @rossbar (#646)

What

Adopt ruff as a linter for the project. See also: vanvalenlab/deepcell-toolbox#137 and vanvalenlab/deepcell-tracking#113.

Why

Primarily to add automated linting for future code submissions, though this PR also contains a few minor fixups to address existing issues.

This one's a bit of a bear in terms of files touched and lines modified - I'm more than happy to split this up into smaller PRs to make review easier, just LMK!

Update test to use second num\_semantic\_classes input. @rossbar (#644)

What

Closes gh-643. If there's a reason not to use the nsc2 input, then alternatively we can delete that var.

Why

See gh-643 for context.

Add python3.10 support @rossbar (#639)

What

Add support for Python 3.10

Why

General software updates. See also vanvalenlab/deepcell-tracking#111 and vanvalenlab/deepcell-toolbox#128

Fix failures due to invalid numpy scalars. @rossbar (#634)

What

Fixes the failures in deepcell-tf for numpy v1.24 by updating to use the

Why

Remove the upper bound on numpy.

Marking as draft for now, as this depends on vanvalenlab/deepcell-tracking#112 as well. The tracking tests in deepcell-tf will continue to fail until those changes make it into a release.

Update Dockerfile to jupyter lab @rdilip (#637)

What

  • Removed jupyter notebook call
A collection of minor documentation updates @rossbar (#633)

What

The major change is removing the pins to sphinx, docutils, etc. AFAICT the motivating factors for the pins are no longer relevant - see e.g. #320 and #526.

Some other minor changes include:

  • Minor configuration updates to get rid of warnings
  • Updating intersphinx to point to the stable Python docs instead of 3.7
  • Modifying the heading levels in one of the example notebooks to fix the toctree nav column

Why

Sphinx 2.3.1 is 2 major releases behind stable - being pinned this far back will make it difficult to reliably change/update the docs.

📚️ Documentation

Rm blurb about Python2/TensorFlow 1 from README. @rossbar (#651)

What

Removing blurb from README about running with Python2/TensorFlow 1.

Why

The chances of this working out of a containerized environment is practically nil and certainly not worth the effort for users.

I'm also using this change as a test for the RTD docs preview feature in CI.

A collection of minor documentation updates @rossbar (#633)

What

The major change is removing the pins to sphinx, docutils, etc. AFAICT the motivating factors for the pins are no longer relevant - see e.g. #320 and #526.

Some other minor changes include:

  • Minor configuration updates to get rid of warnings
  • Updating intersphinx to point to the stable Python docs instead of 3.7
  • Modifying the heading levels in one of the example notebooks to fix the toctree nav column

Why

Sphinx 2.3.1 is 2 major releases behind stable - being pinned this far back will make it difficult to reliably change/update the docs.