Wrap importable Python code. - Redmine #2894
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
.
(from redmine: issue id 2894, created on 2019-03-14 by eirrgang, closed on 2019-12-10)
- Relations:
- blocks #2893 (closed)
- blocks #2912 (closed)
- parent #2045 (closed)
- Changesets:
- Revision 7123128e by Eric Irrgang on 2019-04-09T12:15:28Z:
Introduce gmxapi operations and basic data model.
Ref: #2894
Change-Id: I4e899e63287370fd2fdde89ddc1b2ea39c3fe67d
- Revision 52c830b804215d179d91f0cdc1c359fb359322c0 by Eric Irrgang on 2019-04-24T13:12:00Z:
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 4f265b31c1a97cbef40d1be75949284985f16455 by Eric Irrgang on 2019-04-24T13:12:00Z:
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 by Eric Irrgang on 2019-05-09T06:11:07Z:
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 by Eric Irrgang on 2019-05-09T07:11:52Z:
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