Skip to content

Version 3.0.0

Redesigned CLI

Bodywork's CLI commands have been completely re-worked to make them more intuitive and less verbose. You can now deploy a pipeline on a fresh Kubernetes cluster using nothing more than,

$ bw create deployment "https://github.com/my-corp/my-classifier-pipeline"

We've also improved the presentation quality and information content of deployment queries and logs, to make it easier to manage active deployments. Full information can be found in the User Guide and CLI Reference.

Updated bodywork.yaml Schema

Bodywork 3.0.0 and above requires version 1.1 of the bodywork.yaml schema. The changes are as follows:

  • The project section has been renamed to pipeline, to better reflect what is being configured.
  • You can now specify an optional pipeline.secrets_group parameter, to specify the secrets group to use for the deployment - e.g., dev or prod (see below for more information on secret groups).

See the example in the User Guide for more information.

Run Jupyter Notebooks as Stages

Bodywork now supports the use of Jupyter notebooks for defining pipeline stages. Just specify the *.ipynb file you want to run for your stage using the executable_module_path stage configuration parameter.

Enhanced Secrets Management with Groups

You can now assign secrets to groups - e.g., dev, prod, etc - to make it easier to switch between development environments. The secrets group to use for a deployment can be selected using the pipeline.secrets_group parameter in bodywork.yaml. See Managing Secrets in the User Guide for more information.

Better Support for Working with Private Git Repositories

Working with private Git repositories (via SSH), is now as easy as,

$ bw create deployment "git@github.com:my-corp/my-classifier-pipeline.git" \
    --ssh PATH_TO_MY_PRIVATE_SSH_KEY

No more fiddling around with environment variables!

Other Improvements and Bug Fixes

  • There's now an alias for the bodywork command - you can now use bw to save on typing.
  • Full support for pipelines developed using Python 3.9.
  • We've upgraded to the latest version of the Kubernetes Python client, which supports Kubernetes v1.19 to v1.22.