check_license()

Checks whether the given modules are licensed on the connected server via lic.CheckLicense. Multiple module names can be passed and are sent to the server as a single space-separated string.

This endpoint only succeeds for modules with a concurrent license type (ECMLicenseType.CONCURRENT). Modules with a named (ECMLicenseType.NAMED) or universal (ECMLicenseType.UNIVERSAL) license type will be reported as unlicensed even if they exist on the server. Use module_info() to inspect the license type of a module.

1. Signature

  • Sync

  • Async

ecm.system.check_license(*modules: str) -> list[ECMLicenseInfo]
await ecm.system.check_license(*modules: str) -> list[ECMLicenseInfo]

2. Parameters

Parameter Type Default Description

*modules

str

 — 

One or more module names to check (e.g. "ASC", "CLU").

3. Return value

A list of ECMLicenseInfo instances, one per requested module.

3.1. ECMLicenseInfo fields

Field Type Description

module

str

The module name that was checked.

licensed

bool

True when the module is licensed on the connected server.

result

int

The raw result code returned by the server. 0 means licensed.

4. Examples

4.1. Check a single module

  • Sync

  • Async

infos = ecm.system.check_license("ASC")
if infos[0].licensed:
    print("ASC module is licensed")
infos = await ecm.system.check_license("ASC")
if infos[0].licensed:
    print("ASC module is licensed")

4.2. Check multiple modules at once

  • Sync

  • Async

infos = ecm.system.check_license("ASC", "CLU", "WFL")
for info in infos:
    status = "licensed" if info.licensed else f"not licensed (code={info.result})"
    print(f"{info.module}: {status}")
infos = await ecm.system.check_license("ASC", "CLU", "WFL")
for info in infos:
    status = "licensed" if info.licensed else f"not licensed (code={info.result})"
    print(f"{info.module}: {status}")

5. See also

  • module_info() — Get detailed license information for a module