File tree Expand file tree Collapse file tree 6 files changed +234
-80
lines changed Expand file tree Collapse file tree 6 files changed +234
-80
lines changed Original file line number Diff line number Diff line change 14
14
runs-on : ${{ matrix.os }}
15
15
strategy :
16
16
matrix :
17
- python : ["3.8 "]
17
+ python : ["3.9 "]
18
18
os : [ubuntu-22.04]
19
19
node : [10]
20
20
fail-fast : false
Original file line number Diff line number Diff line change 1
- FROM python:3.8 .10-slim as base
1
+ FROM python:3.9 .10-slim as base
2
2
#
3
3
# USAGE:
4
4
# cd services/osparc-python-runner
@@ -21,6 +21,8 @@ RUN apt-get update \
21
21
&& apt-get -y install --no-install-recommends \
22
22
jq \
23
23
&& rm --recursive --force /var/lib/apt/lists/*
24
+ # install uv
25
+ COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/
24
26
25
27
# -------------------------- Build stage -------------------
26
28
# Installs build/package management tools and third party dependencies
Original file line number Diff line number Diff line change 1
1
#
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 :
4
4
#
5
5
# pip-compile --output-file=requirements.txt
6
6
#
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
10
10
# via
11
11
# jsonschema
12
12
# referencing
13
13
binaryornot == 0.4.4
14
14
# via cookiecutter
15
- black == 23.7 .0
15
+ black == 25.1 .0
16
16
# via -r requirements.in
17
17
bump2version == 1.0.1
18
18
# via bumpversion
19
19
bumpversion == 0.6.0
20
20
# via -r requirements.in
21
- certifi == 2021.10.8
21
+ certifi == 2025.4.26
22
22
# via requests
23
- chardet == 4.0 .0
23
+ chardet == 5.2 .0
24
24
# via binaryornot
25
- charset-normalizer == 2.0.12
25
+ charset-normalizer == 3.4.2
26
26
# via requests
27
- click == 8.1.0
27
+ click == 8.1.8
28
28
# via
29
29
# black
30
30
# cookiecutter
31
- cookiecutter == 2.1.1
31
+ cookiecutter == 2.6.0
32
32
# via pytest-cookies
33
- coverage [toml ]== 6.3.2
33
+ coverage [toml ]== 7.8.0
34
34
# via
35
35
# -r requirements.in
36
36
# pytest-cov
37
- docker == 6.0 .0
37
+ docker == 7.1 .0
38
38
# via -r requirements.in
39
- idna == 3.3
39
+ exceptiongroup == 1.3.0
40
+ # via pytest
41
+ idna == 3.10
40
42
# via requests
41
- iniconfig == 1 .1.1
43
+ iniconfig == 2 .1.0
42
44
# 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
48
46
# via cookiecutter
49
- jsonschema == 4.19 .0
47
+ jsonschema == 4.23 .0
50
48
# 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
52
54
# via jinja2
53
- mypy-extensions == 0.4.3
55
+ mdurl == 0.1.2
56
+ # via markdown-it-py
57
+ mypy-extensions == 1.1.0
54
58
# via black
55
- packaging == 23 .0
59
+ packaging == 25 .0
56
60
# via
57
61
# black
58
- # docker
59
62
# pytest
60
63
# pytest-sugar
61
- pathspec == 0.9.0
64
+ pathspec == 0.12.1
62
65
# via black
63
- platformdirs == 2.5.1
66
+ platformdirs == 4.3.8
64
67
# via black
65
- pluggy == 1.0 .0
68
+ pluggy == 1.6 .0
66
69
# 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
74
73
# via
75
74
# -r requirements.in
76
75
# pytest-cookies
@@ -80,44 +79,56 @@ pytest==7.1.3
80
79
# pytest-sugar
81
80
pytest-cookies == 0.7.0
82
81
# via -r requirements.in
83
- pytest-cov == 4 .1.0
82
+ pytest-cov == 6 .1.1
84
83
# via -r requirements.in
85
84
pytest-instafail == 0.5.0
86
85
# via -r requirements.in
87
- pytest-mock == 3.11.1
86
+ pytest-mock == 3.14.0
88
87
# via -r requirements.in
89
- pytest-sugar == 0.9.7
88
+ pytest-sugar == 1.0.0
90
89
# via -r requirements.in
91
- python-dateutil == 2.8.2
90
+ python-dateutil == 2.9.0.post0
92
91
# via arrow
93
- python-slugify == 6.1.1
92
+ python-slugify == 8.0.4
94
93
# via cookiecutter
95
- pyyaml == 6.0.1
94
+ pyyaml == 6.0.2
96
95
# via
97
96
# -r requirements.in
98
97
# cookiecutter
99
- requests == 2.27.1
98
+ referencing == 0.36.2
99
+ # via
100
+ # jsonschema
101
+ # jsonschema-specifications
102
+ requests == 2.32.3
100
103
# via
101
104
# cookiecutter
102
105
# docker
103
- rpds-py == 0.8.10
106
+ rich == 14.0.0
107
+ # via cookiecutter
108
+ rpds-py == 0.25.0
104
109
# via
105
110
# jsonschema
106
111
# referencing
107
- six == 1.16 .0
112
+ six == 1.17 .0
108
113
# via python-dateutil
109
- termcolor == 1 .1.0
114
+ termcolor == 3 .1.0
110
115
# via pytest-sugar
111
116
text-unidecode == 1.3
112
117
# via python-slugify
113
- tomli == 2.0 .1
118
+ tomli == 2.2 .1
114
119
# via
115
120
# black
116
121
# coverage
117
122
# 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
119
132
# via
120
133
# docker
121
134
# requests
122
- websocket-client == 1.3.2
123
- # via docker
Original file line number Diff line number Diff line change @@ -117,17 +117,16 @@ def setup():
117
117
"set -o nounset" ,
118
118
"IFS=$(printf '\\ n\\ t')" ,
119
119
'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 } "' ,
123
123
"\n " .join (bash_input_env_export ),
124
124
"\n " .join (bash_output_env_export ),
125
125
f'echo "Executing code { user_code_entrypoint .name } ..."' ,
126
126
f'"{ venv_dir } /bin/python3" "{ user_code_entrypoint } "' ,
127
127
'echo "DONE ..."' ,
128
128
]
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 ))
131
130
132
131
133
132
def teardown ():
You can’t perform that action at this time.
0 commit comments