Snowflake Container Runtime CPU Version 2.8 (Latest)

Added

  • Stage sharding to cut per-file I/O when reading many small files from a stage. generate_shards() (in snowflake.ml.ray.stage_sharding) repacks many small raw stage files into a few large Arrow IPC (.arrow) shards; read them back with the new SFStageShardDataSource Ray datasource via ray.data.read_datasource, or write shards directly with the lower-level SnowflakeStageShardDatasink.
  • Optional file-level disk cache for stage reads. When enabled, SFStageFileSystem caches each stage file on node-local disk on first read (under $TMPDIR/mlrs_disk_cache/file_cache) and serves later reads locally, so repeated passes over the same data (extra epochs, re-runs, and especially many-small-file datasets) skip the network round-trip. It is transparent to every Ray stage datasource (CSV, Parquet, image, text, binary, shard). Off by default; enable cluster-wide with MLRS_FILE_CACHE_ENABLED=true, cap its footprint with MLRS_FILE_CACHE_MAX_DISK_PCT (default 50% of disk; least-recently-used files are evicted above the cap), and point $TMPDIR at node-local NVMe scratch for best results.
  • Per-job control of the file cache via a use_file_cache argument on every stage datasource (and create_stage_filesystem): None (default) follows the MLRS_FILE_CACHE_ENABLED flag, True forces the cache on, and False forces it off. The argument is authoritative over the env flag and, unlike an env var, which a worker snapshots at launch, reliably propagates to every Ray worker, giving uniform per-job cache control across a running cluster.
  • Extended the file cache to the Snowflake table / DataFrame ingestion path (RayDataIngester). Decoded result batches are cached on node-local disk as Arrow IPC (reusing the same FileCache), so a streamed multi-epoch read serves later epochs from disk instead of re-downloading and re-decoding each result-set chunk from Snowflake. Opt in per job with RayDataIngester(..., use_file_cache=True) (same tri-state semantics as the stage datasources); off by default. Keyed by query_id + batch index, so entries are stable within a job and never stale across queries. Benefits streaming multi-epoch consumers (for example, the PyTorch/generic to_batches() path); it is a no-op for paths that materialize() the dataset, since the Ray object store already caches decoded blocks there.
  • HPO now detects uses_snowflake_trainer misconfigurations at trial time. If a distributed Snowflake trainer (XGBEstimator / LightGBMEstimator / PyTorchTrainer) runs inside a trial configured with uses_snowflake_trainer=False, the trial fails fast with an actionable error instead of silently under-allocating resources. Conversely, if a trial declares uses_snowflake_trainer=True but no such trainer runs, it logs a warning suggesting False.

Changed

  • Training ipywidgets are now enabled by default in vNext notebooks. It was previously gated behind a param _DP_NOTEBOOKS_VNEXT_IPYWIDGETS_DEFAULT_FALSE.
  • Breaking: TunerConfig(uses_snowflake_trainer=...) is now required and has no default. Set it to True when the training function trains via a distributed Snowflake trainer (XGBEstimator, LightGBMEstimator, PyTorchTrainer) and False otherwise (for example, an in-process OSS model); omitting it now raises at construction. Previously it defaulted to False, which silently misallocated resources when a distributed trainer was used, wasting roughly half the cluster or starving training. Because the training function is opaque until it runs, this cannot be inferred, so it must be declared.
  • HPO/tuning can now run directly on the driver (Ray Task path) instead of being submitted as a Ray Job, enabled via TUNE_DISABLE_RAY_JOB=true. The Ray Job path remains the default for this release; the direct path is being rolled out behind the parameter.
  • PyTorch distributed training now runs exclusively on Ray Train. The backend is no longer selectable.
  • PyTorch model/checkpoint persistence now uses Ray Train’s native checkpointing. Persist artifacts from your training function via ray.train.report(metrics, checkpoint=ray.train.Checkpoint.from_directory(dir)); Ray Train uploads the checkpoint to the configured stage storage. PyTorchDistributorResult.get_model_dir() and get_checkpoint_location() now return the Ray-managed checkpoint location on the stage (previously the local /tmp/model scratch path).

Deprecated

  • get_context().get_model_dir(): a local scratch directory that the framework no longer uploads. Persist models via Ray Train’s native checkpointing (ray.train.report(checkpoint=ray.train.Checkpoint.from_directory(dir))).
  • get_context().get_artifact_manager(): prefer Ray Train’s native checkpointing. The artifact manager remains available for backward compatibility.

Fixed

  • Fixed a named-stage artifact_stage_location (for example, DB.SCHEMA.STAGE without a leading @) failing Ray Train storage with invalid URL prefix. get_py_filesystem_for_stage now normalizes named stages to a fully-qualified, @-prefixed URI before they reach Snowflake’s stage APIs.

The following lists the packages available for each Python version of CPU version 2.8.

CPU Container Runtime Python 3.10 Version 2.8 has the following packages:

PackageVersion
absl-py2.5.0
aiobotocore2.26.0
aiohappyeyeballs2.7.1
aiohttp3.14.1
aiohttp-cors0.8.1
aioitertools0.13.0
aiosignal1.4.0
altair5.5.0
annotated-doc0.0.4
annotated-types0.7.0
anyio4.14.2
anywidget0.11.0
appdirs1.4.4
argon2-cffi25.1.0
argon2-cffi-bindings25.1.0
arrow1.4.0
arviz0.23.4
asn1crypto1.5.1
asttokens3.0.2
async-lru2.3.0
async-timeout5.0.1
attrs26.1.0
babel2.18.0
bayesian-optimization1.5.1
beautifulsoup44.15.0
bleach6.4.0
blinker1.9.0
boto31.41.5
botocore1.41.5
cachetools5.5.2
causalpy0.5.0
certifi2026.6.17
cffi2.1.0
charset-normalizer3.4.9
click8.2.1
clikit0.6.2
cloudpickle3.1.1
cmdstanpy1.3.0
colorama0.4.6
colorful0.5.8
comm0.2.3
cons0.4.7
contourpy1.3.2
crashtest0.3.1
cryptography49.0.0
cycler0.12.1
datasets5.0.0
datasketches5.2.0
debugpy1.8.21
decorator5.3.1
deepdiff8.6.2
defusedxml0.7.1
dill0.4.1
distlib0.4.3
etuples0.3.10
evaluate0.4.6
exceptiongroup1.3.1
executing2.2.1
fastapi0.139.0
fastjsonschema2.21.2
filelock3.29.7
flaml2.6.0
flask3.1.3
fonttools4.63.0
fqdn1.5.1
frozenlist1.8.0
fsspec2025.12.0
gcsfs2025.12.0
geojson3.3.0
google-api-core2.31.0
google-auth2.56.0
google-auth-oauthlib1.4.0
google-cloud-core2.6.0
google-cloud-storage3.13.0
google-cloud-storage-control1.12.0
google-crc32c1.8.0
google-resumable-media2.10.0
googleapis-common-protos1.75.0
graphviz0.21
grpc-google-iam-v10.14.4
grpcio1.78.0
grpcio-status1.78.0
gunicorn25.0.3
h110.16.0
h24.3.0
h5netcdf1.8.1
h5py3.16.0
hf-xet1.5.1
holidays0.100
hpack4.2.0
httpcore1.0.9
httpstan4.13.0
httpx0.28.1
huggingface-hub1.16.1
hyperframe6.1.0
idna3.18
importlib-resources6.5.2
inflection0.5.1
ipykernel7.3.0
ipython8.39.0
ipywidgets8.1.8
isoduration20.11.0
itsdangerous2.2.0
jedi0.20.0
jinja23.1.6
jmespath1.1.0
joblib1.5.3
jpype11.7.1
json50.15.0
jsonpointer3.1.1
jsonschema4.26.0
jsonschema-specifications2025.9.1
jupyter-builder1.1.0
jupyter-client8.9.1
jupyter-core5.9.1
jupyter-events0.12.1
jupyter-lsp2.3.1
jupyter-server2.20.0
jupyter-server-terminals0.5.4
jupyterlab4.6.1
jupyterlab-pygments0.3.0
jupyterlab-server2.28.0
jupyterlab-widgets3.0.16
kiwisolver1.5.0
lark1.3.1
lightgbm4.6.0
lightgbm-ray0.1.9
llvmlite0.47.0
logical-unification0.4.7
markdown-it-py4.2.0
markupsafe3.0.3
marshmallow3.26.2
matplotlib3.10.9
matplotlib-inline0.2.2
mdurl0.1.2
minikanren1.0.5
mistune3.3.3
mlruntimes-service2.8.32
modin0.37.1
mpmath1.3.0
msgpack1.2.1
multidict6.7.1
multipledispatch1.0.0
multiprocess0.70.19
mypy-extensions1.1.0
narwhals2.24.0
nbclient0.11.0
nbconvert7.17.1
nbformat5.10.4
nest-asyncio21.7.2
networkx3.4.2
nltk3.10.0
nodeenv1.10.0
nodejs-wheel-binaries24.16.0
notebook7.6.0
notebook-shim0.2.4
numba0.65.1
numpy2.2.6
nvidia-nccl-cu122.30.7
oauthlib3.3.1
opencensus0.11.4
opencensus-context0.1.3
openfe0.0.12
opentelemetry-api1.43.0
opentelemetry-exporter-otlp-proto-common1.43.0
opentelemetry-exporter-otlp-proto-grpc1.43.0
opentelemetry-exporter-prometheus0.64b0
opentelemetry-proto1.43.0
opentelemetry-sdk1.43.0
opentelemetry-semantic-conventions0.64b0
orderly-set5.5.0
overrides7.7.0
packaging25.0
pandapower3.5.3
pandas2.3.3
pandera0.26.1
pandocfilters1.5.1
parso0.8.7
pastel0.2.1
patsy1.0.2
pexpect4.9.0
pillow12.3.0
platformdirs4.10.0
plotly6.9.0
polars1.42.1
polars-runtime-321.42.1
prometheus-client0.22.1
prompt-toolkit3.0.52
propcache0.5.2
prophet1.3.0
proto-plus1.28.1
protobuf6.33.6
psutil7.2.2
psygnal0.15.1
ptyprocess0.7.0
pure-eval0.2.3
py-spy0.4.2
py4j0.10.9.9
pyarrow24.0.0
pyasn10.6.4
pyasn1-modules0.4.2
pycparser3.0
pydantic2.13.4
pydantic-core2.46.4
pygments2.20.0
pyjwt2.13.0
pylev1.4.0
pymc5.25.1
pyopenssl26.3.0
pyparsing3.3.2
pyright1.1.411
pysimdjson6.0.2
pystan3.10.0
pytensor2.31.7
python-dateutil2.9.0.post0
python-discovery1.4.4
python-json-logger4.1.0
pytimeparse1.1.8
pytz2026.2
pyyaml6.0.3
pyzmq27.1.0
ray2.55.1
referencing0.37.0
regex2026.7.10
requests2.34.2
requests-oauthlib2.0.0
retrying1.4.2
rfc3339-validator0.1.4
rfc3986-validator0.1.1
rfc3987-syntax1.1.0
rich15.0.0
rpds-py0.30.0
s3fs2025.12.0
s3transfer0.15.0
safetensors0.8.0
scikit-learn1.7.2
scipy1.15.3
seaborn0.13.2
send2trash2.1.0
setuptools83.0.0
shap0.49.1
shellingham1.5.4
six1.17.0
slicer0.0.8
smart-open8.0.1
snowflake1.12.1
snowflake-connector-python4.7.1
snowflake-core1.12.1
snowflake-legacy1.0.2
snowflake-ml-python1.46.0
snowflake-snowpark-python1.52.0
snowpark-connect1.34.0
snowpark-connect-deps-13.56.5
snowpark-connect-deps-23.56.5
snowpark-connect-deps-iceberg1.0.2
sortedcontainers2.4.0
soupsieve2.8.4
sqlglot30.12.0
sqlparse0.5.5
stack-data0.6.3
stanio0.5.1
starlette1.3.1
statsmodels0.14.6
sympy1.13.1
terminado0.18.1
threadpoolctl3.6.0
tinycss21.5.1
tokenizers0.22.2
tomli2.4.1
tomlkit0.15.0
toolz1.1.0
torch2.6.0+cpu
torchvision0.21.0+cpu
tornado6.5.7
tqdm4.68.4
traitlets5.15.1
transformers5.13.1
typeguard4.5.2
typer0.26.8
typing-extensions4.16.0
typing-inspect0.9.0
typing-inspection0.4.2
tzdata2026.3
tzlocal5.4.4
uri-template1.3.0
urllib32.7.0
uvicorn0.51.0
virtualenv21.6.1
wcwidth0.8.2
webargs8.7.1
webcolors25.10.0
webencodings0.5.1
websocket-client1.9.0
werkzeug3.1.8
wheel0.47.0
widgetsnbextension4.0.15
wrapt1.17.3
xarray2025.6.1
xarray-einstats0.8.0
xgboost3.2.0
xgboost-ray0.1.19
xxhash3.8.1
yarl1.24.2