pypyr automation task runner v4.3.0 Release Notes

Release Date: 2020-11-12 // 12 months ago
    • Streamline main entrypoint API. close #201.
      • main() allows consumer to set pype loader, rather than having to drop further down into api to load_and_run_pipeline()
      • new main_with_context() to input dict to initialise context, and bypass context_parser entirely. Also returns the Context object after pipeline run completes.
      • make all non-essential args optional to allow minimal calls to main entrypoint without having to add optional=None style inputs.
      • This is fully backwards compatible.
    • pypyr.steps.pype
      • defaults useParentContext to False is pipeArgs specified.
      • pipeArgs shlex-es input string
      • set pipeline_name on child pipeline rather than use parent pipeline name
    • working_dir uses Path object rather than string
    • ๐Ÿšš pypyr.steps.echo remove redundant string check.

Previous changes from v4.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.