Managing multiple deployments of Prodigy


Our team currently has an EC2 instance that runs several Prodigy servers (each on its own port), accessible by URL to our annotators.

We also have 3 developers that use the Prodigy Python API to consume the annotated data. These developers want the flexibility of being able to install Prodigy on whichever machine they may be working on for the day, which could be in SageMaker or could be on their laptop. Sometimes one developer will be running several machines simultaneously (for example, one SageMaker instance is using Prodigy to train a model while the developer works in a Notebook).

With Prodigy 1.10, our team had a .whl file checked into the repository the ensured a consistent and accessible version on all devices, to all developers.

Am I able to achieve the same thing with the remote pip download of 1.11? Can I hard-code one License Key into our requirements, and have any machine be able to pip install from the same file?



Yes, you can definitely do that by providing the Prodigy index as an --extra-index-url in your requirements:

Or, if you don't want to hard-code the license key, you could also provide it via an environment variable and generate the requirements.txt, or run pip install separately as part of your installation process. And of course, you can also still download the wheels and use your previous workflow.

1 Like