---
# System prepended metadata

title: AiiDA Team Meeting 2021-10-06
tags: [team meetings]

---

# AiiDA Team Meeting 2021-10-06

###### tags: `team meetings`
###### time: 10am CET

[TOC]

### Present

* Chris
* Sebastiaan
* Giovanni
* Marnik
* Simon
* Leopold
* Francisco
* Louis

### Catch-up round

*Max. 3 minutes each*

Sebastiaan:

 I need to leave around 10:15 unfortunately 
 * **Merged PRs**:
     * [`List`: register the class with the `to_aiida_type` serializer ](https://github.com/aiidateam/aiida-core/pull/5142): Makes it behave more like other base types, e.g., `Int`, `Str` etc.
     * [`verdi process list`: fix logging bug in check_worker_load](https://github.com/aiidateam/aiida-core/pull/5147): Command printed big exception when checking the daemon worker load.
 * **Open PRs**:
     * [`Dict`: fix the `__eq__` implementation to call super](https://github.com/aiidateam/aiida-core/pull/5159):
     * [`Data`: allow source to be passed as a keyword argument](https://github.com/aiidateam/aiida-core/pull/5163):
     * [Dependencies: update to `click==8.0` and remove `click-completion` ](https://github.com/aiidateam/aiida-core/pull/5111): Allows us to drop a dependency.
     * [REST API: make the profile configurable as request parameter ](https://github.com/aiidateam/aiida-core/pull/5054): Has been open for a while. Would be good if it could get some performance testing from the REST API users. The external team mentioned by Giovanni would require this feature, among other things.

Chris:
- ✨ NEW: Archive
    - Just about feature complete with tests (2 tests failing and some TODOs)
    - Fully documented in https://github.com/aiidateam/aiida-core/pull/5145
    - Import of 2D archive down from ~19 minutes to ~5 minutes, and the memory usage down from >1.5 Gb to 300 Mb
    - Abstraction allows for `archive_format.open` in 'r', 'x', 'w' and 'a' mode, which will allow for push/pull of archives
    - `verdi archive create --all` now available
    - Closes 8 issues thus far (and reduces code lines by ~2.5K)
- Improving abstraction of `Backend`: https://github.com/aiidateam/aiida-core/discussions/5154
- Merged some PRs to sqlalchemy / alembic
    - Very fast reviews from Mike Bayer
    - Check out https://sqla-tutorials-nb.readthedocs.io if you want to understand sqlalchemy

Leopold:
 - Quantum Mobile: Stefaan Cottenier [points out](https://github.com/marvel-nccr/quantum-mobile/issues/194) that Virtualbox does not support Apple's ARM chip. 
   It looks like ARM host support is not coming to Virtualbox at all - we may need to look for alternatives
       - @chris: this also explains why I was not able to get the virtualbox image to build. would you be able to follow up on https://github.com/marvel-nccr/ansible-role-aiida/pull/73#issuecomment-929694961 ?

Jason:
 - Not be present, attending OMDI2021 meeting.
 - I am going to start (but probably better to do code after AiiDA 2.0 release) to make it possible to run container code in aiida as regular code, which will let user running calculation in computer without installing the code in it, but [Sarus](https://sarus.readthedocs.io/en/stable/user/user_guide.html) or [Singularity](https://singularity.hpcng.org/docs) techonology installed in the computer. I already got some examples([here](https://docs.google.com/document/d/14SOCIFXxNxWh3OsUISFSBuNRIsM1B0FbfFWOdSKBBsk/edit#heading=h.kbtl40ptpg98) summary in google doc) in how to run quantum-espresso in a QuantumMobile container through Sarus and Singularity in Eiger. Anyone interested in this please contact me to have a discussion how this should be process. 
 - Open PR for [clearifing the log when the exposed output ports not compatible between `BaseRestartWorkCHain` and the `CalcJob` it embeded](https://github.com/aiidateam/aiida-core/pull/5149). The problem is bring by https://github.com/aiidateam/aiida-core/pull/4961 which do check the compatible between the output ports but not well logged.
 
Simon:
 - [Done] The Docker image now sets the number of cores of the "localhost" computer to the actual detected number of physical cores (unless user uses override) [#5161](https://github.com/aiidateam/aiida-core/pull/5161)
 - [Todo] Support Python 3.10 [#5146](https://github.com/aiidateam/aiida-core/issues/5146)
 - Revision of the AiiDAlab documentation completed.
 - Revision of the AiiDAlab registry implementation completed.
 - _Otherwise mostly busy with other AiiDAlab and QE-app work._

Marnik:
 - Node equality comparison: Based on [the executive summary I wrote](https://docs.google.com/document/d/1JsJg4r-YT8-Pc9IOdjoXcUuinEzFP5IQWDz56MVVEds/edit#) on the topic, I'm creating [a poll to send to the AiiDA mailing list.](https://docs.google.com/forms/d/1Q2G0SVImyG_uR9YBAzGHf0XZG228ewTu-ZnxKVPpUlU/edit) This way we can have an idea on what users find intuitive so we can move forward with deciding which node types should compare equal.
 - **Merged PR's**:
     - [📚 DOCS: Add example for retrieve_temporary_list](https://github.com/aiidateam/aiida-core/pull/5157)
 - **Open PR's**:
     - [👌 IMPROVE: constructor of base data types](https://github.com/aiidateam/aiida-core/pull/5165)
     - [✨ NEW: _repr_pretty_ representation for ProcessBuilder](https://github.com/aiidateam/aiida-core/pull/4970)

Francisco:
 - See PR on logging (specific agenda item)
 - Merged in part of some CLI repo tools (see PR [5156](https://github.com/aiidateam/aiida-core/pull/5156))
 - Review & Merged: Small fix on `TrajectoryData` (see PR [5015](https://github.com/aiidateam/aiida-core/pull/5015))

Louis:
 - [aiida-basic](https://github.com/louisponet/aiida-basic)


Giovanni:
- Preliminary discussions on push-pull mechanism with Chris (for now very short brainstorming via email). A demo repo with a proof of concept of how to leverage ssh is [here](https://github.com/giovannipizzi/push-pull-proof-of-concept) (only about how to use SSH in a way similar to how git does).
  This is for 2.x and not 2.0, but at some point it would be good to discuss with interested people (this might be relevant also for people working on AiiDAlab, to avoid to develop a custom solution for data sharing only within AiiDAlab).
  - In brief: the idea is similar to what git does when pushing via git to a remote (in combination to GitHub, for instance): use git for authentication, and just take care of authorization at the GitHub level. And on the 'remote', you just need to have a AiiDA instance and a properly configured SSH authorized_keys file.
  - There's a lot technical things to think about - but in a preliminary meeting we should decide if we agree this is the way we want to implement sharing in AiiDA (that has been the plan in the past few years, but we never had enough human resources to start looking into it). So we focus development efforts about sharing in the same direction.

### Specific Agenda Items

 * [SPH]: Can we limit the branches opened on `aiidateam/aiida-core` to a minimum and use our forks? Of course if there is a real need to test the branch on the main repo, then that is ok, otherwise it would be better to use forks and reduce the clutter. (On a side-note, is it possible to change the branch names that are automatically created by `dependabot`? Might seem trivial, but it really messes with me. Everytime I want to checkout or check the `develop` branch, I used to be able to type `checkout de` and then tab-complete, but this now no longer works. Seems like a small problem, but it hits me a lot and would be great if we can change the dependabot branching to not overlap with develop).
 * [FFR] Present new option to enable logging changes of state for CalcJobs. These would be stored inside the calcjob node as timestamps, and are typically useful for when gathering performance information.
     * The current name is `calcjob_state_tracking`.
     * See [this PR](https://github.com/ramirezfranciscof/aiida-core/pull/11) in my fork (first post shows how it looks stored in the node).
