{"slug": "from-scratch-in-python", "title": "From Scratch in Python", "summary": "Developer Rob Cox has published a free series of 18 from-scratch Python projects, aimed at curious people aged 12 and up, that let readers build working versions of an operating system (PyOS), a programming language (Pebble), a database, a search engine (PySearch), a version-control system (PyGit), an HTTP web server (PyWeb), a message queue (PyMQ), and a language model (PyLLM). Each project runs and is documented with source on GitHub, with PyLLM building on Pebble and PyStack joining all the projects together at the end. The series is pitched as a way to see how everyday software works without hidden \"magic boxes,\" with every component written out to read, change, and break.", "body_md": "# From scratch in Python\n\n**Ever wondered what's really going on inside your computer?** How does it run lots of programs at once? How does a search box find one word in a million pages? How does a chatbot write a sentence? Here you build each of those things yourself, one small step at a time, and find out.\n\nA series of 18 projects that build real things from scratch, so you can see how they work. They're all free, and written for curious people aged 12 and up.\n\n## Why build it yourself?\n\n- **It really works.** Every project runs. Switch on your own little operating system and type commands into it, write a program in your own programming language, or ask your own database questions.\n- **Explained with everyday things.** Databases are explained with trading cards, search engines with a librarian, and Git with fingerprints and a diary. Grown-ups who never got to look inside are very welcome too.\n- **No magic boxes.** Nothing important is hidden away. Every clever bit is written out for you to read, change and even break.\n- **Small steps.** Each idea builds on the one before, so you're never thrown in at the deep end.\n\n## How to start\n\nPick **PyOS** (a pretend computer you can switch on and type into) or **Pebble** (your very own programming language) and have a play. After that, follow whatever sounds fun: each card says which projects it builds on. **PyStack**, at the very end, joins everything together.\n\n## Start here\n\n## Storage\n\n## Systems\n\n- \n**[PyCrypt](https://robcox2910.github.io/pycrypt/)** Cryptography. [Source](https://github.com/robcox2910/pycrypt)\n- \n**[PyNet](https://robcox2910.github.io/pynet/)** Computer networking. [Source](https://github.com/robcox2910/pynet)\n- \n**[PyWeb](https://robcox2910.github.io/pyweb/)** HTTP web servers. Builds on PyNet, PyCrypt. [Source](https://github.com/robcox2910/pyweb)\n- \n**[PyGit](https://robcox2910.github.io/pygit/)** Version control. [Source](https://github.com/robcox2910/pygit)\n- \n**[PySearch](https://robcox2910.github.io/pysearch/)** Search engines. [Source](https://github.com/robcox2910/pysearch)\n- \n**[PyMQ](https://robcox2910.github.io/pymq/)** Message queues. Builds on PyNet. [Source](https://github.com/robcox2910/pymq)\n- \n**[PyLLM](https://robcox2910.github.io/pyllm/)** Language models (the brain). Builds on Pebble. [Source](https://github.com/robcox2910/pyllm)\n- \n**[PyScheduler](https://robcox2910.github.io/pyscheduler/)** Job scheduling. Builds on PyDB, PyNet, PyWeb, PyMQ. [Source](https://github.com/robcox2910/pyscheduler)\n\n## Putting it together\n\nMade by [Rob Cox](https://github.com/robcox2910). Found a mistake or have an idea? Open an issue on any project's repository.", "url": "https://wpnews.pro/news/from-scratch-in-python", "canonical_source": "https://robcox2910.github.io/", "published_at": "2026-11-01 21:38:45+00:00", "updated_at": "2026-11-01 21:51:00.151384+00:00", "lang": "en", "topics": ["artificial-intelligence", "large-language-models", "developer-tools"], "entities": ["Rob Cox", "PyOS", "Pebble", "PyLLM", "PySearch", "PyGit", "PyStack", "GitHub"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/from-scratch-in-python", "markdown": "https://wpnews.pro/news/from-scratch-in-python.md", "text": "https://wpnews.pro/news/from-scratch-in-python.txt", "jsonld": "https://wpnews.pro/news/from-scratch-in-python.jsonld"}}