Does prodigy work in a completely airtight environment (i.e. AWS instance w/o internet access)?

@Andrey Yes, that should be no problem – you’d just have to install all of Prodigy’s dependencies separately first, before you install the Prodigy wheel with --no-deps. If you’re using the latest version of Prodigy, that would be the following packages:

# Our dependencies
spacy>=2.1.0,<2.2.0
wasabi>=0.1.3,<1.1.0
srsly>=0.0.6,<1.1.0
# Other dependencies
toolz>=0.8.2,<=1.0.0
plac>=0.9.6,<1.0.0
hug>=2.4.1,<2.4.9
waitress>=1.0.0,<1.3.0
requests>=2.0.0,<3.0.0
peewee>=2.10.1,<3.0.0
jsonschema>=2.6.0,<3.0.0
cachetools>=2.1.0
pyjwt>=1.6.1,<2.0.0

However, what can this pretty tedious is that many of those packages also have their own dependents, and so on. For an accurate picture of all dependencies, you can install Prodigy in a clean virtualenv and run pip list.

To make this easier, you might want to check out .pex files. We use them a lot internally and they essentially package a whole Python environment into a single file. So you can install Prodigy and whatever else you need locally, create a .pex, copy that single file (!) over to your airtight machine and then execute it instead of the Python interpreter. (The only thing your machine needs is a system Python installation). For example:

your_environment.pex -m prodigy stats
1 Like