# AiiDA Team Meeting 2023-11-16 ###### tags: `team meetings` ###### time: 14:00 CET [TOC] ### Present * Marnik * Jason * Sebastiaan * Xing * Miki * Edan * Giovanni * Kristjan ### Catch-up round *Max. 3 minutes each* Marnik: * Discourse: increase autoclose time to 3-7 days: https://aiida.discourse.group/t/autoclosing-topics/147 * [SPh] Maybe just disable? * **AiiDA-core days** _2 days / month dedicated to AiiDA-core development_ * First round: 7-8 Dec 2023 * Suggested topic: testing/finalising/documenting improved install/setup solutions. * Rough description: we have several improvements in the pipeline to make it easier for users to get started with AiiDA. I suggest we use these two days to finalise the corresponding PRs (see below). Moreover, few of us have had the time to text these and see how to UX is, find possible bugs etc. Finally, the documentation/tutorials haven't been updated/streamlined to make these features findable. * Some PRs: * CLI: Various improvements concerning user details [[#6173](https://github.com/aiidateam/aiida-core/pull/6173)] * Add the SqliteDosStorage storage backend [[#6148](https://github.com/aiidateam/aiida-core/pull/6148)] * Add the SshFabricTransport plugin [[#6154](https://github.com/aiidateam/aiida-core/pull/6154)] * AiiDA temp profile in shell and Jupyter-notebook [[#6070](https://github.com/aiidateam/aiida-core/pull/6070)] * Add verdi profile setup [[#6023](https://github.com/aiidateam/aiida-core/pull/6023)] * SqliteZipBackend.create_profile should automatically define the default_user_profile [[#6165](https://github.com/aiidateam/aiida-core/issues/6165)] * Attended the ADIS2023 workshop. A lot interesting discussions with other workflow engine developers. Jason: * (Discussion required) [Ignore version when compute hash](https://github.com/aiidateam/aiida-pseudo/issues/167): The aiida-core version that runs the calcjob is an object used to compute the node hash, which lead to the calcjob's hash is dependent on the `aiida-core` version that runs it. It cause the problem that after the aiida-core version updated, the old calcjob not the valid to be used as caching source. * Example [PR#981 in `aiida-quantumespresso`](https://github.com/aiidateam/aiida-quantumespresso/pull/981) showing how to build a plugin dedicate out-of-box image. Find it useful? * Participate a discussion (20th Oct) hold by NumFOCUS about the code of conduct and potential NumFOCUS support for CI runners. * [A questionnaire](https://forms.gle/WCgrnEi43BweAEDu8) is asked to fill for every organization. NumFOCUS are working with a group of volunteers to improve Code of Conduct (CoC) support and resources for all NumFOCUS projects. * We actually have [one for `aiida-core`](https://github.com/aiidateam/aiida-core/pull/3471) which adapted from numpy community, but since we also have plugin and aiidalab sub-community, we need a more general CoC and maybe put on Discourse. * Meanwhile, we had some items missing for `aiida-core` repo, see : https://github.com/aiidateam/aiida-core/community Sebastiaan: * **Releases**: * `aiida-core`: `v2.4.1` * `plumpy`: `v0.21.10` * `kiwipy`: `v0.7.8` * **Issues**: * [Should the `local_copy_list` files take precedence?](https://github.com/aiidateam/aiida-core/issues/6012): Suggestion to reorder the `remote_copy_list`, `local_copy_list` and `SandboxFolder` copy operations by the engine for `CalcJob`s. * [Migrate to `ruff` for linting and formatting](https://github.com/aiidateam/aiida-core/issues/6178): Replace most of our pre-commit tools with a single blazingly fast one. If team is agreed, I propose we finish some open PRs, release v2.5 and only then I perform the migration as there will be quite some changes in linting/formatting. * **PRs**: * [Tests: Remove deprecated `aiida/manage/tests/main` module and move system tests](https://github.com/aiidateam/aiida-core/pull/6163/files): Moves system tests to unit test suite, making them easily runnable with `pytest`. Removes old custom unittest framework. Technically breaking, but doubt anyone is using it. Good to go? * [Dependencies: Add support for Python 3.12](https://github.com/aiidateam/aiida-core/pull/6161): Needed to update a tonne of upstream dependencies but should be good to go now. The only problem is that the memory leak tests are not working on Python 3.12. There seems to be a problem with the garbage collector: calling `gc.collect` hangs after the first test. For now I'm just skipping the test on Python 3.12 * [Add the `SqliteDosStorage` storage backend](https://github.com/aiidateam/aiida-core/pull/6148/files) Miki: * Waiting for feedback on [StructureData user stories](https://hackmd.io/QncWOzUcTni6Mlg0VgJknA) (Jason and Xing already provided some) - please have a look by next week :blush: Xing: * Preparing the slides for AiiDA-WorkTree. * compare with [ExecFlow](https://github.com/H2020-OpenModel/ExecFlow) * collect more use case (Nataliya's Fermi surface workchain) Kristjan: * DOS backup script waiting for feedback: https://github.com/aiidateam/disk-objectstore/pull/161 Edan: * From last meeting: * `sqlalchmet~=2.0` reviewed * Haven't had time to test `SshFabricTransport` * `verdi storage backup` test * Works locally on my Windows * Haven't checked if it works with network drives (the Empa usecase) * Currently setting up a new laptop at Empa - will test * Haven't had time to work on blog * Will add new monitoring discoveries to story (see below) * aiida-quantumespresso parser compatability * From 10-05 meeting: was this ever resolved? Giovanni? * Haven't had time to mess with `verdi node graph generate` * Marda extractors * Discussed useability with Peter Kraus/Matthew Evans * Currently, the extractor system works as follows: * You register an extractor with their registry * Associate file types (e.g. `qe-pw-in`) * Associate parsing package repo * Define installation * `method: pip` * `package: qe_tools` * Define usage * `method: python` * `setup: qe_tools` * `command: qe_tools.parsers.PwInputFile({{infile}})` * This will... * Install `qe_tools` in a virtual python environment * Run `import qe_tools`, then `<command>` * One can then `from marda.extractors import extract`, and run * `extract("pw.in", filetype="qe-pw-in")` * Will search the registry for and apply a matching parser * Monitoring * Giovanni suggested making use of `CalcJobNode.extras` to increase the useability of the monitor - will test * AiiDA image - container user permissions ### Specific Agenda Items