Skip to main content

Nitro Contestant Runtime

The owned, reproducible runtime used by Nitro AI contestant notebooks and the submission proxy. This repository retains the history and AGPL-3.0 license of the original nitronlp/contestant-jupyter-server project.

Published interfaces

Python 3.11 applications can install the shared scientific/ML runtime or the same runtime plus the notebook UI:

pip install nitro-contestant-runtime==1.0.0
pip install "nitro-contestant-runtime[notebook]==1.0.0"

The package contains dependency metadata only; it intentionally installs no importable nitro_contestant_runtime module.

The matching Linux/AMD64 fallback containers are:

ghcr.io/mihneateodorstoica/nitro-contestant-notebook:1.0.0
ghcr.io/mihneateodorstoica/nitro-submission-proxy:1.0.0

1.0 and stable are promoted only after both exact images pass the shared runtime, proxy, Jupyter base-path, and cross-image cloudpickle checks.

Runtime contract

The notebook keeps the upstream /home/jovyan home, /opt/conda runtime, custom OAuth login, base-path entrypoint, and outbound network isolation. It accepts the base path as its first argument and exposes Jupyter on port 8888. Both PROXY_URL and NITRO_SUBMISSION_PROXY_URL point at the submission proxy; PROXY_URL_CLIENT is the browser-visible URL.

The proxy keeps the Python 3.11/nsjail prejudging sandbox, cache and API contract, and exposes /health and the proxy API on port 9000. Required proxy settings are JUDGE_BASE_URL, ORGANIZATION_SLUG, COMPETITION_SLUG, and JUPYTER_BASE_URL.

Local stack

docker network create nitro_net
mkdir -p secrets
touch secrets/session_whitelist_bypass_key
cp jupyter-server/.env.example jupyter-server/.env
cp submission-proxy/.env.remote submission-proxy/.env
docker compose up --build

Edit the organization, competition, judge, and Jupyter URLs in submission-proxy/.env before connecting to a real competition. Add docker-compose.gpu.yml when the NVIDIA Container Toolkit is available:

docker compose -f docker-compose.yml -f docker-compose.gpu.yml up --build

Reproducing the lock and images

pyproject.toml is the only hand-edited dependency input. uv.lock and the two hashed pip exports are tracked:

uv lock
uv export --locked --no-dev --no-emit-project --output-file requirements/base.txt
uv export --locked --no-dev --no-emit-project --extra notebook --output-file requirements/notebook.txt
docker build -f jupyter-server/Dockerfile -t nitro-contestant-notebook .
docker build -f submission-proxy/Dockerfile -t nitro-submission-proxy .

Both Dockerfiles use the repository root so the image installs those exact hashes and then installs the local metadata package with --no-deps.

Download files

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

Source Distribution

nitro_contestant_runtime-1.0.0.tar.gz (15.2 kB view details)

Uploaded Source

Built Distribution

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

nitro_contestant_runtime-1.0.0-py3-none-any.whl (15.0 kB view details)

Uploaded Python 3

File details

Details for the file nitro_contestant_runtime-1.0.0.tar.gz.

File metadata

  • Download URL: nitro_contestant_runtime-1.0.0.tar.gz
  • Upload date:
  • Size: 15.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for nitro_contestant_runtime-1.0.0.tar.gz
Algorithm Hash digest
SHA256 256eb026f9412d166c3c90407b044ff8e21216e2cc45980414254ac1412b26e9
MD5 4b70fc6fde0c43c3ef8f4e14d6fb8bb9
BLAKE2b-256 59f9b706e582845a36bbb192c4ce76e25e6cf24a024dc55a00ffc35c37e9da3b

See more details on using hashes here.

Provenance

The following attestation bundles were made for nitro_contestant_runtime-1.0.0.tar.gz:

Publisher: publish.yml on MihneaTeodorStoica/contestant-jupyter-server

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file nitro_contestant_runtime-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for nitro_contestant_runtime-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4ebe58e368e0d6bbbdc72839364a5d8dfe7b8d9dca5c95ed73754069d529ebc0
MD5 6d593da8cdf85533a864663e5f1885a7
BLAKE2b-256 12c1e0bfdb346f800e3c41216c413b2a1fef9fbc3707ad364b7f00eae3576bfc

See more details on using hashes here.

Provenance

The following attestation bundles were made for nitro_contestant_runtime-1.0.0-py3-none-any.whl:

Publisher: publish.yml on MihneaTeodorStoica/contestant-jupyter-server

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page