Skip to content

Commit c865759

Browse files
authored
Updated refrences to Python 3.10 --> 3.11. (exercism#3384)
1 parent 9bbd540 commit c865759

File tree

8 files changed

+59
-32
lines changed

8 files changed

+59
-32
lines changed

CONTRIBUTING.md

+7-6
Original file line numberDiff line numberDiff line change
@@ -28,14 +28,13 @@ Please read this [community blog post](https://exercism.org/blog/freeing-our-mai
2828
**`exercism/Python`** is one of many programming language tracks on [exercism(dot)org][exercism-website].
2929
This repo holds all the instructions, tests, code, & support files for Python _exercises_ currently under development or implemented & available for students.
3030

31-
🌟   Track exercises support Python `3.7` - `3.10.6`.
31+
🌟   Track exercises support Python `3.7` - `3.11.2`.
3232
Exceptions to this support are noted where they occur.
33-
🌟   Track tooling (_test-runner, representer, analyzer, and Continuous Integration_) runs on Python `3.10.6`.
33+
🌟   Track tooling (_test-runner, representer, analyzer, and Continuous Integration_) runs on Python `3.11.2`.
3434

35-
Exercises are grouped into **concept** exercises which teach the [Python syllabus][python-syllabus], and **practice** exercises, which are unlocked by progressing in the syllabus tree  🌴  .
36-
Concept exercises are constrained to a small set of language or syntax features.
37-
Practice exercises are open-ended, and can be used to practice concepts learned, try out new techniques, and _play_.
38-
These two exercise groupings can be found in the track [config.json][config-json], and under the `python/exercises` directory.
35+
Exercises are grouped into **concept** exercises which teach the [Python syllabus][python-syllabus], and **practice** exercises, which are unlocked by progressing in the syllabus tree  🌴 .
36+
Concept exercises are constrained to a small set of language or syntax features.
37+
Practice exercises are open-ended, and can be used to practice concepts learned, try out new techniques, and _play_. These two exercise groupings can be found in the track [config.json][config-json], and under the `python/exercises` directory.
3938

4039
<br>
4140

@@ -430,3 +429,5 @@ configlet generate <path/to/track> --spec-path path/to/problem/specifications
430429
[version-tagged-language-features]: https://docs.python.org/3/library/stdtypes.html#dict.popitem
431430
[website-contributing-section]: https://exercism.org/docs/building
432431
[yapf]: https://github.com/google/yapf
432+
433+
[config-json]: https://github.com/exercism/python/blob/main/config.json

README.md

+14-9
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<p vertical-align="middle"><h1>Exercism Python Track</h1></p>
55

66
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[![Discourse topics](https://img.shields.io/discourse/topics?color=8A08E6&label=Connect%20&labelColor=FFDF58&logo=Discourse&logoColor=8A08E6&server=https%3A%2F%2Fforum.exercism.org&style=social)](https://forum.exercism.org)
7-
&nbsp;&nbsp;[![Exercism_II](https://img.shields.io/badge/Exercism--Built-9101FF?logo=python&logoColor=FFDF58&labelColor=3D7AAB&label=Python%203.10%20Powered)](https://exercism.org)
7+
&nbsp;&nbsp;[![Exercism_II](https://img.shields.io/badge/Exercism--Built-9101FF?logo=python&logoColor=FFDF58&labelColor=3D7AAB&label=Python%203.11%20Powered)](https://exercism.org)
88
&nbsp;&nbsp;[![Exercism_III](https://img.shields.io/badge/PAUSED-C73D4E?labelColor=3D454D&label=Contributions)](https://exercism.org/blog/freeing-our-maintainers)
99
&nbsp; [![Build Status](https://github.com/exercism/python/workflows/Exercises%20check/badge.svg)](https://github.com/exercism/python/actions?query=workflow%3A%22Exercises+check%22)
1010

@@ -17,11 +17,13 @@ Hi. &nbsp;👋🏽 &nbsp;👋 &nbsp;**We are happy you are here.**&nbsp; 🎉&nb
1717
**`exercism/Python`** is one of many programming language tracks on [exercism(dot)org][exercism-website].
1818
This repo holds all the instructions, tests, code, & support files for Python _exercises_ currently under development or implemented & available for students.
1919

20-
🌟 &nbsp;&nbsp;Track exercises support Python `3.7` - `3.10.6`.
20+
🌟 &nbsp;&nbsp;Track exercises support Python `3.7` - `3.11.2`.
2121
Exceptions to this support are noted where they occur.
22-
🌟 &nbsp;&nbsp;Track tooling (_test-runner, representer, analyzer, and Continuous Integration_) runs on Python `3.10.6`.
22+
🌟 &nbsp;&nbsp;Track tooling (_test-runner, representer, analyzer, and Continuous Integration_) runs on Python `3.11.2`.
2323

24-
Exercises are grouped into **concept** exercises which teach the [Python syllabus][python-syllabus], and **practice** exercises, which are unlocked by progressing in the syllabus tree &nbsp;🌴 &nbsp;. Concept exercises are constrained to a small set of language or syntax features. Practice exercises are open-ended, and can be used to practice concepts learned, try out new techniques, and _play_. These two exercise groupings can be found in the track [config.json][config-json], and under the `python/exercises` directory.
24+
Exercises are grouped into **concept** exercises which teach the [Python syllabus][python-syllabus], and **practice** exercises, which are unlocked by progressing in the syllabus tree &nbsp;🌴&nbsp;.
25+
Concept exercises are constrained to a small set of language or syntax features.
26+
Practice exercises are open-ended, and can be used to practice concepts learned, try out new techniques, and _play_. These two exercise groupings can be found in the track [config.json][config-json], and under the `python/exercises` directory.
2527

2628
<br><br>
2729

@@ -43,24 +45,25 @@ It might also be helpful to look at [Being a Good Community Member][being-a-good
4345

4446
We&nbsp;💛&nbsp;💙 &nbsp; our community.
4547
**`But our maintainers are not accepting community contributions at this time.`**
46-
Please read this [community blog post](https://exercism.org/blog/freeing-our-maintainers) for details.
48+
Please read this [community blog post][freeing-maintainers] for details.
4749

4850
<br>
49-
<img align="left" width="95" height="85" src="https://github.com/exercism/website-icons/blob/main/exercises/boutique-suggestions.svg">
51+
<img align="left" width="95" height="90" src="https://github.com/exercism/website-icons/blob/main/exercises/boutique-suggestions.svg">
5052

5153
Here to suggest a new feature or new exercise?? **Hooray!** &nbsp;🎉 &nbsp;
52-
We'd love if you did that via our [Exercism Community Forum](https://forum.exercism.org/). Please keep in mind [Chesterton's Fence][chestertons-fence].
54+
We'd love if you did that via our [Exercism Community Forum](https://forum.exercism.org/).
55+
Please read [Suggesting Exercise Improvements][suggesting-improvements] & [Chesterton's Fence][chestertons-fence].
5356
_Thoughtful suggestions will likely result faster & more enthusiastic responses from volunteers._
5457

5558
<br>
56-
5759
<img align="left" width="85" height="80" src="https://github.com/exercism/website-icons/blob/main/exercises/word-search.svg">
5860

5961
&nbsp;🦄&nbsp; _**Want to jump directly into Exercism specifications & detail?**_
6062
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Structure][exercism-track-structure] **|** [Tasks][exercism-tasks] **|** [Concepts][exercism-concepts] **|** [Concept Exercises][concept-exercises] **|** [Practice Exercises][practice-exercises] **|** [Presentation][exercise-presentation]
6163
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Writing Style Guide][exercism-writing-style] **|** [Markdown Specification][exercism-markdown-specification] (_✨ version in [contributing][website-contributing-section] on exercism.org_)
6264

63-
<br><br>
65+
<br>
66+
<br>
6467

6568
## Python Software and Documentation
6669

@@ -94,10 +97,12 @@ This repository uses the [MIT License](/LICENSE).
9497
[exercism-track-structure]: https://github.com/exercism/docs/tree/main/building/tracks
9598
[exercism-website]: https://exercism.org/
9699
[exercism-writing-style]: https://github.com/exercism/docs/blob/main/building/markdown/style-guide.md
100+
[freeing-maintainers]: https://exercism.org/blog/freeing-our-maintainers
97101
[practice-exercises]: https://github.com/exercism/docs/blob/main/building/tracks/practice-exercises.md
98102
[prs]: https://github.com/exercism/docs/blob/main/community/good-member/pull-requests.md
99103
[psf-license]: https://docs.python.org/3/license.html#psf-license
100104
[python-syllabus]: https://exercism.org/tracks/python/concepts
105+
[suggesting-improvements]: https://github.com/exercism/docs/blob/main/community/good-member/suggesting-exercise-improvements.md
101106
[the-words-that-we-use]: https://github.com/exercism/docs/blob/main/community/good-member/words.md
102107
[website-contributing-section]: https://exercism.org/docs/building
103108
[zero-clause-bsd]: https://docs.python.org/3/license.html#zero-clause-bsd-license-for-code-in-the-python-release-documentation

docs/ABOUT.md

+8-4
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,14 @@ Code can be written and executed from the command line, in an interactive interp
2020
The [zen of Python (PEP 20)][the zen of python] and [What is Pythonic?][what is pythonic] lay out additional philosophies and perspectives on the language.
2121

2222

23-
This track currently uses `Python 3.9.0`.
23+
Tests and tooling for this track currently support `3.7` - `3.10.6` (_tests_) and [`Python 3.11`][311-new-features] (_tooling_).
2424
It is highly recommended that students upgrade to at least `Python 3.8`, as some features used by this track may not be supported in earlier versions.
25-
That being said, most exercises can be completed using Python 3.7, and many can be worked in Python 3.6.
26-
We will note when a feature is only available in a certain version.
25+
That being said, most of the exercises will work with `Python 3.6+`, and many are compatible with `Python 2.7+`.
26+
But we don't guarantee support for versions not listed under [Active Python Releases][active-python-releases].
27+
We will try to note when a feature is only available in a certain version.
2728

2829

29-
Complete documentation for the current release of Python (3.9.7) can be found at [docs.python.org][python docs].
30+
Complete documentation for the current release of Python (3.11.2) can be found at [docs.python.org][python docs].
3031

3132
- [Python Tutorial][python tutorial]
3233
- [Python Library Reference][python library reference]
@@ -36,6 +37,9 @@ Complete documentation for the current release of Python (3.9.7) can be found at
3637
- [Python Glossary of Terms][python glossary of terms]
3738

3839

40+
41+
[311-new-features]: https://docs.python.org/3/whatsnew/3.11.html
42+
[active-python-releases]: https://www.python.org/downloads/
3943
[duck typing]: https://en.wikipedia.org/wiki/Duck_typing
4044
[dynamic typing in python]: https://stackoverflow.com/questions/11328920/is-python-strongly-typed
4145
[editors for python]: https://djangostars.com/blog/python-ide/

docs/GENERATOR.md

+13-4
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
# Exercism Python Track Test Generator
22

3-
The Python track uses a generator script and [Jinja2] templates for
4-
creating test files from the canonical data.
3+
The Python track uses a generator script and [Jinja2][Jinja2] templates for
4+
creating test files from Exercism's [canonical data][canonical data].
5+
56

67
## Table of Contents
78

@@ -15,14 +16,16 @@ creating test files from the canonical data.
1516
* [Learning Jinja](#learning-jinja)
1617
* [Creating a templates](#creating-a-templates)
1718

19+
1820
## Script Usage
1921

20-
Test generation requires a local copy of the [problem-specifications] repository.
22+
Test generation requires a local copy of the [problem-specifications][problem-specifications] repository.
2123
The script should be run from the root `python` directory, in order to correctly
2224
access the exercises.
2325

2426
Run `bin/generate_tests.py --help` for usage information.
2527

28+
2629
## Test Templates
2730

2831
Test templates support [Jinja2] syntax, and have the following context
@@ -42,6 +45,7 @@ Additionally, the following template filters are added for convenience:
4245
- `error_case`: Checks if a test case expects an error to be thrown (ex: `{% for case in cases%}{% if case is error_case}`)
4346
- `regex_replace`: Regex string replacement (ex: `{{ "abc123" | regex_replace("\\d", "D") }}` -> `abcDDD`)
4447

48+
4549
### Conventions
4650

4751
- General-use macros for highly repeated template structures are defined in `config/generator_macros.j2`.
@@ -63,6 +67,7 @@ files.
6367
# Additional tests for this track
6468
```
6569

70+
6671
### Layout
6772

6873
Most templates will look something like this:
@@ -83,6 +88,7 @@ class {{ exercise | camel_case }}Test(unittest.TestCase):
8388
{{ macros.footer() }}
8489
```
8590

91+
8692
### Overriding Imports
8793

8894
The names imported in `macros.header()` may be overridden by adding
@@ -92,6 +98,7 @@ a list of alternate names to import (ex:`clock`):
9298
{{ macros.header(["Clock"])}}
9399
```
94100

101+
95102
### Ignoring Properties
96103

97104
On rare occasion, it may be necessary to filter out properties that
@@ -102,6 +109,7 @@ are not tested in this track. The `header` macro also accepts an
102109
{{ macros.header(ignore=["scores"]) }}
103110
```
104111

112+
105113
## Learning Jinja
106114

107115
Starting with the [Jinja Documentation] is highly recommended, but a complete reading is not strictly necessary.
@@ -127,8 +135,9 @@ Additional Resources:
127135

128136

129137

138+
[Jinja Documentation]: https://jinja.palletsprojects.com/en/3.1.x/
130139
[Jinja2]: https://palletsprojects.com/p/jinja/
131-
[Jinja Documentation]: https://jinja.palletsprojects.com/en/2.10.x/
132140
[Primer on Jinja Templating]: https://realpython.com/primer-on-jinja-templating/
133141
[Python Jinja tutorial]: http://zetcode.com/python/jinja/
142+
[canonical data]: https://github.com/exercism/problem-specifications/tree/main/exercises
134143
[problem-specifications]: https://github.com/exercism/problem-specifications

docs/INSTALLATION.md

+12-6
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ Finally, these posts by Brett Cannon [A quick-and-dirty guide][quick-and-dirty]
77

88
**Note for MacOS users:** prior to MacOS Monterey (12.3), `Python 2.7` came pre-installed with the operating system.
99
Using `Python 2.7` with Exercism or most other programs is not recommended.
10-
You should instead install Python 3 via one of the methods detailed below.
10+
You should instead install [Python 3][Python-three downloads] via one of the methods detailed below.
1111
As of MacOS Monterey (12.3), no version of Python will be pre-installed via MacOS.
1212

1313
Some quick links into the documentation by operating system:
@@ -18,12 +18,18 @@ Some quick links into the documentation by operating system:
1818
We recommend reviewing some of the methods outlined in the Real Python article [Installing Python][installing-python] or the articles by Brett Cannon linked above.
1919

2020

21-
Exercism tests and tooling currently support `Python 3.8` (_tests_) and `Python 3.9` (_tooling_).
22-
This means that the [newest features of Python `3.10`][310-new-features] are **not** currently supported.
23-
Please refer to the [Python 3.9.x documentation][3.9 docs] for what is currently supported.
21+
Exercism tests and tooling currently support `3.7` - `3.10.6` (_tests_) and [`Python 3.11`][311-new-features] (_tooling_).
22+
Exceptions to this support are noted where they occur.
23+
Most of the exercises will work with `Python 3.6+`, and many are compatible with `Python 2.7+`.
24+
But we don't guarantee support for versions not listed under [Active Python Releases][active-python-releases].
2425

25-
[3.9 docs]: https://docs.python.org/3.9/
26-
[310-new-features]: https://docs.python.org/3/whatsnew/3.10.html
26+
27+
Please refer to the [Python 3.11.x documentation][3.11 docs] for what is currently supported.
28+
29+
[3.11 docs]: https://docs.python.org/3.11/
30+
[311-new-features]: https://docs.python.org/3/whatsnew/3.11.html
31+
[Python-three downloads]: https://www.python.org/downloads/
32+
[active-python-releases]: https://www.python.org/downloads/
2733
[helpful guide]: https://realpython.com/installing-python/
2834
[installing-python]: https://realpython.com/installing-python/#what-your-options-are_1
2935
[macos]: https://docs.python.org/3/using/mac.html

docs/LEARNING.md

+3-2
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,13 @@ Below you will find some additional jumping-off places to start your learning jo
2121
- [Think Python][Think Python]
2222
- [Python for Non-Programmers][python-for-non-programmers]
2323
- [Python 4 Everyone][python4everyone]
24-
- [Introduction to Computer Science and Programming in Python (MIT)][mitocw600]
2524
- [Googles Python Class][googles python class]
2625
- [Microsoft's Python Learning Path][MS Python]
27-
- [PyCharm EDU **IDE** and **Courses**][pycharm edu] (_paid_)
26+
- [Introduction to Computer Science and Programming in Python (MIT)][mitocw600]
27+
- [Harvard CS50P][CS50P]
2828

2929

30+
[CS50P]: https://pll.harvard.edu/course/cs50s-introduction-programming-python?delta=0
3031
[Learn X in Y minutes]: https://learnxinyminutes.com/docs/python3/
3132
[MS Python]: https://docs.microsoft.com/en-us/learn/paths/python-language/
3233
[Python Documentation Tutorial]: https://docs.python.org/3/tutorial/index.html

docs/TESTS.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -272,5 +272,5 @@ export PATH=”$PATH:{python_directory}}”
272272
[python command line]: https://docs.python.org/3/using/cmdline.html
273273
[python-m-pip]: https://snarky.ca/why-you-should-use-python-m-pip/
274274
[quick-and-dirty]: https://snarky.ca/a-quick-and-dirty-guide-on-how-to-install-packages-for-python/
275-
[tutorial from pycqa.org]: https://pylint.pycqa.org/en/latest/tutorial.html
275+
[tutorial from pycqa.org]: https://pylint.pycqa.org/en/v2.17.2/tutorial.html
276276
[working with custom markers]: https://docs.pytest.org/en/6.2.x/example/markers.html#working-with-custom-markers

exercises/shared/.docs/help.md

+1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
Below are some resources for getting help if you run into trouble:
44

55
- [The PSF](https://www.python.org) hosts Python downloads, documentation, and community resources.
6+
- [The Exercism Community on Discord](https://exercism.org/r/discord)
67
- [Python Community on Discord](https://pythondiscord.com/) is a very helpful and active community.
78
- [/r/learnpython/](https://www.reddit.com/r/learnpython/) is a subreddit designed for Python learners.
89
- [#python on Libera.chat](https://www.python.org/community/irc/) this is where the core developers for the language hang out and get work done.

0 commit comments

Comments
 (0)