mrkeyoor.com_
Wed 28 Oct 23:32 UTC
Dev Toolsevaluationupdated 28 Oct 2026

the-craft-of-selfteaching review

The Craft of Self-Teaching is Li Xiaolai's Chinese-language book about learning independently through Python programming. Its README has a short English opening, while the supplied explanatory chapters are in Chinese. The book uses Jupyter notebooks and also has a Markdown version.

Verdict

Try The Craft of Self-Teaching if you read Chinese comfortably and want to practise independent learning through Python. Start with its leap-year exercise to judge the explanation before installing a larger environment. The successful dependency preparation does not establish that every notebook works. Readers needing English instruction should start with an English teaching text.

We ran it

Lab card: what happened when we ran the-craft-of-selfteachingScreenshot of the-craft-of-selfteaching (github.com/xiaolai/the-craft-of-selfteaching)
Install✓ · 6s35 packages · 37 MB
Build✓ · 0s
Testsn/ano test script
Known vulns0(pip-audit)
Repo228 files~60 lines of source · 28 MB · 0 CI workflows

Answers from our run

Does the-craft-of-selfteaching build from source?

Dependencies installed in 6 seconds (35 packages), and the build succeeded in 0s. We cloned commit 987a8e8 into a clean Debian container with 3 CPUs and no project-specific setup.

Does the-craft-of-selfteaching have tests you can run?

Not through a standard command: the project exposes no test script or target that our harness could run.

Does the-craft-of-selfteaching have known vulnerabilities in its dependencies?

pip-audit found none in the dependency tree at the time of our run.

Who should not use the-craft-of-selfteaching?

Readers who need sustained instruction in English: the supplied chapters are in Chinese, and the README does not offer an English edition.

What are the alternatives to the-craft-of-selfteaching?

Think Python, learn-python. Try The Craft of Self-Teaching if you read Chinese comfortably and want to practise independent learning through Python.

SetupN/ADependency preparation succeeded, but the documented Anaconda route and an interactive notebook reading session were not assessed.
Docs3/5On the public reading-path rubric, the contents, chapters and appendix explain how to begin, with material caveats in the dated installer and authentication examples.
CommunityN/AThe supplied metadata does not establish teaching support responsiveness, issue handling or contributor capacity.
MaturityN/AThe supplied run did not execute every notebook or evaluate learning outcomes, leaving teaching reliability and current compatibility unassessed.

Who it’s for

Chinese-reading beginners who want to practise independent learning through Python exercises.
Readers who want to edit notebook cells alongside explanations.
Self-directed learners willing to check the setup instructions before using them.

Who it’s NOT for

Readers who need sustained instruction in English: the supplied chapters are in Chinese, and the README does not offer an English edition.
Instructors seeking unrestricted adaptation or redistribution: the README states a CC-BY-NC-ND license for the book.
Readers requiring verified execution of every notebook: the supplied run did not establish notebook correctness.
Beginners expecting to follow every configuration example unchanged: the appendix includes an older installer and a suggestion to clear the authentication token.

Setup reality

The supplied sandbox run at commit 987a8e8 on October 28, 2026 recorded a successful installation in 6 seconds, 35 dependencies and 37 MB on disk. The build succeeded in a recorded 0 seconds. No test script or target was found, so tests were skipped. The pip-audit result was 0 known vulnerabilities.

The recorded configuration was 3 CPUs, 8 GB RAM and image ghcr.io/astral-sh/uv:python3.12-bookworm. Actual runtime and operating-system versions require the raw toolchain logs. This preparation run did not assess the appendix's Anaconda route or an interactive reading session.

The appendix includes an Anaconda Mac installer dated 2018.12 and suggests setting the Jupyter authentication token to an empty string. Check installation instructions for your platform and retain authentication rather than copying that setting.

Choose by language and teaching format

The Craft of Self-Teaching is Li Xiaolai's Chinese-language book about learning independently through Python programming. The README has a short English opening, but it does not offer an English edition of the explanatory chapters. Readers who need sustained instruction in English should choose another teaching text.

For readers comfortable with Chinese, the contents combine programming with the habits of learning. Values, functions and files sit alongside chapters on patience, deliberate practice and handling unfamiliar references. Later chapters cover classes and other advanced material. That combination makes the book worth sampling if you want help continuing through confusing exercises.

The notebook format lets readers work with code beside the lessons. The README also links to a Markdown version, so you can sample the explanations before setting up an interactive environment.

What happened when we ran it

At commit 987a8e8 on October 28, 2026, our sandbox installation succeeded in 6 seconds, recording 35 dependencies and 37 MB on disk. The build step succeeded in a recorded 0 seconds. No test script or target was found, so tests were skipped. The pip-audit result was 0 known vulnerabilities.

The recorded sandbox configuration was 3 CPUs, 8 GB RAM and image label ghcr.io/astral-sh/uv:python3.12-bookworm. Actual runtime and operating-system versions require the raw toolchain logs; the image label does not verify them.

The checkout contained 228 files, approximately 60 lines counted as source and 28 MB. For a notebook book, that source-line count is a poor guide to the amount of reading or executable material. The scan reported 0 CI workflow files, no Dockerfile and no tests directory.

These results establish successful dependency preparation and the recorded audit outcome. They do not establish that every notebook executes correctly, that the documented Anaconda route works today or that the book improves learning outcomes. Those questions were not assessed.

Sample the leap-year exercise

The test-driven development chapter states expected leap-year results before completing the function. It then builds the implementation in stages, including the exception for years divisible by 100 but not by 400.

The exercise gives a beginner a way to reason about expected answers before working through the syntax. The chapter later discusses exceptions and points readers toward unittest and doctest. It also acknowledges that practical test-driven development uses more substantial tools than this introductory example.

Use this chapter as a reading trial: write down the expected results, explain the century exception and then attempt the function before consulting the implementation. This is a suggested exercise, not an additional test performed for this review. The chapter's examples are separate from the repository-wide test step that our run skipped.

Check the appendix before copying its configuration

The Jupyter appendix describes an Anaconda route and includes a Mac installer filename dated 2018.12. It explains launching Jupyter locally and keeping the terminal open. It also contains a note about enabling the Extension Manager in JupyterLab 3.x and 4.x, so the dated installer should not be treated as proof that every part of the appendix is equally old.

One configuration suggestion deserves particular care: the appendix proposes setting c.NotebookApp.token = '' to avoid copying a token between browsers. Retain authentication rather than copying that setting. The review did not test this configuration or establish how its examples behave with a current installation.

Our measured dependency footprint does not describe the separate Anaconda installation. Check the installation guidance for your platform before following that route, and keep your exercise copies separate from the original notebooks.

The README states a CC-BY-NC-ND license for the book. Review those terms before translating, adapting or redistributing the material.

Repository activity does not establish teaching support

The supplied repository metadata records the last push as May 20, 2026. Release status could not be established from the supplied lookup. There is no supplied issues listing that establishes subsequent discussion or support activity.

The push date alone does not establish abandonment or responsive teaching support. Support responsiveness and full-notebook compatibility remain unassessed. For a reading decision, sampling an explanation and checking the setup instructions provide more direct evidence of suitability.

Compare the learning formats

Think Python provides Jupyter notebooks and supporting material for Allen B. Downey's third edition. Its README links to an online book with links to run each chapter on Colab. Choose it when that book-and-Colab workflow suits you.

learn-python groups Python scripts by topic, with explanations and assertions. Choose it when you want to inspect and modify examples or revisit Python syntax. Neither alternative received comparative setup or learning-outcome testing in the supplied evidence.

The documentation score is an editorial assessment of the supplied reading path. On this scale, 1 means an essential reading path is missing, 3 means the main path is explained with material caveats, and 5 requires detailed guidance that has also been independently exercised. Scores 2 and 4 fall between those boundaries. This book earns 3: the contents, chapters and appendix explain how to begin, but the installer and authentication examples need care. Setup ease, community support and maturity remain unassessed.

Start with the leap-year chapter. If you can follow its Chinese explanation and reason through the expected answers, continue with the book. If language interrupts the exercise, choose a teaching text you can read comfortably.

Alternatives

ProjectWhat it isPick it when
Think PythonJupyter notebooks and supporting material for Allen B. Downey's third edition of Think Python.Choose it when you want a book with links to run each chapter on Colab.
learn-pythonPython scripts grouped by topic, with explanations and assertions.Choose it when you want to inspect and modify examples or revisit Python syntax.

What people are saying

  1. [github-trending] xiaolai/the-craft-of-selfteaching

Sources

  1. Book README
  2. Jupyter appendix
  3. Test-driven development chapter
  4. Think Python README
  5. learn-python README

More dev tools reviews

skills · compress · dsh-dafeiyu · awesome-ai-engineering · go-git · CS2-Bot-Improver · the whole board →