wiki:Dev2022-6-27

Version 6 (modified by Tom Goddard, 3 years ago) ( diff )

--

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