Multiple datasets in one session

Hi!

Every time an annotator is to annotate, I would like them to annotate three datasets, where the recipes between the datasets can differ. The recipes are all custom using choice, and implemented in python.
It’s similar to the setup in the live demo, with a dropdown in the interface selection.

I thought about just running in three different sessions, but it would be nice with a drop-down as in the live demo.

How can I go about this? :slight_smile:

Hi! Separate recipes that run different annotation workflows and save to different datasets is kind of the definition of separate sessions. I’m not 100% sure what the advantage of running all of this in one session / Python process would be. Prodigy recipes are also often stateful and run models in the loop – so you typically always want to run those as separate Python processes under the hood.

If you had different users in the same session in the same app, this would require solving all sorts of problems: for instance, what do you do with unsaved answers? Do you discard them? How do you keep track of what the annotator is doing, and how do you handle switching between several batched streams? And how do you decide what running recipes to show to whom? In the demo, none of this is an issue because it’s not running a server and is just displaying static data to showcase the interfaces – and when you switch, it just discards everything. That obviously won’t work in a real-world scenario.

If you just want to start up separate recipes, I’d recommend starting different sessions on different ports. You could even automate the process in a bash script, so you can run one command and star all tasks. And if you want, you could then host or expose a page that lists all running processes and links to them.