Feature #2961

Task #2045: API design and language bindings

Feature #2896: Python packaging

How should Python package find GROMACS resources under various circumstances?

Added by Eric Irrgang 3 months ago. Updated 3 months ago.

Target version:


Under different scenarios (see parent issue) during or after configuration, build, and installation, a Python package built from the GROMACS repo needs to know where to find GROMACS resources.

This issue does not yet enumerate all scenarios.

Client code (including the Python package, when build with Python packaging tools) should use the same C++ standard library when processing public headers. It could be helpful to write a CMakeToolchain.txt file with the GROMACS installation so that a dependent CMake configuration can be launched with effective hints before find_package() is run.

Early implementations need to know where the gmx wrapper binary is. We could configure a module at the same time GMXRC files are configured. If we want to run tests from the build tree before installation, though, we need an alternative. Another option would be to attach properties to a CMake target that are different for the build tree target or an imported target.

If there are any other data that need to be provided to libgromacs through the posix environment, like GMXDATA, then that also needs to be addressed.

Associated revisions

Revision 6ec0f1f1 (diff)
Added by Eric Irrgang 15 days ago

Allow gmxapi Python package tests to be run from GROMACS build tree.

  • Configure gmxapi._gmxapi to build with the ability to find libgmxapi.
  • Add a gmxapi_pytest custom CMake target to invoke pytest.

Refs #2961
Refs #2756

Change-Id: I64ca82afbf37da3c37759ec302c2ac9cc1666de2


#1 Updated by Eric Irrgang 3 months ago

  • Description updated (diff)

Also available in: Atom PDF