netneurolab / netneurotools

Useful tools from the Network Neuroscience Lab
https://netneurolab.github.io/netneurotools
BSD 3-Clause "New" or "Revised" License
60 stars 32 forks source link

Not compatible with Python 3.12 #131

Closed ghisvail closed 9 months ago

ghisvail commented 9 months ago

netneurotools.datasets.utils depends on pkg_resources which has been removed from Python 3.12.

liuzhenqi77 commented 9 months ago

Fixed in #127

ghisvail commented 9 months ago

@liuzhenqi77 sorry to insist.

Are there any other pending issues / PRs preventing a new release? We are very keen on releasing a version of Clinica compatible with Python 3.12, but it is currently blocked by upgrades of nilearn to version 0.10.x and netneurotools to the current revision.

Thanks 🙏

liuzhenqi77 commented 9 months ago

Hi @ghisvail , sorry for the delay.

About the dependency issue, if I understand it correctly, the dependency is actually brainstat, and it would by default install the latest version of netneurotools? I can see that your current PR has a working fix by installing netneurotools directly from a certain commit. We would actually recommend you to use this fix as a temporary solution for now.

The main issue on our side is, we are currently re-organizing the structure of netneurotools internally. There are currently some untested functions in the package that we would be hesitate to put into a new release. Additionally, there would be a major breaking release in the next few weeks/months. This means you would probably have to make changes in brainstat to avoid incompatibility by then.

What we'd suggest is that it's probably best to use the git/github commit-based installation method for now. After we release the breaking change, we could submit a PR to brainstat and coordinate with their team to make a new release to solve the dependency issue completely. Then you could fully remove the version constraints in Clinica.

Please feel free to let us know how you think. Thanks!

ghisvail commented 9 months ago

Le 13 février 2024 00:34:36 GMT+01:00, Zhen-Qi Liu @.***> a écrit :

Hi @ghisvail , sorry for the delay.

About the dependency issue, if I understand it correctly, the dependency is actually brainstat, and it would by default install the latest version of netneurotools?

You are correct.

I can see that your current PR has a working fix by installing netneurotools directly from a certain commit. We would actually recommend you to use this fix as a temporary solution for now.

The working fix is only useful for running tests in our CI. It is not possible to publish packages on PyPI with unreleased dependencies, such as a Git snapshot.

Sadly though, that means this solution is not satisfactory for us, as it would prevent us from making a release compatible with Python 3.12.

The main issue on our side is, we are currently re-organizing the structure of netneurotools internally. There are currently some untested functions in the package that we would be hesitate to put into a new release. Additionally, there would be a major breaking release in the next few weeks/months. This means you would probably have to make changes in brainstat to avoid incompatibility by then.

Could you please provide a bug fix release whilst working on your major refactoring? We have already provided the necessary triaging and fixes to make that happen, and don't want to spend too much time tracking down regressions from further big changes.

What we'd suggest is that it's probably best to use the git/github commit-based installation method for now. After we release the breaking change, we could submit a PR to brainstat and coordinate with their team to make a new release to solve the dependency issue completely. Then you could fully remove the version constraints in Clinica.

As explained above, this is not satisfactory for us. We need a proper release of netneurotools compatible with Python 3.12 or we, and other packages using brainstat, are stuck.

Please feel free to let us know how you think. Thanks!

Thank you for considering our viewpoint.

Cheers 👍

liuzhenqi77 commented 8 months ago

Hi @ghisvail, we have released a new version as requested. Hope it helps.