Task #2045: API design and language bindings
Integrate gmxapi Python package
The Python package distributed through GitHub is to be merged with the GROMACS repository.
This issue addresses the migration to the GROMACS repository as the new canonical source of the package.
Goal: Centralize gmxapi project sources, design documentation, tests, and ongoing development in the GROMACS code management ecosystem.
Criteria for completion:
- Expressed functional goals are articulated with a mechanism for testing acceptable implementation.
- Ongoing gmxapi development can be pursued reasonably as changes staged through Gerrit for GROMACS master.
- A framework has been established to express project requirements, achieve design consensus, and propose incremental development in a clear context.
- testing infrastructure exercised through Jenkins
- Python packaging details
- documentation integration
- unified CMake infrastructure
To minimize the intrusiveness of early commits, a new directory `python_packaging`
holds documentation, testing tools, and Python package sources.
Design documentation describes numbered functional requirements that can be
cross-referenced as "FR#" in commit messages, tests, documentation, and other
tagging mechanisms as needed, where "#" is an integer.
First change establishes directory structure for initial commits of documentation, packaged code, and basic infrastructure to support development and testing.
Second change expresses functional goals in a roadmap.rst, with acceptance criteria as a set of Python (pytest) unit tests.
Plumbing for gmxapi 2019 Q1/Q2 project roadmap.
Provide infrastructure so that dependent change can focus on content
of project plan.