Changes#

What’s new in 3.0#

3.0.8#

  • Updated tutorial

  • LCP_MaxConcurrentExec now returned as an int in PSCAD.settings()

  • The active_graphics setting is no longer encoded with a trailing underscore

  • Fixed KeyError in codec for “C/Linker”

  • Fixed typing error (missing from typing import Set)

3.0.7#

3.0.6#

  • Embedded documentation is now formatted as html

  • Corrected 5.0 fallback for Canvas.names_in_use()

  • ‘Choice’ parameters with sequential integer values, such as the master:cable_interface’s NCAB parameter, are now returned as integers instead of strings.

  • Add @deprecated Switch.value() and Selector.value() methods, as aliases for Switch.set_state() and Selector.position() methods to support incorrect method names use in PSCAD’s script recording.

3.0.5#

  • launch()

    • permits allow_beta= argument again

    • supports edition= argument (either "PRO" or "EDU")

    • rejects unknown argument names

  • Improved IPv4/IPv6 host support in launch() & connect()

3.0.4#

3.0.3#

3.0.2#

  • launch() now accepts

    • a port range

    • an network address for PSCAD to bind the automation server to

  • Added Proxy object caching to speed up automation queries

  • Support recorded scripts with improper create_wire vertices argument

  • Support find with parameter encoding when definition specified

  • Removed unnecessary Mixin Classes

  • Added fallback impmentation for UserCanvas.create_connection()

  • Added Project.remap_definitions()

3.0.1#

  • Removed debug print statements

3.0.0#

What’s New in 2.9#

2.9.7#

  • Fixed error fetched Project parameters with PSCAD 5.0.x

2.9.6#

2.9.5#

  • Auto-retry of RMI commands, if SystemError: Could not queue task occurs.

  • Add py -m mhi.pscad help command, to open the module’s help file.

2.9.4#

  • Fixed backward-incompatible Python 3.10+ type-union syntax

  • Added Component.orient property (PSCAD 5.1+ only).

2.9.3#

2.9.2#

  • master:sequencer_wait component’s CrossDir parameter now allows ‘FROM_POS_TO_NEG’ and ‘FROM_NEG_TO_POS’.

2.9.1#

2.9.0#

What’s New in 2.8#

2.8.4#

  • added PSCAD.wait_for_idle() after launch, to allow loading of a prior workspace to complete if “Reload the last session” is present in the user profile.

  • added load option to mhi.pscad.launch() to automatically load a workspace, or individual projects & libraries at startup.

2.8.3#

2.8.2#

  • Removed f”{strings”} to restore Python 3.5 compatibility.

  • Fixed incorrectly escaped characters.

2.8.1#

2.8.0#

What’s New in 2.7#

2.7.2#

  • In PSCAD 5.1, Project.save_as() can save the project to a directory other than the project’s current directory. In PSCAD 5.0, a filename with a path may be given instead of just a new project name, but it must resolve to the current project directory.

  • Minor documentation improvements

2.7.1#

2.7.0#

What’s New in 2.6#

2.6.0#

What’s New in 2.5#

2.5.1#

  • Mail methods

    • take lists for recipients and attachments,

    • automatically resolve attachment filenames to absolute pathnames,

    • use the log facility instead of printing to the console,

    • no longer suppress exceptions

2.5.0#

What’s New in 2.4#

2.4.1#

  • PlotType parameter in Project.parameters() now accepts “NONE”, “OUT”, “PSOUT” and the aliases “NO”, “LEGACY” and “ADVANCED” instead of yes/no options (0, 1, False, True, “NO”, and “YES”).

2.4.0#

What’s New in 2.3#

2.3.4#

  • mhi.common dependency updated.

2.3.3#

  • Documentation updates.

  • mhi.common dependency updated.

2.3.2#

  • Minimum number of rows/columns when writing table parameters reduced from 2 to 1.

  • Added Canvas.selection() to retrieve selected components.

  • Added Project.current_canvas() to retrieve currently focused canvas.

  • Support setting Integer/Real parameters with context_type of ‘Variable’ or ‘Constant’ to variable names.

2.3.1#

  • License attribute has been added for pip show commands.

  • Added support for reading and writing table parameters, such as the datatable of the master:xy_table component.

2.3.0#

  • mhi.pscad.common has been moved to an external dependency: mhi.common.

  • mhi.pscad.application.* has been flatten to mhi.pscad.*.

What’s New in 2.2#

2.2.2#

  • Fixed Project.settings() to accept full range of values for bitmask parameters (Advanced, Build, Check, Debug, and Options) and not return or accept removed parameters.

  • Fixed Canvas.settings() to no longer accept or return removed parameters. Added missing documentation.

2.2.1#

2.2.0#

What’s New in 2.1#

2.1.1#

2.1.0#

Summary#

  • New namespace

    mhi.pscad replaces mhrc.automation

  • Embedding of Python inside PSCAD

    • An external Python environment is no longer required.

      Python scripts may be executed from within the PSCAD application itself. External execution of scripts remains supported, and remains essential for debugging.

  • Communication with PSCAD is no longer using XML fragments

    • Commands returning XML fragments as results have been removed

Deprecations#

  • The Workspace, KeyStroke and Mouse proxies have been removed; and their methods moved into the PSCAD class.

  • All commands which returned XML fragments from the communication protocol between PSCAD and the Automation Library have been removed, since that communication protocol has been replaced.