Skip to content

Commit 3183bec

Browse files
authored
Upgraded to python 3.9.10 (#143)
python 3.9 upgrade
1 parent a918ea2 commit 3183bec

File tree

6 files changed

+234
-80
lines changed

6 files changed

+234
-80
lines changed

.github/workflows/github-ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414
runs-on: ${{ matrix.os }}
1515
strategy:
1616
matrix:
17-
python: ["3.8"]
17+
python: ["3.9"]
1818
os: [ubuntu-22.04]
1919
node: [10]
2020
fail-fast: false

docker/python/Dockerfile

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM python:3.8.10-slim as base
1+
FROM python:3.9.10-slim as base
22
#
33
# USAGE:
44
# cd services/osparc-python-runner
@@ -21,6 +21,8 @@ RUN apt-get update \
2121
&& apt-get -y install --no-install-recommends \
2222
jq \
2323
&& rm --recursive --force /var/lib/apt/lists/*
24+
# install uv
25+
COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/
2426

2527
# -------------------------- Build stage -------------------
2628
# Installs build/package management tools and third party dependencies

requirements.txt

Lines changed: 60 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -1,76 +1,75 @@
11
#
2-
# This file is autogenerated by pip-compile with python 3.8
3-
# To update, run:
2+
# This file is autogenerated by pip-compile with Python 3.9
3+
# by the following command:
44
#
55
# pip-compile --output-file=requirements.txt
66
#
7-
arrow==1.2.2
8-
# via jinja2-time
9-
attrs==21.4.0
7+
arrow==1.3.0
8+
# via cookiecutter
9+
attrs==25.3.0
1010
# via
1111
# jsonschema
1212
# referencing
1313
binaryornot==0.4.4
1414
# via cookiecutter
15-
black==23.7.0
15+
black==25.1.0
1616
# via -r requirements.in
1717
bump2version==1.0.1
1818
# via bumpversion
1919
bumpversion==0.6.0
2020
# via -r requirements.in
21-
certifi==2021.10.8
21+
certifi==2025.4.26
2222
# via requests
23-
chardet==4.0.0
23+
chardet==5.2.0
2424
# via binaryornot
25-
charset-normalizer==2.0.12
25+
charset-normalizer==3.4.2
2626
# via requests
27-
click==8.1.0
27+
click==8.1.8
2828
# via
2929
# black
3030
# cookiecutter
31-
cookiecutter==2.1.1
31+
cookiecutter==2.6.0
3232
# via pytest-cookies
33-
coverage[toml]==6.3.2
33+
coverage[toml]==7.8.0
3434
# via
3535
# -r requirements.in
3636
# pytest-cov
37-
docker==6.0.0
37+
docker==7.1.0
3838
# via -r requirements.in
39-
idna==3.3
39+
exceptiongroup==1.3.0
40+
# via pytest
41+
idna==3.10
4042
# via requests
41-
iniconfig==1.1.1
43+
iniconfig==2.1.0
4244
# via pytest
43-
jinja2==3.1.1
44-
# via
45-
# cookiecutter
46-
# jinja2-time
47-
jinja2-time==0.2.0
45+
jinja2==3.1.6
4846
# via cookiecutter
49-
jsonschema==4.19.0
47+
jsonschema==4.23.0
5048
# via -r requirements.in
51-
markupsafe==2.1.1
49+
jsonschema-specifications==2025.4.1
50+
# via jsonschema
51+
markdown-it-py==3.0.0
52+
# via rich
53+
markupsafe==3.0.2
5254
# via jinja2
53-
mypy-extensions==0.4.3
55+
mdurl==0.1.2
56+
# via markdown-it-py
57+
mypy-extensions==1.1.0
5458
# via black
55-
packaging==23.0
59+
packaging==25.0
5660
# via
5761
# black
58-
# docker
5962
# pytest
6063
# pytest-sugar
61-
pathspec==0.9.0
64+
pathspec==0.12.1
6265
# via black
63-
platformdirs==2.5.1
66+
platformdirs==4.3.8
6467
# via black
65-
pluggy==1.0.0
68+
pluggy==1.6.0
6669
# via pytest
67-
py==1.11.0
68-
# via pytest
69-
pyparsing==3.0.7
70-
# via packaging
71-
pyrsistent==0.18.1
72-
# via jsonschema
73-
pytest==7.1.3
70+
pygments==2.19.1
71+
# via rich
72+
pytest==8.3.5
7473
# via
7574
# -r requirements.in
7675
# pytest-cookies
@@ -80,44 +79,56 @@ pytest==7.1.3
8079
# pytest-sugar
8180
pytest-cookies==0.7.0
8281
# via -r requirements.in
83-
pytest-cov==4.1.0
82+
pytest-cov==6.1.1
8483
# via -r requirements.in
8584
pytest-instafail==0.5.0
8685
# via -r requirements.in
87-
pytest-mock==3.11.1
86+
pytest-mock==3.14.0
8887
# via -r requirements.in
89-
pytest-sugar==0.9.7
88+
pytest-sugar==1.0.0
9089
# via -r requirements.in
91-
python-dateutil==2.8.2
90+
python-dateutil==2.9.0.post0
9291
# via arrow
93-
python-slugify==6.1.1
92+
python-slugify==8.0.4
9493
# via cookiecutter
95-
pyyaml==6.0.1
94+
pyyaml==6.0.2
9695
# via
9796
# -r requirements.in
9897
# cookiecutter
99-
requests==2.27.1
98+
referencing==0.36.2
99+
# via
100+
# jsonschema
101+
# jsonschema-specifications
102+
requests==2.32.3
100103
# via
101104
# cookiecutter
102105
# docker
103-
rpds-py==0.8.10
106+
rich==14.0.0
107+
# via cookiecutter
108+
rpds-py==0.25.0
104109
# via
105110
# jsonschema
106111
# referencing
107-
six==1.16.0
112+
six==1.17.0
108113
# via python-dateutil
109-
termcolor==1.1.0
114+
termcolor==3.1.0
110115
# via pytest-sugar
111116
text-unidecode==1.3
112117
# via python-slugify
113-
tomli==2.0.1
118+
tomli==2.2.1
114119
# via
115120
# black
116121
# coverage
117122
# pytest
118-
urllib3==1.26.9
123+
types-python-dateutil==2.9.0.20250516
124+
# via arrow
125+
typing-extensions==4.13.2
126+
# via
127+
# black
128+
# exceptiongroup
129+
# referencing
130+
# rich
131+
urllib3==2.4.0
119132
# via
120133
# docker
121134
# requests
122-
websocket-client==1.3.2
123-
# via docker

src/osparc_python_runner/main.py

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -117,17 +117,16 @@ def setup():
117117
"set -o nounset",
118118
"IFS=$(printf '\\n\\t')",
119119
'echo "Creating virtual environment ..."',
120-
f'python3 -m venv --system-site-packages --symlinks --upgrade "{venv_dir}"',
121-
f'"{venv_dir}/bin/pip" install -U pip wheel setuptools',
122-
f'"{venv_dir}/bin/pip" install -r "{requirements_txt}"',
120+
f'python3 -m virtualenv --system-site-packages --symlinks --without-pip "{venv_dir}"',
121+
'uv pip install -U pip wheel setuptools',
122+
f'uv pip install -r "{requirements_txt}"',
123123
"\n".join(bash_input_env_export),
124124
"\n".join(bash_output_env_export),
125125
f'echo "Executing code {user_code_entrypoint.name}..."',
126126
f'"{venv_dir}/bin/python3" "{user_code_entrypoint}"',
127127
'echo "DONE ..."',
128128
]
129-
main_script_path = Path("main.sh")
130-
main_script_path.write_text("\n".join(script))
129+
Path("main.sh").write_text("\n".join(script))
131130

132131

133132
def teardown():

0 commit comments

Comments
 (0)