Coverage for pydantic/version.py: 100.00%
20 statements
« prev ^ index » next coverage.py v7.6.1, created at 2024-08-15 13:26 +0000
« prev ^ index » next coverage.py v7.6.1, created at 2024-08-15 13:26 +0000
1__all__ = 'compiled', 'VERSION', 'version_info' 1HpsatbucvdweIqxfygzhAiBjJKLMPQRSTUNOrCkDlEmFnGo
3VERSION = '1.10.17' 1HpsatbucvdweIqxfygzhAiBjJKLMPQRSTUNOrCkDlEmFnGo
5try: 1HpsatbucvdweIqxfygzhAiBjJKLMPQRSTUNOrCkDlEmFnGo
6 import cython # type: ignore 1HpsatbucvdweIqxfygzhAiBjJKLMPQRSTUNOrCkDlEmFnGo
7except ImportError: 1pabcdeIqxfygzhAiBjrklmno
8 compiled: bool = False 1pabcdeIqxfygzhAiBjrklmno
9else: # pragma: no cover
10 try: 1HstuvwJKLMPQRSTUNOCDEFG
11 compiled = cython.compiled 1HstuvwJKLMPQRSTUNOCDEFG
12 except AttributeError:
13 compiled = False
16def version_info() -> str: 1HpsatbucvdweIqxfygzhAiBjJKLMPQRSTUNOrCkDlEmFnGo
17 import platform 1HpsatbucvdweIqxfygzhAiBjJKLMNOrCkDlEmFnGo
18 import sys 1HpsatbucvdweIqxfygzhAiBjJKLMNOrCkDlEmFnGo
19 from importlib import import_module 1HpsatbucvdweIqxfygzhAiBjJKLMNOrCkDlEmFnGo
20 from pathlib import Path 1HpsatbucvdweIqxfygzhAiBjJKLMNOrCkDlEmFnGo
22 optional_deps = [] 1HpsatbucvdweIqxfygzhAiBjJKLMNOrCkDlEmFnGo
23 for p in ('devtools', 'dotenv', 'email-validator', 'typing-extensions'): 1HpsatbucvdweIqxfygzhAiBjJKLMNOrCkDlEmFnGo
24 try: 1HpsatbucvdweIqxfygzhAiBjJKLMNOrCkDlEmFnGo
25 import_module(p.replace('-', '_')) 1HpsatbucvdweIqxfygzhAiBjJKLMNOrCkDlEmFnGo
26 except ImportError: 1pabcdeqfghijrklmno
27 continue 1pabcdeqfghijrklmno
28 optional_deps.append(p) 1HpsatbucvdweIqxfygzhAiBjJKLMNOrCkDlEmFnGo
30 info = { 1satbucvdwexfygzhAiBjCkDlEmFnGo
31 'pydantic version': VERSION,
32 'pydantic compiled': compiled,
33 'install path': Path(__file__).resolve().parent,
34 'python version': sys.version,
35 'platform': platform.platform(),
36 'optional deps. installed': optional_deps,
37 }
38 return '\n'.join('{:>30} {}'.format(k + ':', str(v).replace('\n', ' ')) for k, v in info.items()) 1HpsatbucvdweIqxfygzhAiBjJKLMNOrCkDlEmFnGo