compiler-identification

Identifying the properties of a C/C++ compiler, such as type and version


License
Apache-2.0
Install
pip install compiler-identification==1.0.1

Documentation

compiler-identification

https://pypi.org/project/compiler-identification/

A useful tool in identifying the version of C/C++ compilers, mainly various versions of GCC and Clang present in various Linux districtions and versions of macOS.

Usage (an ipython session shown):

In [1]: from compiler_identification import identify_compiler

In [2]: identification = identify_compiler('clang')

In [3]: identification
Out[3]: <compiler_identification.CompilerIdentification family='clang' version_str='12.0.5' full_version_output_str='Apple clang version 12.0.5 (clang-1205.0.22.9)\nTarget: x86_64-apple-darwin20.3.0\nThread model: posix\nInstalledDir: /Library/Developer/CommandLineTools/usr/bin' parsed_version=<Version('12.0.5')> compiler_path='/usr/bin/clang' at 0x7f904a95e970>

In [4]: identification.parsed_version
Out[4]: <Version('12.0.5')>

The parsed_version, which is a Version instance from the packaging module, allows to do proper version comparisons. See https://packaging.pypa.io/en/latest/version.html for more details.