Declare Command: Difference between revisions

From PyMOLWiki
Jump to navigation Jump to search
No edit summary
Line 20: Line 20:
     extended_calculation: bool = True,
     extended_calculation: bool = True,
     old_style: Any = "Support anything currently not supported",
     old_style: Any = "Support anything currently not supported",
) -> IgnoredType:
):
     """
     """
     A cool docstring.
     A cool docstring.

Revision as of 09:02, 20 June 2025

The problem

Current PyMOL approach to new plugin commands is outdated.

The proposal

Introduce a new system based on modern Python with type checking and implicit type coercion.

What works right now?

On PyMOL open-source, but not on Incentive, there's some support. However it isn't working for all possible cases.


@cmd.declare_command
def new_command(
    dirname: Path = '.',
    #nullable_point: Optional[Tuple[int, int, int]] = None,
    my_var: int | float
    extended_calculation: bool = True,
    old_style: Any = "Support anything currently not supported",
):
    """
    A cool docstring.
    """
    pass