Important
This feature is still under development, while it is recommended and usable and we will try not to break them in future releases, some breaking changes might still happen if necessary to prepare for the Conan 2.0 release.
conan_version¶
Available since: 1.52.0
Variable of type Version
(see below) that defines the version of the Conan client. You can
use it in your recipes like:
from conan import ConanFile
from conan import conan_version
class pkg(ConanFile):
...
def generate(self):
if conan_version.major == "1":
print("Running Conan 1.X")
Version¶
Available since: 1.46.0
constructor¶
def __init__(self, value: str):
Construct a Version
object from a string. It supports basic version comparison between
objects, like for example:
compiler_lower_than_12 = Version(str(self.settings.compiler.version)) < "12.0"
Please note this is not an implementation of semver, as users may use any pattern in their versions. It is just a helper to parse “.” or “-” and compare taking into account integers when possible.
Attributes¶
Available public properties since: 1.50.2
main¶
Get all the main digits.
@property
def main(self):
For instance:
v = Version("1.2.3.4-alpha.3+b1")
assert [str(i) for i in v.main] == ['1', '2', '3', '4', '5']
major¶
Get the major digit.
@property
def major(self):
For instance:
v = Version("1.2.3.4-alpha.3+b1")
assert str(v.major) == "1"
minor¶
Get the minor digit.
@property
def minor(self):
For instance:
v = Version("1.2.3.4-alpha.3+b1")
assert str(v.minor) == "2"
patch¶
Get the patch digit.
@property
def patch(self):
For instance:
v = Version("1.2.3.4-alpha.3+b1")
assert str(v.patch) == "3"
micro¶
Get the micro digit.
@property
def micro(self):
For instance:
v = Version("1.2.3.4-alpha.3+b1")
assert str(v.micro) == "4"
pre¶
Get the pre-release digit.
@property
def pre(self):
For instance:
v = Version("1.2.3.4-alpha.3+b1")
assert str(v.pre) == "alpha.3"
build¶
Get the build digit.
@property
def build(self):
For instance:
v = Version("1.2.3.4-alpha.3+b1")
assert str(v.build) == "b1"