wiki:Dev2022-6-12

Version 10 (modified by Zach Pearson, 3 years ago) ( diff )

--

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
Note: See TracWiki for help on using the wiki.