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

1__all__ = 'compiled', 'VERSION', 'version_info' 1HpsatbucvdweIqxfygzhAiBjJKLMPQRSTUNOrCkDlEmFnGo

2 

3VERSION = '1.10.17' 1HpsatbucvdweIqxfygzhAiBjJKLMPQRSTUNOrCkDlEmFnGo

4 

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 

14 

15 

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

21 

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

29 

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