Chaostoolkit-lib

Latest version: v1.44.0

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

Scan your dependencies

Page 11 of 19

1.7.1

Added

- Catch `InterruptExecution` during rollbacks so that the experiment terminates
gracefully [132][132]. The remaining rollbacks are not applied.
- Catch `SIGINT` and `SystemExit` during rollbacks so that the experiment
terminates gracefully [133][133]. The remaining rollbacks are not applied.

[132]: https://github.com/chaostoolkit/chaostoolkit-lib/issues/132
[133]: https://github.com/chaostoolkit/chaostoolkit-lib/issues/133

1.7.0

Changed

- Fix to ensure a dry run ignores pauses
- Allow substitution from configuration and secrets into regex and jsonpath
tolerances

1.6.0

Added

- Two new control hook points before and after the experiment loading. These
hooks allow a control to perform certain operations before the experiment
is actually applied.
- Experiments can be loaded from HTTP server which returns them using a
`text/plain` content-type [130][130]. This allows notably to run directly
experiments hosted on GitHub.

[130]: https://github.com/chaostoolkit/chaostoolkit-lib/issues/130

Changed

- Add the `max_retries` parameter to the HTTP provider
- Changed nested tolerance Python probes to return `True` to the experiment in
case the nested probe returns an object or `True`, and to return `False` in
case of `None` or `False`. Before, `True` was returned every time except in case
of an `ActivityFailed` exception. [128][128].
- Global Python controls are now imported from a specific function called
`load_global_controls(settings: Settings)`. The reason from loading them
separately is so that we can have them declared, and registered, as soon
as we can. Before, they were loaded when the experiments started to be
executed. Now, we can also run controls when we read the experiment itself,
which wasn't possible before.
- Read package version by readsing `__version__` from the `chaoslib/__init__.py`
file directly without importing it, to avoid dependency issues of uninstalled
third-party packages.

1.5.0

Changed

- Fix `expect` validation when the value is a scalar rather than a sequence.
- Controls inheritance was getting too greedy because we were extending the
same list over and over again.
- Prevent control initializations' failure to bubble up
- Pass arguments to control initialization function when declared
- Interrupt nicely the experiment from control at the activity level

1.4.0

Changed

- [POTENTIALLY BREAKING] Changed the JSONPath implementation from `jsonpath-ng`
to `jsonpath2` as the former does not fully, or correctly, implement the
JSON Path specification. The latter is based on the ANTLR grammar and
implements filters appropriately. The breaking aspect is due to the fact that
your path may not work anylonger as they may be rejected by the new
implementation which is more correct. [119][119].

Please install `jsonpath2`:


$ pip install jsonpath2


[119]: https://github.com/chaostoolkit/chaostoolkit-lib/issues/119

1.3.1

Changed

- Fix to pass control's state when probe fails during hypothesis [118][118]

[118]: https://github.com/chaostoolkit/chaostoolkit-lib/issues/118

Page 11 of 19

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.