Coverage for /pythoncovmergedfiles/medio/medio/src/pydantic/pydantic/version.py: 18%

17 statements  

« prev     ^ index     » next       coverage.py v7.2.3, created at 2023-04-27 07:38 +0000

1__all__ = 'VERSION', 'version_info' 

2 

3VERSION = '2.0a3' 

4 

5 

6def version_info() -> str: 

7 import platform 

8 import sys 

9 from importlib import import_module 

10 from pathlib import Path 

11 

12 import pydantic_core._pydantic_core as pdc 

13 

14 optional_deps = [] 

15 for p in 'devtools', 'email-validator', 'typing-extensions': 

16 try: 

17 import_module(p.replace('-', '_')) 

18 except ImportError: 

19 continue 

20 optional_deps.append(p) 

21 

22 info = { 

23 'pydantic version': VERSION, 

24 'pydantic-core version': f'{pdc.__version__} {pdc.build_profile} build profile', 

25 'install path': Path(__file__).resolve().parent, 

26 'python version': sys.version, 

27 'platform': platform.platform(), 

28 'optional deps. installed': optional_deps, 

29 } 

30 return '\n'.join('{:>30} {}'.format(k + ':', str(v).replace('\n', ' ')) for k, v in info.items())