Skip to content

feat(validation): validate ES uploads with bronze dataio converters and Pandera - #273

Merged
vishpillai123 merged 5 commits into
developfrom
feat/es-upload-bronze-dataio-validation
Jul 21, 2026
Merged

feat(validation): validate ES uploads with bronze dataio converters and Pandera#273
vishpillai123 merged 5 commits into
developfrom
feat/es-upload-bronze-dataio-validation

fix: style

5da8c57
Select commit
Loading
Failed to load commit list.
Google Cloud Build / edvise-api-web-dev (dev-sst-02) succeeded Jul 21, 2026 in 9m 3s

Summary

Build Information

Trigger edvise-api-web-dev
Build f10d3da4-5d90-4f52-8d2e-5e3a5403cef4
Start 2026-07-21T10:12:59-07:00
Duration 9m0.621s
Status SUCCESS

Steps

Step Status Duration
ghcr.io/astral-sh/uv:debian SUCCESS 41.642s
gcr.io/cloud-builders/docker SUCCESS 3m31s
gcr.io/cloud-builders/docker SUCCESS 2m3.665s
gcr.io/cloud-builders/docker SUCCESS 1.977s
gcr.io/cloud-builders/gcloud SUCCESS 2m34.051s
notify-slack SUCCESS 2.556s

Details


starting build "f10d3da4-5d90-4f52-8d2e-5e3a5403cef4"

FETCHSOURCE
From https://github.com/datakind/edvise-api
 * branch            5da8c577b2aa3b27dff8c0c7cfbb8b98ede2e7a8 -> FETCH_HEAD
HEAD is now at 5da8c57 fix: style
GitCommit:
5da8c577b2aa3b27dff8c0c7cfbb8b98ede2e7a8
BUILD
Starting Step #0
Step #0: Pulling image: ghcr.io/astral-sh/uv:debian
Step #0: debian: Pulling from astral-sh/uv
Step #0: b890c9407285: Pulling fs layer
Step #0: b453535073b6: Pulling fs layer
Step #0: 9e002cae30c4: Pulling fs layer
Step #0: 65956eab0c1c: Pulling fs layer
Step #0: f1b1eae8aa08: Pulling fs layer
Step #0: b453535073b6: Verifying Checksum
Step #0: b453535073b6: Download complete
Step #0: f1b1eae8aa08: Download complete
Step #0: b890c9407285: Verifying Checksum
Step #0: b890c9407285: Download complete
Step #0: 9e002cae30c4: Verifying Checksum
Step #0: 9e002cae30c4: Download complete
Step #0: 65956eab0c1c: Download complete
Step #0: b890c9407285: Pull complete
Step #0: b453535073b6: Pull complete
Step #0: 9e002cae30c4: Pull complete
Step #0: 65956eab0c1c: Pull complete
Step #0: f1b1eae8aa08: Pull complete
Step #0: Digest: sha256:59b6257276fac6ece01b0112c5dcb9c5db6f4a7effaeb7d6bfc0a7767ad5951c
Step #0: Status: Downloaded newer image for ghcr.io/astral-sh/uv:debian
Step #0: ghcr.io/astral-sh/uv:debian
Step #0: Hit:1 http://deb.debian.org/debian trixie InRelease
Step #0: Get:2 http://deb.debian.org/debian trixie-updates InRelease [47.3 kB]
Step #0: Get:3 http://deb.debian.org/debian-security trixie-security InRelease [43.4 kB]
Step #0: Get:4 http://deb.debian.org/debian trixie/main amd64 Packages [9673 kB]
Step #0: Get:5 http://deb.debian.org/debian trixie-updates/main amd64 Packages [4412 B]
Step #0: Get:6 http://deb.debian.org/debian-security trixie-security/main amd64 Packages [227 kB]
Step #0: Fetched 9995 kB in 2s (6338 kB/s)
Step #0: Reading package lists...
Step #0: Reading package lists...
Step #0: Building dependency tree...
Step #0: Reading state information...
Step #0: git is already the newest version (1:2.47.3-0+deb13u1).
Step #0: 0 upgraded, 0 newly installed, 0 to remove and 8 not upgraded.
Step #0: Downloading cpython-3.12.13-linux-x86_64-gnu (download) (32.6MiB)
Step #0:  Downloaded cpython-3.12.13-linux-x86_64-gnu (download)
Step #0: Using CPython 3.12.13
Step #0: Resolved 262 packages in 4.68s
Step #0: warning: `rignore==0.7.4` is yanked (reason: "missing wheels")
Finished Step #0
Starting Step #1
Step #1: Already have image (with digest): gcr.io/cloud-builders/docker
Step #1: Sending build context to Docker daemon  1.867MB

Step #1: Step 1/17 : ARG PYTHON_VERSION=3.12
Step #1: Step 2/17 : FROM python:${PYTHON_VERSION}-slim-bookworm AS builder
Step #1: 3.12-slim-bookworm: Pulling from library/python
Step #1: 597c6c618d36: Pulling fs layer
Step #1: 91b8d4ab0a8c: Pulling fs layer
Step #1: 278c43479e93: Pulling fs layer
Step #1: b7e97db3511b: Pulling fs layer
Step #1: b7e97db3511b: Verifying Checksum
Step #1: b7e97db3511b: Download complete
Step #1: 91b8d4ab0a8c: Verifying Checksum
Step #1: 91b8d4ab0a8c: Download complete
Step #1: 597c6c618d36: Verifying Checksum
Step #1: 597c6c618d36: Download complete
Step #1: 278c43479e93: Verifying Checksum
Step #1: 278c43479e93: Download complete
Step #1: 597c6c618d36: Pull complete
Step #1: 91b8d4ab0a8c: Pull complete
Step #1: 278c43479e93: Pull complete
Step #1: b7e97db3511b: Pull complete
Step #1: Digest: sha256:d50fb7611f86d04a3b0471b46d7557818d88983fc3136726336b2a4c657aa30b
Step #1: Status: Downloaded newer image for python:3.12-slim-bookworm
Step #1:  ---> a1e028236d55
Step #1: Step 3/17 : COPY --from=ghcr.io/astral-sh/uv:0.5.30 /uv /uvx /bin/
Step #1: 0.5.30: Pulling from astral-sh/uv
Step #1: 110868002cfe: Pulling fs layer
Step #1: 20346dd24510: Pulling fs layer
Step #1: 20346dd24510: Verifying Checksum
Step #1: 20346dd24510: Download complete
Step #1: 110868002cfe: Verifying Checksum
Step #1: 110868002cfe: Download complete
Step #1: 110868002cfe: Pull complete
Step #1: 20346dd24510: Pull complete
Step #1: Digest: sha256:bb74263127d6451222fe7f71b330edfb189ab1c98d7898df2401fbf4f272d9b9
Step #1: Status: Downloaded newer image for ghcr.io/astral-sh/uv:0.5.30
Step #1:  ---> 5450387d08bd
Step #1: Step 4/17 : ENV UV_COMPILE_BYTECODE=1
Step #1:  ---> Running in 03f8035ae06e
Step #1: Removing intermediate container 03f8035ae06e
Step #1:  ---> 0d94eb954831
Step #1: Step 5/17 : ENV UV_NO_CACHE=1
Step #1:  ---> Running in b18930fa4fa4
Step #1: Removing intermediate container b18930fa4fa4
Step #1:  ---> 07c0bc1d8168
Step #1: Step 6/17 : WORKDIR /app
Step #1:  ---> Running in 5616f9269e36
Step #1: Removing intermediate container 5616f9269e36
Step #1:  ---> 1bd2469b1111
Step #1: Step 7/17 : ADD uv.lock pyproject.toml /app/
Step #1:  ---> e7988fc674b5
Step #1: Step 8/17 : RUN apt-get update   && apt-get install -y --no-install-recommends git ca-certificates   && rm -rf /var/lib/apt/lists/*
Step #1:  ---> Running in 6fec2896f6fd
Step #1: Get:1 http://deb.debian.org/debian bookworm InRelease [151 kB]
Step #1: Get:2 http://deb.debian.org/debian bookworm-updates InRelease [55.4 kB]
Step #1: Get:3 http://deb.debian.org/debian-security bookworm-security InRelease [34.8 kB]
Step #1: Get:4 http://deb.debian.org/debian bookworm/main amd64 Packages [8790 kB]
Step #1: Get:5 http://deb.debian.org/debian bookworm-updates/main amd64 Packages [6924 B]
Step #1: Get:6 http://deb.debian.org/debian-security bookworm-security/main amd64 Packages [319 kB]
Step #1: Fetched 9357 kB in 2s (5150 kB/s)
Step #1: Reading package lists...
Step #1: Reading package lists...
Step #1: Building dependency tree...
Step #1: Reading state information...
Step #1: ca-certificates is already the newest version (20230311+deb12u1).
Step #1: The following additional packages will be installed:
Step #1:   git-man libbrotli1 libcurl3-gnutls liberror-perl libexpat1 libgdbm-compat4
Step #1:   libldap-2.5-0 libnghttp2-14 libperl5.36 libpsl5 librtmp1 libsasl2-2
Step #1:   libsasl2-modules-db libssh2-1 perl perl-modules-5.36
Step #1: Suggested packages:
Step #1:   gettext-base git-daemon-run | git-daemon-sysvinit git-doc git-email git-gui
Step #1:   gitk gitweb git-cvs git-mediawiki git-svn sensible-utils perl-doc
Step #1:   libterm-readline-gnu-perl | libterm-readline-perl-perl make
Step #1:   libtap-harness-archive-perl
Step #1: Recommended packages:
Step #1:   patch less ssh-client libldap-common publicsuffix libsasl2-modules
Step #1: The following NEW packages will be installed:
Step #1:   git git-man libbrotli1 libcurl3-gnutls liberror-perl libexpat1
Step #1:   libgdbm-compat4 libldap-2.5-0 libnghttp2-14 libperl5.36 libpsl5 librtmp1
Step #1:   libsasl2-2 libsasl2-modules-db libssh2-1 perl perl-modules-5.36
Step #1: 0 upgraded, 17 newly installed, 0 to remove and 0 not upgraded.
Step #1: Need to get 18.0 MB of archives.
Step #1: After this operation, 100 MB of additional disk space will be used.
Step #1: Get:1 http://deb.debian.org/debian bookworm/main amd64 perl-modules-5.36 all 5.36.0-7+deb12u3 [2815 kB]
Step #1: Get:2 http://deb.debian.org/debian bookworm/main amd64 libgdbm-compat4 amd64 1.23-3 [48.2 kB]
Step #1: Get:3 http://deb.debian.org/debian bookworm/main amd64 libperl5.36 amd64 5.36.0-7+deb12u3 [4196 kB]
Step #1: Get:4 http://deb.debian.org/debian bookworm/main amd64 perl amd64 5.36.0-7+deb12u3 [239 kB]
Step #1: Get:5 http://deb.debian.org/debian bookworm/main amd64 libbrotli1 amd64 1.0.9-2+b6 [275 kB]
Step #1: Get:6 http://deb.debian.org/debian bookworm/main amd64 libsasl2-modules-db amd64 2.1.28+dfsg-10 [20.3 kB]
Step #1: Get:7 http://deb.debian.org/debian bookworm/main amd64 libsasl2-2 amd64 2.1.28+dfsg-10 [59.7 kB]
Step #1: Get:8 http://deb.debian.org/debian bookworm/main amd64 libldap-2.5-0 amd64 2.5.13+dfsg-5 [183 kB]
Step #1: Get:9 http://deb.debian.org/debian bookworm/main amd64 libnghttp2-14 amd64 1.52.0-1+deb12u3 [72.4 kB]
Step #1: Get:10 http://deb.debian.org/debian bookworm/main amd64 libpsl5 amd64 0.21.2-1 [58.7 kB]
Step #1: Get:11 http://deb.debian.org/debian bookworm/main amd64 librtmp1 amd64 2.4+20151223.gitfa8646d.1-2+b2 [60.8 kB]
Step #1: Get:12 http://deb.debian.org/debian bookworm/main amd64 libssh2-1 amd64 1.10.0-3+b1 [179 kB]
Step #1: Get:13 http://deb.debian.org/debian bookworm/main amd64 libcurl3-gnutls amd64 7.88.1-10+deb12u15 [386 kB]
Step #1: Get:14 http://deb.debian.org/debian bookworm/main amd64 libexpat1 amd64 2.5.0-1+deb12u2 [99.9 kB]
Step #1: Get:15 http://deb.debian.org/debian bookworm/main amd64 liberror-perl all 0.17029-2 [29.0 kB]
Step #1: Get:16 http://deb.debian.org/debian bookworm/main amd64 git-man all 1:2.39.5-0+deb12u3 [2053 kB]
Step #1: Get:17 http://deb.debian.org/debian bookworm/main amd64 git amd64 1:2.39.5-0+deb12u3 [7264 kB]
Step #1: �[91mdebconf: delaying package configuration, since apt-utils is not installed
Step #1: �[0mFetched 18.0 MB in 0s (63.7 MB/s)
Step #1: Selecting previously unselected package perl-modules-5.36.
Step #1: (Reading database ... 
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 6695 files and directories currently installed.)
Step #1: Preparing to unpack .../00-perl-modules-5.36_5.36.0-7+deb12u3_all.deb ...
Step #1: Unpacking perl-modules-5.36 (5.36.0-7+deb12u3) ...
Step #1: Selecting previously unselected package libgdbm-compat4:amd64.
Step #1: Preparing to unpack .../01-libgdbm-compat4_1.23-3_amd64.deb ...
Step #1: Unpacking libgdbm-compat4:amd64 (1.23-3) ...
Step #1: Selecting previously unselected package libperl5.36:amd64.
Step #1: Preparing to unpack .../02-libperl5.36_5.36.0-7+deb12u3_amd64.deb ...
Step #1: Unpacking libperl5.36:amd64 (5.36.0-7+deb12u3) ...
Step #1: Selecting previously unselected package perl.
Step #1: Preparing to unpack .../03-perl_5.36.0-7+deb12u3_amd64.deb ...
Step #1: Unpacking perl (5.36.0-7+deb12u3) ...
Step #1: Selecting previously unselected package libbrotli1:amd64.
Step #1: Preparing to unpack .../04-libbrotli1_1.0.9-2+b6_amd64.deb ...
Step #1: Unpacking libbrotli1:amd64 (1.0.9-2+b6) ...
Step #1: Selecting previously unselected package libsasl2-modules-db:amd64.
Step #1: Preparing to unpack .../05-libsasl2-modules-db_2.1.28+dfsg-10_amd64.deb ...
Step #1: Unpacking libsasl2-modules-db:amd64 (2.1.28+dfsg-10) ...
Step #1: Selecting previously unselected package libsasl2-2:amd64.
Step #1: Preparing to unpack .../06-libsasl2-2_2.1.28+dfsg-10_amd64.deb ...
Step #1: Unpacking libsasl2-2:amd64 (2.1.28+dfsg-10) ...
Step #1: Selecting previously unselected package libldap-2.5-0:amd64.
Step #1: Preparing to unpack .../07-libldap-2.5-0_2.5.13+dfsg-5_amd64.deb ...
Step #1: Unpacking libldap-2.5-0:amd64 (2.5.13+dfsg-5) ...
Step #1: Selecting previously unselected package libnghttp2-14:amd64.
Step #1: Preparing to unpack .../08-libnghttp2-14_1.52.0-1+deb12u3_amd64.deb ...
Step #1: Unpacking libnghttp2-14:amd64 (1.52.0-1+deb12u3) ...
Step #1: Selecting previously unselected package libpsl5:amd64.
Step #1: Preparing to unpack .../09-libpsl5_0.21.2-1_amd64.deb ...
Step #1: Unpacking libpsl5:amd64 (0.21.2-1) ...
Step #1: Selecting previously unselected package librtmp1:amd64.
Step #1: Preparing to unpack .../10-librtmp1_2.4+20151223.gitfa8646d.1-2+b2_amd64.deb ...
Step #1: Unpacking librtmp1:amd64 (2.4+20151223.gitfa8646d.1-2+b2) ...
Step #1: Selecting previously unselected package libssh2-1:amd64.
Step #1: Preparing to unpack .../11-libssh2-1_1.10.0-3+b1_amd64.deb ...
Step #1: Unpacking libssh2-1:amd64 (1.10.0-3+b1) ...
Step #1: Selecting previously unselected package libcurl3-gnutls:amd64.
Step #1: Preparing to unpack .../12-libcurl3-gnutls_7.88.1-10+deb12u15_amd64.deb ...
Step #1: Unpacking libcurl3-gnutls:amd64 (7.88.1-10+deb12u15) ...
Step #1: Selecting previously unselected package libexpat1:amd64.
Step #1: Preparing to unpack .../13-libexpat1_2.5.0-1+deb12u2_amd64.deb ...
Step #1: Unpacking libexpat1:amd64 (2.5.0-1+deb12u2) ...
Step #1: Selecting previously unselected package liberror-perl.
Step #1: Preparing to unpack .../14-liberror-perl_0.17029-2_all.deb ...
Step #1: Unpacking liberror-perl (0.17029-2) ...
Step #1: Selecting previously unselected package git-man.
Step #1: Preparing to unpack .../15-git-man_1%3a2.39.5-0+deb12u3_all.deb ...
Step #1: Unpacking git-man (1:2.39.5-0+deb12u3) ...
Step #1: Selecting previously unselected package git.
Step #1: Preparing to unpack .../16-git_1%3a2.39.5-0+deb12u3_amd64.deb ...
Step #1: Unpacking git (1:2.39.5-0+deb12u3) ...
Step #1: Setting up libexpat1:amd64 (2.5.0-1+deb12u2) ...
Step #1: Setting up libpsl5:amd64 (0.21.2-1) ...
Step #1: Setting up libbrotli1:amd64 (1.0.9-2+b6) ...
Step #1: Setting up libnghttp2-14:amd64 (1.52.0-1+deb12u3) ...
Step #1: Setting up libsasl2-modules-db:amd64 (2.1.28+dfsg-10) ...
Step #1: Setting up perl-modules-5.36 (5.36.0-7+deb12u3) ...
Step #1: Setting up librtmp1:amd64 (2.4+20151223.gitfa8646d.1-2+b2) ...
Step #1: Setting up libgdbm-compat4:amd64 (1.23-3) ...
Step #1: Setting up libsasl2-2:amd64 (2.1.28+dfsg-10) ...
Step #1: Setting up git-man (1:2.39.5-0+deb12u3) ...
Step #1: Setting up libssh2-1:amd64 (1.10.0-3+b1) ...
Step #1: Setting up libperl5.36:amd64 (5.36.0-7+deb12u3) ...
Step #1: Setting up libldap-2.5-0:amd64 (2.5.13+dfsg-5) ...
Step #1: Setting up perl (5.36.0-7+deb12u3) ...
Step #1: Setting up libcurl3-gnutls:amd64 (7.88.1-10+deb12u15) ...
Step #1: Setting up liberror-perl (0.17029-2) ...
Step #1: Setting up git (1:2.39.5-0+deb12u3) ...
Step #1: Processing triggers for libc-bin (2.36-9+deb12u14) ...
Step #1: Removing intermediate container 6fec2896f6fd
Step #1:  ---> 431e3232bbcc
Step #1: Step 9/17 : RUN uv sync --frozen --no-install-project
Step #1:  ---> Running in 70550515bf6e
Step #1: �[91mUsing CPython 3.12.13 interpreter at: /usr/local/bin/python3
Step #1: �[0m�[91mCreating virtual environment at: .venv
Step #1: �[0m�[91m   Updating https://github.com/datakind/edvise.git (v1.5.0)
Step #1: �[0m�[91mDownloading black (1.7MiB)
Step #1: �[0m�[91mDownloading aiohttp (1.7MiB)
Step #1: �[0m�[91mDownloading jedi (1.5MiB)
Step #1: �[0m�[91mDownloading kiwisolver (1.4MiB)
Step #1: �[0m�[91mDownloading brotli (1.4MiB)
Step #1: �[0m�[91mDownloading pynacl (1.3MiB)
Step #1: �[0m�[91mDownloading lz4 (1.3MiB)
Step #1: �[0m�[91mDownloading pygments (1.2MiB)
Step #1: �[0m�[91mDownloading setuptools (1.1MiB)
Step #1: �[0m�[91mDownloading �[0m�[91mnumpy (17.1MiB)�[0m�[91m
Step #1: �[0m�[91mDownloading�[0m�[91m �[0m�[91muvloop�[0m�[91m �[0m�[91m(4.2MiB)�[0m�[91m
Step #1: �[0m�[91mDownloading�[0m�[91m widgetsnbextension�[0m�[91m �[0m�[91m(2.1MiB)�[0m�[91m
Step #1: �[0m�[91mDownloading�[0m�[91m statsmodels�[0m�[91m �[0m�[91m(9.9MiB)
Step #1: �[0m�[91mDownloading �[0m�[91mjupyterlab�[0m�[91m �[0m�[91m(11.7MiB)�[0m�[91m
Step #1: �[0m�[91mDownloading�[0m�[91m �[0m�[91mgrpcio�[0m�[91m �[0m�[91m(6.3MiB)�[0m�[91m
Step #1: �[0m�[91mDownloading�[0m�[91m �[0m�[91mscipy�[0m�[91m �[0m�[91m(34.0MiB)�[0m�[91m
Step #1: �[0m�[91mDownloading�[0m�[91m �[0m�[91mpyphen�[0m�[91m (2.0MiB)�[0m�[91m
Step #1: �[0m�[91mDownloading�[0m�[91m �[0m�[91mmypy�[0m�[91m (12.7MiB)�[0m�[91m
Step #1: �[0m�[91mDownloading�[0m�[91m �[0m�[91mfaker�[0m�[91m �[0m�[91m(1.8MiB)�[0m�[91m
Step #1: �[0m�[91mDownloading�[0m�[91m �[0m�[91mmatplotlib�[0m�[91m �[0m�[91m(8.3MiB)�[0m�[91m
Step #1: �[0m�[91mDownloading�[0m�[91m �[0m�[91mpycryptodome�[0m�[91m �[0m�[91m(2.0MiB)�[0m�[91m
Step #1: �[0m�[91mDownloading�[0m�[91m �[0m�[91mh2o�[0m�[91m �[0m�[91m(253.6MiB)�[0m�[91m
Step #1: �[0m�[91mDownloading�[0m�[91m �[0m�[91mbabel�[0m�[91m �[0m�[91m(9.7MiB)
Step #1: �[0m�[91mDownloading�[0m�[91m �[0m�[91mpandas�[0m�[91m �[0m�[91m(12.1MiB)�[0m�[91m
Step #1: �[0m�[91mDownloading �[0m�[91mcryptography�[0m�[91m �[0m�[91m(4.3MiB)�[0m�[91m
Step #1: �[0m�[91mDownloading�[0m�[91m �[0m�[91mmlflow�[0m�[91m (27.7MiB)�[0m�[91m
Step #1: �[0m�[91mDownloading pydantic-core (2.0MiB)
Step #1: Downloading databricks-connect (2.3MiB)
Step #1: Downloading fonttools (4.7MiB)
Step #1: �[0m�[91mDownloading�[0m�[91m scikit-learn�[0m�[91m �[0m�[91m(12.3MiB)�[0m�[91m
Step #1: �[0m�[91mDownloading�[0m�[91m �[0m�[91mllvmlite�[0m�[91m (53.7MiB)�[0m�[91m
Step #1: �[0m�[91mDownloading�[0m�[91m �[0m�[91mpolars�[0m�[91m �[0m�[91m(27.5MiB)�[0m�[91m
Step #1: �[0m�[91mDownloading�[0m�[91m �[0m�[91mpyarrow�[0m�[91m �[0m�[91m(40.1MiB)�[0m�[91m
Step #1: �[0m�[91mDownloading�[0m�[91m �[0m�[91mmlflow-skinny�[0m�[91m �[0m�[91m(6.0MiB)
Step #1: Downloading sqlalchemy (3.2MiB)
Step #1: Downloading debugpy (4.1MiB)
Step #1: Downloading rapidfuzz (3.0MiB)
Step #1: Downloading pillow (6.7MiB)
Step #1: �[0m�[91mDownloading�[0m�[91m �[0m�[91mruff�[0m�[91m �[0m�[91m(12.7MiB)�[0m�[91m
Step #1: �[0m�[91mDownloading�[0m�[91m �[0m�[91mnumba �[0m�[91m(3.6MiB)
Step #1: �[0m�[91m    Updated https://github.com/datakind/edvise.git (0f359a51c22e689cc21f42bfcf7279e71d2c41fb)
Step #1: �[0m�[91m   Building edvise @ git+https://github.com/datakind/edvise.git@0f359a51c22e689cc21f42bfcf7279e71d2c41fb
Step #1: �[0m�[91m Downloaded lz4
Step #1: �[0m�[91m Downloaded pygments
Step #1: �[0m�[91m Downloaded brotli
Step #1: �[0m�[91m Downloaded kiwisolver
Step #1: �[0m�[91m Downloaded pynacl
Step #1: �[0m�[91m �[0m�[91mDownloaded�[0m�[91m �[0m�[91maiohttp�[0m�[91m
Step #1: �[0m�[91m Downloaded black
Step #1: �[0m�[91m Downloaded setuptools
Step #1: �[0m�[91m Downloaded pydantic-core
Step #1: �[0m�[91m Downloaded pyphen
Step #1: �[0m�[91m Downloaded widgetsnbextension
Step #1: �[0m�[91m Downloaded pycryptodome
Step #1: �[0m�[91m Downloaded databricks-connect
Step #1: �[0m�[91m Downloaded rapidfuzz
Step #1: �[0m�[91m Downloaded sqlalchemy
Step #1: �[0m�[91m   Building thrift==0.20.0
Step #1: �[0m�[91m Downloaded debugpy
Step #1: �[0m�[91m Downloaded uvloop
Step #1: �[0m�[91m Downloaded numba
Step #1: �[0m�[91m Downloaded cryptography
Step #1: �[0m�[91m Downloaded faker
Step #1: �[0m�[91m Downloaded fonttools
Step #1: �[0m�[91m      �[0m�[91mBuilt�[0m�[91m edvise @ git+https://github.com/datakind/edvise.git@0f359a51c22e689cc21f42bfcf7279e71d2c41fb�[0m�[91m
Step #1: �[0m�[91m Downloaded grpcio
Step #1: �[0m�[91m Downloaded pillow
Step #1: �[0m�[91m Downloaded mlflow-skinny
Step #1: �[0m�[91m �[0m�[91mDownloaded babel�[0m�[91m
Step #1: �[0m�[91m      Built thrift==0.20.0
Step #1: �[0m�[91m Downloaded�[0m�[91m jupyterlab�[0m�[91m
Step #1: �[0m�[91m �[0m�[91mDownloaded�[0m�[91m �[0m�[91mmatplotlib�[0m�[91m
Step #1: �[0m�[91m Downloaded ruff
Step #1: �[0m�[91m Downloaded jedi
Step #1: �[0m�[91m Downloaded pandas
Step #1: �[0m�[91m Downloaded numpy
Step #1: �[0m�[91m Downloaded scikit-learn
Step #1: �[0m�[91m Downloaded statsmodels
Step #1: �[0m�[91m Downloaded polars
Step #1: �[0m�[91m �[0m�[91mDownloaded mlflow
Step #1: �[0m�[91m Downloaded llvmlite
Step #1: �[0m�[91m Downloaded scipy
Step #1: �[0m�[91m Downloaded pyarrow
Step #1: �[0m�[91m Downloaded mypy
Step #1: �[0m�[91m Downloaded h2o
Step #1: �[0m�[91mPrepared 255 packages in 27.13s
Step #1: �[0m�[91mInstalled 255 packages in 1.00s
Step #1: �[0m�[91mBytecode compiled 17279 files in 59.96s
Step #1: �[0m�[91m + aiofiles==25.1.0
Step #1:  + aiohappyeyeballs==2.6.1
Step #1:  + aiohttp==3.13.2�[0m�[91m
Step #1:  + aiosignal==1.4.0
Step #1:  + alembic==1.17.1
Step #1:  + annotated-types==0.7.0
Step #1:  + anyio==4.11.0
Step #1:  + argon2-cffi==25.1.0�[0m�[91m
Step #1:  + argon2-cffi-bindings==25.1.0
Step #1:  + arrow==1.4.0
Step #1:  + astroid==3.3.11�[0m�[91m
Step #1:  + asttokens==3.0.0
Step #1:  + async-lru==2.0.5
Step #1:  + attrs==25.4.0
Step #1:  + babel==2.17.0
Step #1:  + bcrypt==�[0m�[91m4.2.1
Step #1:  + beautifulsoup4==4.14.2
Step #1:  + black==25.1.0�[0m�[91m
Step #1:  + bleach==6.4.0
Step #1:  + blinker==1.9.0
Step #1:  + brotli==1.2.0
Step #1:  + cachetools==5.5.2
Step #1:  + certifi==2025.10.5�[0m�[91m
Step #1:  �[0m�[91m+�[0m�[91m �[0m�[91mcffi�[0m�[91m==�[0m�[91m2.0.0�[0m�[91m
Step #1:  �[0m�[91m+�[0m�[91m �[0m�[91mcharset-normalizer�[0m�[91m==�[0m�[91m3.4.4�[0m�[91m
Step #1:  �[0m�[91m+�[0m�[91m �[0m�[91mclick�[0m�[91m==�[0m�[91m8.3.0�[0m�[91m
Step #1: �[0m�[91m +�[0m�[91m cloud-sql-python-connector�[0m�[91m==�[0m�[91m1.14.0�[0m�[91m
Step #1:  �[0m�[91m+ �[0m�[91mcloudpickle�[0m�[91m==3.1.2�[0m�[91m
Step #1: �[0m�[91m �[0m�[91m+�[0m�[91m �[0m�[91mcomm�[0m�[91m==�[0m�[91m0.2.3�[0m�[91m
Step #1: �[0m�[91m �[0m�[91m+�[0m�[91m �[0m�[91mcontourpy�[0m�[91m==�[0m�[91m1.3.3�[0m�[91m
Step #1: �[0m�[91m +�[0m�[91m �[0m�[91mcoverage�[0m�[91m==�[0m�[91m7.6.12�[0m�[91m
Step #1: �[0m�[91m �[0m�[91m+�[0m�[91m �[0m�[91mcryptography�[0m�[91m==�[0m�[91m46.0.3�[0m�[91m
Step #1: �[0m�[91m �[0m�[91m+ �[0m�[91mcssselect2�[0m�[91m==�[0m�[91m0.8.0�[0m�[91m
Step #1: �[0m�[91m �[0m�[91m+�[0m�[91m �[0m�[91mcycler==�[0m�[91m0.12.1�[0m�[91m
Step #1:  +�[0m�[91m �[0m�[91mdatabricks-connect�[0m�[91m==16.2.6�[0m�[91m
Step #1: �[0m�[91m +�[0m�[91m �[0m�[91mdatabricks-sdk==�[0m�[91m0.38.0
Step #1: �[0m�[91m �[0m�[91m+ databricks-sql-connector�[0m�[91m==�[0m�[91m4.2.5
Step #1:  �[0m�[91m+�[0m�[91m debugpy==1.8.17
Step #1:  + decorator==5.2.1
Step #1:  �[0m�[91m+ �[0m�[91mdefusedxml�[0m�[91m==�[0m�[91m0.7.1�[0m�[91m
Step #1: �[0m�[91m +�[0m�[91m �[0m�[91mdill==0.4.0
Step #1:  + distro==1.9.0
Step #1:  + dnspython==2.8.0
Step #1:  + docker==7.1.0
Step #1:  + edvise==1.5.0 (from git+https://github.com/datakind/edvise.git@0f359a51c22e689cc21f42bfcf7279e71d2c41fb)
Step #1:  + email-validator==2.3.0
Step #1:  +�[0m�[91m et-xmlfile==2.0.0
Step #1:  + executing==2.2.1
Step #1:  + faker==33.1.0
Step #1:  +�[0m�[91m fastapi==0.115.14
Step #1:  + fastapi-cli==0.0.14
Step #1:  + fastapi-cloud-cli==0.3.1
Step #1:  + fastjsonschema==2.21.2
Step #1:  +�[0m�[91m flask==3.1.2
Step #1:  + fonttools==4.60.1
Step #1:  + fqdn�[0m�[91m==1.5.1
Step #1:  + frozenlist==1.8.0
Step #1:  + �[0m�[91mgitdb==4.0.12
Step #1:  + gitpython==3.1.45
Step #1:  + google-api-core==2.28.1
Step #1:  �[0m�[91m+ google-auth==2.42.1
Step #1:  + google-cloud-core==2.5.0
Step #1:  �[0m�[91m+ google-cloud-storage==2.19.0
Step #1:  + google-crc32c==1.7.1
Step #1:  �[0m�[91m+ google-resumable-media==2.7.2
Step #1:  +�[0m�[91m googleapis-common-protos==�[0m�[91m1.71.0�[0m�[91m
Step #1: �[0m�[91m �[0m�[91m+ graphene==3.4.3
Step #1:  �[0m�[91m+�[0m�[91m graphql-core�[0m�[91m==�[0m�[91m3.2.7
Step #1:  + graphql-relay==3.2.0
Step #1:  + greenlet==3.2.4
Step #1:  + �[0m�[91mgrpcio==�[0m�[91m1.76.0�[0m�[91m
Step #1: �[0m�[91m +�[0m�[91m grpcio-status==1.76.0
Step #1:  + gunicorn==22.0.0
Step #1:  + h11�[0m�[91m==�[0m�[91m0.16.0�[0m�[91m
Step #1: �[0m�[91m �[0m�[91m+�[0m�[91m �[0m�[91mh2o�[0m�[91m==�[0m�[91m3.46.0.7�[0m�[91m
Step #1: �[0m�[91m �[0m�[91m+�[0m�[91m �[0m�[91mhttpcore�[0m�[91m==�[0m�[91m1.0.9�[0m�[91m
Step #1:  �[0m�[91m+�[0m�[91m �[0m�[91mhttptools�[0m�[91m==�[0m�[91m0.7.1
Step #1: �[0m�[91m �[0m�[91m+�[0m�[91m httpx==0.28.1
Step #1:  +�[0m�[91m �[0m�[91midna==3.11
Step #1:  �[0m�[91m+ importlib-metadata==7.2.1
Step #1:  + iniconfig==2.3.0
Step #1:  + ipykernel==6.31.0
Step #1:  + ipython==9.6.0
Step #1:  + ipython-pygments-lexers==1.1.1
Step #1:  + ipywidgets==8.1.8
Step #1:  + isoduration==20.11.0
Step #1:  + isort==6.1.0
Step #1:  + itsdangerous==2.2.0
Step #1:  + jedi==0.19.2
Step #1:  + jinja2==3.1.6
Step #1:  + jiter==0.15.0
Step #1:  + joblib==1.5.2
Step #1:  + json5==0.12.1
Step #1:  + jsonpickle==4.0.5
Step #1:  + jsonpointer==3.0.0
Step #1:  + jsonschema==4.25.1
Step #1:  + jsonschema-specifications==2025.9.1
Step #1:  + jupyter-client==8.6.3
Step #1:  + jupyter-core==5.9.1
Step #1:  + jupyter-events==0.12.0
Step #1:  + jupyter-lsp==2.3.0
Step #1:  + jupyter-server==2.17.0
Step #1:  + jupyter-server-terminals==0.5.3
Step #1:  + jupyterlab==4.4.10
Step #1:  + jupyterlab-pygments==0.3.0
Step #1:  + jupyterlab-server==2.28.0
Step #1:  + jupyterlab-widgets==3.0.16
Step #1:  + kiwisolver==1.4.9
Step #1:  + lark==1.3.1
Step #1:  + llvmlite==0.46.0
Step #1:  + lz4==4.4.5
Step #1:  + mako==1.3.10
Step #1:  + markdown==3.10
Step #1:  + markdown-it-py==4.0.0
Step #1:  + markupsafe==3.0.3
Step #1:  + matplotlib==3.10.7
Step #1:  + matplotlib-inline==0.2.1
Step #1:  + mccabe==0.7.0
Step #1:  + mdurl==0.1.2
Step #1:  + missingno==0.5.2
Step #1:  + mistune==3.1.4
Step #1:  + mlflow==2.22.4
Step #1:  + mlflow-skinny==2.22.4
Step #1:  + multidict==6.7.0
Step #1:  + mypy==1.18.2
Step #1:  + mypy-extensions==1.1.0
Step #1:  + nbclient==0.10.2
Step #1:  + nbconvert==7.16.6
Step #1:  + nbformat==5.10.4
Step #1:  + nest-asyncio==1.6.0
Step #1:  + notebook-shim==0.2.4
Step #1:  + numba==0.63.1
Step #1:  + numpy==1.26.4
Step #1:  + oauthlib==3.3.1
Step #1:  + openai==1.109.1
Step #1:  + openpyxl==3.1.5
Step #1:  + opentelemetry-api==1.38.0
Step #1:  + opentelemetry-sdk==1.38.0
Step #1:  + opentelemetry-semantic-conventions==0.59b0
Step #1:  + packaging==24.2
Step #1:  + pandas==2.2.3
Step #1:  + pandera==0.23.1
Step #1:  + pandocfilters==1.5.1
Step #1:  + paramiko==3.5.1
Step #1:  + parso==0.8.5
Step #1:  + passlib==1.7.4
Step #1:  + pathspec==0.12.1
Step #1:  + patsy==1.0.2
Step #1:  + pexpect==4.9.0
Step #1:  + pillow==12.0.0
Step #1:  + platformdirs==4.5.0
Step #1:  + pluggy==1.6.0
Step #1:  + polars==0.20.31
Step #1:  + prometheus-client==0.23.1
Step #1:  + prompt-toolkit==3.0.52
Step #1:  + propcache==0.4.1
Step #1:  + proto-plus==1.26.1
Step #1:  + protobuf==6.33.5
Step #1:  + psutil==7.1.3
Step #1:  + ptyprocess==0.7.0
Step #1:  + pure-eval==0.2.3
Step #1:  + py4j==0.10.9.7
Step #1:  + pyarrow==19.0.1
Step #1:  + pyasn1==0.6.1
Step #1:  + pyasn1-modules==0.4.2
Step #1:  + pybreaker==1.4.1
Step #1:  + pycparser==2.23
Step #1:  + pycryptodome==3.20.0
Step #1:  + pydantic==2.12.3
Step #1:  + pydantic-core==2.41.4
Step #1:  + pydyf==0.11.0
Step #1:  + pygments==2.19.2
Step #1:  + pyjwt==2.10.1
Step #1:  + pylint==3.3.9
Step #1:  + pymysql==1.1.2
Step #1:  + pynacl==1.6.0
Step #1:  + pyparsing==3.2.5
Step #1:  + pyphen==0.17.2
Step #1:  + pytest==8.4.2
Step #1:  + python-dateutil==2.9.0.post0
Step #1:  + python-dotenv==1.0.1
Step #1:  + python-json-logger==4.0.0
Step #1:  + python-multipart==0.0.20
Step #1:  + pytz==2024.2
Step #1:  + pyyaml==6.0.3
Step #1:  + pyzmq==27.1.0
Step #1:  + rapidfuzz==3.14.3
Step #1:  + referencing==0.37.0
Step #1:  + requests==2.32.5
Step #1:  + rfc3339-validator==0.1.4
Step #1:  + rfc3986-validator==0.1.1
Step #1:  + rfc3987-syntax==1.1.0
Step #1:  + rich==14.2.0
Step #1:  + rich-toolkit==0.15.1
Step #1:  + rignore==0.7.4
Step #1:  + rpds-py==0.28.0
Step #1:  + rsa==4.9.1
Step #1:  + ruff==0.14.3
Step #1:  + scikit-learn==1.5.2
Step #1:  + scipy==1.16.3
Step #1:  + seaborn==0.13.2
Step #1:  + send2trash==1.8.3
Step #1:  + sentry-sdk==2.43.0
Step #1:  + setuptools==80.9.0
Step #1:  + shap==0.46.0
Step #1:  + shellingham==1.5.4
Step #1:  + six==1.16.0
Step #1:  + slicer==0.0.8
Step #1:  + smmap==5.0.2
Step #1:  + sniffio==1.3.1
Step #1:  + soupsieve==2.8
Step #1:  + sqlalchemy==2.0.44
Step #1:  + sqlparse==0.5.3
Step #1:  + stack-data==0.6.3
Step #1:  + starlette==0.46.2
Step #1:  + statsmodels==0.14.6
Step #1:  + strenum==0.4.15
Step #1:  + tabulate==0.9.0
Step #1:  + terminado==0.18.1
Step #1:  + thefuzz==0.22.1
Step #1:  + threadpoolctl==3.6.0
Step #1:  + thrift==0.20.0
Step #1:  + tinycss2==1.5.1
Step #1:  + tinyhtml5==2.1.0
Step #1:  + tomlkit==0.13.3
Step #1:  + tornado==6.5.2
Step #1:  + tqdm==4.67.3
Step #1:  + traitlets==5.14.3
Step #1:  + typeguard==4.4.4
Step #1:  + typer==0.20.0
Step #1:  + types-cachetools==6.2.0.20251022
Step #1:  + types-markdown==3.10.0.20251106
Step #1:  + types-paramiko==3.5.0.20250801
Step #1:  + types-pyyaml==6.0.12.20250915
Step #1:  + types-requests==2.32.0.20250602
Step #1:  + typing-extensions==4.15.0
Step #1:  + typing-inspect==0.9.0
Step #1:  + typing-inspection==0.4.2
Step #1:  + tzdata==2025.2
Step #1:  + uri-template==1.3.0
Step #1:  + urllib3==2.5.0
Step #1:  + uvicorn==0.38.0
Step #1:  + uvloop==0.22.1
Step #1:  + watchfiles==1.1.1
Step #1:  + wcwidth==0.2.14
Step #1:  + weasyprint==68.1
Step #1:  + webcolors==25.10.0
Step #1:  + webencodings==0.5.1
Step #1:  + websocket-client==1.9.0
Step #1:  + websockets==15.0.1
Step #1:  + werkzeug==3.1.3
Step #1:  + widgetsnbextension==4.0.15
Step #1:  + yarl==1.22.0
Step #1:  + zipp==3.23.0
Step #1:  + zopfli==0.4.0
Step #1: �[0mRemoving intermediate container 70550515bf6e
Step #1:  ---> 9a91c4a8a729
Step #1: Step 10/17 : ADD . /app
Step #1:  ---> 560d607ae5a2
Step #1: Step 11/17 : RUN uv sync --frozen --no-editable
Step #1:  ---> Running in de494af0e337
Step #1: �[91m   Building src @ file:///app
Step #1: �[0m�[91m      Built src @ file:///app
Step #1: �[0m�[91mPrepared 1 package in 875ms
Step #1: �[0m�[91mInstalled 1 package in 3ms
Step #1: �[0m�[91mBytecode compiled 17324 files in 2.39s
Step #1:  + src==�[0m�[91m1.2.0 (from file:///app)
Step #1: �[0mRemoving intermediate container de494af0e337
Step #1:  ---> 1a883a0be966
Step #1: Step 12/17 : ARG PYTHON_VERSION=3.12
Step #1:  ---> Running in 2492f93f2c32
Step #1: Removing intermediate container 2492f93f2c32
Step #1:  ---> ebd09cfb439a
Step #1: Step 13/17 : FROM python:${PYTHON_VERSION}-slim-bookworm
Step #1:  ---> a1e028236d55
Step #1: Step 14/17 : COPY --from=builder /app/.venv /app/.venv
Step #1:  ---> f61a0e3a11f6
Step #1: Step 15/17 : COPY --from=builder /app/src /app/src
Step #1:  ---> 83097354efb6
Step #1: Step 16/17 : ENV PATH="/app/.venv/bin:$PATH"
Step #1:  ---> Running in 3a76a32410bd
Step #1: Removing intermediate container 3a76a32410bd
Step #1:  ---> f71ad3593547
Step #1: Step 17/17 : CMD ["fastapi", "run", "app/src/webapp", "--port", "8080", "--host", "0.0.0.0"]
Step #1:  ---> Running in f3f59646d373
Step #1: Removing intermediate container f3f59646d373
Step #1:  ---> e87fb0419be1
Step #1: Successfully built e87fb0419be1
Step #1: Successfully tagged us-east4-docker.pkg.dev/dev-sst-02/edvise-api/webapp:5da8c577b2aa3b27dff8c0c7cfbb8b98ede2e7a8
Step #1: Successfully tagged us-east4-docker.pkg.dev/dev-sst-02/edvise-api/webapp:latest
Finished Step #1
Starting Step #2
Step #2: Already have image (with digest): gcr.io/cloud-builders/docker
Step #2: The push refers to repository [us-east4-docker.pkg.dev/dev-sst-02/edvise-api/webapp]
Step #2: 4970dc193777: Preparing
Step #2: 0a236ad5063b: Preparing
Step #2: 03944bf5bf4e: Preparing
Step #2: c2b26ec5a194: Preparing
Step #2: ce33c9de66cd: Preparing
Step #2: 81f823b96175: Preparing
Step #2: c2b26ec5a194: Layer already exists
Step #2: 03944bf5bf4e: Layer already exists
Step #2: ce33c9de66cd: Layer already exists
Step #2: 4970dc193777: Pushed
Step #2: 81f823b96175: Pushed
Step #2: 0a236ad5063b: Pushed
Step #2: 5da8c577b
...
[Logs truncated due to log size limitations. For full logs, see https://console.cloud.google.com/logs/viewer?advancedFilter=resource.type%3D%22build%22+AND+resource.labels.build_id%3D%22f10d3da4-5d90-4f52-8d2e-5e3a5403cef4%22+AND+resource.labels.build_trigger_id%3D%22a8177e10-c863-4f3d-bfdb-f6cfe6f24883%22&project=dev-sst-02.]
...
10868002cfe: Pull complete
Step #1: 20346dd24510: Pull complete
Step #1: Digest: sha256:bb74263127d6451222fe7f71b330edfb189ab1c98d7898df2401fbf4f272d9b9
Step #1: Status: Downloaded newer image for ghcr.io/astral-sh/uv:0.5.30
Step #1:  ---> 5450387d08bd
Step #1: Step 4/17 : ENV UV_COMPILE_BYTECODE=1
Step #1:  ---> Running in 03f8035ae06e
Step #1: Removing intermediate container 03f8035ae06e
Step #1:  ---> 0d94eb954831
Step #1: Step 5/17 : ENV UV_NO_CACHE=1
Step #1:  ---> Running in b18930fa4fa4
Step #1: Removing intermediate container b18930fa4fa4
Step #1:  ---> 07c0bc1d8168
Step #1: Step 6/17 : WORKDIR /app
Step #1:  ---> Running in 5616f9269e36
Step #1: Removing intermediate container 5616f9269e36
Step #1:  ---> 1bd2469b1111
Step #1: Step 7/17 : ADD uv.lock pyproject.toml /app/
Step #1:  ---> e7988fc674b5
Step #1: Step 8/17 : RUN apt-get update   && apt-get install -y --no-install-recommends git ca-certificates   && rm -rf /var/lib/apt/lists/*
Step #1:  ---> Running in 6fec2896f6fd
Step #1: Get:1 http://deb.debian.org/debian bookworm InRelease [151 kB]
Step #1: Get:2 http://deb.debian.org/debian bookworm-updates InRelease [55.4 kB]
Step #1: Get:3 http://deb.debian.org/debian-security bookworm-security InRelease [34.8 kB]
Step #1: Get:4 http://deb.debian.org/debian bookworm/main amd64 Packages [8790 kB]
Step #1: Get:5 http://deb.debian.org/debian bookworm-updates/main amd64 Packages [6924 B]
Step #1: Get:6 http://deb.debian.org/debian-security bookworm-security/main amd64 Packages [319 kB]
Step #1: Fetched 9357 kB in 2s (5150 kB/s)
Step #1: Reading package lists...
Step #1: Reading package lists...
Step #1: Building dependency tree...
Step #1: Reading state information...
Step #1: ca-certificates is already the newest version (20230311+deb12u1).
Step #1: The following additional packages will be installed:
Step #1:   git-man libbrotli1 libcurl3-gnutls liberror-perl libexpat1 libgdbm-compat4
Step #1:   libldap-2.5-0 libnghttp2-14 libperl5.36 libpsl5 librtmp1 libsasl2-2
Step #1:   libsasl2-modules-db libssh2-1 perl perl-modules-5.36
Step #1: Suggested packages:
Step #1:   gettext-base git-daemon-run | git-daemon-sysvinit git-doc git-email git-gui
Step #1:   gitk gitweb git-cvs git-mediawiki git-svn sensible-utils perl-doc
Step #1:   libterm-readline-gnu-perl | libterm-readline-perl-perl make
Step #1:   libtap-harness-archive-perl
Step #1: Recommended packages:
Step #1:   patch less ssh-client libldap-common publicsuffix libsasl2-modules
Step #1: The following NEW packages will be installed:
Step #1:   git git-man libbrotli1 libcurl3-gnutls liberror-perl libexpat1
Step #1:   libgdbm-compat4 libldap-2.5-0 libnghttp2-14 libperl5.36 libpsl5 librtmp1
Step #1:   libsasl2-2 libsasl2-modules-db libssh2-1 perl perl-modules-5.36
Step #1: 0 upgraded, 17 newly installed, 0 to remove and 0 not upgraded.
Step #1: Need to get 18.0 MB of archives.
Step #1: After this operation, 100 MB of additional disk space will be used.
Step #1: Get:1 http://deb.debian.org/debian bookworm/main amd64 perl-modules-5.36 all 5.36.0-7+deb12u3 [2815 kB]
Step #1: Get:2 http://deb.debian.org/debian bookworm/main amd64 libgdbm-compat4 amd64 1.23-3 [48.2 kB]
Step #1: Get:3 http://deb.debian.org/debian bookworm/main amd64 libperl5.36 amd64 5.36.0-7+deb12u3 [4196 kB]
Step #1: Get:4 http://deb.debian.org/debian bookworm/main amd64 perl amd64 5.36.0-7+deb12u3 [239 kB]
Step #1: Get:5 http://deb.debian.org/debian bookworm/main amd64 libbrotli1 amd64 1.0.9-2+b6 [275 kB]
Step #1: Get:6 http://deb.debian.org/debian bookworm/main amd64 libsasl2-modules-db amd64 2.1.28+dfsg-10 [20.3 kB]
Step #1: Get:7 http://deb.debian.org/debian bookworm/main amd64 libsasl2-2 amd64 2.1.28+dfsg-10 [59.7 kB]
Step #1: Get:8 http://deb.debian.org/debian bookworm/main amd64 libldap-2.5-0 amd64 2.5.13+dfsg-5 [183 kB]
Step #1: Get:9 http://deb.debian.org/debian bookworm/main amd64 libnghttp2-14 amd64 1.52.0-1+deb12u3 [72.4 kB]
Step #1: Get:10 http://deb.debian.org/debian bookworm/main amd64 libpsl5 amd64 0.21.2-1 [58.7 kB]
Step #1: Get:11 http://deb.debian.org/debian bookworm/main amd64 librtmp1 amd64 2.4+20151223.gitfa8646d.1-2+b2 [60.8 kB]
Step #1: Get:12 http://deb.debian.org/debian bookworm/main amd64 libssh2-1 amd64 1.10.0-3+b1 [179 kB]
Step #1: Get:13 http://deb.debian.org/debian bookworm/main amd64 libcurl3-gnutls amd64 7.88.1-10+deb12u15 [386 kB]
Step #1: Get:14 http://deb.debian.org/debian bookworm/main amd64 libexpat1 amd64 2.5.0-1+deb12u2 [99.9 kB]
Step #1: Get:15 http://deb.debian.org/debian bookworm/main amd64 liberror-perl all 0.17029-2 [29.0 kB]
Step #1: Get:16 http://deb.debian.org/debian bookworm/main amd64 git-man all 1:2.39.5-0+deb12u3 [2053 kB]
Step #1: Get:17 http://deb.debian.org/debian bookworm/main amd64 git amd64 1:2.39.5-0+deb12u3 [7264 kB]
Step #1: �[91mdebconf: delaying package configuration, since apt-utils is not installed
Step #1: �[0mFetched 18.0 MB in 0s (63.7 MB/s)
Step #1: Selecting previously unselected package perl-modules-5.36.
Step #1: (Reading database ... 
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 6695 files and directories currently installed.)
Step #1: Preparing to unpack .../00-perl-modules-5.36_5.36.0-7+deb12u3_all.deb ...
Step #1: Unpacking perl-modules-5.36 (5.36.0-7+deb12u3) ...
Step #1: Selecting previously unselected package libgdbm-compat4:amd64.
Step #1: Preparing to unpack .../01-libgdbm-compat4_1.23-3_amd64.deb ...
Step #1: Unpacking libgdbm-compat4:amd64 (1.23-3) ...
Step #1: Selecting previously unselected package libperl5.36:amd64.
Step #1: Preparing to unpack .../02-libperl5.36_5.36.0-7+deb12u3_amd64.deb ...
Step #1: Unpacking libperl5.36:amd64 (5.36.0-7+deb12u3) ...
Step #1: Selecting previously unselected package perl.
Step #1: Preparing to unpack .../03-perl_5.36.0-7+deb12u3_amd64.deb ...
Step #1: Unpacking perl (5.36.0-7+deb12u3) ...
Step #1: Selecting previously unselected package libbrotli1:amd64.
Step #1: Preparing to unpack .../04-libbrotli1_1.0.9-2+b6_amd64.deb ...
Step #1: Unpacking libbrotli1:amd64 (1.0.9-2+b6) ...
Step #1: Selecting previously unselected package libsasl2-modules-db:amd64.
Step #1: Preparing to unpack .../05-libsasl2-modules-db_2.1.28+dfsg-10_amd64.deb ...
Step #1: Unpacking libsasl2-modules-db:amd64 (2.1.28+dfsg-10) ...
Step #1: Selecting previously unselected package libsasl2-2:amd64.
Step #1: Preparing to unpack .../06-libsasl2-2_2.1.28+dfsg-10_amd64.deb ...
Step #1: Unpacking libsasl2-2:amd64 (2.1.28+dfsg-10) ...
Step #1: Selecting previously unselected package libldap-2.5-0:amd64.
Step #1: Preparing to unpack .../07-libldap-2.5-0_2.5.13+dfsg-5_amd64.deb ...
Step #1: Unpacking libldap-2.5-0:amd64 (2.5.13+dfsg-5) ...
Step #1: Selecting previously unselected package libnghttp2-14:amd64.
Step #1: Preparing to unpack .../08-libnghttp2-14_1.52.0-1+deb12u3_amd64.deb ...
Step #1: Unpacking libnghttp2-14:amd64 (1.52.0-1+deb12u3) ...
Step #1: Selecting previously unselected package libpsl5:amd64.
Step #1: Preparing to unpack .../09-libpsl5_0.21.2-1_amd64.deb ...
Step #1: Unpacking libpsl5:amd64 (0.21.2-1) ...
Step #1: Selecting previously unselected package librtmp1:amd64.
Step #1: Preparing to unpack .../10-librtmp1_2.4+20151223.gitfa8646d.1-2+b2_amd64.deb ...
Step #1: Unpacking librtmp1:amd64 (2.4+20151223.gitfa8646d.1-2+b2) ...
Step #1: Selecting previously unselected package libssh2-1:amd64.
Step #1: Preparing to unpack .../11-libssh2-1_1.10.0-3+b1_amd64.deb ...
Step #1: Unpacking libssh2-1:amd64 (1.10.0-3+b1) ...
Step #1: Selecting previously unselected package libcurl3-gnutls:amd64.
Step #1: Preparing to unpack .../12-libcurl3-gnutls_7.88.1-10+deb12u15_amd64.deb ...
Step #1: Unpacking libcurl3-gnutls:amd64 (7.88.1-10+deb12u15) ...
Step #1: Selecting previously unselected package libexpat1:amd64.
Step #1: Preparing to unpack .../13-libexpat1_2.5.0-1+deb12u2_amd64.deb ...
Step #1: Unpacking libexpat1:amd64 (2.5.0-1+deb12u2) ...
Step #1: Selecting previously unselected package liberror-perl.
Step #1: Preparing to unpack .../14-liberror-perl_0.17029-2_all.deb ...
Step #1: Unpacking liberror-perl (0.17029-2) ...
Step #1: Selecting previously unselected package git-man.
Step #1: Preparing to unpack .../15-git-man_1%3a2.39.5-0+deb12u3_all.deb ...
Step #1: Unpacking git-man (1:2.39.5-0+deb12u3) ...
Step #1: Selecting previously unselected package git.
Step #1: Preparing to unpack .../16-git_1%3a2.39.5-0+deb12u3_amd64.deb ...
Step #1: Unpacking git (1:2.39.5-0+deb12u3) ...
Step #1: Setting up libexpat1:amd64 (2.5.0-1+deb12u2) ...
Step #1: Setting up libpsl5:amd64 (0.21.2-1) ...
Step #1: Setting up libbrotli1:amd64 (1.0.9-2+b6) ...
Step #1: Setting up libnghttp2-14:amd64 (1.52.0-1+deb12u3) ...
Step #1: Setting up libsasl2-modules-db:amd64 (2.1.28+dfsg-10) ...
Step #1: Setting up perl-modules-5.36 (5.36.0-7+deb12u3) ...
Step #1: Setting up librtmp1:amd64 (2.4+20151223.gitfa8646d.1-2+b2) ...
Step #1: Setting up libgdbm-compat4:amd64 (1.23-3) ...
Step #1: Setting up libsasl2-2:amd64 (2.1.28+dfsg-10) ...
Step #1: Setting up git-man (1:2.39.5-0+deb12u3) ...
Step #1: Setting up libssh2-1:amd64 (1.10.0-3+b1) ...
Step #1: Setting up libperl5.36:amd64 (5.36.0-7+deb12u3) ...
Step #1: Setting up libldap-2.5-0:amd64 (2.5.13+dfsg-5) ...
Step #1: Setting up perl (5.36.0-7+deb12u3) ...
Step #1: Setting up libcurl3-gnutls:amd64 (7.88.1-10+deb12u15) ...
Step #1: Setting up liberror-perl (0.17029-2) ...
Step #1: Setting up git (1:2.39.5-0+deb12u3) ...
Step #1: Processing triggers for libc-bin (2.36-9+deb12u14) ...
Step #1: Removing intermediate container 6fec2896f6fd
Step #1:  ---> 431e3232bbcc
Step #1: Step 9/17 : RUN uv sync --frozen --no-install-project
Step #1:  ---> Running in 70550515bf6e
Step #1: �[91mUsing CPython 3.12.13 interpreter at: /usr/local/bin/python3
Step #1: �[0m�[91mCreating virtual environment at: .venv
Step #1: �[0m�[91m   Updating https://github.com/datakind/edvise.git (v1.5.0)
Step #1: �[0m�[91mDownloading black (1.7MiB)
Step #1: �[0m�[91mDownloading aiohttp (1.7MiB)
Step #1: �[0m�[91mDownloading jedi (1.5MiB)
Step #1: �[0m�[91mDownloading kiwisolver (1.4MiB)
Step #1: �[0m�[91mDownloading brotli (1.4MiB)
Step #1: �[0m�[91mDownloading pynacl (1.3MiB)
Step #1: �[0m�[91mDownloading lz4 (1.3MiB)
Step #1: �[0m�[91mDownloading pygments (1.2MiB)
Step #1: �[0m�[91mDownloading setuptools (1.1MiB)
Step #1: �[0m�[91mDownloading �[0m�[91mnumpy (17.1MiB)�[0m�[91m
Step #1: �[0m�[91mDownloading�[0m�[91m �[0m�[91muvloop�[0m�[91m �[0m�[91m(4.2MiB)�[0m�[91m
Step #1: �[0m�[91mDownloading�[0m�[91m widgetsnbextension�[0m�[91m �[0m�[91m(2.1MiB)�[0m�[91m
Step #1: �[0m�[91mDownloading�[0m�[91m statsmodels�[0m�[91m �[0m�[91m(9.9MiB)
Step #1: �[0m�[91mDownloading �[0m�[91mjupyterlab�[0m�[91m �[0m�[91m(11.7MiB)�[0m�[91m
Step #1: �[0m�[91mDownloading�[0m�[91m �[0m�[91mgrpcio�[0m�[91m �[0m�[91m(6.3MiB)�[0m�[91m
Step #1: �[0m�[91mDownloading�[0m�[91m �[0m�[91mscipy�[0m�[91m �[0m�[91m(34.0MiB)�[0m�[91m
Step #1: �[0m�[91mDownloading�[0m�[91m �[0m�[91mpyphen�[0m�[91m (2.0MiB)�[0m�[91m
Step #1: �[0m�[91mDownloading�[0m�[91m �[0m�[91mmypy�[0m�[91m (12.7MiB)�[0m�[91m
Step #1: �[0m�[91mDownloading�[0m�[91m �[0m�[91mfaker�[0m�[91m �[0m�[91m(1.8MiB)�[0m�[91m
Step #1: �[0m�[91mDownloading�[0m�[91m �[0m�[91mmatplotlib�[0m�[91m �[0m�[91m(8.3MiB)�[0m�[91m
Step #1: �[0m�[91mDownloading�[0m�[91m �[0m�[91mpycryptodome�[0m�[91m �[0m�[91m(2.0MiB)�[0m�[91m
Step #1: �[0m�[91mDownloading�[0m�[91m �[0m�[91mh2o�[0m�[91m �[0m�[91m(253.6MiB)�[0m�[91m
Step #1: �[0m�[91mDownloading�[0m�[91m �[0m�[91mbabel�[0m�[91m �[0m�[91m(9.7MiB)
Step #1: �[0m�[91mDownloading�[0m�[91m �[0m�[91mpandas�[0m�[91m �[0m�[91m(12.1MiB)�[0m�[91m
Step #1: �[0m�[91mDownloading �[0m�[91mcryptography�[0m�[91m �[0m�[91m(4.3MiB)�[0m�[91m
Step #1: �[0m�[91mDownloading�[0m�[91m �[0m�[91mmlflow�[0m�[91m (27.7MiB)�[0m�[91m
Step #1: �[0m�[91mDownloading pydantic-core (2.0MiB)
Step #1: Downloading databricks-connect (2.3MiB)
Step #1: Downloading fonttools (4.7MiB)
Step #1: �[0m�[91mDownloading�[0m�[91m scikit-learn�[0m�[91m �[0m�[91m(12.3MiB)�[0m�[91m
Step #1: �[0m�[91mDownloading�[0m�[91m �[0m�[91mllvmlite�[0m�[91m (53.7MiB)�[0m�[91m
Step #1: �[0m�[91mDownloading�[0m�[91m �[0m�[91mpolars�[0m�[91m �[0m�[91m(27.5MiB)�[0m�[91m
Step #1: �[0m�[91mDownloading�[0m�[91m �[0m�[91mpyarrow�[0m�[91m �[0m�[91m(40.1MiB)�[0m�[91m
Step #1: �[0m�[91mDownloading�[0m�[91m �[0m�[91mmlflow-skinny�[0m�[91m �[0m�[91m(6.0MiB)
Step #1: Downloading sqlalchemy (3.2MiB)
Step #1: Downloading debugpy (4.1MiB)
Step #1: Downloading rapidfuzz (3.0MiB)
Step #1: Downloading pillow (6.7MiB)
Step #1: �[0m�[91mDownloading�[0m�[91m �[0m�[91mruff�[0m�[91m �[0m�[91m(12.7MiB)�[0m�[91m
Step #1: �[0m�[91mDownloading�[0m�[91m �[0m�[91mnumba �[0m�[91m(3.6MiB)
Step #1: �[0m�[91m    Updated https://github.com/datakind/edvise.git (0f359a51c22e689cc21f42bfcf7279e71d2c41fb)
Step #1: �[0m�[91m   Building edvise @ git+https://github.com/datakind/edvise.git@0f359a51c22e689cc21f42bfcf7279e71d2c41fb
Step #1: �[0m�[91m Downloaded lz4
Step #1: �[0m�[91m Downloaded pygments
Step #1: �[0m�[91m Downloaded brotli
Step #1: �[0m�[91m Downloaded kiwisolver
Step #1: �[0m�[91m Downloaded pynacl
Step #1: �[0m�[91m �[0m�[91mDownloaded�[0m�[91m �[0m�[91maiohttp�[0m�[91m
Step #1: �[0m�[91m Downloaded black
Step #1: �[0m�[91m Downloaded setuptools
Step #1: �[0m�[91m Downloaded pydantic-core
Step #1: �[0m�[91m Downloaded pyphen
Step #1: �[0m�[91m Downloaded widgetsnbextension
Step #1: �[0m�[91m Downloaded pycryptodome
Step #1: �[0m�[91m Downloaded databricks-connect
Step #1: �[0m�[91m Downloaded rapidfuzz
Step #1: �[0m�[91m Downloaded sqlalchemy
Step #1: �[0m�[91m   Building thrift==0.20.0
Step #1: �[0m�[91m Downloaded debugpy
Step #1: �[0m�[91m Downloaded uvloop
Step #1: �[0m�[91m Downloaded numba
Step #1: �[0m�[91m Downloaded cryptography
Step #1: �[0m�[91m Downloaded faker
Step #1: �[0m�[91m Downloaded fonttools
Step #1: �[0m�[91m      �[0m�[91mBuilt�[0m�[91m edvise @ git+https://github.com/datakind/edvise.git@0f359a51c22e689cc21f42bfcf7279e71d2c41fb�[0m�[91m
Step #1: �[0m�[91m Downloaded grpcio
Step #1: �[0m�[91m Downloaded pillow
Step #1: �[0m�[91m Downloaded mlflow-skinny
Step #1: �[0m�[91m �[0m�[91mDownloaded babel�[0m�[91m
Step #1: �[0m�[91m      Built thrift==0.20.0
Step #1: �[0m�[91m Downloaded�[0m�[91m jupyterlab�[0m�[91m
Step #1: �[0m�[91m �[0m�[91mDownloaded�[0m�[91m �[0m�[91mmatplotlib�[0m�[91m
Step #1: �[0m�[91m Downloaded ruff
Step #1: �[0m�[91m Downloaded jedi
Step #1: �[0m�[91m Downloaded pandas
Step #1: �[0m�[91m Downloaded numpy
Step #1: �[0m�[91m Downloaded scikit-learn
Step #1: �[0m�[91m Downloaded statsmodels
Step #1: �[0m�[91m Downloaded polars
Step #1: �[0m�[91m �[0m�[91mDownloaded mlflow
Step #1: �[0m�[91m Downloaded llvmlite
Step #1: �[0m�[91m Downloaded scipy
Step #1: �[0m�[91m Downloaded pyarrow
Step #1: �[0m�[91m Downloaded mypy
Step #1: �[0m�[91m Downloaded h2o
Step #1: �[0m�[91mPrepared 255 packages in 27.13s
Step #1: �[0m�[91mInstalled 255 packages in 1.00s
Step #1: �[0m�[91mBytecode compiled 17279 files in 59.96s
Step #1: �[0m�[91m + aiofiles==25.1.0
Step #1:  + aiohappyeyeballs==2.6.1
Step #1:  + aiohttp==3.13.2�[0m�[91m
Step #1:  + aiosignal==1.4.0
Step #1:  + alembic==1.17.1
Step #1:  + annotated-types==0.7.0
Step #1:  + anyio==4.11.0
Step #1:  + argon2-cffi==25.1.0�[0m�[91m
Step #1:  + argon2-cffi-bindings==25.1.0
Step #1:  + arrow==1.4.0
Step #1:  + astroid==3.3.11�[0m�[91m
Step #1:  + asttokens==3.0.0
Step #1:  + async-lru==2.0.5
Step #1:  + attrs==25.4.0
Step #1:  + babel==2.17.0
Step #1:  + bcrypt==�[0m�[91m4.2.1
Step #1:  + beautifulsoup4==4.14.2
Step #1:  + black==25.1.0�[0m�[91m
Step #1:  + bleach==6.4.0
Step #1:  + blinker==1.9.0
Step #1:  + brotli==1.2.0
Step #1:  + cachetools==5.5.2
Step #1:  + certifi==2025.10.5�[0m�[91m
Step #1:  �[0m�[91m+�[0m�[91m �[0m�[91mcffi�[0m�[91m==�[0m�[91m2.0.0�[0m�[91m
Step #1:  �[0m�[91m+�[0m�[91m �[0m�[91mcharset-normalizer�[0m�[91m==�[0m�[91m3.4.4�[0m�[91m
Step #1:  �[0m�[91m+�[0m�[91m �[0m�[91mclick�[0m�[91m==�[0m�[91m8.3.0�[0m�[91m
Step #1: �[0m�[91m +�[0m�[91m cloud-sql-python-connector�[0m�[91m==�[0m�[91m1.14.0�[0m�[91m
Step #1:  �[0m�[91m+ �[0m�[91mcloudpickle�[0m�[91m==3.1.2�[0m�[91m
Step #1: �[0m�[91m �[0m�[91m+�[0m�[91m �[0m�[91mcomm�[0m�[91m==�[0m�[91m0.2.3�[0m�[91m
Step #1: �[0m�[91m �[0m�[91m+�[0m�[91m �[0m�[91mcontourpy�[0m�[91m==�[0m�[91m1.3.3�[0m�[91m
Step #1: �[0m�[91m +�[0m�[91m �[0m�[91mcoverage�[0m�[91m==�[0m�[91m7.6.12�[0m�[91m
Step #1: �[0m�[91m �[0m�[91m+�[0m�[91m �[0m�[91mcryptography�[0m�[91m==�[0m�[91m46.0.3�[0m�[91m
Step #1: �[0m�[91m �[0m�[91m+ �[0m�[91mcssselect2�[0m�[91m==�[0m�[91m0.8.0�[0m�[91m
Step #1: �[0m�[91m �[0m�[91m+�[0m�[91m �[0m�[91mcycler==�[0m�[91m0.12.1�[0m�[91m
Step #1:  +�[0m�[91m �[0m�[91mdatabricks-connect�[0m�[91m==16.2.6�[0m�[91m
Step #1: �[0m�[91m +�[0m�[91m �[0m�[91mdatabricks-sdk==�[0m�[91m0.38.0
Step #1: �[0m�[91m �[0m�[91m+ databricks-sql-connector�[0m�[91m==�[0m�[91m4.2.5
Step #1:  �[0m�[91m+�[0m�[91m debugpy==1.8.17
Step #1:  + decorator==5.2.1
Step #1:  �[0m�[91m+ �[0m�[91mdefusedxml�[0m�[91m==�[0m�[91m0.7.1�[0m�[91m
Step #1: �[0m�[91m +�[0m�[91m �[0m�[91mdill==0.4.0
Step #1:  + distro==1.9.0
Step #1:  + dnspython==2.8.0
Step #1:  + docker==7.1.0
Step #1:  + edvise==1.5.0 (from git+https://github.com/datakind/edvise.git@0f359a51c22e689cc21f42bfcf7279e71d2c41fb)
Step #1:  + email-validator==2.3.0
Step #1:  +�[0m�[91m et-xmlfile==2.0.0
Step #1:  + executing==2.2.1
Step #1:  + faker==33.1.0
Step #1:  +�[0m�[91m fastapi==0.115.14
Step #1:  + fastapi-cli==0.0.14
Step #1:  + fastapi-cloud-cli==0.3.1
Step #1:  + fastjsonschema==2.21.2
Step #1:  +�[0m�[91m flask==3.1.2
Step #1:  + fonttools==4.60.1
Step #1:  + fqdn�[0m�[91m==1.5.1
Step #1:  + frozenlist==1.8.0
Step #1:  + �[0m�[91mgitdb==4.0.12
Step #1:  + gitpython==3.1.45
Step #1:  + google-api-core==2.28.1
Step #1:  �[0m�[91m+ google-auth==2.42.1
Step #1:  + google-cloud-core==2.5.0
Step #1:  �[0m�[91m+ google-cloud-storage==2.19.0
Step #1:  + google-crc32c==1.7.1
Step #1:  �[0m�[91m+ google-resumable-media==2.7.2
Step #1:  +�[0m�[91m googleapis-common-protos==�[0m�[91m1.71.0�[0m�[91m
Step #1: �[0m�[91m �[0m�[91m+ graphene==3.4.3
Step #1:  �[0m�[91m+�[0m�[91m graphql-core�[0m�[91m==�[0m�[91m3.2.7
Step #1:  + graphql-relay==3.2.0
Step #1:  + greenlet==3.2.4
Step #1:  + �[0m�[91mgrpcio==�[0m�[91m1.76.0�[0m�[91m
Step #1: �[0m�[91m +�[0m�[91m grpcio-status==1.76.0
Step #1:  + gunicorn==22.0.0
Step #1:  + h11�[0m�[91m==�[0m�[91m0.16.0�[0m�[91m
Step #1: �[0m�[91m �[0m�[91m+�[0m�[91m �[0m�[91mh2o�[0m�[91m==�[0m�[91m3.46.0.7�[0m�[91m
Step #1: �[0m�[91m �[0m�[91m+�[0m�[91m �[0m�[91mhttpcore�[0m�[91m==�[0m�[91m1.0.9�[0m�[91m
Step #1:  �[0m�[91m+�[0m�[91m �[0m�[91mhttptools�[0m�[91m==�[0m�[91m0.7.1
Step #1: �[0m�[91m �[0m�[91m+�[0m�[91m httpx==0.28.1
Step #1:  +�[0m�[91m �[0m�[91midna==3.11
Step #1:  �[0m�[91m+ importlib-metadata==7.2.1
Step #1:  + iniconfig==2.3.0
Step #1:  + ipykernel==6.31.0
Step #1:  + ipython==9.6.0
Step #1:  + ipython-pygments-lexers==1.1.1
Step #1:  + ipywidgets==8.1.8
Step #1:  + isoduration==20.11.0
Step #1:  + isort==6.1.0
Step #1:  + itsdangerous==2.2.0
Step #1:  + jedi==0.19.2
Step #1:  + jinja2==3.1.6
Step #1:  + jiter==0.15.0
Step #1:  + joblib==1.5.2
Step #1:  + json5==0.12.1
Step #1:  + jsonpickle==4.0.5
Step #1:  + jsonpointer==3.0.0
Step #1:  + jsonschema==4.25.1
Step #1:  + jsonschema-specifications==2025.9.1
Step #1:  + jupyter-client==8.6.3
Step #1:  + jupyter-core==5.9.1
Step #1:  + jupyter-events==0.12.0
Step #1:  + jupyter-lsp==2.3.0
Step #1:  + jupyter-server==2.17.0
Step #1:  + jupyter-server-terminals==0.5.3
Step #1:  + jupyterlab==4.4.10
Step #1:  + jupyterlab-pygments==0.3.0
Step #1:  + jupyterlab-server==2.28.0
Step #1:  + jupyterlab-widgets==3.0.16
Step #1:  + kiwisolver==1.4.9
Step #1:  + lark==1.3.1
Step #1:  + llvmlite==0.46.0
Step #1:  + lz4==4.4.5
Step #1:  + mako==1.3.10
Step #1:  + markdown==3.10
Step #1:  + markdown-it-py==4.0.0
Step #1:  + markupsafe==3.0.3
Step #1:  + matplotlib==3.10.7
Step #1:  + matplotlib-inline==0.2.1
Step #1:  + mccabe==0.7.0
Step #1:  + mdurl==0.1.2
Step #1:  + missingno==0.5.2
Step #1:  + mistune==3.1.4
Step #1:  + mlflow==2.22.4
Step #1:  + mlflow-skinny==2.22.4
Step #1:  + multidict==6.7.0
Step #1:  + mypy==1.18.2
Step #1:  + mypy-extensions==1.1.0
Step #1:  + nbclient==0.10.2
Step #1:  + nbconvert==7.16.6
Step #1:  + nbformat==5.10.4
Step #1:  + nest-asyncio==1.6.0
Step #1:  + notebook-shim==0.2.4
Step #1:  + numba==0.63.1
Step #1:  + numpy==1.26.4
Step #1:  + oauthlib==3.3.1
Step #1:  + openai==1.109.1
Step #1:  + openpyxl==3.1.5
Step #1:  + opentelemetry-api==1.38.0
Step #1:  + opentelemetry-sdk==1.38.0
Step #1:  + opentelemetry-semantic-conventions==0.59b0
Step #1:  + packaging==24.2
Step #1:  + pandas==2.2.3
Step #1:  + pandera==0.23.1
Step #1:  + pandocfilters==1.5.1
Step #1:  + paramiko==3.5.1
Step #1:  + parso==0.8.5
Step #1:  + passlib==1.7.4
Step #1:  + pathspec==0.12.1
Step #1:  + patsy==1.0.2
Step #1:  + pexpect==4.9.0
Step #1:  + pillow==12.0.0
Step #1:  + platformdirs==4.5.0
Step #1:  + pluggy==1.6.0
Step #1:  + polars==0.20.31
Step #1:  + prometheus-client==0.23.1
Step #1:  + prompt-toolkit==3.0.52
Step #1:  + propcache==0.4.1
Step #1:  + proto-plus==1.26.1
Step #1:  + protobuf==6.33.5
Step #1:  + psutil==7.1.3
Step #1:  + ptyprocess==0.7.0
Step #1:  + pure-eval==0.2.3
Step #1:  + py4j==0.10.9.7
Step #1:  + pyarrow==19.0.1
Step #1:  + pyasn1==0.6.1
Step #1:  + pyasn1-modules==0.4.2
Step #1:  + pybreaker==1.4.1
Step #1:  + pycparser==2.23
Step #1:  + pycryptodome==3.20.0
Step #1:  + pydantic==2.12.3
Step #1:  + pydantic-core==2.41.4
Step #1:  + pydyf==0.11.0
Step #1:  + pygments==2.19.2
Step #1:  + pyjwt==2.10.1
Step #1:  + pylint==3.3.9
Step #1:  + pymysql==1.1.2
Step #1:  + pynacl==1.6.0
Step #1:  + pyparsing==3.2.5
Step #1:  + pyphen==0.17.2
Step #1:  + pytest==8.4.2
Step #1:  + python-dateutil==2.9.0.post0
Step #1:  + python-dotenv==1.0.1
Step #1:  + python-json-logger==4.0.0
Step #1:  + python-multipart==0.0.20
Step #1:  + pytz==2024.2
Step #1:  + pyyaml==6.0.3
Step #1:  + pyzmq==27.1.0
Step #1:  + rapidfuzz==3.14.3
Step #1:  + referencing==0.37.0
Step #1:  + requests==2.32.5
Step #1:  + rfc3339-validator==0.1.4
Step #1:  + rfc3986-validator==0.1.1
Step #1:  + rfc3987-syntax==1.1.0
Step #1:  + rich==14.2.0
Step #1:  + rich-toolkit==0.15.1
Step #1:  + rignore==0.7.4
Step #1:  + rpds-py==0.28.0
Step #1:  + rsa==4.9.1
Step #1:  + ruff==0.14.3
Step #1:  + scikit-learn==1.5.2
Step #1:  + scipy==1.16.3
Step #1:  + seaborn==0.13.2
Step #1:  + send2trash==1.8.3
Step #1:  + sentry-sdk==2.43.0
Step #1:  + setuptools==80.9.0
Step #1:  + shap==0.46.0
Step #1:  + shellingham==1.5.4
Step #1:  + six==1.16.0
Step #1:  + slicer==0.0.8
Step #1:  + smmap==5.0.2
Step #1:  + sniffio==1.3.1
Step #1:  + soupsieve==2.8
Step #1:  + sqlalchemy==2.0.44
Step #1:  + sqlparse==0.5.3
Step #1:  + stack-data==0.6.3
Step #1:  + starlette==0.46.2
Step #1:  + statsmodels==0.14.6
Step #1:  + strenum==0.4.15
Step #1:  + tabulate==0.9.0
Step #1:  + terminado==0.18.1
Step #1:  + thefuzz==0.22.1
Step #1:  + threadpoolctl==3.6.0
Step #1:  + thrift==0.20.0
Step #1:  + tinycss2==1.5.1
Step #1:  + tinyhtml5==2.1.0
Step #1:  + tomlkit==0.13.3
Step #1:  + tornado==6.5.2
Step #1:  + tqdm==4.67.3
Step #1:  + traitlets==5.14.3
Step #1:  + typeguard==4.4.4
Step #1:  + typer==0.20.0
Step #1:  + types-cachetools==6.2.0.20251022
Step #1:  + types-markdown==3.10.0.20251106
Step #1:  + types-paramiko==3.5.0.20250801
Step #1:  + types-pyyaml==6.0.12.20250915
Step #1:  + types-requests==2.32.0.20250602
Step #1:  + typing-extensions==4.15.0
Step #1:  + typing-inspect==0.9.0
Step #1:  + typing-inspection==0.4.2
Step #1:  + tzdata==2025.2
Step #1:  + uri-template==1.3.0
Step #1:  + urllib3==2.5.0
Step #1:  + uvicorn==0.38.0
Step #1:  + uvloop==0.22.1
Step #1:  + watchfiles==1.1.1
Step #1:  + wcwidth==0.2.14
Step #1:  + weasyprint==68.1
Step #1:  + webcolors==25.10.0
Step #1:  + webencodings==0.5.1
Step #1:  + websocket-client==1.9.0
Step #1:  + websockets==15.0.1
Step #1:  + werkzeug==3.1.3
Step #1:  + widgetsnbextension==4.0.15
Step #1:  + yarl==1.22.0
Step #1:  + zipp==3.23.0
Step #1:  + zopfli==0.4.0
Step #1: �[0mRemoving intermediate container 70550515bf6e
Step #1:  ---> 9a91c4a8a729
Step #1: Step 10/17 : ADD . /app
Step #1:  ---> 560d607ae5a2
Step #1: Step 11/17 : RUN uv sync --frozen --no-editable
Step #1:  ---> Running in de494af0e337
Step #1: �[91m   Building src @ file:///app
Step #1: �[0m�[91m      Built src @ file:///app
Step #1: �[0m�[91mPrepared 1 package in 875ms
Step #1: �[0m�[91mInstalled 1 package in 3ms
Step #1: �[0m�[91mBytecode compiled 17324 files in 2.39s
Step #1:  + src==�[0m�[91m1.2.0 (from file:///app)
Step #1: �[0mRemoving intermediate container de494af0e337
Step #1:  ---> 1a883a0be966
Step #1: Step 12/17 : ARG PYTHON_VERSION=3.12
Step #1:  ---> Running in 2492f93f2c32
Step #1: Removing intermediate container 2492f93f2c32
Step #1:  ---> ebd09cfb439a
Step #1: Step 13/17 : FROM python:${PYTHON_VERSION}-slim-bookworm
Step #1:  ---> a1e028236d55
Step #1: Step 14/17 : COPY --from=builder /app/.venv /app/.venv
Step #1:  ---> f61a0e3a11f6
Step #1: Step 15/17 : COPY --from=builder /app/src /app/src
Step #1:  ---> 83097354efb6
Step #1: Step 16/17 : ENV PATH="/app/.venv/bin:$PATH"
Step #1:  ---> Running in 3a76a32410bd
Step #1: Removing intermediate container 3a76a32410bd
Step #1:  ---> f71ad3593547
Step #1: Step 17/17 : CMD ["fastapi", "run", "app/src/webapp", "--port", "8080", "--host", "0.0.0.0"]
Step #1:  ---> Running in f3f59646d373
Step #1: Removing intermediate container f3f59646d373
Step #1:  ---> e87fb0419be1
Step #1: Successfully built e87fb0419be1
Step #1: Successfully tagged us-east4-docker.pkg.dev/dev-sst-02/edvise-api/webapp:5da8c577b2aa3b27dff8c0c7cfbb8b98ede2e7a8
Step #1: Successfully tagged us-east4-docker.pkg.dev/dev-sst-02/edvise-api/webapp:latest
Finished Step #1
Starting Step #2
Step #2: Already have image (with digest): gcr.io/cloud-builders/docker
Step #2: The push refers to repository [us-east4-docker.pkg.dev/dev-sst-02/edvise-api/webapp]
Step #2: 4970dc193777: Preparing
Step #2: 0a236ad5063b: Preparing
Step #2: 03944bf5bf4e: Preparing
Step #2: c2b26ec5a194: Preparing
Step #2: ce33c9de66cd: Preparing
Step #2: 81f823b96175: Preparing
Step #2: c2b26ec5a194: Layer already exists
Step #2: 03944bf5bf4e: Layer already exists
Step #2: ce33c9de66cd: Layer already exists
Step #2: 4970dc193777: Pushed
Step #2: 81f823b96175: Pushed
Step #2: 0a236ad5063b: Pushed
Step #2: 5da8c577b2aa3b27dff8c0c7cfbb8b98ede2e7a8: digest: sha256:c34605ba975378cc6f9d10f0f4a98c45f85b185899585539a3dc2512757b1866 size: 1582
Finished Step #2
Starting Step #3
Step #3: Already have image (with digest): gcr.io/cloud-builders/docker
Step #3: The push refers to repository [us-east4-docker.pkg.dev/dev-sst-02/edvise-api/webapp]
Step #3: 4970dc193777: Preparing
Step #3: 0a236ad5063b: Preparing
Step #3: 03944bf5bf4e: Preparing
Step #3: c2b26ec5a194: Preparing
Step #3: ce33c9de66cd: Preparing
Step #3: 81f823b96175: Preparing
Step #3: c2b26ec5a194: Layer already exists
Step #3: 03944bf5bf4e: Layer already exists
Step #3: ce33c9de66cd: Layer already exists
Step #3: 4970dc193777: Layer already exists
Step #3: 0a236ad5063b: Layer already exists
Step #3: 81f823b96175: Layer already exists
Step #3: latest: digest: sha256:c34605ba975378cc6f9d10f0f4a98c45f85b185899585539a3dc2512757b1866 size: 1582
Finished Step #3
Starting Step #4
Step #4: Already have image (with digest): gcr.io/cloud-builders/gcloud
Step #4: Deploying container to Cloud Run service [dev-webapp] in project [dev-sst-02] region [us-east4]
Step #4: Deploying...
Step #4: Creating Revision...............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................done
Step #4: Routing traffic.....done
Step #4: Done.
Step #4: Service [dev-webapp] revision [dev-webapp-00560-vtv] has been deployed and is serving 100 percent of traffic.
Step #4: Service URL: https://dev-webapp-30046184227.us-east4.run.app
Finished Step #4
Starting Step #5 - "notify-slack"
Step #5 - "notify-slack": Pulling image: curlimages/curl
Step #5 - "notify-slack": Using default tag: latest
Step #5 - "notify-slack": latest: Pulling from curlimages/curl
Step #5 - "notify-slack": Digest: sha256:7c12af72ceb38b7432ab85e1a265cff6ae58e06f95539d539b654f2cfa64bb13
Step #5 - "notify-slack": Status: Downloaded newer image for curlimages/curl:latest
Step #5 - "notify-slack": docker.io/curlimages/curl:latest
Step #5 - "notify-slack":   % Total    % Received % Xferd  Average Speed  Time    Time    Time   Current
Step #5 - "notify-slack":                                  Dload  Upload  Total   Spent   Left   Speed
Step #5 - "notify-slack": 
  0      0   0      0   0      0      0      0                              0
100    116 100     11 100    105     42    406                              0
100    116 100     11 100    105     42    406                              0
100    116 100     11 100    105     42    405                              0
Finished Step #5 - "notify-slack"
PUSH
DONE
Step #5 - "notify-slack": {"ok":true}


Build Log: https://console.cloud.google.com/logs/viewer?advancedFilter=resource.type%3D%22build%22+AND+resource.labels.build_id%3D%22f10d3da4-5d90-4f52-8d2e-5e3a5403cef4%22+AND+resource.labels.build_trigger_id%3D%22a8177e10-c863-4f3d-bfdb-f6cfe6f24883%22&project=dev-sst-02