I don't think that custom DBs work as documented across a couple of different dimensions, but for whoever comes after, I got it working by setting the default DB via prodigy.json and adding the DB to the databases registry using:
from prodigy.util import registry
prodigy.databases.register("mongodb", func=AnnotationsDatabase())
This is a bit confusing because register is a decorator elsewhere but func
here accepts a class instantiation.
prodigy.json now includes:
{
"db": "mongodb"
}
It now seems to work as expected.
This post was critical information that I couldn't get to by looking at the prodigy source because prodigy.util
is compiled now.