PyWorkflowApp / visual-programming

A Python Visual Programming Workspace for Data Science
MIT License
31 stars 12 forks source link

Installation of custom nodes #67

Closed reelmatt closed 4 years ago

reelmatt commented 4 years ago

There are a few problems/questions we will need to solve to implement custom nodes. This is intended as a way to frame discussion about potential approaches, some of which I may have missed in this initial pro/con list. Some of these approaches might also become more/less difficult as we containerize the application.

1) Where do custom nodes live?

2) How does a user add a custom node/how to install additional packages?

PR #66 goes with a "user uploads a file to the server" approach. This facilitates a UI-based approach similar to uploading CSV files for an individual node. If the custom node only includes packages pre-installed (like pandas), this could be a seamless approach where the node listing refreshes and the user can drag-and-drop the new node instantly.

Another approach to consider could be prompting the user to add their node to the Pipfile, run pipenv install to load in any packages, and (re)start the server for changes to take effect. This is closer to the approach we have discussed.

Benefits to this approach include:

Potential downsides: