gitmyhub

learn-code

Python ★ 0 updated 21d ago

Local, Dockerized Python learning platform — 1,300+ original autograded exercises, lessons, quizzes, and career paths from fundamentals to building attention from scratch.

A self hosted, Docker based platform with over 1,300 original Python exercises, lessons, and quizzes, running entirely on your own machine.

PythonFastAPIReactViteDockerSQLiteTypersetup: moderatecomplexity 3/5

Learn Code is a self hosted platform for learning Python that runs entirely on your own machine through Docker. It packages over 1,300 original items across more than 70 topic areas: 910 autograded exercises where you write a single Python function and it gets checked against hidden tests, 235 lessons with self check questions, 180 multiple choice quizzes, and 30 structured learning paths covering 7 career tracks and 23 focused skill tracks.

The content spans everything from first variables up through the full set of interview style algorithm topics like two pointers, dynamic programming, graphs, and bit manipulation. It also covers professional Python practices such as object oriented programming, generators, decorators, typing, and testing, plus practical tooling like working with files, dates, command line interfaces, HTTP requests, SQLite, and logging. There is also a track that builds AI concepts from scratch in plain Python, including a small autodiff engine, n-gram language models, tokenization, embeddings, and the attention mechanism used in transformers. Career paths end with larger capstone projects, like building a market ledger or a courier dispatch board, that pull together everything taught along the way.

To run it, you need Docker with Compose v2 installed. A short setup script downloads a compose file and starts the app with a single command, and everything opens in your browser at a local address with no separate build step required. Your progress is saved locally in a SQLite database tied to a Docker volume, and code you write is executed inside short lived sandboxed containers so nothing touches your main computer directly.

Under the hood, the browser app is built with Vite and React, the backend is a FastAPI service, and there is also a command line interface built with Typer that talks to the same backend. The project currently supports Python only, with JavaScript, TypeScript, and Go planned for later versions. It is designed to work fully offline with no accounts, no telemetry, and only a single daily check for new releases that can be turned off.

The project is released under the MIT license, which allows free use, modification, and distribution as long as the original copyright notice is kept.

Where it fits