# AiiDA Team Meeting 2024-12-12 ###### tags: `team meetings` ###### time: 14:00 CET [TOC] ### Present * Ali * Julian * Jusong * Miki * Kristjan * Edan * Giovanni * Alex ### Catch-up round *Max. 3 minutes each* Julian: * [[#6653] ORM: Add `from_bytes` `classmethod` to `orm.SinglefileData`](https://github.com/aiidateam/aiida-core/pull/6653): Thanks MB, for review. * [[6654] Add overview of common `core` plugins to RTD](https://github.com/aiidateam/aiida-core/pull/6654): Merged. Panel on landing page, and accessible via top-bar. * [[#6584] ORM: Add `get_size_on_disk` method to `RemoteData`](https://github.com/aiidateam/aiida-core/pull/6584): Almost there :crossed_fingers: * [[#6665] Adding `get_size_on_remote` to the `Transport` interface](https://github.com/aiidateam/aiida-core/issues/6665): Thoughts? * GP: BashTransport; other Transports apart form FirecREST * Ali: I think our suggestion sould go in Transport class: `transport.get_disk_size()` I'd say let's keep it simple. And probably it's the best to not have the command execution as an abstract method in Transport class, anymore. * Repo for Wikipedia article draft: https://github.com/GeigerJ2/aiida-wikipedia * Blog post planning -> https://hackmd.io/_Ic1IR6pQ6yZYnqZUflMjg * Renkulab (Common workflows, see input files) * Sirocco? Or Stephan Henne? * Professor in Vietnam who's doing a full course on AiiDA * Mention core plugins and overview for this week's blog post Xing: - For the stable release of aiida-workgraph, I try to keep the core part of workgraph minimal. I did a major refactor of the package: - move web ui to [aiida-workgraph-web-ui](https://github.com/aiidateam/aiida-workgraph-web-ui), one can still run workgraph web start directly. - improve test coverage (~91% now) - refactor part of the engine - Save Pickled data as a AiiDA node, and store the binary in the repository - Tab-completion, wg.tasks.add1.inputs.x - WorkGraph [AEP](https://github.com/aiidateam/AEP/pull/44/files) draft - PythonJob repository is ready! [aiida-pythonjob](https://github.com/aiidateam/aiida-pythonjob) - PythonJob [AEP](https://github.com/aiidateam/AEP/pull/43/files) draft Edan: - Nothing on AiiDA at the moment - Was working on [pydantic PR](https://github.com/aiidateam/aiida-core/pull/6255) - Need input from Sebastiaan - Will look into it when time permits - @Alex @Kristjan REST-API testing? - @Ali could we discuss soon a set of performance tests? Miki: * PRs (deadline: Dec. 19) for aiida-atomistic StructureData support in: * Merged: aiida-pseudo [#178](https://github.com/aiidateam/aiida-pseudo/pull/178) * Basically ready for merging: aiida-core [#6632](https://github.com/aiidateam/aiida-core/pull/6632) * Working on: aiida-quantumespresso [#1050](https://github.com/aiidateam/aiida-quantumespresso/pull/1050) Giovanni: - Important to prioritize WorkGraph public API (in general, especially for while/if) before fixing/refactoring the actual code (somehow this can also happen afterwards) - developed a proof-of-concept of a queue system that is purely based on files, so that one does not need RMQ or other services to manage passing messages to a queue to workers. Thanks to using `watchdog` to get messages when a file appears in a folder + some care in making atomic operations, I have a demo implementation (that I shared with Jason) that can support multiple workers, has a heartbeat feature, and can support 1000-3000 messages per second (that I think is enough for a simple alternative for low-to-mid-throughtput regime, e.g. when using `verdi presto` with SQLite). Jason: - [kiwipy #131](https://github.com/aiidateam/kiwipy/pull/131) kiwipy 0.8.5 release to support py3.12, the `typing-extensions` issue solved for plumpy afterwards. - [plumpy #298](https://github.com/aiidateam/plumpy/pull/298) De-abstract Savable by making it a protocol - [plumpy #297](https://github.com/aiidateam/plumpy/pull/297) Move kiwipy/rmq related modules into a specific module. - [plumpy #296](https://github.com/aiidateam/plumpy/pull/296) Making state machine State the contract for process states. - We will making a minor release `0.23.0` for couple of fixes and APIs changes happened in aiida office. Ali: - [#6626](https://github.com/aiidateam/aiida-core/pull/6626) succesfully passed perfomance tests. It's ready to go. Remark on a test for two WorkGraph in a row (1 GB up&down): - `core.ssh_async`: Only 4 seconds! 🚀🚀🚀🚀 - `core.ssh`: 108 seconds - Merged the long standing PR in plumpy [#272](https://github.com/aiidateam/plumpy/pull/272) Kristjan: - Simple/demo docker-based AiiDA webserver/restapis: https://github.com/eimrek/simple-aiida-webserver - container is stateless - .aiida files mounted via volume - profiles set up with `verdi profile setup core.sqlite_zip` - BUT I think it doesn't support multiple .aiida files. That is crucial for Materials Cloud, as many profiles need to import multiple .aiida files. - Giovanni suggestion: just merge all .aiida archive files into a single one per profile Alex: nothing to report