Meeting Minute 2021-09-07 === ###### tags: `working-group` `plugin` :::info - **Date:** 2021-09-07 - **Agenda** - Review [last week](https://hackmd.io/YihnEVqrSkudjAeLJw0aeA) - npe2 integration - expressions - i18n, translation - file format spec/reader design - **Participants:** - Nathan Clack, Talley Lambert, Matthias Bussonnier, Eric Perlman ::: <!-- Discussion goes here--> ## Next steps <!-- Action items go here --> ## Notes <!-- Other important details discussed during the meeting can be entered here. --> Eric - state of plugin developer docs - what to do when I want to add a gui. many options? which one Reader configuration some of this has to do with fast evolution over time - AICS non-lazy vs lazy loader ImageJ import breaks w drag and drop - has to use defaults How would you do a dynamic widget w MagicGui? The layout is a mutable sequence, so you just append. - https://napari.org/magicgui/usage/direct_api.html The key is that magic gui decorator create instance, and factory create a class. There is some historical reasons to make JNI happy. Users could be just doing a subclass. HOw to we get NPE2 in napri: - let's to try import/except and have code in the main napari branch. - Not on PyPI, and jsut leave that as manual install for now. - Talley will turn the POC into a PR. - Cleanup anf move to test-plugin - Figuring out where plugin can add menus where. - Tests. - Where are the plugins docs. - Sphinx autodoc. - Maybe have extensions samples. - do we agree on the nameing `manifest.toml`? Yes. - ### Expressions Expressions: - vscode when clause - napari issue #3350 - context keys are the terminal symbols in the expressions - idea is napari would expose some 'isInViewer && isLayerActive' - plugins could define/maintain their own context keys https://greentreesnakes.readthedocs.io/en/latest/ is better for AST doc. - like vs code, but Python syntax. - Shoudl manifest declare that plugin can define a context key. - [x] After the meeting add the minutes to the 'working-group/plugins' folder of [napari/meeting-notes](https://github.com/napari/meeting-notes). ## Links * [Calendar](https://calendar.google.com/calendar/u/0?cid=Y18zNXI5M2VjNnZ0cDhzbWhtN2R2NXVvdDB2NEBncm91cC5jYWxlbmRhci5nb29nbGUuY29t) * [HackMD space](https://hackmd.io/team/napari-wg-plugin) * [Recorded meeting notes](https://github.com/napari/meeting-notes/tree/master/2021/working-groups/plugins)