Wallaroo SDK
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.
| Library | Supported Version |
|---|---|
| Python | python==3.10 |
| Wallaroo | wallaroo==2025.2.2 |
| onnx | onnx==1.14.1 |
| tensorflow | tensorflow==2.13.1 |
| keras | keras==2.13.1 |
| pytorch | torch==2.0.1 |
| sk-learn aka scikit-learn | scikit-learn==1.3.0 |
| statsmodels | statsmodels==0.13.2 |
| XGBoost | xgboost==1.7.4 |
| MLFlow | mlflow==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.
NoneorNulldata types are not submitted. All fields must have submitted values that match their data type. For example, if the schema expects afloatvalue, then some value of typefloatmust be submitted and can not beNoneorNull. 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.datetimedata types must be converted tostring.- ONNX models support multiple inputs only of the same data type.
| Runtime | BFloat16* | Float16 | Float32 | Float64 |
|---|---|---|---|---|
| ONNX | X | X | ||
| TensorFlow | X | X | X | |
| MLFlow | X | X | X |
* (Brain Float 16, represented internally as a f32)
| Runtime | Int8 | Int16 | Int32 | Int64 |
|---|---|---|---|---|
| ONNX | X | X | X | X |
| TensorFlow | X | X | X | X |
| MLFlow | X | X | X | X |
| Runtime | Uint8 | Uint16 | Uint32 | Uint64 |
|---|---|---|---|---|
| ONNX | X | X | X | X |
| TensorFlow | X | X | X | X |
| MLFlow | X | X | X | X |
| Runtime | Boolean | Utf8 (String) | Complex 64 | Complex 128 | FixedSizeList* |
|---|---|---|---|---|---|
| ONNX | X | ||||
| Tensor | X | X | X | ||
| MLFlow | X | X | X |
* 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 Version | Required | Installed with SDK | Pre-Installed in Wallaroo JupyterHub |
|---|---|---|---|
| python==3.10 | √ | √ | √ |
| wallaroo==2025.2.2 | √ | √ | √ |
| onnx==1.14.1 | X | X | X |
| tensorflow==2.13.1 | X | X | X |
| keras==2.13.1 | X | X | X |
| torch==2.0.1 | X | X | X |
| scikit-learn==1.3.0 | X | X | X |
| statsmodels==0.13.2 | X | X | X |
| xgboost==1.7.4 | X | X | X |
| mlflow==1.30.0 | X | X | X |
| 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.3 | X | √ | √ |
| requests_toolbelt == 1.0.0 | X | X | X |
| scipy == 1.8.0 | X | X | X |
| orjson == 3.8.0 | X | √ | X |
| absl-py==2.3.1 | X | X | √ |
| alembic==1.14.1 | X | X | √ |
| annotated-types==0.7.0 | X | √ | √ |
| anyio==4.8.0 | X | √ | √ |
| archspec==0.2.5 | X | √ | √ |
| argon2-cffi==23.1.0 | X | X | √ |
| argon2-cffi-bindings==21.2.0 | X | X | √ |
| arrow==1.3.0 | X | X | √ |
| asttokens==3.0.0 | X | X | √ |
| astunparse==1.6.3 | X | X | √ |
| async_generator ==1.10 | X | X | √ |
| async-lru==2.0.4 | X | X | √ |
| babel==2.17.0 | X | X | √ |
| backcall==0.2.0 | X | √ | √ |
| backoff==2.2.1 | X | √ | √ |
| beautifulsoup4==4.13.3 | X | X | √ |
| bleach==6.2.0 | X | X | √ |
| blinker==1.9.0 | X | X | √ |
| boltons==24.0.0 | X | X | √ |
| Brotli==1.1.0 | X | X | √ |
| cached-property==1.5.2 | X | X | √ |
| certifi==2025.1.31 | X | √ | √ |
| certipy==0.2.1 | X | X | √ |
| cffi==1.17.1 | X | X | √ |
| charset-normalizer==3.4.1 | X | X | √ |
| colorama==0.4.6 | X | X | √ |
| comm==0.2.2 | X | X | √ |
| conda==25.1.1 | X | X | √ |
| conda-libmamba-solver==25.1.1 | X | X | √ |
| conda-package-handling==2.4.0 | X | X | √ |
| conda_package_streaming==0.11.0 | X | X | √ |
| contourpy==1.3.2 | X | √ | √ |
| cryptography==44.0.1 | X | X | √ |
| cycler==0.12.1 | X | √ | √ |
| debugpy==1.8.12 | X | X | √ |
| decorator==5.1.1 | X | √ | √ |
| defusedxml==0.7.1 | X | X | √ |
| distro==1.9.0 | X | √ | √ |
| exceptiongroup==1.2.2 | X | √ | √ |
| executing==2.1.0 | X | X | √ |
| fastjsonschema==2.21.1 | X | X | √ |
| flatbuffers==25.12.19 | X | X | √ |
| fonttools==4.61.1 | X | X | √ |
| fqdn==1.5.1 | X | X | √ |
| frozendict==2.4.6 | X | X | √ |
| gast==0.4.0 | X | X | √ |
| google-auth==2.47.0 | X | X | √ |
| google-auth-oauthlib==1.0.0 | X | X | √ |
| google-pasta==0.2.0 | X | X | √ |
| graphql-core==3.2.7 | X | √ | √ |
| greenlet==3.1.1 | X | X | √ |
| grpcio==1.74.0 | X | X | √ |
| h11==0.14.0 | X | √ | √ |
| h2==4.2.0 | X | X | √ |
| h5py==3.15.1 | X | X | √ |
| hpack==4.1.0 | X | X | √ |
| httpcore==1.0.7 | X | √ | √ |
| httpx-retries==0.4.0 | X | √ | √ |
| hyperframe==6.1.0 | X | X | √ |
| idna==3.10 | X | √ | √ |
| importlib_metadata==8.6.1 | X | X | √ |
| importlib_resources==6.5.2 | X | X | √ |
| ipykernel==6.29.5 | X | X | √ |
| ipython_genutils==0.2.0 | X | X | √ |
| isoduration==20.11.0 | X | X | √ |
| jedi==0.19.2 | X | √ | √ |
| Jinja2==3.1.5 | X | X | √ |
| jiter==0.12.0 | X | √ | √ |
| json5==0.10.0 | X | X | √ |
| jsonpatch==1.33 | X | X | √ |
| jsonpointer==3.0.0 | X | X | √ |
| jsonschema==4.23.0 | X | X | √ |
| jsonschema-specifications==2024.10.1 | X | X | √ |
| jupyter_client==8.6.3 | X | X | √ |
| jupyter_core==5.7.2 | X | X | √ |
| jupyter-events==0.12.0 | X | X | √ |
| jupyter-lsp==2.2.5 | X | X | √ |
| jupyter_server==2.15.0 | X | X | √ |
| jupyter_server_terminals==0.5.3 | X | X | √ |
| jupyterhub==5.2.1 | X | X | √ |
| jupyterlab==4.3.5 | X | X | √ |
| jupyterlab_pygments==0.3.0 | X | X | √ |
| jupyterlab_server==2.27.3 | X | X | √ |
| kiwisolver==1.4.9 | X | √ | √ |
| libclang==18.1.1 | X | X | √ |
| libmambapy==2.0.5 | X | X | √ |
| Mako==1.3.9 | X | X | √ |
| Markdown==3.10 | X | X | √ |
| markdown-it-py==4.0.0 | X | √ | √ |
| MarkupSafe==3.0.2 | X | X | √ |
| matplotlib-inline==0.1.7 | X | √ | √ |
| mdurl==0.1.2 | X | √ | √ |
| menuinst==2.2.0 | X | X | √ |
| mistune==3.1.2 | X | X | √ |
| multidict==6.7.0 | X | √ | √ |
| nbclassic==1.2.0 | X | X | √ |
| nbclient==0.10.2 | X | X | √ |
| nbconvert==7.16.6 | X | X | √ |
| nbformat==5.10.4 | X | X | √ |
| nest_asyncio==1.6.0 | X | X | √ |
| notebook==7.3.2 | X | X | √ |
| notebook_shim==0.2.4 | X | X | √ |
| oauthlib==3.2.2 | X | X | √ |
| openai==1.78.1 | X | √ | √ |
| opt_einsum==3.4.0 | X | X | √ |
| overrides==7.7.0 | X | X | √ |
| packaging==24.2 | X | √ | √ |
| pamela==1.2.0 | X | X | √ |
| pandocfilters==1.5.0 | X | X | √ |
| parso==0.8.4 | X | √ | √ |
| pexpect==4.9.0 | X | √ | √ |
| pickleshare==0.7.5 | X | √ | √ |
| pillow==12.1.0 | X | √ | √ |
| pip==25.0.1 | X | X | √ |
| pkgutil_resolve_name==1.3.10 | X | X | √ |
| platformdirs==4.3.6 | X | X | √ |
| pluggy==1.5.0 | X | X | √ |
| prometheus_client==0.21.1 | X | √ | √ |
| prompt_toolkit==3.0.50 | X | X | √ |
| propcache==0.4.1 | X | √ | √ |
| protobuf==4.25.8 | X | X | √ |
| psutil==6.1.1 | X | X | √ |
| ptyprocess==0.7.0 | X | √ | √ |
| pure_eval==0.2.3 | X | X | √ |
| pyasn1==0.6.1 | X | X | √ |
| pyasn1_modules==0.4.2 | X | X | √ |
| pycosat==0.6.6 | X | X | √ |
| pycparser==2.22 | X | X | √ |
| pydantic==2.11.7 | X | √ | √ |
| pydantic_core==2.33.2 | X | √ | √ |
| Pygments==2.19.1 | X | √ | √ |
| pyparsing==3.3.1 | X | √ | √ |
| PySocks==1.7.1 | X | X | √ |
| python-dateutil==2.8.2 | X | √ | √ |
| python-json-logger==2.0.7 | X | X | √ |
| pytz==2025.1 | X | √ | √ |
| pyzmq==26.2.1 | X | X | √ |
| referencing==0.36.2 | X | X | √ |
| requests-oauthlib==2.0.0 | X | X | √ |
| rfc3339_validator==0.1.4 | X | X | √ |
| rfc3986-validator==0.1.1 | X | X | √ |
| rich==13.7.1 | X | √ | √ |
| rpds-py==0.22.3 | X | X | √ |
| rsa==4.9.1 | X | X | √ |
| ruamel.yaml==0.18.10 | X | X | √ |
| ruamel.yaml.clib==0.2.8 | X | X | √ |
| Send2Trash==1.8.3 | X | X | √ |
| setuptools==75.8.0 | X | X | √ |
| six==1.17.0 | X | √ | √ |
| sniffio==1.3.1 | X | √ | √ |
| soupsieve==2.5 | X | X | √ |
| SQLAlchemy==2.0.38 | X | X | √ |
| stack_data==0.6.3 | X | X | √ |
| tensorboard==2.13.0 | X | X | √ |
| tensorboard-data-server==0.7.2 | X | X | √ |
| tensorflow-addons==0.17.1 | X | X | √ |
| tensorflow-cpu==2.13.1 | X | X | √ |
| tensorflow-estimator==2.13.0 | X | X | √ |
| tensorflow-io-gcs-filesystem==0.37.1 | X | X | √ |
| termcolor==3.3.0 | X | X | √ |
| terminado==0.18.1 | X | X | √ |
| tinycss2==1.4.0 | X | X | √ |
| tomli==2.2.1 | X | X | √ |
| tornado==6.4.2 | X | X | √ |
| tqdm==4.67.1 | X | √ | √ |
| traitlets==5.14.3 | X | √ | √ |
| truststore==0.10.1 | X | X | √ |
| typeguard==4.0.0 | X | X | √ |
| types-python-dateutil==2.9.0.20241206 | X | X | √ |
| typing_extensions==4.15.0 | X | X | √ |
| typing-inspection==0.4.2 | X | √ | √ |
| typing_utils==0.1.0 | X | X | √ |
| tzdata==2025.3 | X | √ | √ |
| uri-template==1.3.0 | X | X | √ |
| urllib3==2.3.0 | X | X | √ |
| wcwidth==0.2.13 | X | √ | √ |
| webcolors==24.11.1 | X | X | √ |
| webencodings==0.5.1 | X | X | √ |
| websocket-client==1.8.0 | X | X | √ |
| Werkzeug==3.1.5 | X | X | √ |
| wheel==0.45.1 | X | X | √ |
| wrapt==2.0.1 | X | X | √ |
| yarl==1.22.0 | X | √ | √ |
| zipp==3.21.0 | X | X | √ |
| zstandard==0.23.0 | X | X | √ |
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)