Cannot run Prodigy on MacBook Air, M1, Big Sur 11.2.3 (pydantic error)

Hello :slightly_smiling_face:
I have upgraded to a new MacBook Air (M1, Big Sur 11.2.3) and am trying to install and run Prodigy. I run this in the Terminal :point_down:
pip install /Users/firstname_surname/Downloads/prodigy-1.10.0-cp36.cp37.cp38-cp36m.cp37m.cp38-macosx_10_14_x86_64.whl

However I get error messages whenever I try to run Prodigy commands, this what happens when I just run "Prodigy"

File "/Users/firstname_surname/opt/anaconda3/lib/python3.8/runpy.py", line 185, in _run_module_as_main
    mod_name, mod_spec, code = _get_module_details(mod_name, _Error)
  File "/Users/firstname_surname/opt/anaconda3/lib/python3.8/runpy.py", line 144, in _get_module_details
    return _get_module_details(pkg_main_name, error)
  File "/Users/firstname_surname/opt/anaconda3/lib/python3.8/runpy.py", line 111, in _get_module_details
    __import__(pkg_name)
  File "/Users/firstname_surname/opt/anaconda3/lib/python3.8/site-packages/prodigy/__init__.py", line 7, in <module>
    from . import recipes
  File "/Users/firstname_surname/opt/anaconda3/lib/python3.8/site-packages/prodigy/recipes/__init__.py", line 4, in <module>
    from ..deprecated import recipes  # noqa
  File "/Users/firstname_surname/opt/anaconda3/lib/python3.8/site-packages/prodigy/deprecated/recipes.py", line 9, in <module>
    from ..core import recipe
  File "cython_src/prodigy/core.pyx", line 12, in init prodigy.core
  File "cython_src/prodigy/components/feeds.pyx", line 8, in init prodigy.components.feeds
  File "/Users/firstname_surname/opt/anaconda3/lib/python3.8/site-packages/prodigy/components/validate.py", line 5, in <module>
    from ..types import TextTask, ClassificationTask, ImageTask, SpansTask, SpansManualTask
  File "/Users/firstname_surname/opt/anaconda3/lib/python3.8/site-packages/prodigy/types.py", line 3, in <module>
    from pydantic import validator, BaseModel, Field, Schema
ImportError: cannot import name 'Schema' from 'pydantic' (/Users/firstname_surname/opt/anaconda3/lib/python3.8/site-packages/pydantic/__init__.cpython-38-darwin.so)
(base) firstname_surname@firstname_surnames-MacBook-Air ~ % prodigy
Traceback (most recent call last):
  File "/Users/firstname_surname/opt/anaconda3/lib/python3.8/runpy.py", line 185, in _run_module_as_main
    mod_name, mod_spec, code = _get_module_details(mod_name, _Error)
  File "/Users/firstname_surname/opt/anaconda3/lib/python3.8/runpy.py", line 144, in _get_module_details
    return _get_module_details(pkg_main_name, error)
  File "/Users/firstname_surname/opt/anaconda3/lib/python3.8/runpy.py", line 111, in _get_module_details
    __import__(pkg_name)
  File "/Users/firstname_surname/opt/anaconda3/lib/python3.8/site-packages/prodigy/__init__.py", line 7, in <module>
    from . import recipes
  File "/Users/firstname_surname/opt/anaconda3/lib/python3.8/site-packages/prodigy/recipes/__init__.py", line 4, in <module>
    from ..deprecated import recipes  # noqa
  File "/Users/firstname_surname/opt/anaconda3/lib/python3.8/site-packages/prodigy/deprecated/recipes.py", line 9, in <module>
    from ..core import recipe
  File "cython_src/prodigy/core.pyx", line 12, in init prodigy.core
  File "cython_src/prodigy/components/feeds.pyx", line 8, in init prodigy.components.feeds
  File "/Users/firstname_surname/opt/anaconda3/lib/python3.8/site-packages/prodigy/components/validate.py", line 5, in <module>
    from ..types import TextTask, ClassificationTask, ImageTask, SpansTask, SpansManualTask
  File "/Users/firstname_surname/opt/anaconda3/lib/python3.8/site-packages/prodigy/types.py", line 3, in <module>
    from pydantic import validator, BaseModel, Field, Schema
ImportError: cannot import name 'Schema' from 'pydantic' (/Users/firstname_surname/opt/anaconda3/lib/python3.8/site-packages/pydantic/__init__.cpython-38-darwin.so)
(base) firstname_surname@firstname_surnames-MacBook-Air ~ % 

Can anyone help please? Thank you very much :slightly_smiling_face:

Hi! It looks like this error is caused by a change in pydantic, a dependency of Prodigy. Following that change, we added an update to Prodigy as well: https://prodi.gy/docs/changelog#v1.10.7

So the easiest solution would be to just use a newer wheel of Prodigy. Alternatively, you could also downgrade pydantic to v1.7.x.