Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
1 of 8 tasks
mbercx opened this issue Apr 5, 2023 · 1 comment
Open
1 of 8 tasks

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

mbercx opened this issue Apr 5, 2023 · 1 comment
Labels
roadmap/proposed A roadmap item that has been proposed but not yet processed

Comments

@mbercx
Copy link
Member

mbercx commented Apr 5, 2023

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:

  • array.bands -> aiida-atomistic
  • array.kpoints -> aiida-atomistic
  • array.projection -> aiida-atomistic
  • array.trajectory -> aiida-atomistic
  • cif -> aiida-atomistic
  • orbital -> aiida-atomistic
  • structure -> aiida-atomistic
  • upf -> aiida-pseudo

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:

aiidateam/aiida-core#2686

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

aiidateam/AEP#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:

aiidateam/aiida-quantumespresso#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
Copy link

sphuber commented May 23, 2023

Links of previous discussions on various plugins:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
roadmap/proposed A roadmap item that has been proposed but not yet processed
Projects
None yet
Development

No branches or pull requests

2 participants