Skip to content
New issue

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

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

Already on GitHub? # to your account

Use of Python2 #81

Open
sassy-crick opened this issue Jan 15, 2025 · 2 comments
Open

Use of Python2 #81

sassy-crick opened this issue Jan 15, 2025 · 2 comments

Comments

@sassy-crick
Copy link

Some of the code is using Python-2, which is not only deprecated but all development has been stopped. In fact, more modern Linux Distributions like the RHEL-8 do not distribute it any more.
Thus, it would be highly appreciated to stop using an outdated and no longer supported Python version. Apart from this is a security risk, it prevents us to install the software on our HPC cluster.
I am aware there are a few Python scripts but given there only has been a release recently and given Python-3 is around for quite some time, it would be good to get that fixed to make the otherwise very useful software future proof. Ideally, one should start with a more recent Python version like 3.11. for example.
Containers are not a good solution on a HPC cluster as they are sometimes having other issues like security, if an outdated OS for example is being used.

@ChrisHIV
Copy link
Collaborator

We're aware of the reasons to make this change, the problem is the time needed to do so. phyloscanner was mostly developed 7-9 years ago and academic scientific funding mechanisms rarely span such time scales. That's not to say all support for phyloscanner has been dropped - for the foreseeable future we will address any errors in the code - but the support depends on the issue. As the code is not covered with unit tests, making sweeping changes throughout carries a risk of errors which need to be considered carefully, not just implementing automated 2 to 3 conversions. One example is that Python 2 retains in memory variables used within local scopes whereas Python 3 does not. Another is that differences in dependencies between 2 and 3 can result in unimportant/stochastic differences for output which need to be chased down in the non-automated testing. For phyloscanner's sister software shiver, converting from 2 to 3 last year was 8 days of work. Finding that time, unfunded, will hopefully happen eventually but not in the upcoming few months.

@sassy-crick
Copy link
Author

Thanks for the feedback, much appreciated, and I know about the problems of maintaining code when the funding has run out.
One of the problems we all have in academia is simply the inconsistency of funding for project to keep them maintained. So I am on your side here.

However, wearing my IT hat now, that is the end of the software as either there will be an update to Python-3, or nobody will be able to use it in a safe manner. Sorry if that sounds harsh but that is the reality. It does not reflect on the software or any of the people who are supporting it. I fully understand the problems you are having with the testing and it is good to read you are quite thorough here!

One possible solution might be to get a hackaton going maybe? At least that way the burden is shared with the community and it is then only the testing which needs some time. Have you considered that?
Again, no hard feelings here! 😄

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants