Package Info Module
Every Meco™ package has a mandatory Python module named
packageInfoLib.py module under
<PACKAGE_NAME>/python/<PACKAGE_NAME> path and contains information about the package itself. This information is used
throughout Meco Ecosystem™. When you crate a package via related command and/or provided Python API, package info
module and its default content get created automatically.
The example below shows typical content of a package info module.
## [ str ] - Name of the package. NAME = 'mCore' ## [ str ] - Version of the package. VERSION = '1.0.0' ## [ str ] - Description about the package. DESCRIPTION = 'Core functionalities used by all packages.' ## [ list of str ] - Keywords to find this package. KEYWORDS = ['core'] ## [ list of str ] - Platforms which this package meant to be used on. PLATFORMS = ['Linux', 'Darwin', 'Windows'] ## [ list of dict ] - Documentations about the package, keys of dict instances are: title, url. DOCUMENTS =  ## [ list of str ] - Applications which this package meant to be initialized for. APPLICATIONS = ['all'] ## [ list of str ] - Python versions supported by this package. PYTHON_VERSIONS = ['2', '3'] ## [ bool ] - Whether this package is active (in use). IS_ACTIVE = True ## [ bool ] - Whether this package is external (third party). IS_EXTERNAL = False ## [ list of str ] - E-mail addresses of the developers. DEVELOPERS = ['email@example.com'] ## [ list of str ] - Dependent packages. DEPENDENT_PACKAGES =  ## [ list of str ] - Python packages contained by this package. PYTHON_PACKAGES = ['mCore', 'mFileSystem']
All the attributes listed below are mandatory, therefore they should be present in the module.
Name of the package. This name must match with the name of the package and a Python package under
path of the package. For
mCore package, the Python package must be
Version of the package. You need to bump up the version based on the changes you make everytime you want to release a new version of a package.
Description about the package.
KEYWORDS (list of str)
Keywords relevant to the package. Meco™ uses these keyword to provide features to users such as searching packages.
PLATFORMS (list of str)
Platforms, which the package supports. You can remove the name of the platform from the list if you wish not to support
it. For instance, is you only leave
Windows in this list, the package will not be initialized on Linux OS and Mac OS.
Valid values are;
DOCUMENTS (list of dict)
Documentation available for the package. Meco Ecosystem™ uses these URLs/paths to provide support to users. You can also use paths relative to the root of the package to provide help that contained by the package itself.
APPLICATIONS (list of str)
Application, which the package supports. If an environment is initialized for
maya application and this list doesn't
maya, the package will not be initialized.
If the package should be initialized for all environments
all should be added to the list.
if the package should be initialized only for standalone environments (shell)
standalone should be added to the list.
Name of the applications can be found in
mApplication.parentApplicationLib.Application enum class.
PYTHON_VERSIONS (list of str)
Python versions supported by the package. Meco™ currently uses only major version to determine whether the package should be initialized for that version of Python.
Whether the package is active. You can disable the package by setting this attribute
Whether the package is external, meaning whether the package contains libraries developed by third party. For instance,
extPySide2Linux that contains
PySide2 is considered as an external package.
This attribute also determines where the package will be released to. Example paths are;
False, the release path will be:
True, the release path will be:
DEVELOPERS (list of str)
Email addresses of the developers who worked on the package.
DEPENDENT_PACKAGES (list of str)
Dependent packages of the package.
PYTHON_PACKAGES (list of str)
Python packages contained by the package. Python packages are located in
Many commands and API classes in Meco Ecosystem™ use the information in package info module to operate on packages, like the command below.
mmecopackage-display-info -n mCore
You would get a result like the one below once you execute the command above.
NAME : mCore VERSION : 1.0.0 DESCRIPTION : Core functionalities used by all packages. KEYWORDS : core PLATFORMS : Linux, Darwin, Windows DOCUMENTS : N/A APPLICATIONS : all PYTHON_VERSIONS : 2, 3 IS_ACTIVE : True IS_EXTERNAL : False DEVELOPERS : firstname.lastname@example.org DEPENDENT_PACKAGES : PYTHON_PACKAGES : mCore, mFileSystem IS_VERSIONED : False PATH : <PATH>/meco/master/developers/soner/development/main/mCore Stats Line of code (python) : 4361 Line of code (cpp) : 0