# AiiDA Team Meeting 2023-10-19
###### tags: `team meetings`
###### time: 14:00 CET
[TOC]
### Present
* Sebastiaan
* Marnik
* Giovanni
* Edan
* Miki
* Jusong
* Kristjan
### Catch-up round
*Max. 3 minutes each*
Sebastiaan:
* **Miscellaneous**:
* Revive concept of blogs. [A question from Xing Wang](https://aiida.discourse.group/t/lose-provenance-inside-workchain/126) on Discourse revived the idea of having a place for a blog. Years ago, [`aiida-blog`](https://github.com/aiidateam/aiida-blog) was created for this purpose with Giovanni and Francisco writing the first entry but it was never published. Instead of having a separate repo and location, I propose we simply use the main website. Its news and events entries are already written through a blog system for Sphinx. I have [opened a PR](https://github.com/aiidateam/aiida-website/pull/49) that updates the website to add the blog post of G+F. Adding new blog posts is then as easy as adding a new post through a PR.
* Big thanks to Daniel Hollas for excellent work on reducing import times making `verdi` tab-completion very snappy!
* **Open Issues**:
* [Discussion on desired breaking changes for AiiDA v3.0](https://github.com/aiidateam/aiida-core/issues/6157)
* **Merged PRs**:
* [ORM: `ProcessNode.is_valid_cache` is `False` for unsealed nodes ](https://github.com/aiidateam/aiida-core/pull/6147): Fixes rare race-condition bug in caching
* [`FolderData`: Expose repository API on top-level namespace](https://github.com/aiidateam/aiida-core/pull/6150)
* [Dependencies: Update to `disk-objectstore~=1.0`](https://github.com/aiidateam/aiida-core/pull/6132)
* [Tests: Refactor transport tests from `unittest` to `pytest`](https://github.com/aiidateam/aiida-core/pull/6152)
* **Open PRs**:
* [CLI: Add `cached` and `cached_from` projections to `verdi process list`](https://github.com/aiidateam/aiida-core/pull/6156): Example output:
```
sph@invader$ vpla
PK Created Process label Cached Process State Process status
------ --------- ------------------------ -------- ---------------- ----------------
152644 3h ago PwCalculation ⏹ Finished [0]
152652 3h ago PwCalculation ✔ ⏹ Finished [0]
152661 1h ago ShellJob<pw.x@localhost> ⏹ Finished [400]
152668 1h ago ShellJob<pw.x@localhost> ✔ ⏹ Finished [400]
Total results: 6
```
* [Engine: Add the wait argument to submit](https://github.com/aiidateam/aiida-core/pull/6155): Will allow to make `submit(Process, **inputs, wait=True` blocking. This is useful in demos/tutorials in interactive notebooks where we want the persistence and restart safety of submitting to the daemon, but want the intuitiveness of `run` where results are available when cell returns control.
* [Add the `SshFabricTransport` plugin](https://github.com/aiidateam/aiida-core/pull/6154): Subclass of `SshTransport` but uses `fabric` to create the connection, which is a library built-on top of `paramiko` but has robust logic to automatically figure out connections parameters from SSH config files. Suggested by Sasha Yakutovich to make the configuration of SSH computer a lot easier, with less parameters that have to be specified, just the hostname. This is an alternative implementation [to his original implementation](https://github.com/aiidateam/aiida-core/pull/6083). He reimplemented `Transport` from scratch, but in my version I reuse `SshTransport` and just override connection part. Since `fabric` uses `paramiko` underneath, this works with minimal changes. Do we want to include this plugin in `aiida-core` or provide it through a separate plugin package?
* [Repository: Add the `as_path` context manager ](https://github.com/aiidateam/aiida-core/pull/6151): Allows making contents of node repository as file on local disk. Useful when needing access to files through filepath, e.g. for libraries that don't accept file handles. Simplifies a lot of boilerplate code using `tempfile`.
* [ORM: Register `numpy.ndarray` with the `to_aiida_type` to `ArrayData`](https://github.com/aiidateam/aiida-core/pull/6149): Accept `numpy.ndarray` as inputs to process functions and automatically convert to `ArrayData`.
* [Dependencies: Update to `sqlalchemy~=2.0`](https://github.com/aiidateam/aiida-core/pull/6146): Ready for review
* [Config: Switch from `jsonschema` to `pydantic`](https://github.com/aiidateam/aiida-core/pull/6117)
* [Add `verdi profile setup`](https://github.com/aiidateam/aiida-core/pull/6023): Requires previous PR to switch to `pydantic`
* [Add the `SqliteDosStorage` storage backend](https://github.com/aiidateam/aiida-core/pull/6148): Two parts of functionality not supported yet:
* Use of JSONB query language (not sure if can be supported by sqlite)
* Use of `date_trunc`. Currently only used by `QueryBuilder.get_creation_statistics` which is only used by the REST API (for MaterialsCloud)
Marnik:
* Giving tutorial-like talk at [ADIS 2023](https://www.mpie.de/4903042/Programme) in Tegernsee, Germany. Organised by Jörg Neugebauer and Tilmann Hickel from `pyiron`. Will give an overview of AiiDA, MC3D and some other applications.
Miki
* preparing a design document for StructureData (user stories), in the next two weeks I will iterate within the team.
Kristjan:
* fixed a small issue in the QE input parser: https://github.com/aiidateam/qe-tools/pull/71
* integers in cell parameters were not supported
* blog post about rest api: might make sense to postpone after (potential?) migration to https://github.com/aiidateam/aiida-restapi
* Blog post on backups instead.
Jason:
* Nothing to report related to `aiida-core`.
* Giving a talk in two weeks at Cambridge UK for the Huawei workshop. Will give an overview of AiiDA, Materials Cloud.
* Will test ssh-agent with Fabric.
Edan:
* Nothing to report related to `aiida-core`.
* Blog
* Managing experimental workflows with AiiDA
* Calculation live-monitoring
* Will check if `SshFabricTransport` would render `ssh2win` moot
* Will review `sqlalchemy~=2.0` PR
Giovanni:
* Reviewed some PRs by Sebastiaan
* Proceeding with hiring (up to 4 people if we are lucky...)
### Specific Agenda Items