= ChimeraX Developer Meeting = Zach, Eric, Tom Greg on vacation June 27, 2022 = Agenda = == General == == ChimeraX == 1) Should GDCM be added to the ChimeraX distribution, #1745 === Build System === 1) Supporting IDEs - may 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 - Zach mentioned PyCharm, LSP (Language Server Protocol), XCode - Greg mentioned Visual Studio 2) API for getting C headers: get_include (see: numpy.get_include) - {{{native-packaging}}} moves bundle header and source files to {{{bundle/src/include/module}}} \ - maybe just use header files? 3) API for getting library directories: get_libdir 4) macOS compiler call in Makefiles === Infrastructure === 1) Beta releases on Toolshed 2) Decoupling core bundle version number from the ChimeraX release number 3) Prereq audit after 27 June 4) arm64 port - Tom suggests zipping x86_64 ChimeraX and arm64 ChimeraX together - How best to backport M1 support from native-packaging to 1.4 release branch 5) Regular packages on the toolshed - Tom wonders if the functionality of python-gdcm is worth its weight - Zach thinks we should leverage our plugin architecture to let users install only the bundles they need == Chimera == 1) Back up the build machine to a solid state drive -------------------------- = Discussion = * python-gdcm - The python-gdcm !PyPi package allows ChimeraX to read 16-bit lossless jpeg dicom data, ticket #1745 - Should we put it into ChimeraX distributions, or on Toolshed, or leave it out? - We know of only one case where someone tried to open this format 3 years ago (Meghan McCarthy). - The python-gdcm package is pretty large, 27 Mbytes compressed on Windows, making it more than 10% of our Windows ChimeraX size. - We could put python-gdcm on Toolshed. This is done for the realsense module to avoid increasing distribution size for a very rare feature. - Decided to just leave it out of distribution and not on Toolshed until a user expresses a need for it. * Pip install command for ChimeraX - Would be useful for ChimeraX plugin developers to be able to pip install packages the need with a simple ChimeraX command., ticket #4762 - Unfortunately the standard python pip module does not have a public API. - Could use subprocess ("python -m pip install --user ...") to install via a ChimeraX command. - There is a PyPi module pip-install (maybe others too) that provide a pip API that could be used. - Would be -------------------------- = Action Items = - Present github continuous integration tutorial. Zach - Remove pkg-config prereq if it is not being used for builds. Tom