Welcome to python lessons
This project is a collection of lessons for learning python. Divided into three levels, beginner, intermediate and advanced, the lessons are designed to be self contained and can be used as a reference for learning python.
Use of mkdocs to generate documentation. With mkdocs, it is possible to generate a static website with the documentation, and also to include python code with the use of docstrings.
- mkdocs: Project documentation with Markdown.
- mkdocstrings-python: Python docstrings support for MkDocs.
- docstring example: Example of docstring using google style.
Spec-driven development
Since the era of AI code agents is here, I've decided to use a spec-driven development approach for this project. Not all the lesson will be generated by AI, but AI will review the lessons, score them and plan any improvements needed on the project. The spec-driven development approach is a way to ensure that the lessons are of high quality and meet the needs of the learners.
- IMPROVEMENT_PLAN.md: Spec-driven plan to improve the quality of the lessons.
Quality Status
This repository maintains high quality standards with 100% test coverage and regular quality reviews.
Overall Project Score: 9.0/10 ⭐ Excellent (17 lessons)
| Level | Lessons | Average | Best Lesson | Status |
|---|---|---|---|---|
| Beginner | 4 | 8.8/10 | Check isinstance (9.5) ⭐ | ⭐ Excellent |
| Intermediate | 4 | 8.7/10 | Logging (9.0) ⭐ | ✅ Excellent |
| Advanced | 9 | 9.2/10 | Builder/Factory (9.5) ⭐ | ⭐ Outstanding |
See full quality review for detailed scoring.
Project layout
.github # github actions
.vscode/ # vscode settings
cspell/ # cspell configuration and custom dictionaries
docs/ # markdown files for the mkdocs documentation
adr/ # architecture decision records
advanced/ # advance lessons
assets/ # stylesheets and other assets
beginner/ # beginner lessons
contributing/ # contributing guidelines
intermediate/ # intermediate lessons
plans/ # Spec-driven plans generated by Github Copilot
index.md # documentation homepage
quality-scores.md # quality scores for the lessons
template.md # template for the lessons
src/ # python code for advanced, beginner and intermediate lessons
advanced/
beginner/
intermediate/
tests/ # tests for advanced, beginner and intermediate lessons
advanced/
beginner/
intermediate/
.gitignore # gitignore file
.markdownlint.json # markdownlint configuration
.markdownlintignore # markdownlint ignore file
.pre-commit-config.yaml # pre-commit configuration
AGENTS.md # AI agents used to generate the lessons and plans
CODE_OF_CONDUCT.MD # code of conduct file for github
CODEOWNERS # codeowners file for github
CONTRIBUTING.md # contributing guidelines
LICENSE # license file
Makefile # commands to easy use the project
mkdocs.yml # mkdocs configuration
poetry.lock # poetry lock file
pyproject.toml # python project configuration
README.md # README of the project
renovate.json # renovate configuration file