Skip to content

Conversation

@saeliddp
Copy link
Contributor

@saeliddp saeliddp commented Sep 16, 2025

What does this PR do?

Note: the only changes I made were to pyproject.toml, the other files were automatically updated by a GH workflow, it seems.

Recently, aicsfiles==8.1.0 was released, which introduced a dependency on bioio>=3.0.0. The endo team currently uses an environment that requires both aicsfiles and cyto-dl. @jessicasyu found the following problem when testing the endo code with aicsfiles==8.1.0:

  • uv was able to install all required packages without issue
  • but, from bioio.writers import OmeTiffWriter yielded ImportError: cannot import name 'OmeTiffWriter' from 'bioio.writers'

This appears to be caused by the following:

  • cyto-dl==0.6.1 has the pin tifffile>=2024.0.0,<2025.2.18
  • bioio-ome-tiff==1.4.0 has the pin 'tifffile[zarr]>=2022.4.22,<2025.1.10; python_version < "3.11"','tifffile[zarr]>=2025.5.21; python_version >= "3.11"
  • since endo uses python 3.11, the dependency resolver reverts back to an earlier version of bioio-ome-tiff, 1.1.0
  • this earlier version is from before the 'migration of OmeTiffWriter from bioio to bioio-ome-tiff'
  • so, the environment contains bioio=3.0.0 (from aicsfiles==8.1.0), and bioio-ome-tiff==1.1.0; both of these versions believe the other is responsible for providing OmeTiffWriter, so we get our failure

I've concluded from these two PRs (cyto-dl, bioio-ome-tiff) that both repos were trying to solve the same problem (failure of OmeTiffWriter with some versions of tifffile). So, my solution is the following:

  • when we are using python>=3.10, we can require bioio-ome-tiff>=1.4.0, which handles the tifffile/OmeTiffWriter problem for us
  • when we are using python<3.10, then we can keep the tifffile pins that already existed in this repo

Note that the first bullet point of the solution should unblock endo from using aicsfiles==8.1.0

Before submitting

  • Did you make sure title is self-explanatory and the description concisely explains the PR?
  • Did you make sure your PR does only one thing, instead of bundling different changes together?
  • Did you list all the breaking changes introduced by this pull request?
  • Did you test your PR locally with pytest command?
  • Did you run pre-commit hooks with pre-commit run -a command?

Did you have fun?

Make sure you had fun coding 🙃

@saeliddp
Copy link
Contributor Author

Closing for now since the 3.11 automated tests failed

@saeliddp saeliddp closed this Sep 16, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants