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)