Skip to content

pennz/kaggle_runner

Repository files navigation

Build Status PyPI version Maintainability pipeline status coverage report

Generated doc website

kaggle_runner

Check main.py or test/test_coord.py for usage. It uses kaggle API to upload your script/notebook to kaggle servers and let the kernel run. And you will get running logs through message queue.

AMQP

AMQP is used for logging. Its license needs mention.

Example

Use this kaggle competition about Pneumothorax Segmentation as an example. To run the example, you will need a kaggle account and set the kaggle command line tool up. And you issues this command to let it run:

# install kaggle_runner, which will pull kaggle command line tool as the dependency
pip install kaggle_runner

# put your kaggle API token to the right place
cat > ~/.kaggle/kaggle.json <<EOF
{
  "username": "YOUR_KAGGLE_USER_NAME",
  "key": "YOUR_KAGGLE_API_ACCESS_TOKEN",
}
EOF

# kaggle_runner will use kaggle API to push the template kernel codes to kaggle server and wait message back
python -m kaggle_runner

A demo:

  1. #0 Left panel: tcpserver listen for reverse shells
  2. #1 Upper panel: Logs from interactive session to our tcpserver which receive logs
  3. #2 Second upper panel: AMQP logs received
  4. #3 Main panel: vim window
  5. #4 Right bottom panel: logged in reverse shell for commit session

asciicast