diff --git a/docs/projects/agentic-code-reviewer/index.md b/docs/projects/agentic-code-reviewer/index.md index 963abd9..9fe7c71 100644 --- a/docs/projects/agentic-code-reviewer/index.md +++ b/docs/projects/agentic-code-reviewer/index.md @@ -37,7 +37,6 @@ This assumes Python 101 and enough comfort with git to know what `git diff` show **Google Colab, Kaggle Notebooks, and Binder are a reasonable way to *try* the tool, but not to run it for real.** Neither gives you a real local git repository with commit history by default, and the whole premise of this tool is reviewing *your own* in-progress work — a notebook's ephemeral filesystem has none of that. The notebook below works around this honestly, rather than pretending the gap doesn't exist: it `!git clone`s this course's own repository into the notebook and reviews one real, small, historical commit from it with `git show`, so every piece of the tool (the `subprocess` diff capture, the system prompt, the LLM call, the structured output) still runs against real, real-looking output — it's just reviewing a fixed example commit instead of anything you personally wrote. Use it to see the tool work end to end with zero setup; switch to local `uv` or a Codespace once you want it pointed at your own actual changes. -{/* TODO: update these badge links to point at main once this PR merges */} [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/abderrahim-lectures/python-data-analysis-course/blob/main/examples/agentic-code-reviewer/notebook.ipynb) [![Open In Kaggle](https://kaggle.com/static/images/open-in-kaggle.svg)](https://kaggle.com/kernels/welcome?src=https://github.com/abderrahim-lectures/python-data-analysis-course/blob/main/examples/agentic-code-reviewer/notebook.ipynb) [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/abderrahim-lectures/python-data-analysis-course/main?filepath=examples%2Fagentic-code-reviewer%2Fnotebook.ipynb) diff --git a/docs/projects/meeting-notes-summarizer/index.md b/docs/projects/meeting-notes-summarizer/index.md index 18f4c91..de64ca9 100644 --- a/docs/projects/meeting-notes-summarizer/index.md +++ b/docs/projects/meeting-notes-summarizer/index.md @@ -38,7 +38,6 @@ This is optional and ungraded. See [Real-World Projects](/docs/projects) for the **Google Colab, Kaggle Notebooks, or Binder** work well too, and are genuinely good options here — this project is a lightweight script that makes a handful of API calls, not something that needs a GPU or a real project structure to be useful. A ready-to-run notebook version ships with this project — click a badge below to open it, no local setup required — or create your own notebook, run `!pip install openai python-dotenv` in a cell, paste the scripts below in as notebook cells, and set your API key with a notebook secret (Colab) or environment variable instead of a `.env` file. -{/* TODO: update these badge links to point at main once this PR merges */} [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/abderrahim-lectures/python-data-analysis-course/blob/main/examples/meeting-notes-summarizer/notebook.ipynb) [![Open In Kaggle](https://kaggle.com/static/images/open-in-kaggle.svg)](https://kaggle.com/kernels/welcome?src=https://github.com/abderrahim-lectures/python-data-analysis-course/blob/main/examples/meeting-notes-summarizer/notebook.ipynb) [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/abderrahim-lectures/python-data-analysis-course/main?filepath=examples%2Fmeeting-notes-summarizer%2Fnotebook.ipynb) diff --git a/docs/projects/multi-agent-research/index.md b/docs/projects/multi-agent-research/index.md index 0684222..c947ccb 100644 --- a/docs/projects/multi-agent-research/index.md +++ b/docs/projects/multi-agent-research/index.md @@ -39,7 +39,6 @@ This is optional and ungraded. See [Real-World Projects](/docs/projects) for the **Google Colab, Kaggle Notebooks, or Binder** work fine too, since nothing here needs a GPU — every step is just an API call to a free-tier LLM. A real, runnable notebook version of this project lives in the repo at [`examples/multi-agent-research/notebook.ipynb`](https://github.com/abderrahim-lectures/python-data-analysis-course/blob/main/examples/multi-agent-research/notebook.ipynb) — click a badge below to launch it with zero local setup, no `.env` file needed (it asks for your API key interactively with `getpass` instead): -{/* TODO: update these badge links to point at main once this PR merges */} [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/abderrahim-lectures/python-data-analysis-course/blob/main/examples/multi-agent-research/notebook.ipynb) [![Open in Kaggle](https://kaggle.com/static/images/open-in-kaggle.svg)](https://kaggle.com/kernels/welcome?src=https://github.com/abderrahim-lectures/python-data-analysis-course/blob/main/examples/multi-agent-research/notebook.ipynb) diff --git a/docs/projects/recipe-planner-agent/index.md b/docs/projects/recipe-planner-agent/index.md index b2917c7..b461b8e 100644 --- a/docs/projects/recipe-planner-agent/index.md +++ b/docs/projects/recipe-planner-agent/index.md @@ -37,7 +37,6 @@ This assumes Python 101. Having done the [AI Agent project](/docs/projects/ai-ag **Google Colab, Kaggle Notebooks, or Binder** are fine too — this is a lightweight script that just calls an API, no GPU or heavy install involved. A ready-to-run notebook version of this project ([`examples/recipe-planner-agent/notebook.ipynb`](https://github.com/abderrahim-lectures/python-data-analysis-course/blob/main/examples/recipe-planner-agent/notebook.ipynb)) is one click away: -{/* TODO: update these badge links to point at main once this PR merges */} [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/abderrahim-lectures/python-data-analysis-course/blob/main/examples/recipe-planner-agent/notebook.ipynb) [![Open In Kaggle](https://kaggle.com/static/images/open-in-kaggle.svg)](https://kaggle.com/kernels/welcome?src=https://github.com/abderrahim-lectures/python-data-analysis-course/blob/main/examples/recipe-planner-agent/notebook.ipynb) [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/abderrahim-lectures/python-data-analysis-course/main?filepath=examples%2Frecipe-planner-agent%2Fnotebook.ipynb) diff --git a/docs/projects/study-buddy-agent/index.md b/docs/projects/study-buddy-agent/index.md index 9f740df..292f0d9 100644 --- a/docs/projects/study-buddy-agent/index.md +++ b/docs/projects/study-buddy-agent/index.md @@ -37,7 +37,6 @@ This is optional and ungraded — a good fit once you've finished Python 101; no **Google Colab, Kaggle Notebooks, or Binder** work fine too — this project is just a terminal script that calls a hosted API, no GPU or heavy local package involved. A ready-to-run notebook version lives at [`examples/study-buddy-agent/notebook.ipynb`](https://github.com/abderrahim-lectures/python-data-analysis-course/blob/main/examples/study-buddy-agent/notebook.ipynb) — it mirrors the same `generate_questions()` / `judge_answer()` / `run_quiz()` logic, uses `input()` in a cell the same way you would in a terminal, and embeds one of the sample notes files directly so it runs with no file upload needed. Launch it with one of the badges below: -{/* TODO: update these badge links to point at main once this PR merges */} [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/abderrahim-lectures/python-data-analysis-course/blob/main/examples/study-buddy-agent/notebook.ipynb) [![Open In Kaggle](https://kaggle.com/static/images/open-in-kaggle.svg)](https://kaggle.com/kernels/welcome?src=https://github.com/abderrahim-lectures/python-data-analysis-course/blob/main/examples/study-buddy-agent/notebook.ipynb) [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/abderrahim-lectures/python-data-analysis-course/main?filepath=examples%2Fstudy-buddy-agent%2Fnotebook.ipynb) diff --git a/docs/projects/trivia-bot/index.md b/docs/projects/trivia-bot/index.md index 5920c9b..39befaa 100644 --- a/docs/projects/trivia-bot/index.md +++ b/docs/projects/trivia-bot/index.md @@ -43,7 +43,6 @@ This is optional and ungraded. See [Real-World Projects](/docs/projects) for the That said, question generation and scoring *underneath* the bot are just regular functions that run a cell at a time, which is exactly what notebooks are good at. The badges below open a notebook that generates real LLM questions on a few sample topics and runs a few fake "players" through the scoring logic, so you can see both work without installing anything locally. It deliberately stops short of the Discord layer — for that, come back here and run `bot.py` locally or in Codespaces as described above. -{/* TODO: update these badge links to point at main once this PR merges */} [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/abderrahim-lectures/python-data-analysis-course/blob/main/examples/trivia-bot/notebook.ipynb) [![Open In Kaggle](https://kaggle.com/static/images/open-in-kaggle.svg)](https://kaggle.com/kernels/welcome?src=https://github.com/abderrahim-lectures/python-data-analysis-course/blob/main/examples/trivia-bot/notebook.ipynb) diff --git a/docs/projects/voice-to-task-agent/index.md b/docs/projects/voice-to-task-agent/index.md index aca8fc8..c6fc94c 100644 --- a/docs/projects/voice-to-task-agent/index.md +++ b/docs/projects/voice-to-task-agent/index.md @@ -33,7 +33,6 @@ This is optional and ungraded. See [Real-World Projects](/docs/projects) for the **GitHub Codespaces** works too: open [the whole course repo in a free Codespace](https://codespaces.new/abderrahim-lectures/python-data-analysis-course) (Node, Python, and `uv` are already installed) and run the exact same `uv` commands from a terminal in your browser tab. It's a bit slower than a modern laptop for the transcription step, since Codespaces machines are CPU-only, but perfectly workable for the short sample clips here. -{/* TODO: update these badge links to point at main once this PR merges */} [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/abderrahim-lectures/python-data-analysis-course/blob/main/examples/voice-to-task-agent/notebook.ipynb) [![Open In Kaggle](https://kaggle.com/static/images/open-in-kaggle.svg)](https://kaggle.com/kernels/welcome?src=https://github.com/abderrahim-lectures/python-data-analysis-course/blob/main/examples/voice-to-task-agent/notebook.ipynb) [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/abderrahim-lectures/python-data-analysis-course/main?filepath=examples%2Fvoice-to-task-agent%2Fnotebook.ipynb) diff --git a/docs/projects/webcam-object-counter/index.md b/docs/projects/webcam-object-counter/index.md index db49d0d..dd52338 100644 --- a/docs/projects/webcam-object-counter/index.md +++ b/docs/projects/webcam-object-counter/index.md @@ -34,7 +34,7 @@ This is optional and ungraded. See [Real-World Projects](/docs/projects) for the **Locally with `uv` is the only way to get the full, live-webcam experience.** A physical webcam attached to your computer is hardware — there is no route from a browser tab running in the cloud to a camera sitting on your desk. Steps 1–5 below assume this path, and Step 5 specifically will simply not work anywhere else. - **GitHub Codespaces** gets you a zero-setup cloud dev environment (Node, Python, and `uv` already installed — see [`.devcontainer/devcontainer.json`](https://github.com/abderrahim-lectures/python-data-analysis-course/blob/main/.devcontainer/devcontainer.json)), and Steps 1–4 (sample image, counting, sample video) work fine there. Step 5 will not — a Codespace runs on a remote server with no access to your local webcam either. -- **Google Colab, Kaggle Notebooks, or Binder** are good for the **sample-image-only** variant of this project, not the live webcam. A real, runnable notebook that downloads the bundled sample images and runs the same detection code lives at [`examples/webcam-object-counter/notebook.ipynb`](https://github.com/abderrahim-lectures/python-data-analysis-course/blob/main/examples/webcam-object-counter/notebook.ipynb) (will point at `main` once merged). Click a badge to launch it directly: +- **Google Colab, Kaggle Notebooks, or Binder** are good for the **sample-image-only** variant of this project, not the live webcam. A real, runnable notebook that downloads the bundled sample images and runs the same detection code lives at [`examples/webcam-object-counter/notebook.ipynb`](https://github.com/abderrahim-lectures/python-data-analysis-course/blob/main/examples/webcam-object-counter/notebook.ipynb). Click a badge to launch it directly: [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/abderrahim-lectures/python-data-analysis-course/blob/main/examples/webcam-object-counter/notebook.ipynb) [![Open In Kaggle](https://kaggle.com/static/images/open-in-kaggle.svg)](https://kaggle.com/kernels/welcome?src=https://github.com/abderrahim-lectures/python-data-analysis-course/blob/main/examples/webcam-object-counter/notebook.ipynb) diff --git a/docs/projects/wordle-clone/index.md b/docs/projects/wordle-clone/index.md index c2f434a..0c1d937 100644 --- a/docs/projects/wordle-clone/index.md +++ b/docs/projects/wordle-clone/index.md @@ -38,8 +38,6 @@ This is optional and ungraded. See [Real-World Projects](/docs/projects) for the [![Open In Kaggle](https://kaggle.com/static/images/open-in-kaggle.svg)](https://kaggle.com/kernels/welcome?src=https://github.com/abderrahim-lectures/python-data-analysis-course/blob/main/examples/wordle-clone/notebook.ipynb) [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/abderrahim-lectures/python-data-analysis-course/main?filepath=examples%2Fwordle-clone%2Fnotebook.ipynb) - {/* Badges point at this PR's branch; will point at `main` once merged. */} - ## Setup `uv` is a single tool that replaces the usual "install Python, then install pip, then install a virtual environment tool, then install packages" chain — it can install and manage Python versions itself, alongside your project's dependencies.