= Attendees = Eric, Greg, Zach, TomG Held over zoom = Agenda = General - Move developer meetings to 2pm Mondays? - Prune the agenda list ChimeraX - moving apps up vs moving core down (goal: have python modules on the same level) - moving core source code into a src subdirectory like other bundles - need not rearrange source to support IDEs, only need editable installs (will require workaround as namespace packages cannot be installed in this mode automatically) - editable installs should also let us call ChimeraX with Python for rapid iteration and the C launcher for detailed crash info - get_libdir, get_include - write_bundle_classifiers: bundle builder or core? - beta releases on Toolshed - Should we decouple the core bundle version number from the ChimeraX release version? - How best to backport M1 support from native-packaging to 1.4 release branch - Review prereq versions after 27 June Chimera - Back up the build machine to a solid state drive = Discussion = General - Move developer meetings to 2pm Monday and keep 2pm Thursday open for extra discussion - Python versioning philosophy: do we track versions? - Tom says AlphaFold back on 3.7, they seem uncompelled by updates - Zach says we should concentrate on interpreter features -- they're backwards compatible - Greg sees no reason to go to 3.10, but is excited by the 3.11 speedup. Zach agrees. - Eric points out that forwards compatibility doesn't hold for compiled modules - Greg says Bundle Builder has support for the limited API - Greg says limited API doesn't save a developer from the need to ensure compiler compatibility - PyObject layout could change, etc. - Would be good for us to use limited API if possible to reduce complexity - Toolshed bundles would work for multiple versions - Tom notes we have many dependencies that may not support 3.11 right off the bat - Python 3.9 EOL is October 2025 (3.7 is in June 2023) ChimeraX - Greg suggest making bundle builder into a build backend - toml support is experimental, shouldn't announce to external developers quite yet - Greg doesn't want hybrid builds in develop. Could do it in a branch for testing, but don't allow developers to opt in until it's ready. - Afraid of early adopters shooting themselves in the foot - setuptools upgrade a little more complex than {{{ from setuptools import distutils }}} - More sensible move core down next to the rest of the bundles - Have core participate in the dependency graph that we generate with the python script - PR order: - Move main to {{{core/__main__.py}}} - Don't build apps first - (app/build) python3 -m chimerax.core as appropriate - Move core down - Put core code in core/src - Make bundle builder a build backend - Won't do hybrid builds until ready for primetime - Removed from agenda: - What happens to ChimeraX Tasks at app quit (let's make a ticket) - Relevant to task manager - Rename ChimeraX.exe on Windows? (let's make a ticket) - Should we go to Python 3.10 in 1.5? - Zach put this on the agenda, says PyOpenGL-Accelerate has not been updated - The Python speed update is 3.11 - Could move to Qt OpenGL API - Tentatively 3.11 in 1.6 Chimera - Not going to touch Chimera as much as possible. - Could set up VMWare machine and use that to build ChimeraX on Windows 7 - Zach suggests QEMU - If we're going to move to Windows 10 should do it before it's not available anymore - Tom says we should just set up another Windows 7 machine if the current one dies - Cygwin near to releasing last Windows 7 version - Should do a disk level backup of Windows 7 machine - Removed from agenda: - Switch Chimera daily builds from Windows 7 to Windows 10 (let's make a ticket) - Implications of sunsetting Chimera - GROMACS support would probably break first - Tk toolkit needs another update - macOS support dicey Infrastructure - Trac much more stable than it used to be after BeeGFS upgrades - Eric notes 1 problem in the last 3 months - Still a good idea to upgrade the database but no longer life or death - Removed from agenda: - Upgrade Trac to mysql for better reliability. (let's make a ticket) = TODO = - Present github continuous integration tutorial. Zach - Remove pkg-config prereq if it is not being used for builds. Tom