Skip to main content

A CLI submitter for the IMC Prosperity 4 competition

Project description

ip4-submitter

A CLI tool for submitting and evaluating trading algorithms in the IMC Prosperity 4 competition. Submit your algorithm, monitor its progress, and download results — all from the terminal.

Installation

pip install ip4-submitter

Quick Start

# 1. Copy your token to clipboard (see Authentication below), then:
ip4submitter auth

# 2. Submit your algorithm and wait for results
ip4submitter submit algo.py

That's it. The tool uploads your file, waits for the backtest to finish, and saves the result log to submissions/<id>.log.

Commands

Command Description
ip4submitter auth Save your session token from clipboard
ip4submitter submit <file> Submit an algorithm and download results
ip4submitter history List all submissions for the current round
ip4submitter download Download logs for a past submission
ip4submitter guide Show a detailed usage guide in the terminal

Usage

Submit an algorithm

ip4submitter submit my_algo.py

# Save logs to a custom directory
ip4submitter submit my_algo.py --output results/

View submission history

ip4submitter history

Download logs

# Download the most recent submission
ip4submitter download

# Download a specific submission by ID
ip4submitter download --id 46284

# Download to a custom directory
ip4submitter download --filepath results/

Development

If you want to modify the tool locally:

# Clone the repo
git clone https://github.com/monoclonalAb/ip4-submitter.git
cd ip4-submitter

# Install dependencies with uv
uv sync

# Run the CLI locally
uv run ip4submitter --help

# Build the package
uv build

Authentication

Your token is stored securely in your system's credential store (macOS Keychain, Windows Credential Manager, or Linux secret store).

Option A — Bookmarklet (recommended)

  1. Create a new browser bookmark and set its URL to:
javascript:void function(){if("prosperity.imc.com"!==window.location.hostname)alert("This bookmarklet should only be used on prosperity.imc.com");else{const c=document.cookie.split(";").map(c=>c.trim()).find(c=>/\.idToken=/.test(c));c===undefined?alert("ID token not found, are you sure you are logged in?"):(navigator.clipboard.writeText(c.split("=").slice(1).join("=")),alert("Successfully copied ID token to clipboard!"))}}();
  1. Navigate to prosperity.imc.com while logged in
  2. Click the bookmark — your token is copied to your clipboard
  3. Run ip4submitter auth

Option B — Manual extraction

  1. Go to prosperity.imc.com and log in
  2. Press F12 to open developer tools
  3. Open the Application tab (Chrome) or Storage tab (Firefox)
  4. Select Local Storage → the Prosperity site
  5. Copy the value for the key matching CognitoIdentityServiceProvider.<id>.<email>.idToken
  6. Run ip4submitter auth

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ip4_submitter-1.0.1.tar.gz (344.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ip4_submitter-1.0.1-py3-none-any.whl (362.6 kB view details)

Uploaded Python 3

File details

Details for the file ip4_submitter-1.0.1.tar.gz.

File metadata

  • Download URL: ip4_submitter-1.0.1.tar.gz
  • Upload date:
  • Size: 344.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.3 {"installer":{"name":"uv","version":"0.11.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for ip4_submitter-1.0.1.tar.gz
Algorithm Hash digest
SHA256 022710f032631c9ef30372cef3922f487081bfdbdf21a9e664f75d8d72b8ffc2
MD5 a7ae079ddd17c493ab01492e421d3483
BLAKE2b-256 dc1fce59c55267f5c83b8e711bcd54942100ed62fc15406dca0d21918e3cc360

See more details on using hashes here.

File details

Details for the file ip4_submitter-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: ip4_submitter-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 362.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.3 {"installer":{"name":"uv","version":"0.11.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for ip4_submitter-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 8a2cb2c54360238f4118ae3fadcbac5b30d26755537674b97059ababc744571f
MD5 1a3a41c09d935f027fe93f228e03c970
BLAKE2b-256 9133b88af0795cb9725eb5d59a1d79cffc6c8bbf7b527f61f61bb1c0dac72c82

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page