pythonlings 0.3.1__tar.gz → 0.4.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {pythonlings-0.3.1 → pythonlings-0.4.0}/CHANGELOG.md +20 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/PKG-INFO +6 -6
- {pythonlings-0.3.1 → pythonlings-0.4.0}/Readme.md +5 -5
- pythonlings-0.4.0/docs/superpowers/plans/2026-06-20-zero-config-first-run.md +644 -0
- pythonlings-0.4.0/docs/superpowers/specs/2026-06-20-zero-config-first-run-design.md +128 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/pyproject.toml +1 -1
- {pythonlings-0.3.1 → pythonlings-0.4.0}/pythonlings/cli.py +49 -23
- {pythonlings-0.3.1 → pythonlings-0.4.0}/pythonlings/core/curriculum.py +4 -1
- {pythonlings-0.3.1 → pythonlings-0.4.0}/pythonlings/core/manifest.py +1 -1
- pythonlings-0.4.0/pythonlings/core/workspace.py +57 -0
- pythonlings-0.4.0/tests/conftest.py +19 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/tests/integration/test_cli_workspace.py +23 -5
- pythonlings-0.4.0/tests/integration/test_first_run.py +53 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/tests/unit/test_curriculum.py +1 -1
- pythonlings-0.4.0/tests/unit/test_workspace.py +70 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/.github/pull_request_template.md +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/.github/workflows/ci.yml +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/.github/workflows/pages.yml +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/.github/workflows/publish.yml +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/.gitignore +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/AGENTS.md +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/CLAUDE.md +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/CNAME +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/CODE_OF_CONDUCT.md +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/CONTRIBUTING.md +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/LICENSE +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/RELEASE.md +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/SECURITY.md +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/async/async1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/async/async10.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/async/async2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/async/async3.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/async/async4.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/async/async5.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/async/async6.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/async/async7.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/async/async8.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/async/async9.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/classes/classes1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/classes/classes10.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/classes/classes11.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/classes/classes12.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/classes/classes2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/classes/classes3.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/classes/classes4.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/classes/classes5.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/classes/classes6.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/classes/classes7.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/classes/classes8.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/classes/classes9.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/collections/collections1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/collections/collections10.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/collections/collections2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/collections/collections3.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/collections/collections4.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/collections/collections5.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/collections/collections6.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/collections/collections7.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/collections/collections8.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/collections/collections9.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/comprehensions/comprehensions1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/comprehensions/comprehensions10.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/comprehensions/comprehensions2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/comprehensions/comprehensions3.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/comprehensions/comprehensions4.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/comprehensions/comprehensions5.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/comprehensions/comprehensions6.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/comprehensions/comprehensions7.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/comprehensions/comprehensions8.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/comprehensions/comprehensions9.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/conditionals/conditionals1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/conditionals/conditionals10.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/conditionals/conditionals2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/conditionals/conditionals3.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/conditionals/conditionals4.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/conditionals/conditionals5.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/conditionals/conditionals6.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/conditionals/conditionals7.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/conditionals/conditionals8.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/conditionals/conditionals9.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/context_managers/context_managers1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/context_managers/context_managers2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/context_managers/context_managers3.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/context_managers/context_managers4.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/context_managers/context_managers5.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/context_managers/context_managers6.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/context_managers/context_managers7.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/context_managers/context_managers8.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/dataclasses/dataclasses1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/dataclasses/dataclasses2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/dataclasses/dataclasses3.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/dataclasses/dataclasses4.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/dataclasses/dataclasses5.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/dataclasses/dataclasses6.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/dataclasses/dataclasses7.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/dataclasses/dataclasses8.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/datetime/datetime1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/datetime/datetime2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/datetime/datetime3.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/datetime/datetime4.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/datetime/datetime5.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/datetime/datetime6.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/datetime/datetime7.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/datetime/datetime8.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/decorators/decorators1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/decorators/decorators10.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/decorators/decorators2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/decorators/decorators3.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/decorators/decorators4.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/decorators/decorators5.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/decorators/decorators6.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/decorators/decorators7.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/decorators/decorators8.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/decorators/decorators9.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/dictionaries/dictionaries1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/dictionaries/dictionaries10.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/dictionaries/dictionaries2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/dictionaries/dictionaries3.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/dictionaries/dictionaries4.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/dictionaries/dictionaries5.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/dictionaries/dictionaries6.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/dictionaries/dictionaries7.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/dictionaries/dictionaries8.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/dictionaries/dictionaries9.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/enums/enums1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/enums/enums2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/enums/enums3.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/enums/enums4.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/enums/enums5.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/enums/enums6.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/exceptions/exceptions1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/exceptions/exceptions10.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/exceptions/exceptions2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/exceptions/exceptions3.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/exceptions/exceptions4.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/exceptions/exceptions5.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/exceptions/exceptions6.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/exceptions/exceptions7.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/exceptions/exceptions8.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/exceptions/exceptions9.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/file_io/file_io1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/file_io/file_io10.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/file_io/file_io2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/file_io/file_io3.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/file_io/file_io4.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/file_io/file_io5.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/file_io/file_io6.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/file_io/file_io7.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/file_io/file_io8.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/file_io/file_io9.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/functional/functional1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/functional/functional10.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/functional/functional2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/functional/functional3.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/functional/functional4.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/functional/functional5.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/functional/functional6.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/functional/functional7.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/functional/functional8.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/functional/functional9.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/functions/functions1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/functions/functions10.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/functions/functions2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/functions/functions3.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/functions/functions4.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/functions/functions5.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/functions/functions6.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/functions/functions7.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/functions/functions8.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/functions/functions9.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/generators/generators1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/generators/generators10.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/generators/generators2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/generators/generators3.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/generators/generators4.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/generators/generators5.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/generators/generators6.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/generators/generators7.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/generators/generators8.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/generators/generators9.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/itertools/itertools1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/itertools/itertools2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/itertools/itertools3.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/itertools/itertools4.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/itertools/itertools5.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/itertools/itertools6.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/itertools/itertools7.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/itertools/itertools8.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/json/json1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/json/json2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/json/json3.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/json/json4.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/json/json5.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/json/json6.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/json/json7.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/json/json8.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/lists/lists1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/lists/lists10.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/lists/lists2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/lists/lists3.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/lists/lists4.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/lists/lists5.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/lists/lists6.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/lists/lists7.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/lists/lists8.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/lists/lists9.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/loops/loops1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/loops/loops10.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/loops/loops2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/loops/loops3.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/loops/loops4.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/loops/loops5.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/loops/loops6.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/loops/loops7.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/loops/loops8.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/loops/loops9.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/modules/modules1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/modules/modules2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/modules/modules3.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/modules/modules4.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/modules/modules5.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/modules/modules6.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/modules/modules7.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/modules/modules8.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/oop_advanced/oop_advanced1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/oop_advanced/oop_advanced10.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/oop_advanced/oop_advanced11.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/oop_advanced/oop_advanced12.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/oop_advanced/oop_advanced2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/oop_advanced/oop_advanced3.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/oop_advanced/oop_advanced4.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/oop_advanced/oop_advanced5.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/oop_advanced/oop_advanced6.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/oop_advanced/oop_advanced7.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/oop_advanced/oop_advanced8.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/oop_advanced/oop_advanced9.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/pathlib/pathlib1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/pathlib/pathlib2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/pathlib/pathlib3.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/pathlib/pathlib4.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/pathlib/pathlib5.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/pathlib/pathlib6.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/recursion/recursion1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/recursion/recursion2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/recursion/recursion3.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/recursion/recursion4.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/recursion/recursion5.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/recursion/recursion6.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/recursion/recursion7.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/recursion/recursion8.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/regex/regex1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/regex/regex10.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/regex/regex2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/regex/regex3.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/regex/regex4.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/regex/regex5.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/regex/regex6.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/regex/regex7.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/regex/regex8.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/regex/regex9.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/sets/sets1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/sets/sets10.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/sets/sets2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/sets/sets3.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/sets/sets4.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/sets/sets5.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/sets/sets6.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/sets/sets7.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/sets/sets8.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/sets/sets9.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/strings/strings1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/strings/strings10.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/strings/strings2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/strings/strings3.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/strings/strings4.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/strings/strings5.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/strings/strings6.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/strings/strings7.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/strings/strings8.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/strings/strings9.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/testing/testing1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/testing/testing10.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/testing/testing11.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/testing/testing12.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/testing/testing2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/testing/testing3.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/testing/testing4.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/testing/testing5.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/testing/testing6.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/testing/testing7.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/testing/testing8.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/testing/testing9.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/tuples/tuples1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/tuples/tuples10.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/tuples/tuples2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/tuples/tuples3.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/tuples/tuples4.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/tuples/tuples5.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/tuples/tuples6.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/tuples/tuples7.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/tuples/tuples8.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/tuples/tuples9.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/type_hints/type_hints1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/type_hints/type_hints2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/type_hints/type_hints3.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/type_hints/type_hints4.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/type_hints/type_hints5.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/type_hints/type_hints6.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/type_hints/type_hints7.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/type_hints/type_hints8.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/variables/variables1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/variables/variables10.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/variables/variables2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/variables/variables3.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/variables/variables4.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/variables/variables5.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/variables/variables6.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/variables/variables7.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/variables/variables8.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/checks/variables/variables9.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/docs/DEMO_GIF.md +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/docs/RELEASE_PROCESS.md +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/docs/assets/demos/pythonlings-demo.gif +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/docs/assets/screenshots/coding-screen.png +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/docs/assets/screenshots/docs-reference.png +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/docs/assets/screenshots/topic-picker.png +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/docs/demo.tape +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/docs/roadmap/0.3.0.md +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/docs/superpowers/plans/2026-05-19-pylings-rustlings-ux.md +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/docs/superpowers/plans/2026-05-20-pylings-builtin-editor.md +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/docs/superpowers/plans/2026-05-20-pylings-hidden-checks.md +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/docs/superpowers/plans/2026-05-20-pylings-topics-and-curriculum.md +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/docs/superpowers/plans/2026-05-22-pylings-interaction-model-upgrade.md +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/docs/superpowers/plans/2026-05-23-pylings-roadmap-curriculum-completion.md +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/docs/superpowers/plans/2026-05-25-pylings-product-maturity.md +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/docs/superpowers/plans/2026-05-26-pylings-docs-site.md +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/docs/superpowers/specs/2026-05-19-pylings-rustlings-ux-design.md +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/docs/superpowers/specs/2026-05-20-pylings-builtin-editor-design.md +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/docs/superpowers/specs/2026-05-20-pylings-hidden-checks-design.md +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/docs/superpowers/specs/2026-05-20-pylings-topics-and-curriculum-design.md +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/docs/superpowers/specs/2026-05-22-pylings-interaction-model-upgrade-design.md +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/docs/superpowers/specs/2026-05-23-pylings-roadmap-curriculum-completion-design.md +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/docs/superpowers/specs/2026-05-26-pylings-docs-site-design.md +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/docs/superpowers/specs/2026-06-02-gap-audit-design.md +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/docs-site/CNAME +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/docs-site/contributing.md +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/docs-site/curriculum.md +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/docs-site/index.md +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/docs-site/interface.md +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/docs-site/local-docs.md +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/docs-site/quick-start.md +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/docs-site/roadmap.md +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/docs-site/robots.txt +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/async/async1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/async/async10.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/async/async2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/async/async3.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/async/async4.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/async/async5.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/async/async6.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/async/async7.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/async/async8.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/async/async9.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/classes/classes1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/classes/classes10.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/classes/classes11.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/classes/classes12.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/classes/classes2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/classes/classes3.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/classes/classes4.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/classes/classes5.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/classes/classes6.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/classes/classes7.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/classes/classes8.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/classes/classes9.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/collections/collections1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/collections/collections10.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/collections/collections2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/collections/collections3.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/collections/collections4.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/collections/collections5.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/collections/collections6.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/collections/collections7.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/collections/collections8.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/collections/collections9.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/comprehensions/comprehensions1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/comprehensions/comprehensions10.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/comprehensions/comprehensions2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/comprehensions/comprehensions3.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/comprehensions/comprehensions4.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/comprehensions/comprehensions5.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/comprehensions/comprehensions6.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/comprehensions/comprehensions7.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/comprehensions/comprehensions8.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/comprehensions/comprehensions9.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/conditionals/conditionals1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/conditionals/conditionals10.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/conditionals/conditionals2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/conditionals/conditionals3.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/conditionals/conditionals4.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/conditionals/conditionals5.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/conditionals/conditionals6.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/conditionals/conditionals7.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/conditionals/conditionals8.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/conditionals/conditionals9.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/context_managers/context_managers1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/context_managers/context_managers2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/context_managers/context_managers3.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/context_managers/context_managers4.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/context_managers/context_managers5.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/context_managers/context_managers6.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/context_managers/context_managers7.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/context_managers/context_managers8.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/dataclasses/dataclasses1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/dataclasses/dataclasses2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/dataclasses/dataclasses3.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/dataclasses/dataclasses4.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/dataclasses/dataclasses5.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/dataclasses/dataclasses6.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/dataclasses/dataclasses7.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/dataclasses/dataclasses8.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/datetime/datetime1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/datetime/datetime2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/datetime/datetime3.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/datetime/datetime4.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/datetime/datetime5.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/datetime/datetime6.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/datetime/datetime7.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/datetime/datetime8.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/decorators/decorators1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/decorators/decorators10.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/decorators/decorators2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/decorators/decorators3.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/decorators/decorators4.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/decorators/decorators5.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/decorators/decorators6.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/decorators/decorators7.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/decorators/decorators8.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/decorators/decorators9.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/dictionaries/dictionaries1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/dictionaries/dictionaries10.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/dictionaries/dictionaries2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/dictionaries/dictionaries3.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/dictionaries/dictionaries4.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/dictionaries/dictionaries5.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/dictionaries/dictionaries6.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/dictionaries/dictionaries7.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/dictionaries/dictionaries8.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/dictionaries/dictionaries9.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/enums/enums1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/enums/enums2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/enums/enums3.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/enums/enums4.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/enums/enums5.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/enums/enums6.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/exceptions/exceptions1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/exceptions/exceptions10.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/exceptions/exceptions2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/exceptions/exceptions3.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/exceptions/exceptions4.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/exceptions/exceptions5.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/exceptions/exceptions6.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/exceptions/exceptions7.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/exceptions/exceptions8.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/exceptions/exceptions9.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/file_io/file_io1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/file_io/file_io10.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/file_io/file_io2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/file_io/file_io3.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/file_io/file_io4.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/file_io/file_io5.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/file_io/file_io6.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/file_io/file_io7.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/file_io/file_io8.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/file_io/file_io9.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/functional/functional1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/functional/functional10.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/functional/functional2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/functional/functional3.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/functional/functional4.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/functional/functional5.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/functional/functional6.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/functional/functional7.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/functional/functional8.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/functional/functional9.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/functions/functions1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/functions/functions10.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/functions/functions2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/functions/functions3.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/functions/functions4.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/functions/functions5.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/functions/functions6.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/functions/functions7.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/functions/functions8.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/functions/functions9.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/generators/generators1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/generators/generators10.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/generators/generators2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/generators/generators3.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/generators/generators4.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/generators/generators5.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/generators/generators6.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/generators/generators7.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/generators/generators8.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/generators/generators9.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/itertools/itertools1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/itertools/itertools2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/itertools/itertools3.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/itertools/itertools4.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/itertools/itertools5.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/itertools/itertools6.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/itertools/itertools7.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/itertools/itertools8.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/json/json1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/json/json2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/json/json3.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/json/json4.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/json/json5.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/json/json6.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/json/json7.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/json/json8.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/lists/lists1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/lists/lists10.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/lists/lists2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/lists/lists3.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/lists/lists4.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/lists/lists5.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/lists/lists6.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/lists/lists7.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/lists/lists8.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/lists/lists9.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/loops/loops1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/loops/loops10.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/loops/loops2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/loops/loops3.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/loops/loops4.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/loops/loops5.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/loops/loops6.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/loops/loops7.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/loops/loops8.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/loops/loops9.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/modules/modules1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/modules/modules2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/modules/modules3.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/modules/modules4.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/modules/modules5.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/modules/modules6.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/modules/modules7.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/modules/modules8.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/oop_advanced/oop_advanced1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/oop_advanced/oop_advanced10.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/oop_advanced/oop_advanced11.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/oop_advanced/oop_advanced12.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/oop_advanced/oop_advanced2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/oop_advanced/oop_advanced3.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/oop_advanced/oop_advanced4.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/oop_advanced/oop_advanced5.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/oop_advanced/oop_advanced6.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/oop_advanced/oop_advanced7.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/oop_advanced/oop_advanced8.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/oop_advanced/oop_advanced9.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/pathlib/pathlib1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/pathlib/pathlib2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/pathlib/pathlib3.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/pathlib/pathlib4.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/pathlib/pathlib5.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/pathlib/pathlib6.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/recursion/recursion1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/recursion/recursion2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/recursion/recursion3.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/recursion/recursion4.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/recursion/recursion5.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/recursion/recursion6.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/recursion/recursion7.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/recursion/recursion8.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/regex/regex1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/regex/regex10.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/regex/regex2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/regex/regex3.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/regex/regex4.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/regex/regex5.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/regex/regex6.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/regex/regex7.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/regex/regex8.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/regex/regex9.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/sets/sets1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/sets/sets10.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/sets/sets2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/sets/sets3.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/sets/sets4.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/sets/sets5.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/sets/sets6.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/sets/sets7.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/sets/sets8.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/sets/sets9.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/strings/strings1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/strings/strings10.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/strings/strings2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/strings/strings3.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/strings/strings4.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/strings/strings5.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/strings/strings6.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/strings/strings7.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/strings/strings8.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/strings/strings9.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/testing/testing1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/testing/testing10.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/testing/testing11.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/testing/testing12.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/testing/testing2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/testing/testing3.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/testing/testing4.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/testing/testing5.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/testing/testing6.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/testing/testing7.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/testing/testing8.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/testing/testing9.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/tuples/tuples1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/tuples/tuples10.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/tuples/tuples2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/tuples/tuples3.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/tuples/tuples4.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/tuples/tuples5.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/tuples/tuples6.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/tuples/tuples7.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/tuples/tuples8.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/tuples/tuples9.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/type_hints/type_hints1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/type_hints/type_hints2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/type_hints/type_hints3.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/type_hints/type_hints4.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/type_hints/type_hints5.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/type_hints/type_hints6.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/type_hints/type_hints7.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/type_hints/type_hints8.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/variables/variables1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/variables/variables10.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/variables/variables2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/variables/variables3.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/variables/variables4.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/variables/variables5.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/variables/variables6.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/variables/variables7.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/variables/variables8.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/exercises/variables/variables9.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/info.toml +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/mkdocs.yml +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/pythonlings/__init__.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/pythonlings/__main__.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/pythonlings/app.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/pythonlings/core/__init__.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/pythonlings/core/docs.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/pythonlings/core/exercise.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/pythonlings/core/reset.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/pythonlings/core/runner.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/pythonlings/core/solutions.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/pythonlings/core/state.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/pythonlings/docs/NOTICE.md +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/pythonlings/docs/__init__.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/pythonlings/docs/index.json +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/pythonlings/docs/topics/__init__.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/pythonlings/docs/topics/async.md +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/pythonlings/docs/topics/classes.md +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/pythonlings/docs/topics/collections.md +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/pythonlings/docs/topics/comprehensions.md +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/pythonlings/docs/topics/conditionals.md +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/pythonlings/docs/topics/context_managers.md +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/pythonlings/docs/topics/dataclasses.md +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/pythonlings/docs/topics/datetime.md +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/pythonlings/docs/topics/decorators.md +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/pythonlings/docs/topics/dictionaries.md +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/pythonlings/docs/topics/enums.md +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/pythonlings/docs/topics/exceptions.md +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/pythonlings/docs/topics/file_io.md +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/pythonlings/docs/topics/functional.md +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/pythonlings/docs/topics/functions.md +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/pythonlings/docs/topics/generators.md +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/pythonlings/docs/topics/itertools.md +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/pythonlings/docs/topics/json.md +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/pythonlings/docs/topics/lists.md +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/pythonlings/docs/topics/loops.md +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/pythonlings/docs/topics/modules.md +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/pythonlings/docs/topics/oop_advanced.md +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/pythonlings/docs/topics/pathlib.md +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/pythonlings/docs/topics/recursion.md +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/pythonlings/docs/topics/regex.md +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/pythonlings/docs/topics/sets.md +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/pythonlings/docs/topics/strings.md +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/pythonlings/docs/topics/testing.md +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/pythonlings/docs/topics/tuples.md +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/pythonlings/docs/topics/type_hints.md +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/pythonlings/docs/topics/variables.md +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/pythonlings/pythonlings.tcss +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/pythonlings/screens/__init__.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/pythonlings/screens/docs.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/pythonlings/screens/topic_picker.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/pythonlings/screens/track.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/pythonlings/widgets/__init__.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/pythonlings/widgets/editor_pane.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/pythonlings/widgets/exercise_tree.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/pythonlings/widgets/output_panel.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/pythonlings/widgets/progress.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/requirements-docs.txt +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/scripts/fetch_python_docs.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/scripts/generate_demo_gif.sh +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/.keep +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/_answers.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/async1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/async10.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/async2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/async3.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/async4.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/async5.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/async6.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/async7.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/async8.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/async9.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/classes1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/classes10.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/classes11.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/classes12.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/classes2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/classes3.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/classes4.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/classes5.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/classes6.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/classes7.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/classes8.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/classes9.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/collections1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/collections10.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/collections2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/collections3.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/collections4.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/collections5.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/collections6.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/collections7.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/collections8.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/collections9.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/comprehensions1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/comprehensions10.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/comprehensions2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/comprehensions3.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/comprehensions4.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/comprehensions5.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/comprehensions6.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/comprehensions7.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/comprehensions8.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/comprehensions9.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/conditionals1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/conditionals10.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/conditionals2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/conditionals3.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/conditionals4.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/conditionals5.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/conditionals6.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/conditionals7.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/conditionals8.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/conditionals9.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/context_managers1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/context_managers2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/context_managers3.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/context_managers4.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/context_managers5.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/context_managers6.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/context_managers7.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/context_managers8.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/dataclasses1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/dataclasses2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/dataclasses3.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/dataclasses4.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/dataclasses5.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/dataclasses6.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/dataclasses7.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/dataclasses8.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/datetime1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/datetime2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/datetime3.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/datetime4.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/datetime5.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/datetime6.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/datetime7.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/datetime8.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/decorators1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/decorators10.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/decorators2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/decorators3.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/decorators4.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/decorators5.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/decorators6.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/decorators7.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/decorators8.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/decorators9.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/dictionaries1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/dictionaries10.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/dictionaries2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/dictionaries3.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/dictionaries4.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/dictionaries5.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/dictionaries6.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/dictionaries7.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/dictionaries8.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/dictionaries9.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/enums1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/enums2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/enums3.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/enums4.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/enums5.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/enums6.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/exceptions1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/exceptions10.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/exceptions2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/exceptions3.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/exceptions4.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/exceptions5.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/exceptions6.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/exceptions7.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/exceptions8.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/exceptions9.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/file_io1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/file_io10.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/file_io2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/file_io3.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/file_io4.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/file_io5.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/file_io6.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/file_io7.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/file_io8.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/file_io9.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/functional1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/functional10.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/functional2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/functional3.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/functional4.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/functional5.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/functional6.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/functional7.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/functional8.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/functional9.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/functions1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/functions10.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/functions2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/functions3.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/functions4.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/functions5.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/functions6.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/functions7.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/functions8.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/functions9.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/generators1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/generators10.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/generators2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/generators3.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/generators4.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/generators5.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/generators6.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/generators7.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/generators8.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/generators9.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/itertools1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/itertools2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/itertools3.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/itertools4.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/itertools5.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/itertools6.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/itertools7.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/itertools8.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/json1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/json2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/json3.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/json4.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/json5.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/json6.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/json7.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/json8.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/lists1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/lists10.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/lists2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/lists3.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/lists4.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/lists5.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/lists6.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/lists7.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/lists8.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/lists9.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/loops1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/loops10.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/loops2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/loops3.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/loops4.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/loops5.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/loops6.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/loops7.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/loops8.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/loops9.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/modules1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/modules2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/modules3.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/modules4.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/modules5.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/modules6.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/modules7.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/modules8.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/oop_advanced1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/oop_advanced10.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/oop_advanced11.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/oop_advanced12.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/oop_advanced2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/oop_advanced3.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/oop_advanced4.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/oop_advanced5.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/oop_advanced6.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/oop_advanced7.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/oop_advanced8.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/oop_advanced9.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/pathlib1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/pathlib2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/pathlib3.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/pathlib4.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/pathlib5.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/pathlib6.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/recursion1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/recursion2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/recursion3.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/recursion4.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/recursion5.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/recursion6.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/recursion7.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/recursion8.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/regex1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/regex10.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/regex2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/regex3.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/regex4.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/regex5.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/regex6.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/regex7.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/regex8.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/regex9.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/sets1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/sets10.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/sets2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/sets3.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/sets4.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/sets5.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/sets6.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/sets7.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/sets8.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/sets9.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/strings1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/strings10.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/strings2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/strings3.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/strings4.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/strings5.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/strings6.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/strings7.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/strings8.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/strings9.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/testing1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/testing10.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/testing11.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/testing12.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/testing2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/testing3.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/testing4.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/testing5.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/testing6.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/testing7.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/testing8.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/testing9.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/tuples1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/tuples10.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/tuples2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/tuples3.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/tuples4.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/tuples5.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/tuples6.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/tuples7.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/tuples8.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/tuples9.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/type_hints1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/type_hints2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/type_hints3.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/type_hints4.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/type_hints5.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/type_hints6.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/type_hints7.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/type_hints8.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/variables1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/variables10.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/variables2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/variables3.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/variables4.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/variables5.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/variables6.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/variables7.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/variables8.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/solutions/variables9.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/tests/__init__.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/tests/fixtures/multi_topic/checks/alpha/a1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/tests/fixtures/multi_topic/checks/alpha/a2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/tests/fixtures/multi_topic/checks/beta/b1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/tests/fixtures/multi_topic/exercises/alpha/a1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/tests/fixtures/multi_topic/exercises/alpha/a2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/tests/fixtures/multi_topic/exercises/beta/b1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/tests/fixtures/multi_topic/info.toml +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/tests/fixtures/passing_curriculum/checks/passing1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/tests/fixtures/passing_curriculum/checks/passing2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/tests/fixtures/passing_curriculum/exercises/passing1.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/tests/fixtures/passing_curriculum/exercises/passing2.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/tests/fixtures/passing_curriculum/info.toml +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/tests/fixtures/tiny_curriculum/checks/asserts.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/tests/fixtures/tiny_curriculum/checks/passing.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/tests/fixtures/tiny_curriculum/checks/pending.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/tests/fixtures/tiny_curriculum/checks/syntax.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/tests/fixtures/tiny_curriculum/exercises/asserts.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/tests/fixtures/tiny_curriculum/exercises/passing.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/tests/fixtures/tiny_curriculum/exercises/pending.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/tests/fixtures/tiny_curriculum/exercises/syntax.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/tests/fixtures/tiny_curriculum/info.toml +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/tests/integration/__init__.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/tests/integration/test_cli_cold_start.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/tests/integration/test_cli_dry_run.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/tests/integration/test_cli_hint.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/tests/integration/test_cli_reset.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/tests/integration/test_cli_run.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/tests/integration/test_cli_solution.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/tests/integration/test_cli_topics.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/tests/integration/test_cli_verify.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/tests/integration/test_installed_package.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/tests/integration/test_solution_verify.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/tests/tui/__init__.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/tests/tui/test_app_pilot.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/tests/tui/test_editor_pane.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/tests/tui/test_output_panel.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/tests/unit/__init__.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/tests/unit/test_docs.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/tests/unit/test_exercise.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/tests/unit/test_manifest.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/tests/unit/test_reset.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/tests/unit/test_runner.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/tests/unit/test_solution_coverage.py +0 -0
- {pythonlings-0.3.1 → pythonlings-0.4.0}/tests/unit/test_state.py +0 -0
|
@@ -3,6 +3,26 @@
|
|
|
3
3
|
All notable changes to this project are documented here. Pythonlings follows
|
|
4
4
|
Semantic Versioning.
|
|
5
5
|
|
|
6
|
+
## [0.4.0] - 2026-06-20
|
|
7
|
+
|
|
8
|
+
### Added
|
|
9
|
+
|
|
10
|
+
- Zero-config first run: `pythonlings` with no workspace creates one at
|
|
11
|
+
`~/.pythonlings` and opens the first exercise — no `init`, no `--path`, no
|
|
12
|
+
`cd` required.
|
|
13
|
+
- `PYTHONLINGS_HOME` environment variable to point the default workspace
|
|
14
|
+
somewhere else.
|
|
15
|
+
|
|
16
|
+
### Changed
|
|
17
|
+
|
|
18
|
+
- `pythonlings init` with no `--path` now targets `~/.pythonlings` instead of
|
|
19
|
+
the current directory, so it can no longer fail by landing in a folder full
|
|
20
|
+
of unrelated files.
|
|
21
|
+
- `init` is now idempotent on an existing workspace (a friendly note instead of
|
|
22
|
+
an error), and its non-empty-directory error explains how to proceed.
|
|
23
|
+
- Every command resolves its workspace the same way: an explicit `--root`, then
|
|
24
|
+
the current directory if it is a workspace, then `~/.pythonlings`.
|
|
25
|
+
|
|
6
26
|
## [0.3.1] - 2026-06-20
|
|
7
27
|
|
|
8
28
|
### Fixed
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pythonlings
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.4.0
|
|
4
4
|
Summary: Python learnings, Rustlings-style, in a terminal TUI.
|
|
5
5
|
Project-URL: Homepage, https://github.com/abhiksark/pythonlings
|
|
6
6
|
Project-URL: Repository, https://github.com/abhiksark/pythonlings
|
|
@@ -55,14 +55,13 @@ Python documentation snippets so learners can work without leaving the terminal.
|
|
|
55
55
|
and [uv](https://docs.astral.sh/uv/):
|
|
56
56
|
|
|
57
57
|
```bash
|
|
58
|
-
uvx pythonlings
|
|
59
|
-
cd learn-python && uvx pythonlings
|
|
58
|
+
uvx pythonlings
|
|
60
59
|
```
|
|
61
60
|
|
|
62
61
|
How it works: **edit** the broken exercise in the built-in editor → checks
|
|
63
62
|
rerun as you type and advance you to the next one. That's the whole loop.
|
|
64
63
|
|
|
65
|
-
Status: `v0.
|
|
64
|
+
Status: `v0.4.0`, alpha — published on PyPI as `pythonlings`.
|
|
66
65
|
|
|
67
66
|

|
|
68
67
|
|
|
@@ -84,8 +83,9 @@ Status: `v0.3.1`, alpha — published on PyPI as `pythonlings`.
|
|
|
84
83
|
|
|
85
84
|
## What Happens When You Run It
|
|
86
85
|
|
|
87
|
-
1. `pythonlings
|
|
88
|
-
|
|
86
|
+
1. `pythonlings` with no workspace creates a self-contained one at
|
|
87
|
+
`~/.pythonlings` (override with `PYTHONLINGS_HOME` or `pythonlings init
|
|
88
|
+
--path <dir>`) and opens the first exercise.
|
|
89
89
|
2. `pythonlings` opens the first pending exercise in the terminal UI.
|
|
90
90
|
3. You edit the broken code, remove `# I AM NOT DONE`, and checks rerun as you
|
|
91
91
|
work.
|
|
@@ -20,14 +20,13 @@ Python documentation snippets so learners can work without leaving the terminal.
|
|
|
20
20
|
and [uv](https://docs.astral.sh/uv/):
|
|
21
21
|
|
|
22
22
|
```bash
|
|
23
|
-
uvx pythonlings
|
|
24
|
-
cd learn-python && uvx pythonlings
|
|
23
|
+
uvx pythonlings
|
|
25
24
|
```
|
|
26
25
|
|
|
27
26
|
How it works: **edit** the broken exercise in the built-in editor → checks
|
|
28
27
|
rerun as you type and advance you to the next one. That's the whole loop.
|
|
29
28
|
|
|
30
|
-
Status: `v0.
|
|
29
|
+
Status: `v0.4.0`, alpha — published on PyPI as `pythonlings`.
|
|
31
30
|
|
|
32
31
|

|
|
33
32
|
|
|
@@ -49,8 +48,9 @@ Status: `v0.3.1`, alpha — published on PyPI as `pythonlings`.
|
|
|
49
48
|
|
|
50
49
|
## What Happens When You Run It
|
|
51
50
|
|
|
52
|
-
1. `pythonlings
|
|
53
|
-
|
|
51
|
+
1. `pythonlings` with no workspace creates a self-contained one at
|
|
52
|
+
`~/.pythonlings` (override with `PYTHONLINGS_HOME` or `pythonlings init
|
|
53
|
+
--path <dir>`) and opens the first exercise.
|
|
54
54
|
2. `pythonlings` opens the first pending exercise in the terminal UI.
|
|
55
55
|
3. You edit the broken code, remove `# I AM NOT DONE`, and checks rerun as you
|
|
56
56
|
work.
|