# AiiDA Team Meeting 2021-07-28 ###### tags: `team meetings` ###### time: 10am CEST [TOC] ### Present * Marnik * Chris * Leopold * Simon * Giovanni * Jason * Sasha * Sebastiaan * Francisco ### Catch-up round *Max. 3 minutes each* Marnik: * `BandsData`: Add Fermi level or not? [Issue in common workflows](https://github.com/aiidateam/aiida-common-workflows/issues/210). [Related but more general issue in `aiida-core`](https://github.com/aiidateam/aiida-core/issues/2847). Sebastiaan * Met with [IllinoisRocstar](https://illinoisrocstar.com/) American-based company that builds scientific software. They have won a DoE contract to build a platform that allows users to simulate materials for batteries. They are trying to use Quantum ESPRESSO and found AiiDA this way, which sparked their interest and they want to use it as the main backend for their system. They built a prototype system wrapping the AiiDA's Python API in a Django REST API, but quickly ran into trouble with concurrency problems. Since we have our own project on extending the existing REST API to also allow mutating endpoints, we suggested we collaborate on this point. One major point to tackle would be to [allow profiles to be switched within a Python interpreter](https://github.com/aiidateam/aiida-core/issues/2759). Without it, one REST API instance can only ever serve a single profile and for a multi-user setup, the current ideal method is to use a single-profile-per-user-approach * [Pre-commit: move yapf and mypy config to pyproject.toml](https://github.com/aiidateam/aiida-core/pull/4996) just some remaining `mypy` errors that started appearing after updating the version. Related to our way of bubbling up imports. Known issue but not clear how to solve. * [Add the MsonableData data plugin ](https://github.com/aiidateam/aiida-core/pull/5017) Idea was to have a data plugin that could easily wrap any `MSONAble` class, which is a concept of `pymatgen` (`monty` really) that provides an interface to make any class JSON-serializable. There is an initial implementation, but it appears that not all `pymatgen` objects actually respect the spec, so if we adhere to it, many `pymatgen` classes wouldn't actually be storable out of the box. Question is now if we want it to be correct and accept any object that respects the defined interface (not necessarily requiring they are actually `MSONAble` subclasses) or we try to accommodate incorrect classes. * [ProcessBuilder: ensure instances do not interfere ](https://github.com/aiidateam/aiida-core/pull/4984) PR ready for review. Chris had a question about the implementation, but I think if we want to keep feature parity, the proposed alternative might not work. Chris: - Moved v2 milestone issues to project and started to categorise - Reviewed/merged a bunch of PRs: all left are now draft/assigned to Francisco - Help Francisco to finalise repository CLI, sqlalchemy update, archive - GP: [look into SQLAlchemy 2.0 style](https://docs.sqlalchemy.org/en/14/glossary.html#term-1), so we are already ready for SQLA 2.0? Simon: - Nothing of significance to report. Giovanni * [aiida-submission-controller](https://github.com/aiidateam/aiida-submission-controller): interest in making it more official? Let's see after feedback from common-workflows people * New plugins begin developed. Emanuele is helping Oleg for Wien2K (the code works in very peculiar ways, might need some adaptation to the engine, e.g. to extend CalcInfo to specify a folder to `cd` into before running the executable) * Oleg wrote about issues with RMQ connection closed. He mentions it's about stashing but I don't think it's related. However, is it possible to pause the calculation rather than excepting it if there is a closed RMQ connection? * How complex is it to reduce the risk that we miss heartbeats when the machine where AiiDA is running is overloaded? * Can we make more clear in the docs that the `direct` scheduler is just for simple testing, but cannot actually schedule and so should not be used for production (unless you always run few jobs taking few seconds)? Jason: - [#4990](https://github.com/aiidateam/aiida-core/pull/4990) Add default set to withmpi of code_info from caljob setting. Add default set of calc_info.codes_run_mode as `CodeRunMode.SERIAL`. Add a test case to check the content of submit scipt. - [#4991](https://github.com/aiidateam/aiida-core/issues/4991): Code configuration the default plugin may not mandatory? Sasha: - No AiiDA-related work. Leopold: - Curious case where size of AiiDA DB exploded (factor >100x) and only went down to normal after a `VACUUM FULL`. [#5025](https://github.com/aiidateam/aiida-core/issues/5025) Francisco - Nothing new to report. - Problem re some exports. ### Specific Agenda Items * How is the timeline of v2.0 coming along? Where are we at?