ultimate-utils (uutils)
A comprehensive Python utility library for machine learning research, spanning PyTorch training infrastructure, statistical analysis, meta-learning, LLM evaluation, and experiment management.
Built and maintained by Brando Miranda (Stanford, MIT, UIUC).
pip install ultimate-utils
import uutils
uutils.hello()
What's Inside
| Module | Description |
|---|---|
uutils |
Core utilities — file I/O, argument parsing, serialization (dill/pickle/JSON), git helpers, seed management, progress bars |
uutils.torch_uu |
PyTorch training loops, distributed training, checkpointing, optimizers, learning rate schedulers |
uutils.torch_uu.models |
Model utilities and HuggingFace integrations |
uutils.torch_uu.dataloaders |
Dataloaders for meta-learning (miniImageNet, CIFAR-FS), standard vision, and multi-dataset sampling |
uutils.torch_uu.metrics |
CCA/PWCCA/DCCA similarity, model complexity, task diversity (Task2Vec), accuracy with confidence intervals |
uutils.torch_uu.meta_learners |
Meta-learning algorithms (MAML, Prototypical Networks, etc.) |
uutils.stats_uu |
Hypothesis testing, p-values, effect sizes (Cohen's d), power analysis, confidence intervals, ANOVA, regression |
uutils.plot |
Plotting with error bands, heatmaps, bar charts, LaTeX table export |
uutils.hf_uu |
HuggingFace training utilities — full fine-tuning, QLoRA/Unsloth, causal and seq2seq LM training |
uutils.evals |
LLM evaluation — math benchmarks (MATH, Putnam, OlympiadBench), API inference (Claude, OpenAI, vLLM), answer extraction |
uutils.dspy_uu |
DSPy-based synthetic data generation for in-context learning and fine-tuning |
uutils.jax_uu |
JAX multi-head attention, layer norm, flash attention implementations |
uutils.numpy_uu |
Statistical moments, confidence intervals, matrix utilities |
uutils.logging_uu |
Weights & Biases integration — setup, logging, sweeps, model watching |
uutils.emailing |
SMTP email + Stanford Outlook (AppleScript) notifications with attachments |
uutils.discord_uu |
One-way Discord notifications via webhooks (text, embeds, file uploads) |
uutils.whatsapp_uu |
One-way WhatsApp notifications via Meta Cloud API or Twilio |
Notifications vs. Interactive Agents
The messaging modules above (emailing, discord_uu, whatsapp_uu) are one-way programmatic notification senders — small libraries you import from scripts, schedulers, and watchers to push alerts like "job finished", "GPU idle", or "deploy complete". They are not chat agents; there is no conversation loop, no inbound message handling, and no LLM attached.
If you want an interactive AI assistant that lives inside WhatsApp / Discord / Telegram / iMessage (reads your messages, replies, executes tasks), that is a different category of tool. Projects like OpenClaw (hosted via myclaw.ai) exist for that use case — they bundle Baileys, grammY, Discord.py, AppleScript bridges, etc., and wire them into an agent loop.
Rule of thumb:
| Need | Use |
|---|---|
| Script on my cluster pings me when training finishes | uutils.emailing / discord_uu / whatsapp_uu |
| I want to chat with an agent from my phone and have it triage email, reply to admin tasks, run commands | OpenClaw or similar (not this library) |
Today Brando's default notification channel is email (uutils.emailing); Discord and WhatsApp modules are available but optional. For the interactive-agent use case, see issue #41. The executable plan lives at experiments/01_self_hosted_openclaw/cc_prompt.md here, with the canonical home being ~/agents-config/experiments/01_self_hosted_openclaw/cc_prompt.md (mirror it back into agents-config when convenient).
Installation
Note: PyTorch must be installed separately (with CUDA if you need GPU support).
Development install (recommended)
conda create -n uutils python=3.11 -y
conda activate uutils
pip install -e ~/ultimate-utils
pip install from PyPI
pip install ultimate-utils
Verify installation
python -c "import uutils; uutils.hello()"
python -c "import uutils; uutils.torch_uu.gpu_test_torch_any_device()"
Quick Examples
Seed everything for reproducibility
from uutils import seed_everything
seed_everything(42)
Save and load with dill
from uutils import save_with_dill, load_with_dill
save_with_dill(my_object, '~/data/my_object.pkl')
obj = load_with_dill('~/data/my_object.pkl')
Plot with error bands
from uutils.plot import plot_with_error_bands
plot_with_error_bands(x, y, yerr, xlabel='Steps', ylabel='Loss', title='Training Loss')
Statistical testing with effect size
from uutils.stats_uu.effect_size import stat_test_with_effect_size_as_emphasis
stat_test_with_effect_size_as_emphasis(group1_data, group2_data)
W&B logging
from uutils.logging_uu.wandb_logging.common import setup_wandb, log_2_wandb
setup_wandb(args)
log_2_wandb(metrics_dict, step=step)
Publishing to PyPI
# Bump version in setup.py, then:
cd ~/ultimate-utils && bash scripts/publish_to_pypi.sh
Citation
If you use ultimate-utils in your research, please cite:
@software{miranda2024uutils,
author = {Brando Miranda},
title = {ultimate-utils: A Comprehensive Utility Library for Machine Learning Research},
year = {2024},
publisher = {PyPI},
url = {https://github.com/brando90/ultimate-utils},
note = {Available at \url{https://pypi.org/project/ultimate-utils/}}
}
You can also find the author's publications on Google Scholar.
Related Publications
This library has supported research in the following publications (among others):
- Beyond Scale: the Diversity Coefficient as a Data Quality Metric Demonstrates LLMs are Not Yet More Human than Human
- Does MAML Only Work via Feature Re-use? A Data Set Centric Perspective
License
Apache-2.0
Metadata
Release files for ultimate-utils 0.10.9
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| ultimate_utils-0.10.9.tar.gz | 691.3 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ultimate_utils-0.10.9-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.3 MB
Release files / ultimate_utils-0.10.9.tar.gz
| Download URL | ultimate_utils-0.10.9.tar.gz |
|---|---|
| Size | 691.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9394dde5e15eb3bb62bbe992fdab8d4404242806a13e53f421b4c24b7b406e75
|
|
BLAKE2b-256 checksum How to use checksums |
f5d01ac3ac98571c95be6df51a32d9cd6458b89b285a12a74b66de222dfa40e3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.6
|
Release files / ultimate_utils-0.10.9-py3-none-any.whl
| Download URL | ultimate_utils-0.10.9-py3-none-any.whl |
|---|---|
| Size | 631.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9f6fa199167bcede4c133a04583b1fda54967387ffc986ef1ad56089d255bc6e
|
|
BLAKE2b-256 checksum How to use checksums |
e127c5edb545cab94ff6158aed6ab28a49064174e4641b45d47af1157778e78c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.6
|
Security for ultimate-utils 0.10.9
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.