Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

use scyjava, remove all the stuff #4

Merged
merged 8 commits into from
May 23, 2022
Merged

use scyjava, remove all the stuff #4

merged 8 commits into from
May 23, 2022

Conversation

tlambert03
Copy link
Owner

Closes #2 ... uses scyjava to source the bioformats jar.

With this PR, bioformats_jar becomes a pretty much useless package, which is great! (It was my own naiveté that precipitated it in the first place, and both issues like #2 and napari/npe2#136 have revealed the problems with directly shipping this jar and starting a jvm in a shared environment).

This PR and the next release aim to be invisible to downstream users (like aicsimageio), but will make it so that they will automatically get the newest bioformats version available (see AllenCellModeling/aicsimageio#400) ... which can also be set via environment variable (BIOFORMATS_VERSION).

We can decide together whether this package serves any purpose after that, or if the next version should emit a warning to just use scyjava directly.

@tlambert03
Copy link
Owner Author

cc @ctrueden

@tlambert03
Copy link
Owner Author

tlambert03 commented May 20, 2022

@jacksonmaxfield, if this is merged and released, it would have some effects for aicsimageio

  1. it would immediately start using the latest version of bioformats (adjustable with the BIOFORMATS_VERSION env var)
  2. if we left it at LATEST, then the DICOM test would fail in aicsimageio, since it appears they changed their series index from 0 to PRIMARY or something like that
  3. users will also need to have maven installed in their path, since scyjava/jgo depends on it... so we need to update the docs and exceptions.
  4. we could actually start offering the BSD-licensed stuff by default using the BIOFORMATS_LICENSE env var. ... more

@evamaxfield
Copy link

if we left it at LATEST, then the DICOM test would fail in aicsimageio, since it appears they changed their series index from 0 to PRIMARY or something like that

more reason to move to plugins 🥴

users will also need to have maven installed in their path, since scyjava/jgo depends on it... so we need to update the docs and exceptions.

I think this is fine just needs to be documented.

we could actually start offering the BSD-licensed stuff by default using the BIOFORMATS_LICENSE env var. ... more

FASCINATING... still sad that aicspylibczi and readlif need to be GPL but 🤷 we take want we can.

All in all, I say good changes and whenever this is merged + released as new bioformats_jar version I will bump the version up on aicsimageio and release a minor release. Its not a fully breaking change for us just on you but come on... that doesn't warrent a major change on us does it?

@evamaxfield
Copy link

cc @toloudis

@evamaxfield
Copy link

I can't push to this branch but can I request a minor change: bump jpype from ~=1.2 to ~=1.4. They just released windows + py310 bugfixes today

@tlambert03
Copy link
Owner Author

tlambert03 commented May 20, 2022

sure, actually... any reason not to unpin altogether and just let scyjava determine it? https://github.com/scijava/scyjava/blob/26ad79bc023f0435db821458c270c7d562f445eb/setup.cfg#L42

currently they say ≥1.3

@evamaxfield
Copy link

sure, actually... any reason not to unpin altogether and just let scyjava determine it? https://github.com/scijava/scyjava/blob/26ad79bc023f0435db821458c270c7d562f445eb/setup.cfg#L42

currently they say ≥1.3

I am fine with it. I will likely make a PR over to them and bump it.

@ctrueden
Copy link

ctrueden commented May 20, 2022

I will likely make a PR over to them and bump it.

@JacksonMaxfield I was going to update it now, so that you don't have to... but then I thought: what is the rationale for actually requiring 1.4.0? JPype 1.3.0 works for all other scenarios, just not Windows + Python 3.10, right? Forcing it to 1.4.0+ seems a bit restrictive. Unless there is new API we need to take advantage of?

@evamaxfield
Copy link

JPype 1.3.0 works for all other scenarios, just not Windows + Python 3.10

Yea I think that is really it. So 🤷‍♀️ your call. I am fine if you want to leave it as is.

@ctrueden
Copy link

ctrueden commented May 20, 2022

Hmm, well, the PyImageJ project has a special note in its Troubleshooting section about the Windows + Python 3.10 problem... so I guess forcing >=1.4.0 will let us update PyImageJ too and remove that note, which is a plus. So upon reflection I'm fine with it. We just need to test all the platforms of course.

@ctrueden
Copy link

scijava/scyjava@61bc020

@ctrueden
Copy link

JPype 1.4.0 has not yet propagated to conda-forge, though; we'll need to wait till that happens before we can cut a new scyjava release.

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.

Consider using scyjava?
3 participants