Wallaroo SDK

How to use the Wallaroo SDK in your development environment.

The following ML Model versions and Python libraries are supported by Wallaroo. When using the Wallaroo autoconversion library or working with a local version of the Wallaroo SDK, use the following versions for maximum compatibility.

LibrarySupported Version
Pythonpython==3.10
Wallaroowallaroo==2025.2.5
onnxonnx==1.14.1
tensorflowtensorflow==2.13.1
keraskeras==2.13.1
pytorchtorch==2.0.1
sk-learn aka scikit-learnscikit-learn==1.3.0
statsmodelsstatsmodels==0.13.2
XGBoostxgboost==1.7.4
MLFlowmlflow==1.30.0

Supported Data Types

The following data types are supported for transporting data to and from Wallaroo in the following run times:

  • ONNX
  • TensorFlow
  • MLFlow

Data Type Conditions

The following conditions apply to data types used in inference requests.

  • None or Null data types are not submitted. All fields must have submitted values that match their data type. For example, if the schema expects a float value, then some value of type float must be submitted and can not be None or Null. If a schema expects a string value, then some value of type string must be submitted, etc. The exception are BYOP models, which can accept optional inputs.
  • datetime data types must be converted to string.
  • ONNX models support multiple inputs only of the same data type.
RuntimeBFloat16*Float16Float32Float64
ONNXXX
TensorFlowXXX
MLFlowXXX
  • * (Brain Float 16, represented internally as a f32)

RuntimeInt8Int16Int32Int64
ONNXXXXX
TensorFlowXXXX
MLFlowXXXX
RuntimeUint8Uint16Uint32Uint64
ONNXXXXX
TensorFlowXXXX
MLFlowXXXX
RuntimeBooleanUtf8 (String)Complex 64Complex 128FixedSizeList*
ONNXX
TensorXXX
MLFlowXXX
  • * Fixed sized lists of any of the previously supported data types.

When using the Wallaroo SDK, it is recommended that the Python modules used are the same as those used that match either:

  • The specific model version.
  • The version installed by the Wallaroo SDK by default.
  • Installed in the Wallaroo JupyterHub environments

Using these libraries insures maximum compatibility. When installing modules in the Wallaroo JupyterHub environments, do not override the following modules or versions, as that may impact how the JupyterHub environments performance.

Library and Supported VersionRequiredInstalled with SDKPre-Installed in Wallaroo JupyterHub
python==3.10√√√
wallaroo==2025.2.5√√√
onnx==1.14.1XXX
tensorflow==2.13.1XXX
keras==2.13.1XXX
torch==2.0.1XXX
scikit-learn==1.3.0XXX
statsmodels==0.13.2XXX
xgboost==1.7.4XXX
mlflow==1.30.0XXX
appdirs == 1.4.4√√√
gql== 3.5.0√√√
ipython == 7.31.1√√√
matplotlib == 3.7.3√√√
numpy == 1.26.0√√√
pandas == 2.2.0√√√
pyarrow == 14.0.1√√√
PyJWT == 2.4.0√√√
python_dateutil == 2.8.2√√√
PyYAML == 6.0.1√√√
seaborn == 0.13.2√√√
tenacity == 8.0.1√√√
httpx >= 0.20.0,<0.28.0√√√
attrs >= 21.3.0√√√
polars == 0.18.15√√√
requests == 2.32.3X√√
requests_toolbelt == 1.0.0XXX
scipy == 1.8.0XXX
orjson == 3.8.0X√X
absl-py==2.3.1XX√
alembic==1.14.1XX√
annotated-types==0.7.0X√√
anyio==4.8.0X√√
archspec==0.2.5X√√
argon2-cffi==23.1.0XX√
argon2-cffi-bindings==21.2.0XX√
arrow==1.3.0XX√
asttokens==3.0.0XX√
astunparse==1.6.3XX√
async_generator ==1.10XX√
async-lru==2.0.4XX√
babel==2.17.0XX√
backcall==0.2.0X√√
backoff==2.2.1X√√
beautifulsoup4==4.13.3XX√
bleach==6.2.0XX√
blinker==1.9.0XX√
boltons==24.0.0XX√
Brotli==1.1.0XX√
cached-property==1.5.2XX√
certifi==2025.1.31X√√
certipy==0.2.1XX√
cffi==1.17.1XX√
charset-normalizer==3.4.1XX√
colorama==0.4.6XX√
comm==0.2.2XX√
conda==25.1.1XX√
conda-libmamba-solver==25.1.1XX√
conda-package-handling==2.4.0XX√
conda_package_streaming==0.11.0XX√
contourpy==1.3.2X√√
cryptography==44.0.1XX√
cycler==0.12.1X√√
debugpy==1.8.12XX√
decorator==5.1.1X√√
defusedxml==0.7.1XX√
distro==1.9.0X√√
exceptiongroup==1.2.2X√√
executing==2.1.0XX√
fastjsonschema==2.21.1XX√
flatbuffers==25.12.19XX√
fonttools==4.61.1XX√
fqdn==1.5.1XX√
frozendict==2.4.6XX√
gast==0.4.0XX√
google-auth==2.47.0XX√
google-auth-oauthlib==1.0.0XX√
google-pasta==0.2.0XX√
graphql-core==3.2.7X√√
greenlet==3.1.1XX√
grpcio==1.74.0XX√
h11==0.14.0X√√
h2==4.2.0XX√
h5py==3.15.1XX√
hpack==4.1.0XX√
httpcore==1.0.7X√√
httpx-retries==0.4.0X√√
hyperframe==6.1.0XX√
idna==3.10X√√
importlib_metadata==8.6.1XX√
importlib_resources==6.5.2XX√
ipykernel==6.29.5XX√
ipython_genutils==0.2.0XX√
isoduration==20.11.0XX√
jedi==0.19.2X√√
Jinja2==3.1.5XX√
jiter==0.12.0X√√
json5==0.10.0XX√
jsonpatch==1.33XX√
jsonpointer==3.0.0XX√
jsonschema==4.23.0XX√
jsonschema-specifications==2024.10.1XX√
jupyter_client==8.6.3XX√
jupyter_core==5.7.2XX√
jupyter-events==0.12.0XX√
jupyter-lsp==2.2.5XX√
jupyter_server==2.15.0XX√
jupyter_server_terminals==0.5.3XX√
jupyterhub==5.2.1XX√
jupyterlab==4.3.5XX√
jupyterlab_pygments==0.3.0XX√
jupyterlab_server==2.27.3XX√
kiwisolver==1.4.9X√√
libclang==18.1.1XX√
libmambapy==2.0.5XX√
Mako==1.3.9XX√
Markdown==3.10XX√
markdown-it-py==4.0.0X√√
MarkupSafe==3.0.2XX√
matplotlib-inline==0.1.7X√√
mdurl==0.1.2X√√
menuinst==2.2.0XX√
mistune==3.1.2XX√
multidict==6.7.0X√√
nbclassic==1.2.0XX√
nbclient==0.10.2XX√
nbconvert==7.16.6XX√
nbformat==5.10.4XX√
nest_asyncio==1.6.0XX√
notebook==7.3.2XX√
notebook_shim==0.2.4XX√
oauthlib==3.2.2XX√
openai==1.78.1X√√
opt_einsum==3.4.0XX√
overrides==7.7.0XX√
packaging==24.2X√√
pamela==1.2.0XX√
pandocfilters==1.5.0XX√
parso==0.8.4X√√
pexpect==4.9.0X√√
pickleshare==0.7.5X√√
pillow==12.1.0X√√
pip==25.0.1XX√
pkgutil_resolve_name==1.3.10XX√
platformdirs==4.3.6XX√
pluggy==1.5.0XX√
prometheus_client==0.21.1X√√
prompt_toolkit==3.0.50XX√
propcache==0.4.1X√√
protobuf==4.25.8XX√
psutil==6.1.1XX√
ptyprocess==0.7.0X√√
pure_eval==0.2.3XX√
pyasn1==0.6.1XX√
pyasn1_modules==0.4.2XX√
pycosat==0.6.6XX√
pycparser==2.22XX√
pydantic==2.11.7X√√
pydantic_core==2.33.2X√√
Pygments==2.19.1X√√
pyparsing==3.3.1X√√
PySocks==1.7.1XX√
python-dateutil==2.8.2X√√
python-json-logger==2.0.7XX√
pytz==2025.1X√√
pyzmq==26.2.1XX√
referencing==0.36.2XX√
requests-oauthlib==2.0.0XX√
rfc3339_validator==0.1.4XX√
rfc3986-validator==0.1.1XX√
rich==13.7.1X√√
rpds-py==0.22.3XX√
rsa==4.9.1XX√
ruamel.yaml==0.18.10XX√
ruamel.yaml.clib==0.2.8XX√
Send2Trash==1.8.3XX√
setuptools==75.8.0XX√
six==1.17.0X√√
sniffio==1.3.1X√√
soupsieve==2.5XX√
SQLAlchemy==2.0.38XX√
stack_data==0.6.3XX√
tensorboard==2.13.0XX√
tensorboard-data-server==0.7.2XX√
tensorflow-addons==0.17.1XX√
tensorflow-cpu==2.13.1XX√
tensorflow-estimator==2.13.0XX√
tensorflow-io-gcs-filesystem==0.37.1XX√
termcolor==3.3.0XX√
terminado==0.18.1XX√
tinycss2==1.4.0XX√
tomli==2.2.1XX√
tornado==6.4.2XX√
tqdm==4.67.1X√√
traitlets==5.14.3X√√
truststore==0.10.1XX√
typeguard==4.0.0XX√
types-python-dateutil==2.9.0.20241206XX√
typing_extensions==4.15.0XX√
typing-inspection==0.4.2X√√
typing_utils==0.1.0XX√
tzdata==2025.3X√√
uri-template==1.3.0XX√
urllib3==2.3.0XX√
wcwidth==0.2.13X√√
webcolors==24.11.1XX√
webencodings==0.5.1XX√
websocket-client==1.8.0XX√
Werkzeug==3.1.5XX√
wheel==0.45.1XX√
wrapt==2.0.1XX√
yarl==1.22.0X√√
zipp==3.21.0XX√
zstandard==0.23.0XX√

To verify and output a quick list of the installed Python libraries in the Wallaroo JupyterHub environment, use the pip list command in the terminal shell. For example:

ip list
Package                      Version
---------------------------- ------------------
absl-py                      2.4.0
alembic                      1.14.1
annotated-types              0.7.0
anyio                        4.8.0
appdirs                      1.4.4
archspec                     0.2.5
argon2-cffi                  23.1.0
argon2-cffi-bindings         21.2.0
arrow                        1.3.0
asttokens                    3.0.0
astunparse                   1.6.3
async_generator              1.10
async-lru                    2.0.4
attrs                        25.1.0
babel                        2.17.0
...(etc)