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.2
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.2
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.0XX
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)