Regulation
How HACKB evaluates your submissions: scoring per mode, submission statuses, judge sandbox details, and ranking rules. Please skim before joining a contest.
Judge sandbox
Submitted code runs inside an isolated sandbox. The base environment is as follows.
System version
| Python | 3.11 |
| OS | Debian 12 (bookworm) |
| Base image | python:3.11-slim |
| Architecture | linux/amd64 (x86_64) |
Preinstalled packages
The base image preinstalls the packages below. Compatible versions in your requirements.txt resolve to a near-instant 'Requirement already satisfied' and skip the download. You can still ask for other packages or alternate versions — pip will install them as usual.
| Package | Version |
|---|---|
| numpy | >=1.26,<2.1 |
| scipy | >=1.11,<2.0 |
| scikit-learn | >=1.3,<1.6 |
| scikit-optimize | >=0.10,<0.11 |
| optuna | >=4.0,<5.0 |
| cmaes | >=0.10 |
| torch | >=2.0,<3.0 |
| amplify | >=1.0 |
| amplify-bbopt | >=1.0 |
Only the CPU build of torch is provided. CUDA builds are not available.
External-service shims
Only when the problem permits external API access, the listed client classes are automatically rewritten to reach external services through a judge-side broker.
| Class | Description |
|---|---|
| amplify.FixstarsClient | Fixstars Amplify client used by e.g. amplify-bbopt. The judge server's API token is used automatically, so the submission does not need to provide one. See the sample recipe for details. |
Sandbox boundaries
- Runs as a non-root user (UID 1001).
- CPU time and address space are enforced via OS rlimits; processes that exceed the cap are killed.