Package: python3-pydantic Version: 1.10.4-1 Severity: normal Dear Maintainer,
If the package python3-pedantic is installed but the package python3-email-validator is not installed: validating EmailStr fails. I think that python3-email-validator should be a dependency (or Suggests?) of python3-pedantic. pydantic suggests "pip install pydantic[email]" to fix the issue which is not the best solution. Example: -------------- carles@pinux:~/git/email$ cat c.py #!/usr/bin/env python3 from pydantic import BaseModel, EmailStr class User(BaseModel): id: int name: str email: EmailStr external_data = { "id": 1, "name": "John", "email": "j...@example.org", } user = User(**external_data) carles@pinux:~/git/email$ ./c.py Traceback (most recent call last): File "/usr/lib/python3/dist-packages/pydantic/networks.py", line 578, in import_email_validator import email_validator ModuleNotFoundError: No module named 'email_validator' The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/home/carles/git/email/./c.py", line 5, in <module> class User(BaseModel): File "/usr/lib/python3/dist-packages/pydantic/main.py", line 198, in __new__ fields[ann_name] = ModelField.infer( ^^^^^^^^^^^^^^^^^ File "/usr/lib/python3/dist-packages/pydantic/fields.py", line 506, in infer return cls( ^^^^ File "/usr/lib/python3/dist-packages/pydantic/fields.py", line 436, in __init__ self.prepare() File "/usr/lib/python3/dist-packages/pydantic/fields.py", line 557, in prepare self.populate_validators() File "/usr/lib/python3/dist-packages/pydantic/fields.py", line 829, in populate_validators v_funcs = ( ^ File "/usr/lib/python3/dist-packages/pydantic/networks.py", line 591, in __get_validators__ import_email_validator() File "/usr/lib/python3/dist-packages/pydantic/networks.py", line 580, in import_email_validator raise ImportError('email-validator is not installed, run `pip install pydantic[email]`') from e ImportError: email-validator is not installed, run `pip install pydantic[email]` carles@pinux:~/git/email$ sudo apt install python3-email-validator [...] carles@pinux:~/git/email$ ./c.py carles@pinux:~/git/email$ -------------- -- System Information: Debian Release: 12.5 APT prefers stable-updates APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 'stable') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 6.1.0-18-amd64 (SMP w/4 CPU threads; PREEMPT) Kernel taint flags: TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE Locale: LANG=ca_ES.UTF-8, LC_CTYPE=ca_ES.UTF-8 (charmap=UTF-8), LANGUAGE not set Shell: /bin/sh linked to /usr/bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled Versions of packages python3-pydantic depends on: ii python3 3.11.2-1+b1 ii python3-typing-extensions 4.4.0-1 python3-pydantic recommends no packages. python3-pydantic suggests no packages. -- no debconf information