ml-std
The standard library for Brunost ML and RL tasks.
One pinned set of packages. The Judge's ML sandbox image installs exactly one
release of ml-std; a contestant installs the same release and has the
Judge's environment on their own machine:
pip install ml-std==2.0.0
python -m ml_std check # "environment matches the Judge runtime"
On Linux x86_64 add --extra-index-url https://download.pytorch.org/whl/cpu
to get the CPU build of PyTorch (the Judge runs CPU workers; the default
PyPI wheel drags in CUDA libraries). macOS and aarch64 wheels are CPU-only.
Nothing else is importable inside the Judge (no network, no pip), so this package's dependency list is the complete answer to "what can I use?".
What is in it
The contest environment of IOAI 2025
(Python 3.12.7, requirements.txt), reduced to the ML-relevant packages
and pinned at exactly their versions, so training for Brunost is training
for the Olympiad:
| Area | Packages |
|---|---|
| Deep learning | torch 2.7.1, torchvision 0.22.1, torchaudio 2.7.1, pytorch-lightning 2.5.2, timm 1.0.16, einops 0.8.1 |
| Hugging Face | transformers 4.54.0, tokenizers 0.21.2, datasets 3.6.0, huggingface-hub 0.34.2, safetensors 0.5.3, accelerate 1.8.1, peft 0.16.0, sentence-transformers 4.1.0, sentencepiece 0.2.1, evaluate 0.4.4 |
| Classic ML and data | numpy 2.2.6, pandas 2.2.3, scipy 1.14.1, scikit-learn 1.6.1, xgboost 3.0.2, lightgbm 4.6.0, catboost 1.2.8, statsmodels 0.14.4, numba 0.61.2, pyarrow 20.0.0, networkx 3.4.2 |
| Images, audio, text | pillow 11.1.0, scikit-image 0.25.0, librosa 0.11.0, nltk 3.9.1, spacy 3.8.7 |
| Plotting | matplotlib 3.10.0, seaborn 0.13.2 |
| RL and testing | gymnasium 1.2.0, pytest 8.4.1, tqdm 4.67.1 |
Deviations from IOAI 2025, both forced by Python 3.13 wheels: scipy 1.14.1 (IOAI 1.13.1) and sentencepiece 0.2.1 (IOAI 0.2.0). Left out on purpose: GPU-only packages (bitsandbytes, diffusers), notebooks (jupyter, ipykernel) and API clients, which are not part of a judged solution.
| ml-std | Judge runtime | Python |
|---|---|---|
| 2.0.0 | python-3.13-ml-v1 |
3.13 |
Releasing a new runtime
- Change the pins in
pyproject.toml, bumpversionthere and__version__. python -m ml_std catalog > src/ml_std/runtimes/<version>.json(keep the old files: earlier runtimes stay known).- Set
RUNTIMEto the new runtime name (python-3.13-ml-v2, ...). - Build and publish the wheel; build the Judge image with
ML_STD_SPEC=ml-std==<version>and map the new runtime inBRUNOST_JUDGE_SANDBOX_IMAGES.
Tasks already published keep their runtime; new tasks default to the newest.
python -m ml_std runtimes prints every runtime this release knows about,
which is what the Judge's GET /v1/runtimes serves to the task editor.
Release files for ml-std 2.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ml_std-2.0.0.tar.gz | 7.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ml_std-2.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 14.5 kB
Release files / ml_std-2.0.0.tar.gz
| Download URL | ml_std-2.0.0.tar.gz |
|---|---|
| Size | 7.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6fa8ef6158c230472aaf3dc4fadfe389c892cce7c46e4516719bb7247b0e5347
|
|
BLAKE2b-256 checksum How to use checksums |
8e8aec7867a7a3fcb58e2831e958885d19c332571ceaebf3d4dff5a597138cae
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 25, 2026.
Transparency logRelease files / ml_std-2.0.0-py3-none-any.whl
| Download URL | ml_std-2.0.0-py3-none-any.whl |
|---|---|
| Size | 6.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7ce0b83671fd57ee133ce63cd9ff8f3965ad82ffc7b672cc75d1f09e231c82ae
|
|
BLAKE2b-256 checksum How to use checksums |
68599e8c2ee796a6875edb2e6d386e8938f400570e89c2bd66c64756e22cc99a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 25, 2026.
Transparency log