Change annotation recipe when prodigy is already running

Hi and thanks! :smiley:

Most Prodigy recipes are inherently stateful and they make sure to include an isolated, standalone server, REST API and web application. Switching between interfaces would introduce all sorts of problems and open questions: You’d need to make sure that the answers are stored with the correct task, make sure to re-fetch unanswered questions that were sent out etc.

All the logic that orchestrates an annotation workflow happens in Python, i.e. at the recipe level. In most cases where you want to change the "interface", what you actually want to do is change the entire task – the way the stream is composed, filters that are applied to the stream and possibly even the update callback and other settings.

The demo app is a separate app compiled for demo purposes: it skips all the parts that are problematic, doesn't send anything to a server and discards all answers.

You've probably done this already, but depending on what you're trying to build, you might want to check that it's compatible with our license terms. While it's no problem to spin up annotation tasks and have your customers or other people do the labelling, integrating Prodigy into existing applications usually isn't permitted.

If what you're looking for is a way to manage multiple annotators and projects and retrieve statistics, you might be interested in the upcoming Prodigy Scale. It comes with an autoscaling cluster to host multiple annotation feeds and takes care of the starting/stopping, user management and reconciling of annotations. See here for details: