---
# System prepended metadata

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

---

# AiiDA Team Meeting 2021-10-20

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

[TOC]

### Present

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


### Catch-up round

*Max. 3 minutes each*

Chris:
- Merged PRS:
    - ⬆️ UPDATE: pylint 2.11 (#5167); more tests
    - ⬆️ UPDATE: aldjemy v2.4 (#5170); fixes against sqlalchemy v2 warnings
    - 🐛 FIX: sqlalchemy v2 API warning (#5177) 
    - Typing:
      - 🔧 MAINTAIN: Improve type annotations of @classproperty (#5176)
      - 🔧 MAINTAIN: Add pylint_aiida plugin (#5182) 
      - 👌 IMPROVE: Entity Collection typing (#5183)
      - 👌 IMPROVE: Add typing to all base Entity classes (#5185)
    - Archive and aiida persistent storage
      - ✨ NEW: Add Backend bulk methods (#5171)
      - 👌 IMPROVE: Add AbstractRepositoryBackend.iter_object_streams (#5168)
- New PRs
    - 👌 IMPROVE: Ensure QueryBuilder is passed Backend (#5186)
    - ♻️ REFACTOR: Reorganise Backend class UML (#5172)
    - ♻️ REFACTOR: Delegate RepositoryBackend control to the Backend (#5169)
    - ♻️ REFACTOR: New archive format
        - Integrated merged PRs

Sebastiaan:
 * **Merged 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):
 * **Open PRs**:
     * [`Code`: check existence of executable for remote code when storing ](https://github.com/aiidateam/aiida-core/pull/5184): This could help prevent typos when setting up a code and subsequently the calculation failing.
     * [Dependencies: update to `click==8.0` and remove `click-completion` ](https://github.com/aiidateam/aiida-core/pull/5111): Allows us to drop a dependency. @csadorf had a cursory look but didn't approve officially. Anyone else want to have a look, or I go ahead and merge it?
     * [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.
 * Questions:
     * Two open PRs from dependabot since early September. What is the policy here? They are simply indirect dependencies that are not used by us. I think we should decide that either we reject them if they think they do not affect us (which I think the vast majority doesn't) or we should just always accept them and simply merge them so they don't linger in the PR list.



Marnik:

 * [Opened discussion on node equality comparison](https://github.com/aiidateam/aiida-core/discussions/5187).
 * **Open PR's**:
      * [👌 IMPROVE: constructor of base data types](https://github.com/aiidateam/aiida-core/pull/5165): Also updated and added more tests for the base data types. Found some unexpected behavior while working on this that we may want to fix, see [this comment](https://github.com/aiidateam/aiida-core/pull/5165#issuecomment-937182138). There is also still [an interesting question from Dominik](https://github.com/aiidateam/aiida-core/issues/4495#issuecomment-938134798), on whether `get_attribute` should also return a deepcopy in case the node is not yet stored.
      * [✨ NEW: `_repr_pretty_` representation for ProcessBuilder](https://github.com/aiidateam/aiida-core/pull/4970).

Francisco
  * Not much to report now, mostly working on workflows for LUMI (but maybe some of the performance-analyzing code can later be integrated into AiiDA?).
      * (example: [this internal PR](https://github.com/ramirezfranciscof/aiida-core/pull/11) on logging still open to illustrate and for feedback)

Jason:
  * [caching problem #5178](https://github.com/aiidateam/aiida-core/issues/5178): the followed `PhWorkChain` failed if previous `PwWorkChain` finished_ok and cached but the remote folder been cleaned
  * Docs: can add some instruction on how to create and run a simple work chain demo. Otherwise, always easy to end with an error describe in https://github.com/aiidateam/aiida-core/issues/2410 if not all things properly set.
  * issue(not sure it is a problem): what if we put the `sys.exit(0)` in a workchain step?
  
Simon:
  * Mostly AiiDAlab and QE app work.
  * Started work on support for Python 3.10 ([#5188](https://github.com/aiidateam/aiida-core/pull/5188))

Giovanni:
  * Coding week -> we have budget from MARVEL and swissuniversities/Empa (thanks Carlo!) - we need to use it by the end of the year, so important to quickly organize the coding week
    * For next time: get a list of topics we want to discuss/work on, so we agree on the priorities
  * Discussion with CSCS this morning. They offer SARUS (container technology) and FirecREST (REST API access to file movement, job execution, ...). 
    * CSCS and most other centers will move to MFA
    * It seems now techincally we can implement it as an AiiDA plugin (transport+scheduler), they have a pyfirecrest library.
    * They might send a firecrest developer to our coding week, we should dedicate at least one person to it (to add to topics). In addition, using SARUS shoudld be easy -> so we can think to another topic for running containerized codes with AiiDA (it should be easy)
        * Technical discussion to have: how to manage async requests - should we switch to the possibility of using coroutines in the transport (optionally?) Opens the way to use asyncssh for instance, and might be useful also for firecrest (for now: implement loop to check if the operation is done? Might still need to do it with `async.sleep()`)

Louis:
* Declarative chain demo


### Specific Agenda Items

 * **AiiDA coding week**:
     * Date: 6th to 10th of Dec
     * Place: Somewhere in the mountains ([Fiescherhof](http://www.fiescherhof.ch/de/)? [Alpine Classic](http://www.classic-hotel.ch/)?)
