The IDAES Python package is versioned according to the general guidelines of semantic versioning, following the recommendations of PEP 440 with respect to extended versioning descriptors (alpha, beta, release candidate, etc.).
You can see the version of the package at any time interactively by printing out the __version__ variable in the top-level package:
import idaes print(idaes.__version__) # prints a version like "1.2.3"
This section describes the module’s variables and classes.
The API in this module is mostly for internal use, e.g. from ‘setup.py’ to get the version of
the package. But
Version has been written to be usable as a general
Example of using the class directly:
>>> from idaes.ver import Version >>> my_version = Version(1, 2, 3) >>> print(my_version) 1.2.3 >>> tuple(my_version) (1, 2, 3) >>> my_version = Version(1, 2, 3, 'alpha') >>> print(my_version) 1.2.3.a >>> tuple(my_version) (1, 2, 3, 'alpha') >>> my_version = Version(1, 2, 3, 'candidate', 1) >>> print(my_version) 1.2.3.rc1 >>> tuple(my_version) (1, 2, 3, 'candidate', 1)
If you want to add a version to a class, e.g. a model, then
simply inherit from
HasVersion and initialize it with the
same arguments you would give the
>>> from idaes.ver import HasVersion >>> class MyClass(HasVersion): ... def __init__(self): ... super(MyClass, self).__init__(1, 2, 3, 'alpha') ... >>> obj = MyClass() >>> print(obj.version) 1.2.3.a
package_version= <idaes.ver.Version object>
Package’s version as an object
Package’s version as a simple string
The versioning semantics are encapsulated in a class called Version.
Version(major, minor, micro, releaselevel='final', serial=None, label=None)
This class attempts to be compliant with a subset of PEP 440.
Note: If you actually happen to read the PEP, you will notice that pre- and post- releases, as well as “release epochs”, are not supported.
__init__(major, minor, micro, releaselevel='final', serial=None, label=None)
Create new version object.
Provided arguments are stored in public class attributes by the same name.
For adding versions to other classes in a simple and standard way, you can use the HasVersion mixin class.