FRIDAY-ML is an interactive educational workspace designed to bridge the gap between machine learning theory and practical implementation in Python.
Think more, write less, read and evaluate everything.
Traditional machine learning (ML) courses often trap students in dependency hell or syntax fatigue, causing them to lose sight of the mathematical and logical principles. FRIDAY-ML flips this model:
- AI writes most of the Python code: An AI agent helps you write the machine learning code in Python.
- You learn how to think like a data scientist: Using Instroduction to Statistical Learning as our stepping stone, your AI-assistant F.R.I.D.A.Y. challenges you to dictate without giving away the answer too much.
- Conceptualize: Think about what you want to do ("I need to reduce variance in this model").
- Prompt: Instruct the AI agent to implement a specific validation strategy ("Set up a K-Fold cross-validation loop using scikit-learn").
- Audit: Read the Python code. Does the code actually do what you asked? Are the data transformations correct?
- Execute: Run the reactive cell and analyze the visualization.
- You learn how to review the code: Your primary job is to read the generated Python, understand the data flow, and evaluate the results. The aim is to become proficient in reading Python code. As with natural languages, it is easier to obtain passive, working knowledge.
- Positron: the best open source data science IDE (integrated development environemnt) that unifies exploratory data analysis, machine learning and a fully integrated AI assistant.
- marimo: a next-generation reactive notebook for Python. No more hidden state or out-of-order execution errors.
- scikit-learn: the standard library for tabular machine learning in Python - linear models, tree-based models, clustering, and model evaluation.
Why we use Positron
While Positron is actually built on the same foundation as VS Code (Code OSS), it removes the "assembly required" aspect of setting up a data science environment. If VS Code is a box of Lego bricks, Positron is the pre-built model designed specifically for R and Python.
Positron comes with specialized data panes, similar to those in RStudio.
-
Data Explorer: a built-in spreadsheet viewer that handles millions of rows without lagging. You can filter, sort, and search dataframes without writing a single line of df.head(). Open
.parquetfiles directly by just double-clicking. -
Variables Pane: a real-time view of your environment (objects, types, and values) that is much more intuitive than the standard "Variables" tab in the VS Code debugger.
-
Plots & Viewer: Dedicated spaces for visualizations and HTML widgets (like Leaflet or Shiny apps) that don't get lost in your editor tabs.
Why we use marimo
Traditional notebooks such as Jupyter notebooks as well as commercial notebooks such as Deepnote and Hex are ill-suited for use with agentic coding tools.
-
File format. By default Jupyter notebooks are stored as JSON with base64-encoded outputs, not Python. But LLMs work best when generating code, and marimo is stored as Python, not JSON, empowering agents to do their best work.
-
Reproducibility. Jupyter notebooks, as well as their commercial skins, suffer from a reproducibility crisis: they are not well-formed programs but instead have hidden state and hidden bugs. This trips up not only humans but also agents. In contrast, marimo notebooks are reproducible Python programs with well-defined execution semantics, backed by a dataflow graph.
-
Composability and programmability. Commercial notebooks like Hex and Deepnote provide a point-and-click UI for creating interactive elements such as sliders, text boxes, dropdowns, and more. LLMs-based agents struggle with this; in contrast, marimo is code-first, letting humans and agents alike create powerful UIs with just Python.
(Of course, commercial notebooks are proprietary, so you couldn’t author them locally from your terminal even if you wanted to. Because marimo is open-source, you can use it locally, on cloud servers, wherever you like.)
- Introspection. Agents work best when they can test what they’ve done. marimo notebooks are Python programs, so agents can run them and inspect outputs; the same is not true for Jupyter notebooks.
For more details, see this blogpost
- Download Positron from the official website
- Install the application for your operating system (macOS, Windows, or Linux)
- Launch Positron
- Click on the Extensions icon on the left-sidebar
- Search for the marimo and install the extension
- Download FRIDAY-ML here
- Unzip the files and move the whole folder to your working directory
- Go back to Positron and add the folder to the workspace via
File > Add Folder to Workspace...
-
Open a terminal in Positron via
Terminal > New Terminal -
Run the following command in the terminal:
- macOS/Linux:
curl -LsSf https://astral.sh/uv/install.sh | sh - Windows:
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
- macOS/Linux:
In the same terminal, install the Python dependencies for FRIDAY-ML
- For standard installation:
uv sync - For Apple Silicon with TensorFlow support:
uv sync --extra tf-apple - For other systems with TensorFlow support:
uv sync --extra tf
Once you have installed all the software components, it is helpful to read the Getting Started guide for Positron Assistant. This is where you should also choose your language model provider:
- GitHub Copilot has the best integration with Positron Assistant, it supports code completion
- Anthropic is recommended for it you plan to use Claude Code in future
Once you have setup your provider, you can start using /friday:
- Open the FRIDAY-ML folder in Positron
- The Python interpreter should automatically use the
.venvcreated byuv - Open any
.pymarimo notebook file (e.g.,notebooks/ames-housing.py) - The integrated marimo extension allows you to run and edit notebooks directly in Positron
- Use Positron Assistant to invoke
/friday(more details below) - All notebook outputs and visualizations appear inline in the editor
Tip
You can open a marimo notebook (.py file in the notebooks/ directory) using the UI:
- Navigate to the notebook file in the Positron file explorer (e.g.,
notebooks/mnist.py) - Click the marimo icon in the top-right corner of the editor:
- The notebook will open in an integrated panel within Positron, showing all cells and outputs
Alternatively, you can right-click on any .py marimo notebook file and select "Open with Marimo" from the context menu.
The FRIDAY skill is an AI tutor built into this workspace, designed to coach you through machine learning concepts without getting bogged down in Python syntax. It helps you understand ML principles by:
- Explaining concepts in plain language
- Breaking down complex algorithms into digestible steps
- Answering "why" questions about model behavior
- Guiding you through theoretical foundations
- Connecting mathematical concepts to practical implementation
You can invoke it by typing /friday in Positron assistant or include it in your prompts:
/friday Why does my model have high variance?
/friday Explain the bias-variance tradeoff in this context
/friday What's the intuition behind gradient descent?
/friday Help me understand why cross-validation matters- Use
/fridaywhen you want to understand the "why" behind a concept or need conceptual guidance before implementation - Use direct prompts when you want the AI agent to generate or modify code
Tip
- Start with a conceptual question:
/friday Why would I use L2 regularization instead of L1 for this regression problem?-
FRIDAY explains the concept in plain language, focusing on principles rather than syntax
-
Once you understand, prompt for implementation:
Now implement Ridge regression with 5-fold cross-validation on the housing dataset- Audit the generated code with your new understanding of the underlying principles
This separation between learning and coding maintains the "Write less, read more, evaluate everything" philosophy by ensuring you understand concepts before generating implementation code.
We salute the creators of the 'real' F.R.I.D.A.Y., with a nerdy wink of an eye and also because most lectures as EAISI Academy are held on Fridays. This project is licensed under the MIT License.

