# 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/)?)