conan inspect¶
Warning
This feature is experimental and subject to breaking changes. See the Conan stability section for more information.
$ conan inspect -h
Migration: Successfully updated settings.yml
Migration: Successfully updated cppstd_compat.py
Migration: Successfully updated profile.py
usage: conan inspect [-h] [-v [V]] [-cc CORE_CONF] [-f FORMAT]
[-r REMOTE | -nr] [-l LOCKFILE] [--lockfile-partial]
path
Inspect a conanfile.py to return its public fields.
positional arguments:
path Path to a folder containing a recipe (conanfile.py)
options:
-h, --help show this help message and exit
-v [V] Level of detail of the output. Valid options from less
verbose to more verbose: -vquiet, -verror, -vwarning,
-vnotice, -vstatus, -v or -vverbose, -vv or -vdebug,
-vvv or -vtrace
-cc CORE_CONF, --core-conf CORE_CONF
Define core configuration, overwriting global.conf
values. E.g.: -cc core:non_interactive=True
-f FORMAT, --format FORMAT
Select the output format: json
-r REMOTE, --remote REMOTE
Remote names. Accepts wildcards ('*' means all the
remotes available)
-nr, --no-remote Do not use remote, resolve exclusively in the cache
-l LOCKFILE, --lockfile LOCKFILE
Path to a lockfile. Use --lockfile="" to avoid
automatic use of existing 'conan.lock' file
--lockfile-partial Do not raise an error if some dependency is not found
in lockfile
The conan inspect command shows the public attributes of any recipe (conanfile.py) as follows:
$ conan inspect .
default_options:
shared: False
fPIC: True
neon: True
msa: True
sse: True
vsx: True
api_prefix:
description: libpng is the official PNG file format reference library.
generators: []
homepage: http://www.libpng.org
label:
license: libpng-2.0
name: libpng
options:
api_prefix:
fPIC: True
msa: True
neon: True
shared: False
sse: True
vsx: True
options_definitions:
shared: ['True', 'False']
fPIC: ['True', 'False']
neon: ['True', 'check', 'False']
msa: ['True', 'False']
sse: ['True', 'False']
vsx: ['True', 'False']
api_prefix: ['ANY']
package_type: None
requires: []
revision_mode: hash
settings: ['os', 'arch', 'compiler', 'build_type']
topics: ['png', 'graphics', 'image']
url: https://github.com/conan-io/conan-center-index
conan inspect
evaluates recipe methods such as set_name()
and set_version()
,
and is capable of resolving python_requires
dependencies (which can be locked with the --lockfile
argument),
so its base methods will also be properly executed.
Note
The --remote
argument is used only for fetching remote python_requires
in cases where they are needed,
not to inspect recipes from a remote. Use conan graph info for such cases.
The conan inspect ... --format=json returns a JSON output format in stdout
(which can be redirected to a file) with the following structure:
$ conan inspect . --format=json
{
"name": "libpng",
"url": "https://github.com/conan-io/conan-center-index",
"license": "libpng-2.0",
"description": "libpng is the official PNG file format reference library.",
"homepage": "http://www.libpng.org",
"revision_mode": "hash",
"default_options": {
"shared": false,
"fPIC": true,
"neon": true,
"msa": true,
"sse": true,
"vsx": true,
"api_prefix": ""
},
"topics": [
"png",
"graphics",
"image"
],
"package_type": "None",
"settings": [
"os",
"arch",
"compiler",
"build_type"
],
"options": {
"api_prefix": "",
"fPIC": "True",
"msa": "True",
"neon": "True",
"shared": "False",
"sse": "True",
"vsx": "True"
},
"options_definitions": {
"shared": [
"True",
"False"
],
"fPIC": [
"True",
"False"
],
"neon": [
"True",
"check",
"False"
],
"msa": [
"True",
"False"
],
"sse": [
"True",
"False"
],
"vsx": [
"True",
"False"
],
"api_prefix": [
"ANY"
]
},
"generators": [],
"requires": [],
"source_folder": null,
"build_folder": null,
"generators_folder": null,
"package_folder": null,
"label": ""
}
Note
conan inspect
does not list any requirements listed in the requirements()
method,
only those present in the requires
attribute will be shown.