Where the bytes go (datasets edition)
Default cache: ~/.cache/huggingface/datasets. Override with HF_DATASETS_CACHE or the umbrella HF_HOME. The library writes Arrow files keyed by (dataset id, config name, processing fingerprint). The fingerprint includes the function source for any map/filter — same input + same function = cache hit.
Saving processed datasets
After heavy preprocessing you usually want to save_to_disk(path) the result and load_from_disk(path) next run, bypassing the loader entirely. Reproducibility is then a tarball, not a recipe.
push_to_hub with version pinning
ds.push_to_hub("yourname/my-set", commit_message="initial", private=True) uploads as Parquet. The repo gets a Dataset Viewer for free. Pin SHA the same way you would for a model: load_dataset(..., revision="abc123def").