==================================================
  JupyterLab AntiCheat Extension — Installation
==================================================

WHAT THIS DOES
--------------
Blocks all copy-paste methods inside code cells in JupyterLab:
  • Ctrl+V / Cmd+V keyboard shortcut
  • Right-click → Paste from context menu
  • Drag-and-drop of text/code into cells

Works in BOTH Anaconda JupyterLab and web-hosted JupyterLab.

==================================================
  QUICK INSTALL (Recommended)
==================================================

Step 1 — Make sure you have Node.js installed (v18+ recommended):
  https://nodejs.org/

Step 2 — Install the extension in development/editable mode:

  cd jupyterlab-anticheat
  pip install jupyterlab>=4.0.0
  pip install hatchling hatch-jupyter-builder hatch-nodejs-version
  npm install -g jlpm   (or: pip install jupyter-packaging)
  jlpm install
  pip install -e .
  jupyter labextension develop --overwrite .

Step 3 — Start JupyterLab:

  jupyter lab

The extension is now active. Students will see a red banner whenever
they try to paste code into a cell.

==================================================
  BUILD FOR DISTRIBUTION (for universities)
==================================================

  cd jupyterlab-anticheat
  jlpm run build:prod
  pip install build
  python -m build

This creates a .whl file in the dist/ folder.
Distribute that .whl to all student machines:

  pip install jupyterlab_anticheat-1.0.0-py3-none-any.whl

==================================================
  INSTRUCTOR CONTROLS
==================================================

To temporarily allow paste (e.g., for demos):

  Open Command Palette (Ctrl+Shift+C) →
    "AntiCheat: Disable Paste Blocking"

To re-enable:

  Open Command Palette (Ctrl+Shift+C) →
    "AntiCheat: Enable Paste Blocking (Exam Mode)"

Or via JupyterLab Settings → Advanced Settings Editor →
  AntiCheat Exam Extension → set "enabled": false

==================================================
  ANACONDA USERS
==================================================

If using Anaconda, activate your environment first:

  conda activate base  (or your env name)
  pip install -e .
  jupyter labextension develop --overwrite .

==================================================
  UNINSTALL
==================================================

  pip uninstall jupyterlab-anticheat
  jupyter labextension uninstall jupyterlab-anticheat

==================================================
