Plumpy

Latest version: v0.23.0

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

Scan your dependencies

Page 3 of 6

0.21.3

Bug fixes
- `PortNamespace`: Fix bug in valid type checking of dynamic namespaces [[255]](https://github.com/aiidateam/plumpy/pull/255)

0.21.2

Bug fixes
`Process`: Ensure that the raw inputs are not mutated [[251]](https://github.com/aiidateam/plumpy/pull/251)

Dependencies
- Add support for Python 3.10 and 3.11 [[254]](https://github.com/aiidateam/plumpy/pull/254)
- Update requirement `pytest-notebook>=0.8.1` [[254]](https://github.com/aiidateam/plumpy/pull/254)
- Update requirement `pyyaml~=6.0` [[254]](https://github.com/aiidateam/plumpy/pull/254)
- Update requirement `kiwipy[rmq]~=0.7.7` [[254]](https://github.com/aiidateam/plumpy/pull/254)
- Update the `myst-nb` and `sphinx` requirements [[253]](https://github.com/aiidateam/plumpy/pull/253)

0.21.1

This is a backport of changes introduced in `v0.22.0`.

Features
- `Process`: Add the `is_excepted` property [[240]](https://github.com/aiidateam/plumpy/pull/240)

Bug fixes
- `StateMachine`: transition directly to excepted if transition failed [[240]](https://github.com/aiidateam/plumpy/pull/240)
- `Process`: Fix incorrect overriding of `transition_failed` [[240]](https://github.com/aiidateam/plumpy/pull/240)

0.21.0

Bug fixes
- Fix `UnboundLocalError` in `DefaultObjectLoader.load_object`. [[225]](https://github.com/aiidateam/plumpy/pull/225)

Dependencies
- Drop support for Python 3.6. [[228]](https://github.com/aiidateam/plumpy/pull/228)
- Pin Jinja2 and Markupsafe packages for docs builds. [[228]](https://github.com/aiidateam/plumpy/pull/228)
- Update requirement `nest-asyncio~=1.5` [[229]](https://github.com/aiidateam/plumpy/pull/229)
- Pin tests requirements to functional versions. [[228]](https://github.com/aiidateam/plumpy/pull/228)

Devops
- Adopt PEP 621 and move build spec to `pyproject.toml` [[230]](https://github.com/aiidateam/plumpy/pull/230)
- Move package into the `src/` subdirectory [[234]](https://github.com/aiidateam/plumpy/pull/234)
- Merge separate license files into one [[232]](https://github.com/aiidateam/plumpy/pull/232)
- Add the `flynt` and `isort` pre-commit hooks [[233]](https://github.com/aiidateam/plumpy/pull/233)
- Remove obsolete `release.sh` [[231]](https://github.com/aiidateam/plumpy/pull/231)
- Update the continuous deployment workflow [[235]](https://github.com/aiidateam/plumpy/pull/235)

0.20.0

- 🔧 MAINTAIN: update requirement to `pyyaml~=5.4` (221)
The versions of `pyyaml` up to v5.4 contained severe security issues where the default loaders could be abused for arbitrary code execution.
The default `FullLoader` was patched to no longer allow this behavior, but as a result, data sets that could be successfully deserialized with it, now will fail.
This required using the unsafe `Loader` in for the deserialization of the exception state of a process.

0.19.0

Not secure
- ‼️ DEPRECATE: `Process.done` method:
This method is a duplicate of `Process.has_terminated`, and is not used anywhere in plumpy (or aiida-core).

- 🐛 FIX: `Task.cancel` should not set state as `EXCEPTED`
`asyncio.CancelledError` are generated when an async task is cancelled.
In python 3.7 this exception class inherits from `Exception`, whereas in python 3.8+ it inherits from `BaseException`.
This meant it python 3.7 it was being caught by `except Exception`, and setting the process state to `EXCEPTED`,
whereas in python 3.8+ it was being re-raised to the caller.
We now ensure in both versions it is re-raised (particularly because aiida-core currently relies on this behaviour).

- 👌 IMPROVE: Process broadcast subscriber
Filter out `state_changed` broadcasts, and allow these to pass-through without generating a (costly) asynchronous task.
Note this also required an update in the minimal kiwipy version, to `0.7.4`

Page 3 of 6

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.