Cmem-plugin-base

Latest version: v4.10.0

Safety actively analyzes 723158 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 5

4.4.0

Added

- capabilities for hierarchical entities as input and output of workflow tasks

4.3.0

Added

- Workflow plugins can specify their input and output ports now.
- `ResourceParameterType` - for selecting DI dataset resources
- `CodeParameterType` - which supports various different code languages

Changed

- dependency to cmempy >= 23.3.0

4.2.0

Added

- Optional `plugin_icon` parameter in a plugin description to specify a custom plugin icon as data URL.

4.1.0

Changed

- use `post_resource` api in `write_to_dataset` function to update dataset file resource
- use cmempy 23.2

4.0.0

Changed

- upgrade dependencies
- enforce Python 3.11

3.0.0

Added

- Autocompleted parameter types may declare dependent parameters.
For instance, a parameter 'city' may declare that its completed values depend on another parameter 'country':

class CityParameterType(StringParameterType):
autocompletion_depends_on_parameters: list[str] = ["country"]

def autocomplete(self,
query_terms: list[str],
depend_on_parameter_values: list[Any],
context: PluginContext) -> list[Autocompletion]:
'depend_on_parameter_values' contains the value of the country parameter
return ...


- Password plugin parameter type.
Passwords will be encrypted in the backend and not shown to users:

Plugin(label="My Plugin")
class MyTestPlugin(TransformPlugin):

def __init__(self, password: Password):
self.password = password

The decrypted password can be accessed using:
self.password.decrypt()


- Custom parameter types can be registered. See implementation of PasswordParameterType for an example.

Migration Notes

The signature of the autocomplete function has been changed.
All autocomplete implementations need to be updated to the following signature:

`def autocomplete(self, query_terms: list[str], depend_on_parameter_values: list[Any], context: PluginContext) -> list[Autocompletion]`

Parameters using the old signature will continue to work for one release, but a warning will be printed in the log.

The same applies to the label function that has been updated to the following signature:

`def label(self, value: str, depend_on_parameter_values: list[Any], context: PluginContext) -> Optional[str]`

Page 2 of 5

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.