Project

General

Profile

Task #3130

Task #2045: API design and language bindings

Feature #2993: Scalar and structured type expression and definitions for API

Interim handling of gmxapi data references.

Added by Eric Irrgang about 1 month ago. Updated 29 days ago.

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

Description

The implicit behaviors described in early gmxapi 0.1 candidates have become untenable.

We delayed design of the gmxapi typing system and data model, and have gotten bogged down in various semantic ambiguities for gmxapi data topology and how to handle Python native types, along with the combinatoric explosion of the provisional annotations for data arrays, futures, and ensembles.

Until we can introduce a proper typing system and updated data model, triage amounts to making the current behavior and capabilities unambiguous and well documented.

Tasks

- identify unsupported data flow topologies or conversions.
- apply explicit handling of sequence types for arrays and ensembles in gmxapi package functions.

Deferred to other efforts under the parent task

- define implicit behaviors that reduce syntax requirements.
- expose core gmxapi data types to Python.
- update gmxapi Python static and dynamic type checking. Replace native Python type annotations with gmxapi type annotations in gmxapi package.
- allow explicit definition of input names and types (instead of relying exclusively on Python function signature introspection).
- implement C++ based self-describing managed gmxapi data references.


Related issues

Related to GROMACS - Bug #3150: gmxapi data type annotations are confusing and inadequateNew
Blocks GROMACS - Bug #3136: gmxapi.operation data flow topology unclear or incompleteNew

Associated revisions

Revision 383c1e37 (diff)
Added by Eric Irrgang about 1 month ago

Update gmxapi.version module.

  • Improve documentation about `has_feature` optional exception behavior.
  • Normalize to FeatureNotAvailableError.
  • Describe transitions of named features into the version specification.

Refs #3130

Change-Id: Iea6ba1b9cc3cf1b1ef6de71cd8ae5d9c593146c3

History

#1 Updated by Eric Irrgang about 1 month ago

  • Description updated (diff)

#2 Updated by Eric Irrgang about 1 month ago

  • Private changed from Yes to No

#4 Updated by Eric Irrgang about 1 month ago

  • Blocks Bug #3136: gmxapi.operation data flow topology unclear or incomplete added

#5 Updated by Paul Bauer about 1 month ago

given that the beta is scheduled to happen in the next few days (originally today), do you think all of this will still make it in there?

#6 Updated by Eric Irrgang about 1 month ago

  • Related to Bug #3150: gmxapi data type annotations are confusing and inadequate added

#7 Updated by Eric Irrgang 29 days ago

  • Target version changed from 2020-beta2 to 2020-beta3

Also available in: Atom PDF