This is a tracking issue for errors in the general docs on the Python track.
The docs are split into the below categories (general, shared, and other) depending on their location in the repo.
General Docs (docs/)
-
help.md:
details
- These links should be reflinks.
- Line 6:
Forums should probably be Forum's or Forums'.
- Line 8: This link has a typo so it doesn't work. The correct link is: https://forum.exercism.org/
- Line 9: This link now redirects here.
- Line 11: "Libera.chat" should be capitalized as "Libera.Chat".
- Lines 13 and 15: The Pythontutor and StackOverflow links should use https.
-
representations.md:
details
- Line 5: The first time "AST" is used, the acronym should be spelled out as "abstract syntax tree (AST)".
- Line 6: "AST tree" is redundant, it can be just "AST".
- Line 12:
if __name__ == __main__ should be if __name__ == "__main__".
- Lines 26-30: The hashtags are a bit confusing, maybe they could be replaced with arrows ("-->") or a statement like "(equivalent to: )". Having spaces around the operators would also make these lines easier to read.
- Line 29: There is no space after the "-->".
- Line 32: This line should be broken up into one line per sentence. It would also be helpful to have a link to the mentioned line.
-
tests.md:
details
Other
-
CONTRIBUTING.md:
-
README.md:
details
- Overall: Some lines have trailing spaces (see MD009).
- Line 1: This
<br> is unnecessary.
- Line 4: The enclosing
<p> element is unnecessary (its vertical-align="middle" actually does nothing here; the header only appears vertically centered because of the image's specific dimensions).
- Lines 6-9, 21, 23, 71, 93, and 99 have inline links that should be converted to reflinks.
- Line 7: "Exercism_II" is not good alt text. Since the badge's label is not dynamic, it should be used instead: "Python 3.13 Powered | Exercism-Built"
- Line 8: "Exercism_III" is not good alt text. Since the badge's label is not dynamic, it should be used instead: "Contributions PAUSED"
- Lines 15-26: The enclosing
<table> and <tr> elements do nothing here, as <tbody> and <td> are missing (GitHub's HTML parsing is a lot stricter than typical parsers). The tags should be removed, as fixing the table breaks the styling.
- Lines 30, 41, 53, 63, 70, and 78: There are unnecessary
 s here.
- Line 32: Two
<br> elements make an an excessive amount of space here, one <br> is likely sufficient.
- Line 34: This should be
exercism/python, not exercism/Python.
- Lines 37 and 39: The
🌟 should be replaced with markdown list syntax: - .
- Line 43: "config.json" should be surrounded with backticks.
- Line 43: The mention of the
exercises directory should use a relative link to link to the directory.
- Lines 48-50: The enclosing
<span> here is unnecessary.
- Lines 51-58: The enclosing
<span> here is unnecessary (the align property does not exist on span elements, so it does nothing here).
- Lines 79 and 80: The indentation created by the leading
 s seems unnecessary here.
- Line 80: "version in contributing on exercism.org" is very confusing, was this supposed to mean "contributing docs on exercism.org"?
- Line 93: These sentences should be split up into their own lines.
- Line 118: This link is now invalid because the file was changed to a folder with a README.
- Line 124: This link does not go to the right header anymore, as it was renamed to
zero-clause-bsd-license-for-code-in-the-python-documentation.
This is a tracking issue for errors in the general docs on the Python track.
The docs are split into the below categories (general, shared, and other) depending on their location in the repo.
General Docs (
docs/)ABOUT.md(addressed in PR 4254):details
3.10-3.13.5" refers to Python version numbers, "Python" or "version" should probably be added to clarify.GENERATOR.md:details
-for all the list elements as per the docs.word-countadditional tests path has changed, it is nowexercises/practice/word-count/.meta/additional_tests.json%at the end of the if statement. It should be:{% for case in cases %}{% if case is error_case %}footermacro no longer exists. This should be probably be changed to mentionmacros.canonical_ref()and/ormacros.header()instead.footermacro that no longer exists. It should probably be updated based onmaster_template.j2.)and the}}, like so: "{{ macros.header(["Clock"]) }}".#Layoutshould probably be#layout.INSTALLATION.md:details
Python 3.13.5should bePython 3.13.13.Python 3.6+or even earlier versions, but we don't guarantee support for versions not listed under Active Python Releases."LEARNING.md:details
PROBLEM-SOLVING.md(addressed in PR 4253):details
RESOURCES.md:TDD.md:details
Test 1is usually going to be a kind of template with a code section for setting up the tests" seems to no longer be true. Any template/setup seems to no longer be shown to the student.FAILED TisburyTreasure > get coordinate [variation #1]".get_coordinate()here might look like the following:"stmtcode is run, the less thesetuptime will count towards the result."VOWELS = "AEIOU"should probably be changed toVOWELS = 'AEIOU'.TESTS.md:details
Python3should bepython3.pytestversion now seems to be8.4.x.path/to/exerciseis a different format than all of the other placeholders. It should probably be<path_to_exercise>instead.8.4.xdocs, this section is here: https://docs.pytest.org/en/8.4.x/how-to/failures.html#dropping-to-pdb-on-failuresTOOLS.md:details
Overall
<a name="header-name"></a>links.Top Level
Virtual Environments
Creating a virtual environment with
venvvenvs" should be "venv's" and "{name_of_virtual_env}/Lib" should be "{name_of_virtual_env}/lib".Creating a Virtual Environment using
condaUV
Working on Projects with uv: [uv][uv-docs], it should be something likeHere is the uv docs on [working on Projects with uv][uv-docs].The "uv-docs" reference is also confusing, it should be something like "uv-working-on-projects" instead.PyEnv
Editors and IDEs
______instead of the---used elsewhere in the document.Visual Studio Code
PyCharm
<details>element looks similar to a list item, it is unobvious that it can be expanded. It should probably be a nested list instead.Spyder IDE
kiteseems to be no longer maintained. Is this statement still valid?updating-spyder) seems to have been split intoupdating-a-standalone-install,updating-with-conda, andupdating-with-anacondasections.anaconda) seems to have been renamed toanaconda-base.new-conda-environment) seems to have been renamed toconda-environment.Emacs
Vim
Spacemacs
Sublime text
TRACEBACKS.md:details
Frame Object
Call Stack
How to Read a Traceback
ValueError" should probably be "of aValueError".my_func()was called on line 4, not 5.ValueErrorsection below.Common Exceptions
AssertionError
assertstatements or use the reflinks present in that section.AttributeError
Robotobject to have adirectionattribute, but when it tried to accessrobot.direction, it did not exist."#and the comment.forward()method is not relevant here, perhaps it could be removed?Robotshould beRobot().ImportError
Guidos Gorgeous Lasagna" should probably be "theGuido's Gorgeous Lasagnaexercise".</details>tag, which makes the next section be formatted as a code block inside the<details>element.IndexError
ivariable should probably be renamed to be more than one character long.KeyError
ValueError
sqrt(0)is actually valid), so perhaps it should be deleted and the next line be modified with "since negative numbers (including-1) are not valid values" or similar.Using the
printfunctionLogging
f"andnum.>>>vs...for empty lines differs between the first and second codeblocks.Python Debugger
The linked webpage seems to be broken.Edit: It is working now, but I think linking the docs here would be better, as the document already explains most of what is in the article, and the docs would provide a point for learners to dig deeper.sumshould not be used as a variable name, as it overrides the built-in function....is used in these code blocks even though output lines should not start with a...continueinstead ofc # continuewould probably be clearer.config.json:Shared Docs (
exercises/shared/.docs/)help.md:details
Forumsshould probably beForum'sorForums'.representations.md:details
if __name__ == __main__should beif __name__ == "__main__".tests.md:details
Other
CONTRIBUTING.md:README.md:details
<br>is unnecessary.<p>element is unnecessary (itsvertical-align="middle"actually does nothing here; the header only appears vertically centered because of the image's specific dimensions).<table>and<tr>elements do nothing here, as<tbody>and<td>are missing (GitHub's HTML parsing is a lot stricter than typical parsers). The tags should be removed, as fixing the table breaks the styling. s here.<br>elements make an an excessive amount of space here, one<br>is likely sufficient.exercism/python, notexercism/Python.🌟 should be replaced with markdown list syntax:-.exercisesdirectory should use a relative link to link to the directory.<span>here is unnecessary.<span>here is unnecessary (thealignproperty does not exist onspanelements, so it does nothing here). s seems unnecessary here.zero-clause-bsd-license-for-code-in-the-python-documentation.