Project

General

Profile

Task #2894

Task #2045: API design and language bindings

Wrap importable Python code.

Added by Eric Irrgang 6 months ago. Updated 5 months ago.

Status:
Resolved
Priority:
Normal
Assignee:
Category:
gmxapi
Target version:
Difficulty:
uncategorized
Close

Description

Provide basic tools for wrapping Python code to implement gmxapi compatible tools.

The wrappers provided in the operation module are used to build basic built-in gmxapi functionality as well as user extensions. Future updates to gmxapi data flow, checkpointing, control flow, and interoperability should be engineered to have minimal impact on code expressed with the provided tools.

Functional requirements:
  • FR1 requires a basic gmxapi.operation Python module
  • FR2 requires that Operations built with the wrappers in gmxapi.operation should behave with correct execution dependency.
  • FR3 requires that Operation output can be chained to the input of other Operations.

Criteria for completion:
Demonstrate with chains of commandline_operation.


Related issues

Blocked by GROMACS - Task #2893: Integrate gmxapi Python packageResolved
Blocks GROMACS - Task #2912: C++ extension module for Python bindingsResolved

Associated revisions

Revision 7123128e (diff)
Added by Eric Irrgang 6 months ago

Introduce gmxapi operations and basic data model.

Ref: #2894

Change-Id: I4e899e63287370fd2fdde89ddc1b2ea39c3fe67d

Revision 52c830b8 (diff)
Added by Eric Irrgang 5 months ago

Support basic command line wrapper in gmxapi

Introduces gmxapi.commandline module and updates gmxapi.operation
to support gmxapi.commandline.cli() operation.

Ref: #2894

Gerrit patch set 9370/6

Revision 4f265b31 (diff)
Added by Eric Irrgang 5 months ago

Command line wrapper with data flow.

Introduce gmxapi.commandline_operation(), a fused operation that allows
data flow constraints to be mapped to input and output file arguments.

Expand gmxapi.operation tools to support the data flow constraints.

Achieves functional requirements 1, 2, and 3 as described
in the documentation submitted under #2893.

Updates some acceptance tests duplicated in a companion change.

Fixes: #2894

Gerrit patch set 9371/10

Revision 09c9269d (diff)
Added by Eric Irrgang 5 months ago

Support basic command line wrapper in gmxapi

Introduces gmxapi.commandline module and updates gmxapi.operation
to support gmxapi.commandline.cli() operation.

Ref: #2894

Change-Id: I9f6c113f21d3a1ce97184a1e48b8bd4856c5c924

Revision d0536976 (diff)
Added by Eric Irrgang 5 months ago

Expand gmxapi.operation tools to support the data flow constraints.

Achieves functional requirements 1, 2, and 3 as described
in the documentation submitted under #2893.

Updates some acceptance tests duplicated in a companion change.

Fixes: #2894

Change-Id: I26b1413c83e3ad176f2fd70f93e8b8e1033667ae

History

#1 Updated by Eric Irrgang 6 months ago

  • Parent task deleted (#2893)

#2 Updated by Eric Irrgang 6 months ago

  • Blocked by Task #2893: Integrate gmxapi Python package added

#3 Updated by Eric Irrgang 6 months ago

  • Blocks Task #2895: gmxapi Output proxy establishes execution dependency. added

#4 Updated by Gerrit Code Review Bot 6 months ago

Gerrit received a related patchset '10' for Issue #2894.
Uploader: M. Eric Irrgang ()
Change-Id: gromacs~master~I1b56858e8e50c1a06273f43dc69c9b812158d82
Gerrit URL: https://gerrit.gromacs.org/9204

#5 Updated by Eric Irrgang 6 months ago

  • Description updated (diff)

#6 Updated by Gerrit Code Review Bot 6 months ago

Gerrit received a related DRAFT patchset '1' for Issue #2894.
Uploader: M. Eric Irrgang ()
Change-Id: gromacs~master~I4e899e63287370fd2fdde89ddc1b2ea39c3fe67d
Gerrit URL: https://gerrit.gromacs.org/9369

#7 Updated by Gerrit Code Review Bot 6 months ago

Gerrit received a related DRAFT patchset '1' for Issue #2894.
Uploader: M. Eric Irrgang ()
Change-Id: gromacs~master~I9f6c113f21d3a1ce97184a1e48b8bd4856c5c924
Gerrit URL: https://gerrit.gromacs.org/9370

#8 Updated by Gerrit Code Review Bot 6 months ago

Gerrit received a related DRAFT patchset '1' for Issue #2894.
Uploader: M. Eric Irrgang ()
Change-Id: gromacs~master~I26b1413c83e3ad176f2fd70f93e8b8e1033667ae
Gerrit URL: https://gerrit.gromacs.org/9371

#9 Updated by Eric Irrgang 6 months ago

  • Blocks Task #2912: C++ extension module for Python bindings added

#10 Updated by Mark Abraham 6 months ago

  • Description updated (diff)

#11 Updated by Eric Irrgang 6 months ago

  • Description updated (diff)

#12 Updated by Eric Irrgang 6 months ago

  • Description updated (diff)

#13 Updated by Eric Irrgang 6 months ago

  • Blocks deleted (Task #2895: gmxapi Output proxy establishes execution dependency.)

#14 Updated by Eric Irrgang 5 months ago

  • Status changed from New to Fix uploaded

#15 Updated by Eric Irrgang 5 months ago

  • Parent task set to #2045

#16 Updated by Eric Irrgang 5 months ago

  • Status changed from Fix uploaded to Resolved

#17 Updated by Eric Irrgang 5 months ago

Also available in: Atom PDF