Skip to content

What is needed to update Olex2 to newer Python versions? #33

@MilitaoLucas

Description

@MilitaoLucas

Hello, outside of some minor issues in NoSpherA2, I was able to compile your cctbx fork in Python3.13. It wasn't exactly easy, but it is working now. The thing that seems to be missing is AC7, as it is proprietary as far as I understand. One of the main advantages of newer python is that from 3.13 it can be compiled without the GIL (link) allowing multi-threading using more than one core. I think as the Olex2 program acts as an interpreter it would benefit greatly from this change.

I managed to get some of the custom CCTBX build system working using my fork of imp2importlib
This is a compatibility layer that makes it so imp behaves the same as it used to do before being deprecated in Python3.12. But to be honest, I wasn't able to actually make the build system work because it seemed very confusing and it wanted to do a lot of random stuff.
I decided to just convert it to CMakeLists.txt and deal with it. I find it kind of hard to understand how to use the cctbx build system as it failed most of the time when I was trying to use it.
As there are some efforts to update olex2 to Python 3.9 I was kind of confused about why not try some newer version. Python 3.9 reached EOL last month.

So, if I can help in some way or something I would like to know if something is missing to update it to newer Python versions.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions