The workflow-python-ds-pack image contains a set of the most commonly used dependencies in addition to the essential packages that are required for running Peak Workflows. This also comes pre-installed with peak-sdk and dbt.
This image uses python:3.9.18-slim-bookworm as its base which is maintained by the Docker Community.
Debian GNU/Linux 12 (bookworm)
Linux Kernel 5.10.186-179.751.amzn2.x86_64
Python 3.9.18
aws-cli 2.7.4
curl 7.88.1
git 2.39.2
jq 1.6
unzip 6.0-28
groff 1.22.4-10
openssl 3.0.11-1~deb12u2
boto3 1.26.157
pandas 1.4.2
psycopg2 3.1.12
sklearn 0.0
sqlalchemy-redshift 0.8.14
snowflake-sqlalchemy 1.5.0
SQLAlchemy 1.4.5
peak-sdk 1.1.0
dbt-snowflake 1.6.4
dbt-redshift 1.6.2
dbt-duckdb 1.6.2
oscrypto git+https://github.com/wbond/oscrypto.git@d5f3437ed24257895ae1edd9e503cfb352e635a8
The Dockerfile expects the following build argument:
PEAK_USER_ID
When a Workflow step runs with the workflow-python-basic image, this is the default user that the workflow step will run with. It is used within the image to create a new user which is then used when running the image across various services in Peak. For more details, see Non root users and Peak.
You can find more details about build arguments in the Docker documentation.
To build the image locally, run the docker build command and pass in the required build arguments:
docker build . -t workflow-python-ds-pack-1.1.0-base-python-3.9.18 --build-arg PEAK_USER_ID=8877
To use the image, select it when configuring the Workflow step. If you need to install additional dependencies or add some use case specific environment variables, it can be easily extended.