Skip to content

Complete Python 3.10 exercise solutions and quality tooling - #7

Draft
wolph wants to merge 119 commits into
masterfrom
codex/complete-exercise-solutions
Draft

Complete Python 3.10 exercise solutions and quality tooling#7
wolph wants to merge 119 commits into
masterfrom
codex/complete-exercise-solutions

Conversation

@wolph

@wolph wolph commented Jul 29, 2026

Copy link
Copy Markdown
Member

Summary

  • add typed, documented Python 3.10-compatible canonical answers and focused pytest coverage for every exercise question
  • preserve historical higher-numbered community alternatives while restricting automated canonical gates to maintained solutions
  • add locked dependency groups, GitHub Actions CI, and Lefthook checks for Ruff, Pyrefly, mypy, Pyright, and pytest
  • cover interactive, scientific, multiprocessing, native-extension, packaging, and logging/plugin exercises with deterministic fixtures and failure-path tests

Why

The repository had incomplete canonical coverage and no single reproducible quality pipeline. This change makes each solution_00.py a maintained reference answer, documents how to run it, and verifies behavior across the repository's 52 exercise directories and 56 numbered questions.

Impact

Contributors can run the complete suite through uv and Lefthook. Canonical files are formatted, linted, typed, and tested; historical alternatives remain available but are intentionally excluded from canonical repository-wide gates.

Verification

  • Python 3.10: 884 passed, 2 skipped
  • Python 3.14: 885 passed, 1 skipped
  • Ruff format: 186 files already formatted
  • Ruff lint: passed
  • Pyrefly: 0 errors
  • mypy: no issues in 186 source files
  • Pyright: 0 errors, 0 warnings
  • strict RST rendering: 72 tracked files passed
  • exercise contract: 52/52 directories passed
  • uv lock --check: passed
  • lefthook run pre-push: passed

The skips cover the optional GNU Readline PTY integration and the version-gated newer generic syntax exercise.

wolph added 30 commits July 28, 2026 04:16
wolph added 30 commits July 28, 2026 18:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant