Meeting Minute 2021-01-26
===
###### tags: `working-group` `plugin`
:::info
- **Date:** 2021-01-26
- **Agenda**
- [last week](https://hackmd.io/5EFaLRNlTxuF6tnYT1EQMw)
- switch cookiecutter main to npe2
- enable/disable,install/uninstall
- npe1 shim [npe2#86]
- multiple paths to readers [npe2#87](https://github.com/napari/npe2/pull/87)
- **Participants:**
- Matthias Bussonnier
- Nathan Clack
- Eric Perlman
- Pam Wadhwa
- Grzegorz Bokota
- Talley Lambert
:::
* would like to tie enable/disable into [npe2#86]
* shim rough edges
* can't bind to local closures
* shim creates a morphism of the function generating name to encode the index. `def gen_hooks() => di: gen_hooks__npe1_shim_1` gets the function returned at index 1.
* converted manifests are cached
* [Grzegorz] editable mode npe1 plugin via shim?
* caching is a problem for editable installs
* editable mode is detectable
* avoid cache in that case
* Talley demoing
* napari loads faster!
* [Matthias] what should invalidate the cache?
* can use site packages metadata
* look for package_version
* don't cache if alpha or beta
* uninstall will leave the cache artifact
* could clean on napari directed uninstall
* add a clear cache command
* think about timestamp
* check consistency when the plugin is actually loaded
* if any errors occur invalidate cache
- make this optional in napari prefs, disabled by default, opt in for
* eventing
* use psygnal to emit events from PluginManager
<!-- Discussion goes here-->
## Next steps
<!-- Action items go here -->
## Notes
<!-- Other important details discussed during the meeting can be entered here. -->
- [ ] 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)
[npe2#86]: https://github.com/napari/npe2/pull/86