Core solvers are implemented in Python.
Assistive tech include:
- UI and visualizer via React, Vite and Mantine
- Helper server via Flask
- Million other tools and scripts for the win
To start the server and UI, make sure Docker is installed and running on your system. Then use:
make start
The UI is mostly useful with it's 3D task visualizer. Type in formatted board setup and click "Simulate". Use arrow keys and other hotkeys to scrub and navigate.
Screen.Recording.2024-06-30.at.3.07.04.AM.mov
To execute one-off scripts, use preloaded Python repl via
make repl
Welcome to ICFPC-2023!
Team: Snakes, Monkeys and Two Smoking Lambdas
Modules:
- ICFPC
- server
- scripts
- slack
>>>
python language/downloader.py lambdaman 1 21
python language/downloader.py spaceship 1 25
python language/uploader.py solutions/spaceship/best/ 1 25
python language/repl.py repl
python language/repl.py send 'get spaceship'
- For problem
N
, copy the cells from spreadsheet intoN-something.raw
file (for example1.raw
) - Run
PYTHONPATH="./language/" python solvers/3d/clean2.py solutions/3d/organized/1.raw
cd solvers/3d brew install maven openjdk ... make sure java is on your path and resolves (use jenv or whatever). mvn compile exec:java -Dexec.mainClass="icfpc3d.Main" -Dexec.args="../../solutions/3d/organized/1.output 5 0"
cd ide
From CLI run ./gradlew :cli:run --args="-- <mode> <input> <a> <b>"
Relative path is resolved to cli
, so it should be something like ../../solutions/3d/organized/2.output
.
Example:
./gradlew :cli:run --args="-- run ../../solutions/3d/organized/2.output 2 0"
Single run:
PYTHONPATH="./language/" python scripts/check_leaderboard.py
Monitoring script:
./scripts/monitor_leaderboard.sh