Pypyr

Latest version: v5.9.1

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

Scan your dependencies

Page 4 of 14

4.2.0

- python 3.9 compatibility officially confirmed. All good. Woo!
- New Flat `ff` and Recursive `rf` formatting specifiers. 195
- Maintain backwards compatibility for all current formatting functionality.
- The `get_formatted_string`, `get_formatted_iterable` & `get_processed_string` methods on `Context()` are now all deprecated. Use `get_formatted_value` instead. All of the deprecated functions will keep on working as before, but will print a WARN to the output.
- `get_formatted` and `get_formatted_value` remain the official best ways of getting formatted values.
- New `!jsonify` yaml special tag directive. This converts context object to a json string. 197.
- New `pypyr.steps.jsonparse` step. Parse and deserialise a json string into Context. 199
- Bare `pypyr.steps.assert` syntax. 196
- Add new `utils.asserts` for extra flexibility with nested key validation.
- PyStrings optimised. Not so that you'd notice, but still, it'll be a smidge faster.
- Friendlier error messages when yaml/json context parsers reject documents that do NOT have a mapping at root.

4.1.0

- Better description output - add (skipping) to output if the step is not running because run is False or skip is True. Ref 158.
- First release published from shiny new GitHub Action CI/CD!
- Add License to wheel published to pypi

4.0.0

- BREAKING CHANGE: final deprecation of `in` args persisting after step execution. For full discussion please see 177. Preview functionality where setting environment variable `$PYPYR_IN_CLEAN = 1` is now the default. You can remove the `$PYPYR_IN_CLEAN` variable from this release onwards. Henceforth pypyr removes `in` args from context after step completes. If you want to persist values in context, use `pypyr.steps.contextsetf`, `pypyr.steps.contextcopy` or `pypyr.steps.default`.
- BREAKING CHANGE: `pypyr.steps.assert` raises an `AssertionError` rather than a `ContextError`. Ref 188.
- The cli now defaults to a simplified log format that is way less noisy. If you still want the full, old style logs, run pypyr with `--log 25` set explicitly. `pypyr my pipe --log 25`. Ref 187
- `description` decorator output also simplified to echo only your actual custom text.
- Failure Groups now support Stop instructions. This allows you to exit the failure handler reporting success, so pypyr can report success if you consider the error condition handled. Ref 175.
- `pypyr.steps.contextset` renamed `pypyr.steps.contextcopy`. The old name will keep on working, but with a deprecation warning. Ref 184.
- internal: improvements to integration testing error reporting.

3.2.2

- Line + Column Number count from 1 not 0. fix 151
- update README to point at new website pypyr.io.
- update CONTRIBUTING to point at new website.
- update documentation and pypi setup with new repo name.

3.2.1

- Allow non-string keys on `context.get_formatted_iterable` and context merge (including the step `pypyr.steps.contextmerge`). Resolves 179. Much thanks to Reskov for a detailed & helpful bug report!

3.2.0

ATTENTION: Please start preparing all your pipelines to be ready for the next major release where `in` context arguments will be removed from context on step completion. This shouldn't be too much of an issue. For any steps where you need to set enduring context, use `contextsetf` or `contextset`.

- Allow using a `call` control-of-flow instruction nested inside while/for/retry loops. Previously a nested call instruction would over-write the parent call's configuration and thus create confusion on the next loop round the parent. Much thanks 🙏 to Reskov for identifying this tricky little recursion issue & assistance in resolution. Close 176
- `in` context parameters only available for the duration of the step they decorate. Previously `in` items would be added to context and stay in context after the step finishes. This is a potentially breaking change for existing pipelines, but worth it, full discussion of reasons here 177.
- For this release this change in functionality is not the default, but enabled by setting the following environment variable `PYPYR_IN_CLEAN = 1`. You can set it selectively on a single pypyr run using standard shell syntax like:
`$ PYPYR_IN_CLEAN=1 pypyr mypipeline arg1 arg2`
- README updates to document 177 resolution as the default behaviour - `in` context parameters cleaned from context on step completion to prepare for next major release with the breaking change..

Page 4 of 14

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.