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 topipeline
, 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
orprod
(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 usebw
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.