ed-donner/llm_engineering: a course repo of notebooks, not a library
Repo to accompany my mastering LLM engineering course
At a glance
- What is it?
- This is the companion repository for Ed Donner's eight-week LLM engineering course on Udemy. It is teaching material with a fixed weekly structure and a heavy dependency on paid APIs and a hosted IDE, not an installable package, and that distinction decides whether it belongs in your workflow.
- Who is it for?
- Adopt this if you want a guided, week-by-week path through LLM engineering and are willing to run the notebooks yourself in Cursor against a local Ollama model or a paid API key. Do not adopt it if you need a maintained library to import, a pinned dependency set, or anything that runs without a course platform and a hosted provider.
- Can I use it commercially?
- Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 2 days ago.
- What is it written in?
- Mainly Jupyter Notebook, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 15, 2026, and from our analysis. They are not legal advice.
DEEP OPEN-SOURCE ANALYSIS
What problem the repo actually solves
The repository exists to accompany a paid course, and the README says so in its first line: "Repo to accompany my mastering LLM engineering course." The problem it addresses is not a missing library or an unhandled protocol. It is the gap between reading about LLM engineering and having a working environment in which to try it. The README frames the whole thing around a mantra: "the best way to learn is by DOING," and instructs students to run each cell, inspect the objects, then modify the code. The audience is therefore students enrolled in the course, not engineers looking for a dependency. There are folders for each week, described as modules that build on each other and culminate in an autonomous agentic AI solution in Week 8. If you are not taking the course, the notebooks still read as worked examples, but the sequencing assumes you are following along in order.
How the weekly folders are laid out
The organisation is chronological rather than architectural. The README states there are folders for each of the weeks, and that the projects build on each other so that expertise accumulates. Week 1 is where you begin, and the README points you at that folder after setup. Week 8 is described as an autonomous agentic AI solution that draws on many of the prior weeks, which means the later material depends on concepts introduced earlier rather than importing them as a package. A guides directory sits alongside the week folders. Two entries are named in the README: guides/09_ai_apis_and_ollama.ipynb, described as the detailed approach with exact code for Ollama, Gemini, OpenRouter and more, and a GitHub guide referenced in the context of submitting pull requests. The README also mentions a setup directory containing SETUP-new.md. That is the full extent of the structure visible in the supplied material. There is no src directory, no package manifest described, and no published release. The last push recorded is 2026-09-05, so the repository is active, but activity here means course updates, not versioned software.
Getting the first model running with Ollama
The README gives an explicit sequence for what it calls instant gratification on Week 1, Day 1. Install Ollama from https://ollama.com, noting that on a PC you may need administrator permissions for the install to work. Open a Command prompt or PowerShell on Windows, or Terminal on macOS. Then run `ollama run llama3.2`, or `ollama run llama3.2:1b` for smaller machines. If that fails, the README suggests running `ollama serve` in a second terminal and retrying, and on Windows possibly running PowerShell as an administrator. There is a Colab fallback linked in the README for machines where none of this works. The model choice carries a warning worth repeating: the README tells students to steer clear of Meta's llama3.3 because at 70B parameters it is too large for most home computers, and notes that several students missed this warning. That is a concrete constraint, not a stylistic preference. A 70B model will not fit the hardware the course assumes.
The full setup, the IDE, and where money enters
After the Ollama exercise, the README directs you to setup/SETUP-new.md for all platforms. The course is taught in Cursor, and the README includes a note for people reading the repository inside that editor: right click the filename in the Explorer and select Open preview to see the formatted version. Cursor is therefore part of the expected environment, not an optional extra. API costs are described as optional, with the README stating there is no need to spend more than a couple of dollars for the entire course. Some providers, OpenAI named among them, require a minimum credit of around five dollars or the local equivalent. The README also mentions that during Week 7 you have the option to spend more, and that the author spends about ten dollars himself at that stage, while stressing it is not necessary. The free path is real: guides/09_ai_apis_and_ollama.ipynb is presented as the detailed approach with exact code for Ollama, Gemini, OpenRouter and more. If you want to complete the course without a card on file, that notebook is the entry point to check first.
Why the notebooks are not a library you can import
Jupyter notebooks are the primary language of this repository, and that shapes what you can do with it. A notebook is a sequence of cells with state that persists between executions, which is exactly right for teaching and exactly wrong for reuse. You cannot pin a notebook the way you pin a package version. The README describes the workflow as running cells, inspecting objects, and tweaking the code, which means correctness depends on execution order in a way that a module does not. The projects build on each other across weeks, so lifting Week 5's notebook into your own project without the earlier context is likely to leave you reconstructing the setup by hand. There is also no release history in the supplied material, so there is no changelog to diff against when the course is updated. The last push date tells you the repository moves; it does not tell you what changed or whether a notebook you copied last month still matches the current lesson.
Where the course depends on external services
The dependency on Cursor, Ollama, and at least one frontier model provider is the main structural limitation. The README is candid that the course suggests trying the leading frontier models, and that these services have charges, kept to a few cents at a time. It also points students to Google Colab for running open-source models, which requires a Google account. Each of those is an external dependency that can change its pricing, its model lineup, or its free tier without the repository changing at all. The README's own warning about llama3.3 is a small illustration: the model landscape moved, and the course notes had to tell students to ignore the newest release. If your goal is a self-contained environment that runs entirely on your own hardware with no account signups, the free Ollama path gets you close, but the Colab fallback and the frontier-model lessons in the later weeks do not. Read guides/09_ai_apis_and_ollama.ipynb before assuming the whole eight weeks can run offline.
How this differs from a framework such as LangChain
The natural comparison is a library like LangChain, and the difference is in what you receive. LangChain is an installable dependency with versioned releases, an API surface, and documentation that describes abstractions you call from your own code. This repository is the opposite: it teaches the abstractions by having you write and run them notebook by notebook, week by week, in a specific IDE. With LangChain you inherit maintenance obligations and upgrade costs, and in exchange you get someone else's tested implementation. With this repository you inherit nothing at runtime. You get the reasoning and the working examples, and you carry the maintenance yourself, because the code you end up with is the code you typed or adapted. Neither approach is wrong. They answer different questions. If you want to ship a retrieval pipeline this month, a framework is the shorter route. If you want to understand why the retrieval pipeline behaves the way it does, the notebook sequence is the point.
Maintenance, licensing, and what to verify before you start
The repository is MIT licensed, which permits commercial use, modification, and redistribution provided the licence and copyright notice are retained. That is a permissive grant, and it applies to the code in the repository. It does not extend to the course itself, to the slides and resources hosted on the author's site, or to the models you download, which carry their own terms. Nothing here is legal advice; if you plan to ship code adapted from these notebooks, read the MIT text and the licence of whichever model you use. On maintenance, the honest position is that this is a course artifact. Updates track the syllabus and the model ecosystem, not a semantic version. There is no upgrade path to plan for, because there is no installed package. The cost you carry is re-reading the setup guide when your environment drifts, and re-checking model tags when a provider deprecates one. Start with setup/SETUP-new.md for your platform, then guides/09_ai_apis_and_ollama.ipynb if you want the free-provider route, and treat the Week 8 agent as the target rather than the starting point.
Editorial conclusion
Adopt this if you want a guided, week-by-week path through LLM engineering and are willing to run the notebooks yourself in Cursor against a local Ollama model or a paid API key. Do not adopt it if you need a maintained library to import, a pinned dependency set, or anything that runs without a course platform and a hosted provider. Before starting, verify the current setup guide at setup/SETUP-new.md against your platform, confirm the model tag you intend to pull (the README warns that llama3.3 at 70B parameters is too large for most home computers), and read guides/09_ai_apis_and_ollama.ipynb to see whether the free Ollama and Gemini paths cover the weeks you care about.
Community notes