I made an upgrade to some other package which must have bumped my urllib3 dependency. Since Prodigy uses cloudpathlib, it seems (see below for the stacktrace), this means that I hit an error. This Stackoverflow post pointed towards the solution.
So my question would be when / if Prodigy might support urllib3 versions that are greater than 2.x? It's been out for around a year now and is also pretty widely used.
β /Users/strickvl/coding/zenml/repos/zenml/src/zenml/integrations/prodigy/annotators/prodigy_annot β
β ator.py:21 in <module> β
β β
β 18 β
β 19 import prodigy β
β 20 from peewee import Database as PeeweeDatabase β
β β± 21 from prodigy.components.db import ( β
β 22 β Database as ProdigyDatabase, β
β 23 ) β
β 24 from prodigy.components.db import connect β
β β
β in init prodigy.components.db:35 β
β β
β /Users/strickvl/.pyenv/versions/3.10.12/envs/prodigy/lib/python3.10/site-packages/prodigy/struct β
β ured_types.py:45 in <module> β
β β
β 42 import typeguard β
β 43 from typeguard import TypeCheckError β
β 44 β
β β± 45 from .components.validate import ValidationErrorMsg, get_validation_error_msg β
β 46 from .errors import ProdigyError β
β 47 from .types import ( β
β 48 β AudioSpan, β
β β
β /Users/strickvl/.pyenv/versions/3.10.12/envs/prodigy/lib/python3.10/site-packages/prodigy/compon β
β ents/validate.py:20 in <module> β
β β
β 17 from wasabi import Printer β
β 18 β
β 19 from ..errors import RecipeValidationError β
β β± 20 from ..types import ( β
β 21 β AudioTask, β
β 22 β BlocksTask, β
β 23 β ChoiceTask, β
β β
β /Users/strickvl/.pyenv/versions/3.10.12/envs/prodigy/lib/python3.10/site-packages/prodigy/types. β
β py:20 in <module> β
β β
β 17 ) β
β 18 from typing_extensions import Literal, NewType, NotRequired, TypedDict β
β 19 β
β β± 20 from cloudpathlib import AnyPath, CloudPath β
β 21 from fastapi.security.http import HTTPAuthorizationCredentials β
β 22 from pydantic import ( β
β 23 β BaseModel, β
β β
β /Users/strickvl/.pyenv/versions/3.10.12/envs/prodigy/lib/python3.10/site-packages/cloudpathlib/_ β
β _init__.py:7 in <module> β
β β
β 4 from .azure.azblobclient import AzureBlobClient β
β 5 from .azure.azblobpath import AzureBlobPath β
β 6 from .cloudpath import CloudPath, implementation_registry β
β β± 7 from .s3.s3client import S3Client β
β 8 from .gs.gspath import GSPath β
β 9 from .gs.gsclient import GSClient β
β 10 from .s3.s3path import S3Path β
β β
β /Users/strickvl/.pyenv/versions/3.10.12/envs/prodigy/lib/python3.10/site-packages/cloudpathlib/s β
β 3/__init__.py:1 in <module> β
β β
β β± 1 from .s3client import S3Client β
β 2 from .s3path import S3Path β
β 3 β
β 4 __all__ = [ β
β β
β /Users/strickvl/.pyenv/versions/3.10.12/envs/prodigy/lib/python3.10/site-packages/cloudpathlib/s β
β 3/s3client.py:13 in <module> β
β β
β 10 from .s3path import S3Path β
β 11 β
β 12 try: β
β β± 13 β from boto3.session import Session β
β 14 β from boto3.s3.transfer import TransferConfig, S3Transfer β
β 15 β from botocore.config import Config β
β 16 β from botocore.exceptions import ClientError β
β β
β /Users/strickvl/.pyenv/versions/3.10.12/envs/prodigy/lib/python3.10/site-packages/boto3/__init__ β
β .py:16 in <module> β
β β
β 13 β
β 14 import logging β
β 15 β
β β± 16 from boto3.session import Session β
β 17 from boto3.compat import _warn_deprecated_python β
β 18 β
β 19 β
β β
β /Users/strickvl/.pyenv/versions/3.10.12/envs/prodigy/lib/python3.10/site-packages/boto3/session. β
β py:17 in <module> β
β β
β 14 import copy β
β 15 import os β
β 16 β
β β± 17 import botocore.session β
β 18 from botocore.client import Config β
β 19 from botocore.exceptions import DataNotFoundError, UnknownServiceError β
β 20 β
β β
β /Users/strickvl/.pyenv/versions/3.10.12/envs/prodigy/lib/python3.10/site-packages/botocore/sessi β
β on.py:30 in <module> β
β β
β 27 from botocore import __version__ β
β 28 from botocore import UNSIGNED β
β 29 import botocore.configloader β
β β± 30 import botocore.credentials β
β 31 import botocore.client β
β 32 from botocore.configprovider import ConfigValueStore β
β 33 from botocore.configprovider import ConfigChainFactory β
β β
β /Users/strickvl/.pyenv/versions/3.10.12/envs/prodigy/lib/python3.10/site-packages/botocore/crede β
β ntials.py:34 in <module> β
β β
β 31 from botocore import UNSIGNED β
β 32 from botocore.compat import total_seconds β
β 33 from botocore.compat import compat_shell_split β
β β± 34 from botocore.config import Config β
β 35 from botocore.exceptions import UnknownCredentialError β
β 36 from botocore.exceptions import PartialCredentialsError β
β 37 from botocore.exceptions import ConfigNotFound β
β β
β /Users/strickvl/.pyenv/versions/3.10.12/envs/prodigy/lib/python3.10/site-packages/botocore/confi β
β g.py:16 in <module> β
β β
β 13 import copy β
β 14 from botocore.compat import OrderedDict β
β 15 β
β β± 16 from botocore.endpoint import DEFAULT_TIMEOUT, MAX_POOL_CONNECTIONS β
β 17 from botocore.exceptions import InvalidS3AddressingStyleError β
β 18 from botocore.exceptions import InvalidRetryConfigurationError β
β 19 from botocore.exceptions import InvalidMaxRetryAttemptsError β
β β
β /Users/strickvl/.pyenv/versions/3.10.12/envs/prodigy/lib/python3.10/site-packages/botocore/endpo β
β int.py:22 in <module> β
β β
β 19 β
β 20 from botocore.vendored import six β
β 21 β
β β± 22 from botocore.awsrequest import create_request_object β
β 23 from botocore.exceptions import HTTPClientError β
β 24 from botocore.httpsession import URLLib3Session β
β 25 from botocore.utils import is_valid_endpoint_url, get_environ_proxies β
β β
β /Users/strickvl/.pyenv/versions/3.10.12/envs/prodigy/lib/python3.10/site-packages/botocore/awsre β
β quest.py:25 in <module> β
β β
β 22 from urllib3.connectionpool import HTTPConnectionPool β
β 23 from urllib3.connectionpool import HTTPSConnectionPool β
β 24 β
β β± 25 import botocore.utils β
β 26 from botocore.compat import six β
β 27 from botocore.compat import HTTPHeaders, HTTPResponse, urlunsplit, urlsplit, \ β
β 28 β urlencode, MutableMapping β
β β
β /Users/strickvl/.pyenv/versions/3.10.12/envs/prodigy/lib/python3.10/site-packages/botocore/utils β
β .py:33 in <module> β
β β
β 30 β
β 31 import botocore β
β 32 import botocore.awsrequest β
β β± 33 import botocore.httpsession β
β 34 from botocore.compat import ( β
β 35 β β json, quote, zip_longest, urlsplit, urlunsplit, OrderedDict, β
β 36 β β six, urlparse, get_tzinfo_options, get_md5, MD5_AVAILABLE β
β β
β /Users/strickvl/.pyenv/versions/3.10.12/envs/prodigy/lib/python3.10/site-packages/botocore/https β
β ession.py:8 in <module> β
β β
β 5 β
β 6 from urllib3 import PoolManager, ProxyManager, proxy_from_url, Timeout β
β 7 from urllib3.util.retry import Retry β
β β± 8 from urllib3.util.ssl_ import ( β
β 9 β ssl, OP_NO_SSLv2, OP_NO_SSLv3, OP_NO_COMPRESSION, DEFAULT_CIPHERS, β
β 10 ) β
β 11 from urllib3.exceptions import SSLError as URLLib3SSLError β
β°βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ―
ImportError: cannot import name 'DEFAULT_CIPHERS' from 'urllib3.util.ssl_'
(/Users/strickvl/.pyenv/versions/3.10.12/envs/prodigy/lib/python3.10/site-packages/urllib3/util/ssl_.py)