Skip to content

Commit 9e91632

Browse files
committed
Updates Python 3.9 & 3.8 to 3.10
1 parent 9522704 commit 9e91632

9 files changed

+124
-124
lines changed

.github/workflows/mypy_check.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414
- uses: actions/checkout@v2
1515
- uses: actions/setup-python@v3
1616
with:
17-
python-version: '3.8'
17+
python-version: '3.10'
1818
- run: pip install mypy
1919
- name: Run mypy check on all files
2020
run: mypy --strict .

Google-Summer-of-Code-2023.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ A: Oppia Android won't be able to participate in GSoC this year. Note that this
7575

7676
**Q: What technical skills do I need to work on Oppia?**
7777

78-
A: For Oppia Web, Angular 2+, Python 3.9 and Google App Engine are useful and recommended for most Oppia work; in addition, UI design skills are useful for frontend, user-facing work. Please see the individual project ideas to determine whether these skills are recommended for the project in question. Note that, although GSoC is aimed at beginner contributors to open source and at students, "beginner to open source" is not the same as "beginner to coding" -- the projects assume some proficiency with coding. This [[page of learning resources|Learning-Resources]] might be helpful for learning the technologies needed to contribute to Oppia.
78+
A: For Oppia Web, Angular 2+, Python 3.10 and Google App Engine are useful and recommended for most Oppia work; in addition, UI design skills are useful for frontend, user-facing work. Please see the individual project ideas to determine whether these skills are recommended for the project in question. Note that, although GSoC is aimed at beginner contributors to open source and at students, "beginner to open source" is not the same as "beginner to coding" -- the projects assume some proficiency with coding. This [[page of learning resources|Learning-Resources]] might be helpful for learning the technologies needed to contribute to Oppia.
7979

8080
**Q: How can I increase my chances of getting selected?**
8181

Google-Summer-of-Code-2024.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ Welcome! If you're interested in applying to work with Oppia for GSoC, please fo
7575

7676
**Q: What technical skills do I need to work on Oppia?**
7777

78-
A: For Oppia Web, Angular 2+, Python 3.9, Google App Engine and Apache Beam are useful and recommended for most Oppia work; in addition, UI design skills are helpful for frontend user-facing work, and experience with Docker and GitHub Actions is useful for developer workflow projects. Also, it is important to be able to write tests for the code you submit (using Karma, Webdriverio and unittest). Please see the individual project ideas to determine which skills are recommended for the project in question. Note that, although GSoC is aimed at beginner contributors to open source and at students, "beginner to open source" is **not** the same as "beginner to coding" -- the projects assume that you have proficiency with coding. For Oppia Web, you might find this [[page of learning resources|Learning-Resources]] helpful, as well as other pages on our [wiki](https://github.com/oppia/oppia/wiki) that provide guidance on Apache Beam, testing frameworks, etc.
78+
A: For Oppia Web, Angular 2+, Python 3.10, Google App Engine and Apache Beam are useful and recommended for most Oppia work; in addition, UI design skills are helpful for frontend user-facing work, and experience with Docker and GitHub Actions is useful for developer workflow projects. Also, it is important to be able to write tests for the code you submit (using Karma, Webdriverio and unittest). Please see the individual project ideas to determine which skills are recommended for the project in question. Note that, although GSoC is aimed at beginner contributors to open source and at students, "beginner to open source" is **not** the same as "beginner to coding" -- the projects assume that you have proficiency with coding. For Oppia Web, you might find this [[page of learning resources|Learning-Resources]] helpful, as well as other pages on our [wiki](https://github.com/oppia/oppia/wiki) that provide guidance on Apache Beam, testing frameworks, etc.
7979

8080
**Q: How can I increase my chances of getting selected?**
8181

Google-Summer-of-Code-2025.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ Good luck!
8181

8282
A: Please see the individual project ideas to determine which skills are recommended for the project in question. Also, in general:
8383

84-
- For Oppia Web, Angular 2+, Python 3.9, Google App Engine and Apache Beam are useful and recommended, and experience with Docker and GitHub Actions is useful for developer workflow projects. Also, it is important to be able to write tests for the code you submit (using Karma, Webdriverio and unittest). You might also find this [[page of learning resources|Learning-Resources]] helpful, as well as other pages on our [wiki](https://github.com/oppia/oppia/wiki) that provide guidance on Apache Beam, testing frameworks, etc.
84+
- For Oppia Web, Angular 2+, Python 3.10, Google App Engine and Apache Beam are useful and recommended, and experience with Docker and GitHub Actions is useful for developer workflow projects. Also, it is important to be able to write tests for the code you submit (using Karma, Webdriverio and unittest). You might also find this [[page of learning resources|Learning-Resources]] helpful, as well as other pages on our [wiki](https://github.com/oppia/oppia/wiki) that provide guidance on Apache Beam, testing frameworks, etc.
8585

8686
- For Oppia Android, you will need to know how to program in Kotlin, and have experience with Android development. Knowledge of Bazel may also be helpful for some projects.
8787

Installing-Oppia-(Linux;-Python-3).md

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -137,12 +137,12 @@ For your virtual environment, we recommend you use [pyenv](https://github.com/py
137137
```bash
138138
exec "$SHELL"
139139
```
140-
4. Now you can install Python 3.9.20 and the associated pip like this:
140+
4. Now you can install Python 3.10.16 and the associated pip like this:
141141

142142
```console
143-
$ pyenv install 3.9.20
144-
installing python-3.9.20...
145-
installed python-3.9.20 to /home/user/.pyenv/versions/3.9.20
143+
$ pyenv install 3.10.16
144+
installing python-3.10.16...
145+
installed python-3.10.16 to /home/user/.pyenv/versions/3.10.16
146146
```
147147

148148
5. Install direnv
@@ -151,7 +151,7 @@ exec "$SHELL"
151151
sudo apt install direnv
152152
```
153153

154-
6. Setup direnv into your shell.
154+
6. Setup direnv into your shell.
155155
If you are using bash:
156156

157157
```bash
@@ -161,7 +161,7 @@ exec "$SHELL"
161161

162162
```bash
163163
eval "$(direnv hook zsh)" >> ~/.zshrc
164-
```
164+
```
165165
> [!WARNING]
166166
> Be careful with using graphical editors like Notepad in Windows. These can add carriage returns (`\r`) that confuse our Linux-based development tools. Instead, we recommend using editors designed for programming or command-line text editors.
167167
@@ -186,7 +186,7 @@ exec "$SHELL"
186186
with this content:
187187

188188
```console
189-
use python 3.9.20
189+
use python 3.10.16
190190
```
191191

192192
Then run this command in the same folder:
@@ -406,21 +406,21 @@ On Arch Linux, you should follow these instructions to set up your virtual envir
406406

407407
3. Reload your shell or open a new terminal window to load your updated `.bashrc`, `.zshrc`, or `config.fish`
408408

409-
4. Now you can install Python 3.9.20 and the associated pip like this:
409+
4. Now you can install Python 3.10.16 and the associated pip like this:
410410

411411
```console
412-
$ pyenv install 3.9.20
413-
installing python-3.9.20...
412+
$ pyenv install 3.10.16
413+
installing python-3.10.16...
414414
patching file misc/news.d/next/build/2021-10-11-16-27-38.bpo-45405.isfdw5.rst
415415
patching file configure
416416
patching file configure.ac
417-
installed python-3.9.20 to /home/user/.pyenv/versions/3.8.1
417+
installed python-3.10.16 to /home/user/.pyenv/versions/3.10.16
418418
```
419419

420420
5. Create a virtual environment for oppia:
421421

422422
```console
423-
$ pyenv virtualenv 3.9.20 oppia
423+
$ pyenv virtualenv 3.10.16 oppia
424424
...
425425
$ pyenv versions
426426
...

Installing-Oppia-(Mac-OS;-Python-3).md

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -177,45 +177,45 @@ For your vitual environment, we recommend you use [pyenv](https://github.com/pye
177177
178178
2. Reload your shell or open a new terminal window to load your updated `~/.bash_profile` or `~/.zshrc`.
179179
180-
3. Install Python 3.9.20:
180+
3. Install Python 3.10.16:
181181
182182
```console
183-
$ pyenv install 3.9.20
183+
$ pyenv install 3.10.16
184184
Installing openssl-1.1.1k..
185-
Installed openssl-1.1.1k to /Users/user/.pyenv/versions/3.9.20
185+
Installed openssl-1.1.1k to /Users/user/.pyenv/versions/3.10.16
186186
187187
Installing readline-8.1...
188-
Installed readline-8.1 to /Users/user/.pyenv/versions/3.9.20
188+
Installed readline-8.1 to /Users/user/.pyenv/versions/3.10.16
189189
190-
Downloading Python-3.9.20.tar.xz...
191-
-> https://www.python.org/ftp/python/3.9.20/Python-3.9.20.tar.xz
192-
Installing Python-3.9.20...
190+
Downloading Python-3.10.16.tar.xz...
191+
-> https://www.python.org/ftp/python/3.10.16/Python-3.10.16.tar.xz
192+
Installing Python-3.10.16...
193193
patching file Misc/NEWS.d/next/Build/2021-10-11-16-27–38.bpo-45405.iSfdw5.rst
194194
patching file configure
195195
patching file configure.ac
196196
python-build: use zlib from xcode sdk
197-
Installed Python-3.9.20 to /Users/user/.pyenv/versions/3.9.20
197+
Installed Python-3.10.16 to /Users/user/.pyenv/versions/3.10.16
198198
```
199199
200200
4. Make Python 3 available globally on your system:
201201
202202
```console
203-
pyenv global 3.9.20
203+
pyenv global 3.10.16
204204
```
205205
206-
Note that you can use a different version of Python 3 if you prefer--we'll specify Python 3.9.20 as our version for Oppia development later.
206+
Note that you can use a different version of Python 3 if you prefer--we'll specify Python 3.10.16 as our version for Oppia development later.
207207
208208
5. Create a virtual environment for oppia by making a file `.envrc` in the `opensource/` directory with the following contents:
209209
210210
```text
211-
use python 3.9.20
211+
use python 3.10.16
212212
```
213213
214214
Then run `direnv allow` in the `opensource/` directory to allow `direnv` to run there. Whenever you are within the `opensource/` directory (or any of its subdirectories, or any of their subdirectories, etc.) the virtual environment will be active. You can confirm this by running:
215215
216216
```console
217217
$ which python
218-
.../opensource/.direnv/python-3.9.20/bin/python
218+
.../opensource/.direnv/python-3.10.16/bin/python
219219
```
220220
221221
## Running Oppia on a development server
@@ -297,9 +297,9 @@ For your vitual environment, we recommend you use [pyenv](https://github.com/pye
297297
298298
299299
Traceback (most recent call last):
300-
File "/Users/user/.pyenv/versions/3.9.20/lib/python3.8/runpy.py", line 174, in _run_module_as_main
300+
File "/Users/user/.pyenv/versions/3.10.16/lib/python3.10/runpy.py", line 174, in _run_module_as_main
301301
"__main__", fname, loader, pkg_name)
302-
File "/Users/user/.pyenv/versions/3.9.20/lib/python3.8/runpy.py", line 72, in _run_code
302+
File "/Users/user/.pyenv/versions/3.10.16/lib/python3.10/runpy.py", line 72, in _run_code
303303
exec code in run_globals
304304
File "/opensource/oppia/scripts/start.py", line 205, in <module>
305305
main()

Third-party-libraries.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ At Oppia we have a lot of dependencies, and we have many different ways of manag
3737

3838
Oppia has some development dependencies that the user has to manage themselves. These are:
3939

40-
* Python 3.9
40+
* Python 3.10
4141
* Google Chrome
4242
* git
4343
* Tools commonly found on Linux and MacOS systems like bash

0 commit comments

Comments
 (0)