aiidateam / team-compass

A repository for storing the AiiDA team roadmap
https://team-compass.readthedocs.io
MIT License
0 stars 0 forks source link

Future: make `aiida-core` fully domain-agnostic #21

Open mbercx opened 1 year ago

mbercx commented 1 year ago

Motivation

Since AiiDA started within the field of materials science, the core AiiDA package still contains a lot of data types related to this domain. There are several reasons why we may want to move these data types to a more suitable plugin package:

  1. It would make the aiida-core package more domain agnostic, possibly promoting its adoption in other fields.
  2. Over time, it's become clear that there are some design issues with the current implementation of several of the materials science-related data types. This would be a good time to redesign them.
  3. Having the data types in their respective (much more lightweight) packages would make them easier to maintain.

Desired Outcome

This item will be resolved when the following data types have been moved to the corresponding plugin package:

Impact

The impact of use case [1] is debatable, and by itself is most likely not enough of an argument to adopt this road map item. However, the improved implementation of these important data types (Use case [2]) will improve the usability for pretty much all current users. Facilitating the maintenance (use case [3]) will make it easier to make further improvements to usability.

Complexity

The move of the materials science-related data types has been discussed over a long time already, and is definitely not trivial to solve. Re-implementing the materials science data types will require quite a bit of work for each one, and it is also not yet clear how to have users move to the new data types smoothly.

Background

There is a long-standing open issue on exactly this topic:

https://github.com/aiidateam/aiida-core/issues/2686

During the last coding week I also started gathering some notes in an AEP, but this was never finalised:

https://github.com/aiidateam/AEP/pull/29

There has already been a lot of discussion on the redesign of the StructureData class, for example on why it uses kinds and how to add properties to the class, see:

https://github.com/aiidateam/aiida-quantumespresso/pull/640

Progress

The legacy UpfData has already been moved to aiida-pseudo, but has not be removed - or even deprecated - in aiida-core.

Although there have been a lot of discussions on the other data types and what to do with them, as far as I know actual progress on the implementation has not been made.

sphuber commented 1 year ago

Links of previous discussions on various plugins: