[Request] Classic confinement for NEST Desktop


We would like to request classic confinement for NEST Desktop (snap install nest-desktop).
It is a front end (Vue) which requires NEST Simulation Tool as back end (https://nest-simulator.readthedocs.io/en/stable/).

The app is designed as an user-friendly educational tool for computational neuroscience.
The concept includes a simplified installation and starting of NEST Desktop (and NEST Simulator).
Our current approach is to build a stand-alone application using electron and push it on snapcraft.
It would be best if the front end would also start the back end (https://nest-simulator.readthedocs.io/en/stable/nest_server.html, an API server for NEST Simulator) on start-up, this would further simplify the start-up process. This simplification would be quite helpful, as the goal of this project is to enable users with very little IT knowledge to run these simulations! Here, it needs the classic confinement to execute the child process to start NEST Server when NEST Desktop is started.

The source code of the app is open-source (https://github.com/nest-desktop/nest-desktop) and well documented (https://nest-desktop.readthedocs.io/en/stable/).
For more background information, a manuscript about the app is currently under review but it is available as preprint (https://www.biorxiv.org/content/10.1101/2021.06.15.444791v3).

Thank you for reviewing it.

Would it be possible for nest-desktop to ship the nest-simulator directly? Currently as per the existing Process for reviewing classic confinement snaps nest-desktop does not appear to fit within one of the supported categories for classic confinement (although I wonder perhaps it could be considered an IDE…? but this feels like a bit of stretch). As such I am not sure whether it is suitable to be granted an exception for classic confinement but please let me know your thoughts on whether it would be able to ship nest-simulator itself OR if you feel I have mischaracterised nest-desktop and that it perhaps may fit within one of the existing categories for classic confinement.

@spreizer ping, can you please provide the requested information?

@spreizer ping, this request cannot proceed without the requested information.

Thank you for the reminders :wink:
We apologize for the late reply.

It would be nice if NEST Simulator can be integrated in snap of NEST Desktop. However, we are not sure if it is possible. We are not experts in shipping NEST Simulator in snap.

We build NEST Desktop snap with Vue CLI Plugin Electron builder (https://nklayman.github.io/vue-cli-plugin-electron-builder/) in node whereas NEST Simulator can only be compiled in C++ and provides Python interface. The reason of the late response is that we are waiting for python package of NEST Simulator (https://github.com/nest/nest-simulator/pull/2073).

Would it be possible to install and start NEST Simulator as a Python package inside of NEST Desktop snap?

Regarding supported categories: Here, we have troubles to define a clear category for NEST Desktop from your supported and unsupported lists. NEST Simulator is a HPC application and the front-end NEST Desktop sends simulation requests to NEST Simulator.

Once NEST Simulator has public Python package, we will work on this case and will report our progress.

Thank you for your patience.

Hey @spreizer,

You might wanna read this since it could help designing your snap: https://snapcraft.io/docs/python-plugin

Feel free to ask here any question you might have when doing so. While trying to stay under strict confinement, you could use snappy-debug which should help to troubleshoot and identify missing interfaces accordingly.

@spreizer - since we’ve not heard back from you, we are removing this request for classic from our review queue. If you have more doubts, simply do so here and we can add the request back to the queue. Thanks!