MikkelSchubert / paleomix

Pipelines and tools for the processing of ancient and modern HTS data.
https://paleomix.readthedocs.io/en/stable/
MIT License
43 stars 19 forks source link

Please switch to Python3 #15

Closed tillea closed 1 year ago

tillea commented 6 years ago

Hi, Debian is currently debating the support of Python2 which is marked end of life in 2020 (which is only one release cycle away. I'd recommend to switch to Python3 in the near future. I made some good experiences using 2to3 to port code from Python2 to Python3. Kind regards, Andreas.

tillea commented 5 years ago

Any news about this? It becomes even more urgent after the release of Debian 10. Now Python2 code is actively removed from Debian. Kind regards, Andreas.

MikkelSchubert commented 5 years ago

I am working on this now along with an overhaul of parts of the program.

I realize that you would probably prefer a smaller update that just adds Python 3 support, but that would not be efficient use of my time, as I would need to spend a lot of time testing and validating code that would then immediately be removed or rewritten following that release.

tillea commented 4 years ago

That's fine. BTW, I realised an old code copy of pyyaml. Do you think you could simply use official pyyaml (which is at version 5.1 now)? This would be really helpful as well.

MikkelSchubert commented 4 years ago

I've already replaced that copy with a dependency on ruamel.yaml in the development branch, based on your previous suggestions (see 433a33df9b34266db0341b284b6e8d9754d8915e). Is there a specific reason why you recommend PyYAML now?

tillea commented 4 years ago

On Wed, Sep 11, 2019 at 03:18:48AM -0700, Mikkel Schubert wrote:

I've already replaced that copy with a dependency on ruamel.yaml in the development branch, based on your previous suggestions (see 433a33df9b34266db0341b284b6e8d9754d8915e). Is there a specific reason why you recommend PyYAML now? No, definitely not. I've just seen the existing PyYAML copy in the latest release. Sorry for the confusion. Andreas.

tillea commented 4 years ago

I am working on this now along with an overhaul of parts of the program.

I realize that you would probably prefer a smaller update that just adds Python 3 support, but that would not be efficient use of my time, as I would need to spend a lot of time testing and validating code that would then immediately be removed or rewritten following that release.

I wonder whether the just released version 1.2.14 should be that Python3 version you was talking about. At least 2to3 is marking quite some diff so probably not. Kind regards, Andreas.

MikkelSchubert commented 4 years ago

Python 3 development takes place in the py3x branch, but I've been too busy to work much on it recently. The releases I've made over the last few months have just been minor bug-fixes and such for the Python 2 branch.

Best, Mikkel

tillea commented 4 years ago

Any news for the py3x branch. Is it somehow usable? We really want to get rid of all python2 pysam dependencies and Paleomix is one of the two remaining ones.

sandrotosi commented 4 years ago

looks like the py3k branch was merged a couple of months ago, so is Paleomix python3 fully-compatible now? thanks!

tillea commented 4 years ago

Unfortunately there is no newer release than 1.2.14 (which is Python2).

sandrotosi commented 4 years ago

@tillea you can just generate a tarball for the current master HEAD and use it for updating the Debian package, it's common practice to do so.

MikkelSchubert commented 4 years ago

I would advice against generating a tarball from the current master HEAD.

The fact that the branch was merged into master does not mean that master is in a release-worthy state; it is not. It simply reflects the fact that I no longer intend to work on the py2x version and and that I needed to merge a number of changes from master back into the py3x version anyway. But I have not been able to put much time into it lately.

On Mon, 6 Apr 2020 at 15:34, Sandro Tosi notifications@github.com wrote:

@tillea https://github.com/tillea you can just generate a tarball for the current master HEAD and use it for updating the Debian package, it's common practice to do so.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/MikkelSchubert/paleomix/issues/15#issuecomment-609797746, or unsubscribe https://github.com/notifications/unsubscribe-auth/AASMY24BN2UMCGR422JSPCDRLHK6VANCNFSM4E6DUC5A .

frikiluser commented 4 years ago

Please consider patching master branch using this patch: https://salsa.debian.org/friki/paleomix/-/blob/73112c5a190e65ebdb369ca0a8ae3fdd8d0ebd15/debian/patches/2to3.patch

It would be also great to have a new paleomix release dedicated to Python3 migration as soon as possible.

Best regards

tillea commented 4 years ago

Hi Mikkel, is there any progress with a Palemomix version that works with Python3? Debian is agressively removing Python2 code and once Paleomix might be removed from Debian it is harder to re-include it again. It would be very helpful if you could give some estimation of the time you expect to have a distributable Python3 release. Thanks a lot, Andreas.

MikkelSchubert commented 4 years ago

Sorry for the lack of updates. For personal reasons I have not been able to focus a lot of attention on this project.

My current goal is to have a python3 version of PALEOMIX ready before next month. The other, larger changes I had planned will have to wait until after that is done.

Best regards, Mikkel

tillea commented 4 years ago

On Sun, Aug 16, 2020 at 12:49:31PM -0700, Mikkel Schubert wrote:

My current goal is to have a python3 version of PALEOMIX ready before next month. The other, larger changes I had planned will have to wait until after that is done.

Thanks a lot for the helpful update, Andreas.

MikkelSchubert commented 4 years ago

I've released the first Python 3 version of PALEOMIX, v1.3.0. Sorry for the many delays. There are still a lot of things to be done, but I'll be pushing those out in smaller increments as time permits.

Please let me know if there are any issues on your end.

tillea commented 4 years ago

Thanks a lot. That's really great news. I nearly finished the Debian package. When doing so I changed shebang lines in all scripts. Feel free to download and apply the patch in our packaging code. Kind regards, Andreas.

sandrotosi commented 4 years ago

there's absolutely no need to write a patch to change shebang, dh_pyhton3 does that already:

override_dh_python3:
        dh_python3 --shebang /usr/bin/python3
tillea commented 4 years ago

Hi Sandro

On Tue, Sep 01, 2020 at 07:07:22AM -0700, Sandro Tosi wrote:

there's absolutely no need to write a patch to change shebang, dh_pyhton3 does that already:

override_dh_python3:
        dh_python3 --shebang /usr/bin/python3

I wrote the patch since the latter did not worked.

Kind regards

   Andreas.

-- http://fam-tille.de

MikkelSchubert commented 4 years ago

Thanks, Andreas. I've applied the patch and will include it in the next release.

Best, Mikkel

tillea commented 4 years ago

On Tue, Sep 01, 2020 at 12:12:30PM -0700, Mikkel Schubert wrote:

I've applied the patch and will include it in the next release.

Great. Than I will be able to drop this in the packaging in the next version. Its always nicer to have as less as possible patches in the packaging.

Kind regards, Andreas.