JupyterLab extension for submitting Nitro AI Judge notebook solutions
Project description
JupyterLab Nitro AI Judge
JupyterLab extension that adds a notebook toolbar button, Submit to Nitro AI Judge, and guides the user through login, contest selection, task selection, CSV submission, source attachment, and feedback review.
Features
- notebook toolbar button for direct submission flow
- login prompt backed by
nitro-ai-judge-cli - contest and task loading from Nitro AI Judge
- CSV file picker rooted at the current notebook directory
- source selection from either a file or the current notebook exported as Python
- automatic polling until scoring feedback is available
- results view with total score plus per-subtask score and metric values
Requirements
- Python 3.10+
- JupyterLab 4.x
nitro-ai-judge-cliavailable in the same Python environment as JupyterLab
Install
python -m pip install jupyterlab-nitro-ai-judge
For local development in this repo:
npm install
python -m pip install -U pip build hatchling hatch-jupyter-builder jupyterlab
python -m pip install -e .
Development
Build the frontend bundle:
python -m pip install -U jupyterlab
npm run build:prod
Build the Python package:
python -m build
Usage
- Open a notebook in JupyterLab.
- Click
Submit to Nitro AI Judgein the notebook toolbar. - Log in if prompted.
- Select the contest and task.
- Pick the output CSV file.
- Choose either a source file or the current notebook as the source attachment.
- Submit and wait for feedback.
- Review the total score and per-subtask metrics in the Nitro panel.
Publishing
Before publishing, replace the placeholder GitHub URLs in package.json and pyproject.toml.
PyPI release flow:
python -m pip install -U build twine
python -m build
python -m twine check dist/*
git tag v0.1.0
git push origin main --tags
The included GitHub workflows build on pushes and publish to PyPI on version tags.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file jupyterlab_nitro_ai_judge-0.1.0.tar.gz.
File metadata
- Download URL: jupyterlab_nitro_ai_judge-0.1.0.tar.gz
- Upload date:
- Size: 131.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7307156464ee8fd5c523f9cf0345f9141493a7877f122b2bfc0eac9ecd45baff
|
|
| MD5 |
56a822b244eaa3d558893635c938f7a9
|
|
| BLAKE2b-256 |
c14622e31f47e12f8268da66b60fe59c4eea1e6806ce2bd1901de77bd20c9bcb
|
Provenance
The following attestation bundles were made for jupyterlab_nitro_ai_judge-0.1.0.tar.gz:
Publisher:
publish.yml on MihneaTeodorStoica/jupyterlab-nitro-ai-judge
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
jupyterlab_nitro_ai_judge-0.1.0.tar.gz -
Subject digest:
7307156464ee8fd5c523f9cf0345f9141493a7877f122b2bfc0eac9ecd45baff - Sigstore transparency entry: 1328093212
- Sigstore integration time:
-
Permalink:
MihneaTeodorStoica/jupyterlab-nitro-ai-judge@78f1ebc6903aadbfe52f6a4659a02e450bc3303e -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/MihneaTeodorStoica
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@78f1ebc6903aadbfe52f6a4659a02e450bc3303e -
Trigger Event:
push
-
Statement type:
File details
Details for the file jupyterlab_nitro_ai_judge-0.1.0-py3-none-any.whl.
File metadata
- Download URL: jupyterlab_nitro_ai_judge-0.1.0-py3-none-any.whl
- Upload date:
- Size: 39.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4083fb0cfa3669ca06d712434f407308ab40a9a07d448c4591138f56d2866a68
|
|
| MD5 |
d97629b7d0c2a26860a4f22409c0a27f
|
|
| BLAKE2b-256 |
40712aa7ac5f9b86ce31bbfed7a38ffb9ecf372bb76a52622bd8780a9c722c37
|
Provenance
The following attestation bundles were made for jupyterlab_nitro_ai_judge-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on MihneaTeodorStoica/jupyterlab-nitro-ai-judge
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
jupyterlab_nitro_ai_judge-0.1.0-py3-none-any.whl -
Subject digest:
4083fb0cfa3669ca06d712434f407308ab40a9a07d448c4591138f56d2866a68 - Sigstore transparency entry: 1328093236
- Sigstore integration time:
-
Permalink:
MihneaTeodorStoica/jupyterlab-nitro-ai-judge@78f1ebc6903aadbfe52f6a4659a02e450bc3303e -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/MihneaTeodorStoica
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@78f1ebc6903aadbfe52f6a4659a02e450bc3303e -
Trigger Event:
push
-
Statement type: