Run Python and Training on a Remote Kernel
Attach a Kaggle notebook or Jupyter server, run PrepFlow and Model Builder as native Python, sync project files, and detach cleanly.
What you will do
Move heavy Python work off your browser onto a kernel you control, and see exactly what is sent. Nothing is attached unless you do it; the browser runtime remains the default.
Before you start
- Signed in to DLWAY
- A Kaggle notebook session, or a Jupyter server with token authentication
- An understanding that the kernel can run arbitrary code with its account's permissions. Connect only trusted servers.
Step 1: Start the kernel
Kaggle: start a notebook, keep the session running, open Run → Kaggle Jupyter Server and copy the VS Code Compatible URL. Jupyter: note the server URL including its token. Treat either as a password.
Step 2: Attach it
Open Settings → Compute and paste the URL. For a public HTTPS server, DLWAY connects through its authenticated relay, which refuses private addresses. For a local server, your browser connects directly, so the server must allow the DLWAY origin. When it works, Python in the Studio says it is running on Jupyter.
Step 3: Run a Python file
In the Code Editor open a .py file and run it. The output streams to the terminal. Install a package with pip in the terminal: it installs on the kernel. All routed surfaces (the editor, the terminal, Copilot's Python tool and pipeline code steps) share one kernel, one namespace and one working directory.
Step 4: Turn on project sync
With Sync project files on, a run first uploads changed text files to .dlway/<project-name> on the server and changes the kernel's working directory there. A run fails before starting if more than 300 files or 4 MB of text changed. Edit a file, run again and note that only the change is sent.
Step 5: Run PrepFlow natively
Open a PrepFlow graph and choose Run on Jupyter instead of Materialize. The graph is turned into pandas and scikit-learn code, run on the kernel and returned to your normal previews. Open generated/prepflow.py and requirements-remote.txt in the editor to see what ran. Steps that read browser-only image media will refuse with a list of what cannot run remotely.
Step 6: Train natively
In the Model Builder choose the Jupyter target and press Train. The same graph that would make TensorFlow.js code makes native Python, saved as generated_model.py. Imports are checked and only missing packages are installed.
Step 7: Pull a file back
Use Save to project and enter the exact path from the Jupyter root, for example .dlway/<project-name>/results.txt. One text file up to 4 MB is copied into your project, overwriting a project file at that path without asking.
Step 8: Stop, restart, detach
- Stop interrupts the shared kernel. The kernel handles one request at a time, so other requests are told it is busy.
- Restart kernel clears Python memory and the sync cache but not remote files or installed packages.
- Use browser Python detaches DLWAY. It does not shut down the kernel, and a Kaggle session keeps using quota until you stop it there.
Know the limits
Runs stream for up to 120 seconds (290 through the relay), the kernel runs one request at a time, input() is disabled, and only streams, text and PNG images are shown. For long training, use the provider's own jobs and checkpoints.