Skip to content

Commit 3b8dc4c

Browse files
committed
string replace upgrade to 3.14
1 parent a8699b3 commit 3b8dc4c

13 files changed

+35
-35
lines changed

.github/workflows/tests.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,10 +64,10 @@ jobs:
6464
git config --global user.name "Elspeth See-Eye"
6565
git config --global init.defaultBranch main
6666
67-
- name: Set up Python 3.13
67+
- name: Set up Python 3.14
6868
uses: actions/setup-python@v5
6969
with:
70-
python-version: '3.13'
70+
python-version: '3.14'
7171

7272
- name: Install apt stuff and other dependencies
7373
shell: bash

.python-version

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
3.13
1+
3.14

chapter_09_docker.asciidoc

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -496,7 +496,7 @@ next to the _src/_ directory we made earlier:
496496
====
497497
[source,dockerfile]
498498
----
499-
FROM python:3.13-slim # <1>
499+
FROM python:3.14-slim # <1>
500500
501501
COPY src /src # <2>
502502
@@ -578,8 +578,8 @@ $ pass:quotes[*docker build -t superlists .*]
578578
=> [internal] load metadata for docker.io/library/python:slim 3.4s
579579
=> [internal] load build context 0.2s
580580
=> => transferring context: 68.54kB 0.1s
581-
=> [1/3] FROM docker.io/library/python:3.13-slim@sha256:858[...] 4.4s
582-
=> => resolve docker.io/library/python:3.13-slim@sha256:858[...] 0.0s
581+
=> [1/3] FROM docker.io/library/python:3.14-slim@sha256:858[...] 4.4s
582+
=> => resolve docker.io/library/python:3.14-slim@sha256:858[...] 0.0s
583583
=> => sha256:72ba3400286b233f3cce28e35841ed58c9e775d69cf11f[...] 0.0s
584584
=> => sha256:3a72e7f66e827fbb943c494df71d2ae024d0b1db543bf6[...] 0.0s
585585
=> => sha256:a7d9a0ac6293889b2e134861072f9099a06d78ca983d71[...] 0.5s
@@ -675,7 +675,7 @@ and then we can use `pip install` to get Django:
675675
====
676676
[source,dockerfile]
677677
----
678-
FROM python:3.13-slim
678+
FROM python:3.14-slim
679679
680680
RUN python -m venv /venv <1>
681681
ENV PATH="/venv/bin:$PATH" <2>

chapter_10_production_readiness.asciidoc

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -319,13 +319,13 @@ you use the `-r` flag, like this:
319319
----
320320
$ *pip install -r requirements.txt*
321321
Requirement already satisfied: Django==5.2.[...]
322-
./.venv/lib/python3.13/site-packages (from -r requirements.txt (line 1))
322+
./.venv/lib/python3.14/site-packages (from -r requirements.txt (line 1))
323323
(5.2.[...]
324324
Requirement already satisfied: gunicorn==23.0.0 in
325-
./.venv/lib/python3.13/site-packages (from -r requirements.txt (line 2))
325+
./.venv/lib/python3.14/site-packages (from -r requirements.txt (line 2))
326326
(23.0.0)
327327
Requirement already satisfied: whitenoise==6.11.0 in
328-
./.venv/lib/python3.13/site-packages (from -r requirements.txt (line 3))
328+
./.venv/lib/python3.14/site-packages (from -r requirements.txt (line 3))
329329
(6.11.0)
330330
Requirement already satisfied: asgiref[...]
331331
Requirement already satisfied: sqlparse[...]
@@ -391,7 +391,7 @@ Now let's see how we use that requirements file in our Dockerfile:
391391
====
392392
[source,dockerfile]
393393
----
394-
FROM python:3.13-slim
394+
FROM python:3.14-slim
395395
396396
RUN python -m venv /venv
397397
ENV PATH="/venv/bin:$PATH"
@@ -694,7 +694,7 @@ And you might have seen this warning message in the `docker run` output:
694694
[role="skipme"]
695695
[subs="specialcharacters"]
696696
----
697-
/venv/lib/python3.13/site-packages/django/core/handlers/base.py:61:
697+
/venv/lib/python3.14/site-packages/django/core/handlers/base.py:61:
698698
UserWarning: No directory at: /src/static/
699699
mw_instance = middleware(adapted_handler)
700700
----
@@ -1085,7 +1085,7 @@ Traceback (most recent call last):
10851085
nulist = List.objects.create()
10861086
^^^^^^^^^^^^^^^^^^^^^
10871087
[...]
1088-
File "/venv/lib/python3.13/site-packages/django/db/backends/sqlite3/base.py",
1088+
File "/venv/lib/python3.14/site-packages/django/db/backends/sqlite3/base.py",
10891089
line 328, in execute
10901090
return super().execute(query, params)
10911091
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

chapter_11_server_prep.asciidoc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -556,11 +556,11 @@ ansible-playbook [core 2.17.5]
556556
configured module search path = ['~/.ansible/plugins/modules',
557557
'/usr/share/ansible/plugins/modules']
558558
ansible python module location =
559-
...goat-book/.venv/lib/python3.13/site-packages/ansible
559+
...goat-book/.venv/lib/python3.14/site-packages/ansible
560560
ansible collection location =
561561
~/.ansible/collections:/usr/share/ansible/collections
562562
executable location = ...goat-book/.venv/bin/ansible-playbook
563-
python version = 3.13.0 (main, Oct 11 2024, 22:59:05) [Clang 15.0.0
563+
python version = 3.14.0 (main, Oct 11 2024, 22:59:05) [Clang 15.0.0
564564
(clang-1500.3.9.4)] (...goat-book/.venv/bin/python)
565565
jinja version = 3.1.4
566566
libyaml = True

chapter_12_ansible.asciidoc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -874,7 +874,7 @@ DJANGO_SECRET_KEY=cXACJZTvoPfWFSBSTdixJTlXCWYTnJlC
874874
DJANGO_ALLOWED_HOST=staging.ottg.co.uk
875875
DJANGO_DB_PATH=/home/nonroot/db.sqlite3
876876
GPG_KEY=7169605F62C751356D054A26A821E680E5FA6305
877-
PYTHON_VERSION=3.13.3
877+
PYTHON_VERSION=3.14.3
878878
PYTHON_SHA256=40f868bcbdeb8149a3149580bb9bfd407b3321cd48f0be631af955ac92c0e041
879879
HOME=/home/nonroot
880880
----
@@ -901,7 +901,7 @@ elspeth@server:~$ *docker inspect superlists*
901901
"DJANGO_DB_PATH=/home/nonroot/db.sqlite3",
902902
"PATH=/venv/bin:/usr/local/bin:/usr/local/sbin:/usr/[...]
903903
"GPG_KEY=7169605F62C751356D054A26A821E680E5FA6305",
904-
"PYTHON_VERSION=3.13.3",
904+
"PYTHON_VERSION=3.14.3",
905905
"PYTHON_SHA256=40f868bcbdeb8149a3149580bb9bfd407b332[...]
906906
],
907907
"Cmd": [

chapter_18_second_deploy.asciidoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ $ *docker build -t superlists . && docker run \
6666
-it superlists
6767
=> [internal] load build definition from Dockerfile 0.0s
6868
=> => transferring dockerfile: 371B 0.0s
69-
=> [internal] load metadata for docker.io/library/python:3.13-slim 1.4s
69+
=> [internal] load metadata for docker.io/library/python:3.14-slim 1.4s
7070
[...]
7171
=> => naming to docker.io/library/superlists 0.0s
7272
+ docker run -p 8888:8888 --mount

chapter_23_debugging_prod.asciidoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,7 @@ Traceback (most recent call last):
146146
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
147147
)
148148
^
149-
File "/usr/local/lib/python3.13/smtplib.py", line 876, in sendmail
149+
File "/usr/local/lib/python3.14/smtplib.py", line 876, in sendmail
150150
raise SMTPSenderRefused(code, resp, from_addr)
151151
smtplib.SMTPSenderRefused: (530, b'5.7.0 Authentication Required. [...]
152152
----

chapter_25_CI.asciidoc

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -280,7 +280,7 @@ $ python src/manage.py test lists accounts
280280
Creating test database for alias 'default'...
281281
Found 55 test(s).
282282
System check identified no issues (0 silenced).
283-
................../builds/hjwp/book-example/.venv/lib/python3.13/site-packages/django/core
283+
................../builds/hjwp/book-example/.venv/lib/python3.14/site-packages/django/core
284284
/handlers/base.py:61: UserWarning: No directory at: /builds/hjwp/book-example/src/static/
285285
mw_instance = middleware(adapted_handler)
286286
.....................................
@@ -301,7 +301,7 @@ $ cd src && python manage.py test
301301
Creating test database for alias 'default'...
302302
Found 63 test(s).
303303
System check identified no issues (0 silenced).
304-
......../builds/hjwp/book-example/.venv/lib/python3.13/site-packages/django/core/handlers
304+
......../builds/hjwp/book-example/.venv/lib/python3.14/site-packages/django/core/handlers
305305
/base.py:61: UserWarning: No directory at: /builds/hjwp/book-example/src/static/
306306
mw_instance = middleware(adapted_handler)
307307
...............................................EEEEEEEE
@@ -481,7 +481,7 @@ $ pass:specialcharacters,quotes[*docker build -f infra/Dockerfile.ci -t debug-ci
481481
=> => naming to docker.io/library/debug-ci 0.0s
482482
Traceback (most recent call last):
483483
File
484-
"//.venv/lib/python3.13/site-packages/selenium/webdriver/common/driver_finder.py",
484+
"//.venv/lib/python3.14/site-packages/selenium/webdriver/common/driver_finder.py",
485485
line 67, in _binary_paths
486486
output = SeleniumManager().binary_paths(self._to_args())
487487
[...]

pre-requisite-installations.asciidoc

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ Python is joyously simple to understand.
2525
You should be able to follow this book on Mac, Windows, or Linux.
2626
Detailed installation instructions for each OS follow.
2727

28-
TIP: This book was tested against Python 3.13.
28+
TIP: This book was tested against Python 3.14.
2929
If you're on an earlier version, you will find minor differences
3030
in the way things look in my command output listings
3131
(tracebacks won't have the `^^^^^^` carets marking error locations, for example),
@@ -95,7 +95,7 @@ The Git version control system::
9595
((("Git", "downloading")))
9696

9797

98-
A virtualenv with Python 3.13, Django 5.2, and Selenium 4 in it::
98+
A virtualenv with Python 3.14, Django 5.2, and Selenium 4 in it::
9999
Python's virtualenv and pip tools now come bundled with Python (they
100100
didn't always used to, so this is a big hooray). ((("virtualenv (virtual environment)"))) Detailed instructions for
101101
preparing your virtualenv follow.
@@ -140,7 +140,7 @@ image::images/tdd3_0001.png["Screenshot of Git installer"]
140140
.Add Python to the system path from the installer
141141
image::images/tdd3_0002.png["Screenshot of python installer"]
142142
143-
// TODO: update screenshot above for 3.13
143+
// TODO: update screenshot above for 3.14
144144
145145
The test for all this is that you should be able to go to a Git Bash command prompt
146146
and just run `python` or `pip` from any folder.
@@ -155,7 +155,7 @@ and just run `python` or `pip` from any folder.
155155
((("Python 3", "installation and setup", "MacOS installation")))
156156
MacOS installations for Python and Git are relatively straightforward:
157157
158-
* Python 3.13 should install without a fuss from its
158+
* Python 3.14 should install without a fuss from its
159159
http://www.python.org[downloadable installer]. It will automatically install
160160
`pip`, too.
161161
@@ -193,11 +193,11 @@ provide good troubleshooting resources.
193193
((("Python 3", "installation and setup", "Linux installation")))
194194
If you're on Linux, I'm assuming you're already a glutton for punishment,
195195
so you don't need detailed installation instructions.
196-
But in brief, if Python 3.13 isn't available directly from your package manager, you can try the following:
196+
But in brief, if Python 3.14 isn't available directly from your package manager, you can try the following:
197197
198198
* On Ubuntu, you can install the
199199
https://launchpad.net/~deadsnakes/+archive/ubuntu/ppa[deadsnakes PPA].
200-
Make sure you `apt install python3.13-venv` as well as just `python3.13` to
200+
Make sure you `apt install python3.14-venv` as well as just `python3.13` to
201201
un-break the default Debian version of Python.
202202
203203
* Alternatively, https://docs.astral.sh/uv/guides/install-python[uv]
@@ -208,7 +208,7 @@ But in brief, if Python 3.13 isn't available directly from your package manager,
208208
* Alternatively, compiling Python from source
209209
is actually surprisingly easy!
210210
211-
However you install it, make sure you can run Python 3.13 from a terminal.
211+
However you install it, make sure you can run Python 3.14 from a terminal.
212212
*******************************************************************************
213213

214214

@@ -246,18 +246,18 @@ Stick to the name ".venv" for the virtualenv, though:
246246
.on Windows:
247247
----
248248
$ *cd goat-book*
249-
$ *py -3.13 -m venv .venv*
249+
$ *py -3.14 -m venv .venv*
250250
----
251251

252252
On Windows, the `py` executable is a shortcut for different Python versions. On
253-
Mac or Linux, we use `python3.13`:
253+
Mac or Linux, we use `python3.14`:
254254

255255

256256
[subs=quotes]
257257
.on Mac/Linux:
258258
----
259259
$ *cd goat-book*
260-
$ *python3.13 -m venv .venv*
260+
$ *python3.14 -m venv .venv*
261261
----
262262

263263

0 commit comments

Comments
 (0)