- Event
- push
- Branch
- main
- Commit
- a1bedc2
- Started
- Duration
- 3:15
Synced from GitHub
backend-tests
Took 3:14Whole log, 125 KB
Current runner version: '2.338.0'
▸ Runner Image Provisioner
Hosted Compute Agent
Version: 20261021.618
Commit: 21505ad2541d5be6135ed84fc33697146cf75b8e
Build Date: 2026-10-21T00:45:21Z
Worker ID: {82a4d65b-8ec6-41e7-a0cc-8192281acea9}
Region: westcentralus
Cloud: Azure
▸ Operating System
Ubuntu
24.04.5
LTS
▸ Runner Image
Image: ubuntu-24.04
Version: 20261012.334.1
Included Software: https://github.com/actions/runner-images/blob/ubuntu24/20261012.334/images/ubuntu/Ubuntu2404-Readme.md
Image Release: https://github.com/actions/runner-images/releases/tag/ubuntu24%2F20261012.334
▸ GITHUB_TOKEN Permissions
Contents: read
Metadata: read
Packages: read
Secret source: Actions
Cache mode: write
Prepare workflow directory
Prepare all required actions
Getting action download info
Download action repository 'actions/checkout@v4' (SHA:11d5960a326750d5838078e36cf38b85af677262)
Download action repository 'actions/setup-python@v5' (SHA:a26af69be951a213d495a4c3e4e4022e16d87065)
Complete job name: backend-tests
▸ Checking docker version
/usr/bin/docker version --format '{{.Server.APIVersion}}'
'1.48'
Docker daemon API version: '1.48'
/usr/bin/docker version --format '{{.Client.APIVersion}}'
'1.48'
Docker client API version: '1.48'
▸ Clean up resources from previous jobs
/usr/bin/docker ps --all --quiet --no-trunc --filter "label=1bdcb5"
/usr/bin/docker network prune --force --filter "label=1bdcb5"
▸ Create local container network
/usr/bin/docker network create --label 1bdcb5 github_network_4062182efaeb49ae8c155d97c4cb2d18
702a7db35acf77cd9d5413c1624787c425343751e90ea4832de8c85fdd759df6
▸ Starting postgres service container
/usr/bin/docker pull postgres:16-alpine
16-alpine: Pulling from library/postgres
7b229517ed22: Pulling fs layer
768bbab50810: Pulling fs layer
d982e6c592c4: Pulling fs layer
a735dce41235: Pulling fs layer
42065dcfea93: Pulling fs layer
f121f7f3dec1: Pulling fs layer
7ea8819886f9: Pulling fs layer
d3f6cab92edc: Pulling fs layer
911527e7800c: Pulling fs layer
22df74fd5323: Pulling fs layer
9f477227db48: Pulling fs layer
7ea8819886f9: Waiting
d3f6cab92edc: Waiting
911527e7800c: Waiting
22df74fd5323: Waiting
9f477227db48: Waiting
a735dce41235: Waiting
42065dcfea93: Waiting
f121f7f3dec1: Waiting
768bbab50810: Verifying Checksum
768bbab50810: Download complete
d982e6c592c4: Verifying Checksum
d982e6c592c4: Download complete
7b229517ed22: Verifying Checksum
7b229517ed22: Download complete
a735dce41235: Verifying Checksum
a735dce41235: Download complete
7b229517ed22: Pull complete
42065dcfea93: Verifying Checksum
42065dcfea93: Download complete
7ea8819886f9: Download complete
d3f6cab92edc: Verifying Checksum
d3f6cab92edc: Download complete
22df74fd5323: Verifying Checksum
22df74fd5323: Download complete
911527e7800c: Verifying Checksum
911527e7800c: Download complete
9f477227db48: Verifying Checksum
9f477227db48: Download complete
f121f7f3dec1: Verifying Checksum
f121f7f3dec1: Download complete
768bbab50810: Pull complete
d982e6c592c4: Pull complete
a735dce41235: Pull complete
42065dcfea93: Pull complete
f121f7f3dec1: Pull complete
7ea8819886f9: Pull complete
d3f6cab92edc: Pull complete
911527e7800c: Pull complete
22df74fd5323: Pull complete
9f477227db48: Pull complete
Digest: sha256:0cefaabd882e42bcb2a2f3dc56d3ce4770560ba62fd7f197f1a2e008fd5731ab
Status: Downloaded newer image for postgres:16-alpine
docker.io/library/postgres:16-alpine
/usr/bin/docker create --name 860011b2b5f048caba3dfda0209238f6_postgres16alpine_9724b8 --label 1bdcb5 --network github_network_4062182efaeb49ae8c155d97c4cb2d18 --network-alias postgres -p 5432:5432 --health-cmd "pg_isready -U postgres" --health-interval 10s --health-timeout 5s --health-retries 5 -e "POSTGRES_DB=test_db" -e "POSTGRES_USER=postgres" -e "POSTGRES_PASSWORD=postgres" -e GITHUB_ACTIONS=true -e CI=true postgres:16-alpine
6a0090d429734dbdc45e90949a8f684ed225a81935bbac2030ca241792a0b38f
/usr/bin/docker start 6a0090d429734dbdc45e90949a8f684ed225a81935bbac2030ca241792a0b38f
6a0090d429734dbdc45e90949a8f684ed225a81935bbac2030ca241792a0b38f
/usr/bin/docker ps --all --filter id=6a0090d429734dbdc45e90949a8f684ed225a81935bbac2030ca241792a0b38f --filter status=running --no-trunc --format "{{.ID}} {{.Status}}"
6a0090d429734dbdc45e90949a8f684ed225a81935bbac2030ca241792a0b38f Up Less than a second (health: starting)
/usr/bin/docker port 6a0090d429734dbdc45e90949a8f684ed225a81935bbac2030ca241792a0b38f
5432/tcp -> 0.0.0.0:5432
5432/tcp -> [::]:5432
▸ Waiting for all services to be ready
/usr/bin/docker inspect --format="{{if .Config.Healthcheck}}{{print .State.Health.Status}}{{end}}" 6a0090d429734dbdc45e90949a8f684ed225a81935bbac2030ca241792a0b38f
starting
postgres service is starting, waiting 2 seconds before checking again.
/usr/bin/docker inspect --format="{{if .Config.Healthcheck}}{{print .State.Health.Status}}{{end}}" 6a0090d429734dbdc45e90949a8f684ed225a81935bbac2030ca241792a0b38f
starting
postgres service is starting, waiting 3 seconds before checking again.
/usr/bin/docker inspect --format="{{if .Config.Healthcheck}}{{print .State.Health.Status}}{{end}}" 6a0090d429734dbdc45e90949a8f684ed225a81935bbac2030ca241792a0b38f
starting
postgres service is starting, waiting 8 seconds before checking again.
/usr/bin/docker inspect --format="{{if .Config.Healthcheck}}{{print .State.Health.Status}}{{end}}" 6a0090d429734dbdc45e90949a8f684ed225a81935bbac2030ca241792a0b38f
healthy
postgres service is healthy.
▸ Run actions/checkout@v4
with:
repository: Narayan201120/rag_web_app
token: ***
ssh-strict: true
ssh-user: git
persist-credentials: true
clean: true
sparse-checkout-cone-mode: true
fetch-depth: 1
fetch-tags: false
show-progress: true
lfs: false
submodules: false
set-safe-directory: true
allow-unsafe-pr-checkout: false
Syncing repository: Narayan201120/rag_web_app
▸ Getting Git version info
Working directory is '/home/runner/work/rag_web_app/rag_web_app'
[command]/usr/bin/git version
git version 2.55.0
Temporarily overriding HOME='/home/runner/work/_temp/956dcf21-0fbc-472d-a290-0f732896582e' before making global git config changes
Adding repository directory to the temporary git global config as a safe directory
[command]/usr/bin/git config --global --add safe.directory /home/runner/work/rag_web_app/rag_web_app
Deleting the contents of '/home/runner/work/rag_web_app/rag_web_app'
▸ Initializing the repository
[command]/usr/bin/git init /home/runner/work/rag_web_app/rag_web_app
hint: Using 'master' as the name for the initial branch. This default branch name
hint: will change to "main" in Git 3.0. To configure the initial branch name
hint: to use in all of your new repositories, which will suppress this warning,
hint: call:
hint:
hint: git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: git branch -m <name>
hint:
hint: Disable this message with "git config set advice.defaultBranchName false"
Initialized empty Git repository in /home/runner/work/rag_web_app/rag_web_app/.git/
[command]/usr/bin/git remote add origin https://github.com/Narayan201120/rag_web_app
▸ Disabling automatic garbage collection
[command]/usr/bin/git config --local gc.auto 0
▸ Setting up auth
[command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand
[command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'core\.sshCommand' && git config --local --unset-all 'core.sshCommand' || :"
[command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader
[command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'http\.https\:\/\/github\.com\/\.extraheader' && git config --local --unset-all 'http.https://github.com/.extraheader' || :"
[command]/usr/bin/git config --local --name-only --get-regexp ^includeIf\.gitdir:
[command]/usr/bin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url
[command]/usr/bin/git config --local http.https://github.com/.extraheader AUTHORIZATION: basic ***
▸ Fetching the repository
[command]/usr/bin/git -c protocol.version=2 fetch --no-tags --prune --no-recurse-submodules --depth=1 origin +a1bedc2c8c2c484f02ac9841b21c4cb3ec8b4b00:refs/remotes/origin/main
From https://github.com/Narayan201120/rag_web_app
* [new ref] a1bedc2c8c2c484f02ac9841b21c4cb3ec8b4b00 -> origin/main
▸ Determining the checkout info
[command]/usr/bin/git sparse-checkout disable
[command]/usr/bin/git config --local --unset-all extensions.worktreeConfig
▸ Checking out the ref
[command]/usr/bin/git checkout --progress --force -B main refs/remotes/origin/main
Switched to a new branch 'main'
branch 'main' set up to track 'origin/main'.
[command]/usr/bin/git log -1 --format=%H
a1bedc2c8c2c484f02ac9841b21c4cb3ec8b4b00
▸ Run actions/setup-python@v5
with:
python-version: 3.12
cache: pip
cache-dependency-path: backend/requirements.txt
check-latest: false
token: ***
update-environment: true
allow-prereleases: false
freethreaded: false
▸ Installed versions
(node:2772) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
Successfully set up CPython (3.12.15)
[command]/opt/hostedtoolcache/Python/3.12.15/x64/bin/pip cache dir
/home/runner/.cache/pip
Cache hit for: setup-python-Linux-x64-24.04-Ubuntu-python-3.12.15-pip-d25daab1d0587aa7ee4d87af88cbe2dc14c3859e7b2640ab8e6693fb6d642df3
(node:2772) [DEP0169] DeprecationWarning: `url.parse()` behavior is not standardized and prone to errors that have security implications. Use the WHATWG URL API instead. CVEs are not issued for `url.parse()` vulnerabilities.
Received 29360128 of 3114875421 (0.9%), 28.0 MBs/sec
Received 159383552 of 3114875421 (5.1%), 76.0 MBs/sec
Received 314572800 of 3114875421 (10.1%), 100.0 MBs/sec
Received 452984832 of 3114875421 (14.5%), 107.9 MBs/sec
Received 662700032 of 3114875421 (21.3%), 126.3 MBs/sec
Received 813694976 of 3114875421 (26.1%), 129.3 MBs/sec
Received 1015021568 of 3114875421 (32.6%), 138.2 MBs/sec
Received 1199570944 of 3114875421 (38.5%), 142.9 MBs/sec
Received 1342177280 of 3114875421 (43.1%), 141.6 MBs/sec
Received 1518338048 of 3114875421 (48.7%), 144.2 MBs/sec
Received 1694498816 of 3114875421 (54.4%), 146.4 MBs/sec
Received 1874853888 of 3114875421 (60.2%), 148.5 MBs/sec
Received 2055208960 of 3114875421 (66.0%), 150.3 MBs/sec
Received 2239758336 of 3114875421 (71.9%), 152.1 MBs/sec
Received 2411724800 of 3114875421 (77.4%), 152.9 MBs/sec
Received 2558525440 of 3114875421 (82.1%), 152.1 MBs/sec
Received 2722103296 of 3114875421 (87.4%), 152.3 MBs/sec
Received 2902458368 of 3114875421 (93.2%), 153.4 MBs/sec
Received 3087007744 of 3114875421 (99.1%), 154.6 MBs/sec
Received 3114875421 of 3114875421 (100.0%), 154.7 MBs/sec
Cache Size: ~2971 MB (3114875421 B)
[command]/usr/bin/tar -xf /home/runner/work/_temp/2c79fd85-bc45-404a-960c-a6eef51beda1/cache.tzst -P -C /home/runner/work/rag_web_app/rag_web_app --use-compress-program unzstd
Cache restored successfully
Cache restored from key: setup-python-Linux-x64-24.04-Ubuntu-python-3.12.15-pip-d25daab1d0587aa7ee4d87af88cbe2dc14c3859e7b2640ab8e6693fb6d642df3
▸ Run pip install -r requirements.txt
pip install -r requirements.txt
shell: /usr/bin/bash -e {0}
env:
pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64
PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig
Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib
Collecting Django==6.0.5 (from -r requirements.txt (line 1))
Using cached django-6.0.5-py3-none-any.whl.metadata (3.9 kB)
Collecting djangorestframework==3.16.1 (from -r requirements.txt (line 2))
Using cached djangorestframework-3.16.1-py3-none-any.whl.metadata (11 kB)
Collecting sentence-transformers==5.2.3 (from -r requirements.txt (line 3))
Using cached sentence_transformers-5.2.3-py3-none-any.whl.metadata (16 kB)
Collecting faiss-cpu==1.13.2 (from -r requirements.txt (line 4))
Using cached faiss_cpu-1.13.2-cp310-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.metadata (7.6 kB)
Collecting openai==2.21.0 (from -r requirements.txt (line 5))
Using cached openai-2.21.0-py3-none-any.whl.metadata (29 kB)
Collecting numpy==2.4.2 (from -r requirements.txt (line 6))
Using cached numpy-2.4.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.metadata (6.6 kB)
Collecting google-genai==1.68.0 (from -r requirements.txt (line 7))
Using cached google_genai-1.68.0-py3-none-any.whl.metadata (52 kB)
Collecting pypdf==6.7.1 (from -r requirements.txt (line 8))
Using cached pypdf-6.7.1-py3-none-any.whl.metadata (7.1 kB)
Collecting python-docx==1.2.0 (from -r requirements.txt (line 9))
Using cached python_docx-1.2.0-py3-none-any.whl.metadata (2.0 kB)
Collecting djangorestframework-simplejwt==5.5.1 (from -r requirements.txt (line 10))
Using cached djangorestframework_simplejwt-5.5.1-py3-none-any.whl.metadata (4.6 kB)
Collecting requests==2.32.5 (from -r requirements.txt (line 11))
Using cached requests-2.32.5-py3-none-any.whl.metadata (4.9 kB)
Collecting python-dotenv==1.2.1 (from -r requirements.txt (line 12))
Using cached python_dotenv-1.2.1-py3-none-any.whl.metadata (25 kB)
Collecting beautifulsoup4==4.14.3 (from -r requirements.txt (line 13))
Using cached beautifulsoup4-4.14.3-py3-none-any.whl.metadata (3.8 kB)
Collecting dj-database-url==3.1.2 (from -r requirements.txt (line 14))
Using cached dj_database_url-3.1.2-py3-none-any.whl.metadata (13 kB)
Collecting psycopg==3.3.3 (from psycopg[binary]==3.3.3->-r requirements.txt (line 15))
Using cached psycopg-3.3.3-py3-none-any.whl.metadata (4.3 kB)
Collecting trafilatura==2.0.0 (from -r requirements.txt (line 16))
Using cached trafilatura-2.0.0-py3-none-any.whl.metadata (12 kB)
Collecting gunicorn==25.1.0 (from -r requirements.txt (line 17))
Using cached gunicorn-25.1.0-py3-none-any.whl.metadata (5.5 kB)
Collecting whitenoise==6.12.0 (from -r requirements.txt (line 18))
Using cached whitenoise-6.12.0-py3-none-any.whl.metadata (3.7 kB)
Collecting django-cors-headers==4.9.0 (from -r requirements.txt (line 19))
Using cached django_cors_headers-4.9.0-py3-none-any.whl.metadata (16 kB)
Collecting deepeval==3.9.1 (from -r requirements.txt (line 20))
Using cached deepeval-3.9.1-py3-none-any.whl.metadata (23 kB)
Collecting celery==5.6.3 (from celery[redis]==5.6.3->-r requirements.txt (line 21))
Using cached celery-5.6.3-py3-none-any.whl.metadata (23 kB)
Collecting redis==6.4.0 (from -r requirements.txt (line 22))
Using cached redis-6.4.0-py3-none-any.whl.metadata (10 kB)
Collecting youtube-transcript-api==1.2.4 (from -r requirements.txt (line 23))
Using cached youtube_transcript_api-1.2.4-py3-none-any.whl.metadata (24 kB)
Collecting google-auth==2.49.0 (from -r requirements.txt (line 24))
Using cached google_auth-2.49.0-py3-none-any.whl.metadata (6.2 kB)
Collecting cryptography==46.0.5 (from -r requirements.txt (line 25))
Using cached cryptography-46.0.5-cp311-abi3-manylinux_2_34_x86_64.whl.metadata (5.7 kB)
Collecting rank-bm25==0.2.2 (from -r requirements.txt (line 26))
Using cached rank_bm25-0.2.2-py3-none-any.whl.metadata (3.2 kB)
Collecting asgiref>=3.9.1 (from Django==6.0.5->-r requirements.txt (line 1))
Downloading asgiref-3.13.0-py3-none-any.whl.metadata (12 kB)
Collecting sqlparse>=0.5.0 (from Django==6.0.5->-r requirements.txt (line 1))
Using cached sqlparse-0.6.0-py3-none-any.whl.metadata (6.0 kB)
Collecting transformers<6.0.0,>=4.41.0 (from sentence-transformers==5.2.3->-r requirements.txt (line 3))
Downloading transformers-5.21.0-py3-none-any.whl.metadata (31 kB)
Collecting huggingface-hub>=0.20.0 (from sentence-transformers==5.2.3->-r requirements.txt (line 3))
Downloading huggingface_hub-2.3.0-py3-none-any.whl.metadata (16 kB)
Collecting torch>=1.11.0 (from sentence-transformers==5.2.3->-r requirements.txt (line 3))
Using cached torch-2.14.1-cp312-cp312-manylinux_2_28_x86_64.whl.metadata (37 kB)
Collecting scikit-learn (from sentence-transformers==5.2.3->-r requirements.txt (line 3))
Using cached scikit_learn-1.9.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.metadata (9.3 kB)
Collecting scipy (from sentence-transformers==5.2.3->-r requirements.txt (line 3))
Using cached scipy-1.18.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.metadata (62 kB)
Collecting typing_extensions>=4.5.0 (from sentence-transformers==5.2.3->-r requirements.txt (line 3))
Using cached typing_extensions-4.16.0-py3-none-any.whl.metadata (3.3 kB)
Collecting tqdm (from sentence-transformers==5.2.3->-r requirements.txt (line 3))
Using cached tqdm-4.70.1-py3-none-any.whl.metadata (57 kB)
Collecting packaging (from faiss-cpu==1.13.2->-r requirements.txt (line 4))
Using cached packaging-26.3-py3-none-any.whl.metadata (3.5 kB)
Collecting anyio<5,>=3.5.0 (from openai==2.21.0->-r requirements.txt (line 5))
Using cached anyio-4.15.1-py3-none-any.whl.metadata (4.7 kB)
Collecting distro<2,>=1.7.0 (from openai==2.21.0->-r requirements.txt (line 5))
Using cached distro-1.9.0-py3-none-any.whl.metadata (6.8 kB)
Collecting httpx<1,>=0.23.0 (from openai==2.21.0->-r requirements.txt (line 5))
Using cached httpx-0.28.1-py3-none-any.whl.metadata (7.1 kB)
Collecting jiter<1,>=0.10.0 (from openai==2.21.0->-r requirements.txt (line 5))
Downloading jiter-0.18.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (5.2 kB)
Collecting pydantic<3,>=1.9.0 (from openai==2.21.0->-r requirements.txt (line 5))
Using cached pydantic-2.14.1-py3-none-any.whl.metadata (133 kB)
Collecting sniffio (from openai==2.21.0->-r requirements.txt (line 5))
Using cached sniffio-1.3.1-py3-none-any.whl.metadata (3.9 kB)
Collecting tenacity<9.2.0,>=8.2.3 (from google-genai==1.68.0->-r requirements.txt (line 7))
Using cached tenacity-9.1.4-py3-none-any.whl.metadata (1.2 kB)
Collecting websockets<17.0,>=13.0.0 (from google-genai==1.68.0->-r requirements.txt (line 7))
Using cached websockets-16.1.1-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.metadata (6.8 kB)
Collecting charset_normalizer<4,>=2 (from requests==2.32.5->-r requirements.txt (line 11))
Using cached charset_normalizer-3.5.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (46 kB)
Collecting idna<4,>=2.5 (from requests==2.32.5->-r requirements.txt (line 11))
Using cached idna-3.20-py3-none-any.whl.metadata (7.2 kB)
Collecting urllib3<3,>=1.21.1 (from requests==2.32.5->-r requirements.txt (line 11))
Using cached urllib3-2.8.0-py3-none-any.whl.metadata (7.4 kB)
Collecting certifi>=2017.4.17 (from requests==2.32.5->-r requirements.txt (line 11))
Downloading certifi-2026.10.23-py3-none-any.whl.metadata (2.5 kB)
Collecting pyasn1-modules>=0.2.1 (from google-auth==2.49.0->-r requirements.txt (line 24))
Using cached pyasn1_modules-0.4.2-py3-none-any.whl.metadata (3.5 kB)
Collecting rsa<5,>=3.1.4 (from google-auth==2.49.0->-r requirements.txt (line 24))
Using cached rsa-4.9.1-py3-none-any.whl.metadata (5.6 kB)
Collecting lxml>=3.1.0 (from python-docx==1.2.0->-r requirements.txt (line 9))
Using cached lxml-6.1.3-cp312-cp312-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl.metadata (3.3 kB)
Collecting pyjwt>=1.7.1 (from djangorestframework-simplejwt==5.5.1->-r requirements.txt (line 10))
Using cached pyjwt-2.15.1-py3-none-any.whl.metadata (3.5 kB)
Collecting soupsieve>=1.6.1 (from beautifulsoup4==4.14.3->-r requirements.txt (line 13))
Using cached soupsieve-3.0.4-py3-none-any.whl.metadata (4.4 kB)
Collecting courlan>=1.3.2 (from trafilatura==2.0.0->-r requirements.txt (line 16))
Using cached courlan-1.4.0-py3-none-any.whl.metadata (18 kB)
Collecting htmldate>=1.9.2 (from trafilatura==2.0.0->-r requirements.txt (line 16))
Using cached htmldate-1.11.0-py3-none-any.whl.metadata (9.8 kB)
Collecting justext>=3.0.1 (from trafilatura==2.0.0->-r requirements.txt (line 16))
Using cached justext-3.0.2-py2.py3-none-any.whl.metadata (7.3 kB)
Collecting aiohttp (from deepeval==3.9.1->-r requirements.txt (line 20))
Using cached aiohttp-3.14.5-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (8.3 kB)
Collecting click<8.4.0,>=8.0.0 (from deepeval==3.9.1->-r requirements.txt (line 20))
Using cached click-8.3.3-py3-none-any.whl.metadata (2.6 kB)
Collecting grpcio<2.0.0,>=1.67.1 (from deepeval==3.9.1->-r requirements.txt (line 20))
Downloading grpcio-1.85.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata (3.8 kB)
Collecting jinja2 (from deepeval==3.9.1->-r requirements.txt (line 20))
Using cached jinja2-3.1.6-py3-none-any.whl.metadata (2.9 kB)
Collecting nest_asyncio (from deepeval==3.9.1->-r requirements.txt (line 20))
Using cached nest_asyncio-1.6.0-py3-none-any.whl.metadata (2.8 kB)
Collecting opentelemetry-api<2.0.0,>=1.24.0 (from deepeval==3.9.1->-r requirements.txt (line 20))
Using cached opentelemetry_api-1.45.1-py3-none-any.whl.metadata (1.4 kB)
Collecting opentelemetry-sdk<2.0.0,>=1.24.0 (from deepeval==3.9.1->-r requirements.txt (line 20))
Using cached opentelemetry_sdk-1.45.1-py3-none-any.whl.metadata (1.6 kB)
Collecting portalocker (from deepeval==3.9.1->-r requirements.txt (line 20))
Downloading portalocker-4.4.2-py3-none-any.whl.metadata (10 kB)
Collecting posthog<6.0.0,>=5.4.0 (from deepeval==3.9.1->-r requirements.txt (line 20))
Using cached posthog-5.4.0-py3-none-any.whl.metadata (5.7 kB)
Collecting pydantic-settings<3.0.0,>=2.10.1 (from deepeval==3.9.1->-r requirements.txt (line 20))
Downloading pydantic_settings-2.16.2-py3-none-any.whl.metadata (4.0 kB)
Collecting pyfiglet (from deepeval==3.9.1->-r requirements.txt (line 20))
Using cached pyfiglet-1.0.4-py3-none-any.whl.metadata (7.4 kB)
Collecting pytest (from deepeval==3.9.1->-r requirements.txt (line 20))
Downloading pytest-9.2.0-py3-none-any.whl.metadata (7.9 kB)
Collecting pytest-asyncio (from deepeval==3.9.1->-r requirements.txt (line 20))
Downloading pytest_asyncio-1.4.1-py3-none-any.whl.metadata (4.4 kB)
Collecting pytest-repeat (from deepeval==3.9.1->-r requirements.txt (line 20))
Using cached pytest_repeat-0.9.4-py3-none-any.whl.metadata (4.9 kB)
Collecting pytest-rerunfailures (from deepeval==3.9.1->-r requirements.txt (line 20))
Using cached pytest_rerunfailures-16.7-py3-none-any.whl.metadata (33 kB)
Collecting pytest-xdist (from deepeval==3.9.1->-r requirements.txt (line 20))
Using cached pytest_xdist-3.8.0-py3-none-any.whl.metadata (3.0 kB)
Collecting rich<15.0.0,>=13.6.0 (from deepeval==3.9.1->-r requirements.txt (line 20))
Using cached rich-14.3.4-py3-none-any.whl.metadata (18 kB)
Collecting sentry-sdk (from deepeval==3.9.1->-r requirements.txt (line 20))
Downloading sentry_sdk-2.73.0-py3-none-any.whl.metadata (11 kB)
Collecting setuptools (from deepeval==3.9.1->-r requirements.txt (line 20))
Using cached setuptools-84.2.1-py3-none-any.whl.metadata (6.6 kB)
Collecting tabulate<0.10.0,>=0.9.0 (from deepeval==3.9.1->-r requirements.txt (line 20))
Using cached tabulate-0.9.0-py3-none-any.whl.metadata (34 kB)
Collecting typer<1.0.0,>=0.9 (from deepeval==3.9.1->-r requirements.txt (line 20))
Using cached typer-0.27.3-py3-none-any.whl.metadata (16 kB)
Collecting wheel (from deepeval==3.9.1->-r requirements.txt (line 20))
Using cached wheel-0.48.0-py3-none-any.whl.metadata (2.3 kB)
Collecting billiard<5.0,>=4.2.1 (from celery==5.6.3->celery[redis]==5.6.3->-r requirements.txt (line 21))
Using cached billiard-4.3.1-py3-none-any.whl.metadata (5.0 kB)
Collecting kombu>=5.6.0 (from celery==5.6.3->celery[redis]==5.6.3->-r requirements.txt (line 21))
Using cached kombu-5.6.2-py3-none-any.whl.metadata (3.5 kB)
Collecting vine<6.0,>=5.1.0 (from celery==5.6.3->celery[redis]==5.6.3->-r requirements.txt (line 21))
Using cached vine-5.1.0-py3-none-any.whl.metadata (2.7 kB)
Collecting click-didyoumean>=0.3.0 (from celery==5.6.3->celery[redis]==5.6.3->-r requirements.txt (line 21))
Using cached click_didyoumean-0.3.1-py3-none-any.whl.metadata (3.9 kB)
Collecting click-repl>=0.2.0 (from celery==5.6.3->celery[redis]==5.6.3->-r requirements.txt (line 21))
Using cached click_repl-0.4.1-py3-none-any.whl.metadata (3.7 kB)
Collecting click-plugins>=1.1.1 (from celery==5.6.3->celery[redis]==5.6.3->-r requirements.txt (line 21))
Using cached click_plugins-1.1.1.2-py2.py3-none-any.whl.metadata (6.5 kB)
Collecting python-dateutil>=2.8.2 (from celery==5.6.3->celery[redis]==5.6.3->-r requirements.txt (line 21))
Using cached python_dateutil-3.0.0-py2.py3-none-any.whl.metadata (8.2 kB)
Collecting tzlocal (from celery==5.6.3->celery[redis]==5.6.3->-r requirements.txt (line 21))
Downloading tzlocal-5.4.5-py3-none-any.whl.metadata (7.7 kB)
Collecting defusedxml<0.8.0,>=0.7.1 (from youtube-transcript-api==1.2.4->-r requirements.txt (line 23))
Using cached defusedxml-0.7.1-py2.py3-none-any.whl.metadata (32 kB)
Collecting cffi>=2.0.0 (from cryptography==46.0.5->-r requirements.txt (line 25))
Using cached cffi-2.1.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata (2.5 kB)
Collecting psycopg-binary==3.3.3 (from psycopg[binary]==3.3.3->-r requirements.txt (line 15))
Using cached psycopg_binary-3.3.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata (2.7 kB)
Collecting httpcore==1.* (from httpx<1,>=0.23.0->openai==2.21.0->-r requirements.txt (line 5))
Using cached httpcore-1.0.9-py3-none-any.whl.metadata (21 kB)
Collecting h11>=0.16 (from httpcore==1.*->httpx<1,>=0.23.0->openai==2.21.0->-r requirements.txt (line 5))
Using cached h11-0.16.0-py3-none-any.whl.metadata (8.3 kB)
Collecting opentelemetry-semantic-conventions==0.66b1 (from opentelemetry-sdk<2.0.0,>=1.24.0->deepeval==3.9.1->-r requirements.txt (line 20))
Using cached opentelemetry_semantic_conventions-0.66b1-py3-none-any.whl.metadata (2.4 kB)
Collecting six>=1.5 (from posthog<6.0.0,>=5.4.0->deepeval==3.9.1->-r requirements.txt (line 20))
Using cached six-1.17.0-py2.py3-none-any.whl.metadata (1.7 kB)
Collecting backoff>=1.10.0 (from posthog<6.0.0,>=5.4.0->deepeval==3.9.1->-r requirements.txt (line 20))
Using cached backoff-2.2.1-py3-none-any.whl.metadata (14 kB)
Collecting annotated-types>=0.6.0 (from pydantic<3,>=1.9.0->openai==2.21.0->-r requirements.txt (line 5))
Using cached annotated_types-0.8.0-py3-none-any.whl.metadata (15 kB)
Collecting pydantic-core==2.50.1 (from pydantic<3,>=1.9.0->openai==2.21.0->-r requirements.txt (line 5))
Using cached pydantic_core-2.50.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (6.5 kB)
Collecting typing-inspection>=0.4.4 (from pydantic<3,>=1.9.0->openai==2.21.0->-r requirements.txt (line 5))
Using cached typing_inspection-0.4.4-py3-none-any.whl.metadata (2.6 kB)
INFO: pip is looking at multiple versions of pydantic-settings to determine which version is compatible with other requirements. This could take a while.
Collecting pydantic-settings<3.0.0,>=2.10.1 (from deepeval==3.9.1->-r requirements.txt (line 20))
Using cached pydantic_settings-2.16.1-py3-none-any.whl.metadata (4.0 kB)
Using cached pydantic_settings-2.16.0-py3-none-any.whl.metadata (4.0 kB)
Using cached pydantic_settings-2.15.0-py3-none-any.whl.metadata (3.9 kB)
Collecting markdown-it-py>=2.2.0 (from rich<15.0.0,>=13.6.0->deepeval==3.9.1->-r requirements.txt (line 20))
Using cached markdown_it_py-4.2.0-py3-none-any.whl.metadata (7.4 kB)
Collecting pygments<3.0.0,>=2.13.0 (from rich<15.0.0,>=13.6.0->deepeval==3.9.1->-r requirements.txt (line 20))
Using cached pygments-2.21.0-py3-none-any.whl.metadata (2.5 kB)
Collecting pyasn1>=0.1.3 (from rsa<5,>=3.1.4->google-auth==2.49.0->-r requirements.txt (line 24))
Downloading pyasn1-0.6.5-py3-none-any.whl.metadata (8.4 kB)
Collecting pyyaml>=5.1 (from transformers<6.0.0,>=4.41.0->sentence-transformers==5.2.3->-r requirements.txt (line 3))
Using cached pyyaml-6.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (2.4 kB)
Collecting regex>=2025.10.22 (from transformers<6.0.0,>=4.41.0->sentence-transformers==5.2.3->-r requirements.txt (line 3))
Using cached regex-2026.9.29-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (40 kB)
Collecting tokenizers<0.24.0,>=0.23.1 (from transformers<6.0.0,>=4.41.0->sentence-transformers==5.2.3->-r requirements.txt (line 3))
Using cached tokenizers-0.23.3-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (9.8 kB)
Collecting safetensors>=0.8.0 (from transformers<6.0.0,>=4.41.0->sentence-transformers==5.2.3->-r requirements.txt (line 3))
Using cached safetensors-0.8.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.2 kB)
INFO: pip is looking at multiple versions of huggingface-hub to determine which version is compatible with other requirements. This could take a while.
Collecting huggingface-hub>=0.20.0 (from sentence-transformers==5.2.3->-r requirements.txt (line 3))
Using cached huggingface_hub-2.2.0-py3-none-any.whl.metadata (16 kB)
Using cached huggingface_hub-2.1.1-py3-none-any.whl.metadata (16 kB)
Using cached huggingface_hub-2.0.0-py3-none-any.whl.metadata (16 kB)
Using cached huggingface_hub-1.33.0-py3-none-any.whl.metadata (16 kB)
Using cached huggingface_hub-1.32.0-py3-none-any.whl.metadata (16 kB)
Using cached huggingface_hub-1.31.0-py3-none-any.whl.metadata (16 kB)
Collecting transformers<6.0.0,>=4.41.0 (from sentence-transformers==5.2.3->-r requirements.txt (line 3))
Using cached transformers-5.20.2-py3-none-any.whl.metadata (31 kB)
INFO: pip is still looking at multiple versions of huggingface-hub to determine which version is compatible with other requirements. This could take a while.
INFO: This is taking longer than usual. You might need to provide the dependency resolver with stricter constraints to reduce runtime. See https://pip.pypa.io/warnings/backtracking for guidance. If you want to abort this run, press Ctrl + C.
Collecting huggingface-hub>=0.20.0 (from sentence-transformers==5.2.3->-r requirements.txt (line 3))
Using cached huggingface_hub-1.30.0-py3-none-any.whl.metadata (16 kB)
Using cached huggingface_hub-1.29.0-py3-none-any.whl.metadata (16 kB)
Using cached huggingface_hub-1.28.0-py3-none-any.whl.metadata (16 kB)
Using cached huggingface_hub-1.27.0-py3-none-any.whl.metadata (16 kB)
Using cached huggingface_hub-1.26.1-py3-none-any.whl.metadata (16 kB)
Using cached huggingface_hub-1.26.0-py3-none-any.whl.metadata (16 kB)
Using cached huggingface_hub-1.25.1-py3-none-any.whl.metadata (16 kB)
Using cached huggingface_hub-1.25.0-py3-none-any.whl.metadata (16 kB)
Using cached huggingface_hub-1.24.0-py3-none-any.whl.metadata (16 kB)
Using cached huggingface_hub-1.23.0-py3-none-any.whl.metadata (14 kB)
Using cached huggingface_hub-1.22.0-py3-none-any.whl.metadata (14 kB)
Using cached huggingface_hub-1.21.0-py3-none-any.whl.metadata (14 kB)
Using cached huggingface_hub-1.20.1-py3-none-any.whl.metadata (14 kB)
Using cached huggingface_hub-1.20.0-py3-none-any.whl.metadata (14 kB)
Using cached huggingface_hub-1.19.0-py3-none-any.whl.metadata (14 kB)
Using cached huggingface_hub-1.18.0-py3-none-any.whl.metadata (14 kB)
Using cached huggingface_hub-1.17.0-py3-none-any.whl.metadata (14 kB)
Using cached huggingface_hub-1.16.4-py3-none-any.whl.metadata (14 kB)
Using cached huggingface_hub-1.16.1-py3-none-any.whl.metadata (14 kB)
Collecting filelock>=3.10.0 (from huggingface-hub>=0.20.0->sentence-transformers==5.2.3->-r requirements.txt (line 3))
Using cached filelock-4.2.4-py3-none-any.whl.metadata (2.0 kB)
Collecting fsspec>=2023.5.0 (from huggingface-hub>=0.20.0->sentence-transformers==5.2.3->-r requirements.txt (line 3))
Using cached fsspec-2026.9.0-py3-none-any.whl.metadata (10 kB)
Collecting hf-xet<2.0.0,>=1.4.3 (from huggingface-hub>=0.20.0->sentence-transformers==5.2.3->-r requirements.txt (line 3))
Using cached hf_xet-1.7.0-cp38-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata (4.9 kB)
Collecting transformers<6.0.0,>=4.41.0 (from sentence-transformers==5.2.3->-r requirements.txt (line 3))
Using cached transformers-5.20.1-py3-none-any.whl.metadata (31 kB)
Using cached transformers-5.20.0-py3-none-any.whl.metadata (31 kB)
Using cached transformers-5.19.0-py3-none-any.whl.metadata (32 kB)
Using cached transformers-5.18.0-py3-none-any.whl.metadata (32 kB)
Using cached transformers-5.17.0-py3-none-any.whl.metadata (32 kB)
Collecting shellingham>=1.3.0 (from typer<1.0.0,>=0.9->deepeval==3.9.1->-r requirements.txt (line 20))
Using cached shellingham-1.5.4-py2.py3-none-any.whl.metadata (3.5 kB)
Collecting annotated-doc>=0.0.2 (from typer<1.0.0,>=0.9->deepeval==3.9.1->-r requirements.txt (line 20))
Using cached annotated_doc-0.0.5-py3-none-any.whl.metadata (6.5 kB)
Collecting pycparser (from cffi>=2.0.0->cryptography==46.0.5->-r requirements.txt (line 25))
Downloading pycparser-3.12-py3-none-any.whl.metadata (9.7 kB)
Collecting prompt_toolkit>=3.0.36 (from click-repl>=0.2.0->celery==5.6.3->celery[redis]==5.6.3->-r requirements.txt (line 21))
Using cached prompt_toolkit-3.0.53-py3-none-any.whl.metadata (6.4 kB)
Collecting babel>=2.16.0 (from courlan>=1.3.2->trafilatura==2.0.0->-r requirements.txt (line 16))
Using cached babel-2.18.0-py3-none-any.whl.metadata (2.2 kB)
Collecting tld>=0.13 (from courlan>=1.3.2->trafilatura==2.0.0->-r requirements.txt (line 16))
Using cached tld-0.13.2-py2.py3-none-any.whl.metadata (11 kB)
Collecting dateparser>=1.4.3 (from htmldate>=1.9.2->trafilatura==2.0.0->-r requirements.txt (line 16))
Using cached dateparser-1.4.3-py3-none-any.whl.metadata (25 kB)
Collecting pytz>=2024.2 (from dateparser>=1.4.3->htmldate>=1.9.2->trafilatura==2.0.0->-r requirements.txt (line 16))
Using cached pytz-2026.5-py2.py3-none-any.whl.metadata (22 kB)
Collecting amqp<6.0.0,>=5.1.1 (from kombu>=5.6.0->celery==5.6.3->celery[redis]==5.6.3->-r requirements.txt (line 21))
Using cached amqp-5.4.1-py3-none-any.whl.metadata (9.4 kB)
Collecting tzdata>=2025.2 (from kombu>=5.6.0->celery==5.6.3->celery[redis]==5.6.3->-r requirements.txt (line 21))
Downloading tzdata-2026.6-py2.py3-none-any.whl.metadata (1.4 kB)
Collecting lxml_html_clean (from lxml[html_clean]>=4.4.2->justext>=3.0.1->trafilatura==2.0.0->-r requirements.txt (line 16))
Downloading lxml_html_clean-0.4.6-py3-none-any.whl.metadata (2.4 kB)
Collecting mdurl~=0.1 (from markdown-it-py>=2.2.0->rich<15.0.0,>=13.6.0->deepeval==3.9.1->-r requirements.txt (line 20))
Using cached mdurl-0.1.2-py3-none-any.whl.metadata (1.6 kB)
Collecting wcwidth>=0.1.4 (from prompt_toolkit>=3.0.36->click-repl>=0.2.0->celery==5.6.3->celery[redis]==5.6.3->-r requirements.txt (line 21))
Downloading wcwidth-0.9.4-cp310-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata (23 kB)
Collecting sympy>=1.13.3 (from torch>=1.11.0->sentence-transformers==5.2.3->-r requirements.txt (line 3))
Using cached sympy-1.14.0-py3-none-any.whl.metadata (12 kB)
Collecting networkx>=2.5.1 (from torch>=1.11.0->sentence-transformers==5.2.3->-r requirements.txt (line 3))
Using cached networkx-3.7-py3-none-any.whl.metadata (6.7 kB)
Collecting cuda-toolkit==13.0.3 (from cuda-toolkit[cublas,cudart,cufft,cufile,cupti,curand,cusolver,cusparse,nvjitlink,nvrtc,nvtx]==13.0.3; platform_system == "Linux"->torch>=1.11.0->sentence-transformers==5.2.3->-r requirements.txt (line 3))
Using cached cuda_toolkit-13.0.3.0-py2.py3-none-any.whl.metadata (17 kB)
Collecting cuda-bindings<14,>=13.0.3 (from torch>=1.11.0->sentence-transformers==5.2.3->-r requirements.txt (line 3))
Using cached cuda_bindings-13.4.4-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.metadata (2.4 kB)
Collecting nvidia-cudnn-cu13==9.24.0.43 (from torch>=1.11.0->sentence-transformers==5.2.3->-r requirements.txt (line 3))
Using cached nvidia_cudnn_cu13-9.24.0.43-py3-none-manylinux_2_27_x86_64.whl.metadata (1.9 kB)
Collecting nvidia-cusparselt-cu13==0.8.1 (from torch>=1.11.0->sentence-transformers==5.2.3->-r requirements.txt (line 3))
Using cached nvidia_cusparselt_cu13-0.8.1-py3-none-manylinux2014_x86_64.whl.metadata (12 kB)
Collecting nvidia-nccl-cu13==2.30.7 (from torch>=1.11.0->sentence-transformers==5.2.3->-r requirements.txt (line 3))
Using cached nvidia_nccl_cu13-2.30.7-py3-none-manylinux_2_18_x86_64.whl.metadata (2.1 kB)
Collecting nvidia-nvshmem-cu13==3.4.5 (from torch>=1.11.0->sentence-transformers==5.2.3->-r requirements.txt (line 3))
Using cached nvidia_nvshmem_cu13-3.4.5-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata (2.1 kB)
Collecting triton~=3.8.0 (from torch>=1.11.0->sentence-transformers==5.2.3->-r requirements.txt (line 3))
Using cached triton-3.8.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.metadata (978 bytes)
Collecting nvidia-cublas==13.1.1.3.* (from cuda-toolkit[cublas,cudart,cufft,cufile,cupti,curand,cusolver,cusparse,nvjitlink,nvrtc,nvtx]==13.0.3; platform_system == "Linux"->torch>=1.11.0->sentence-transformers==5.2.3->-r requirements.txt (line 3))
Using cached nvidia_cublas-13.1.1.3-py3-none-manylinux_2_27_x86_64.whl.metadata (1.8 kB)
Collecting nvidia-cuda-nvrtc==13.0.88.* (from cuda-toolkit[cublas,cudart,cufft,cufile,cupti,curand,cusolver,cusparse,nvjitlink,nvrtc,nvtx]==13.0.3; platform_system == "Linux"->torch>=1.11.0->sentence-transformers==5.2.3->-r requirements.txt (line 3))
Using cached nvidia_cuda_nvrtc-13.0.88-py3-none-manylinux2010_x86_64.manylinux_2_12_x86_64.whl.metadata (1.7 kB)
Collecting nvidia-cuda-runtime==13.0.96.* (from cuda-toolkit[cublas,cudart,cufft,cufile,cupti,curand,cusolver,cusparse,nvjitlink,nvrtc,nvtx]==13.0.3; platform_system == "Linux"->torch>=1.11.0->sentence-transformers==5.2.3->-r requirements.txt (line 3))
Using cached nvidia_cuda_runtime-13.0.96-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata (1.7 kB)
Collecting nvidia-cufft==12.0.0.61.* (from cuda-toolkit[cublas,cudart,cufft,cufile,cupti,curand,cusolver,cusparse,nvjitlink,nvrtc,nvtx]==13.0.3; platform_system == "Linux"->torch>=1.11.0->sentence-transformers==5.2.3->-r requirements.txt (line 3))
Using cached nvidia_cufft-12.0.0.61-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata (1.8 kB)
Collecting nvidia-nvjitlink<14,>=13.0.88 (from cuda-toolkit[cublas,cudart,cufft,cufile,cupti,curand,cusolver,cusparse,nvjitlink,nvrtc,nvtx]==13.0.3; platform_system == "Linux"->torch>=1.11.0->sentence-transformers==5.2.3->-r requirements.txt (line 3))
Using cached nvidia_nvjitlink-13.4.92-py3-none-manylinux2010_x86_64.manylinux_2_12_x86_64.whl.metadata (1.8 kB)
Collecting nvidia-cufile==1.15.1.6.* (from cuda-toolkit[cublas,cudart,cufft,cufile,cupti,curand,cusolver,cusparse,nvjitlink,nvrtc,nvtx]==13.0.3; platform_system == "Linux"->torch>=1.11.0->sentence-transformers==5.2.3->-r requirements.txt (line 3))
Using cached nvidia_cufile-1.15.1.6-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata (1.7 kB)
Collecting nvidia-cuda-cupti==13.0.85.* (from cuda-toolkit[cublas,cudart,cufft,cufile,cupti,curand,cusolver,cusparse,nvjitlink,nvrtc,nvtx]==13.0.3; platform_system == "Linux"->torch>=1.11.0->sentence-transformers==5.2.3->-r requirements.txt (line 3))
Using cached nvidia_cuda_cupti-13.0.85-py3-none-manylinux_2_25_x86_64.whl.metadata (1.7 kB)
Collecting nvidia-curand==10.4.0.35.* (from cuda-toolkit[cublas,cudart,cufft,cufile,cupti,curand,cusolver,cusparse,nvjitlink,nvrtc,nvtx]==13.0.3; platform_system == "Linux"->torch>=1.11.0->sentence-transformers==5.2.3->-r requirements.txt (line 3))
Using cached nvidia_curand-10.4.0.35-py3-none-manylinux_2_27_x86_64.whl.metadata (1.7 kB)
Collecting nvidia-cusolver==12.0.4.66.* (from cuda-toolkit[cublas,cudart,cufft,cufile,cupti,curand,cusolver,cusparse,nvjitlink,nvrtc,nvtx]==13.0.3; platform_system == "Linux"->torch>=1.11.0->sentence-transformers==5.2.3->-r requirements.txt (line 3))
Using cached nvidia_cusolver-12.0.4.66-py3-none-manylinux_2_27_x86_64.whl.metadata (1.8 kB)
Collecting nvidia-cusparse==12.6.3.3.* (from cuda-toolkit[cublas,cudart,cufft,cufile,cupti,curand,cusolver,cusparse,nvjitlink,nvrtc,nvtx]==13.0.3; platform_system == "Linux"->torch>=1.11.0->sentence-transformers==5.2.3->-r requirements.txt (line 3))
Using cached nvidia_cusparse-12.6.3.3-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata (1.8 kB)
Collecting nvidia-nvtx==13.0.85.* (from cuda-toolkit[cublas,cudart,cufft,cufile,cupti,curand,cusolver,cusparse,nvjitlink,nvrtc,nvtx]==13.0.3; platform_system == "Linux"->torch>=1.11.0->sentence-transformers==5.2.3->-r requirements.txt (line 3))
Using cached nvidia_nvtx-13.0.85-py3-none-manylinux1_x86_64.manylinux_2_5_x86_64.whl.metadata (1.8 kB)
Collecting cuda-pathfinder>=1.4.2 (from cuda-bindings<14,>=13.0.3->torch>=1.11.0->sentence-transformers==5.2.3->-r requirements.txt (line 3))
Downloading cuda_pathfinder-1.8.4-py3-none-any.whl.metadata (1.9 kB)
Collecting mpmath<1.4,>=1.1.0 (from sympy>=1.13.3->torch>=1.11.0->sentence-transformers==5.2.3->-r requirements.txt (line 3))
Using cached mpmath-1.3.0-py3-none-any.whl.metadata (8.6 kB)
Collecting aiohappyeyeballs>=2.5.0 (from aiohttp->deepeval==3.9.1->-r requirements.txt (line 20))
Using cached aiohappyeyeballs-2.7.1-py3-none-any.whl.metadata (5.9 kB)
Collecting aiosignal>=1.4.0 (from aiohttp->deepeval==3.9.1->-r requirements.txt (line 20))
Using cached aiosignal-1.4.0-py3-none-any.whl.metadata (3.7 kB)
Collecting attrs>=17.3.0 (from aiohttp->deepeval==3.9.1->-r requirements.txt (line 20))
Using cached attrs-26.1.0-py3-none-any.whl.metadata (8.8 kB)
Collecting frozenlist>=1.1.1 (from aiohttp->deepeval==3.9.1->-r requirements.txt (line 20))
Using cached frozenlist-1.8.0-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.metadata (20 kB)
Collecting multidict<8.0,>=4.5 (from aiohttp->deepeval==3.9.1->-r requirements.txt (line 20))
Downloading multidict-7.2.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (6.1 kB)
Collecting propcache>=0.2.0 (from aiohttp->deepeval==3.9.1->-r requirements.txt (line 20))
Using cached propcache-0.5.4-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (25 kB)
Collecting yarl<2.0,>=1.25.1 (from aiohttp->deepeval==3.9.1->-r requirements.txt (line 20))
Using cached yarl-1.25.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (111 kB)
Collecting MarkupSafe>=2.0 (from jinja2->deepeval==3.9.1->-r requirements.txt (line 20))
Using cached markupsafe-3.0.4-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (2.7 kB)
Collecting iniconfig>=2 (from pytest->deepeval==3.9.1->-r requirements.txt (line 20))
Using cached iniconfig-2.3.1-py3-none-any.whl.metadata (2.8 kB)
Collecting pluggy<2,>=1.6 (from pytest->deepeval==3.9.1->-r requirements.txt (line 20))
Using cached pluggy-1.7.0-py3-none-any.whl.metadata (5.0 kB)
Collecting execnet>=2.1 (from pytest-xdist->deepeval==3.9.1->-r requirements.txt (line 20))
Using cached execnet-2.1.2-py3-none-any.whl.metadata (2.9 kB)
Collecting joblib>=1.4.0 (from scikit-learn->sentence-transformers==5.2.3->-r requirements.txt (line 3))
Using cached joblib-1.6.0-py3-none-any.whl.metadata (6.5 kB)
Collecting narwhals>=2.0.1 (from scikit-learn->sentence-transformers==5.2.3->-r requirements.txt (line 3))
Downloading narwhals-2.28.0-py3-none-any.whl.metadata (15 kB)
Collecting threadpoolctl>=3.5.0 (from scikit-learn->sentence-transformers==5.2.3->-r requirements.txt (line 3))
Using cached threadpoolctl-3.7.0-py3-none-any.whl.metadata (24 kB)
Collecting cloudpickle>=3.0 (from joblib>=1.4.0->scikit-learn->sentence-transformers==5.2.3->-r requirements.txt (line 3))
Using cached cloudpickle-3.1.2-py3-none-any.whl.metadata (7.1 kB)
Using cached django-6.0.5-py3-none-any.whl (8.4 MB)
Using cached djangorestframework-3.16.1-py3-none-any.whl (1.1 MB)
Using cached sentence_transformers-5.2.3-py3-none-any.whl (494 kB)
Using cached faiss_cpu-1.13.2-cp310-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (23.8 MB)
Using cached numpy-2.4.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (16.6 MB)
Using cached openai-2.21.0-py3-none-any.whl (1.1 MB)
Using cached google_genai-1.68.0-py3-none-any.whl (750 kB)
Using cached requests-2.32.5-py3-none-any.whl (64 kB)
Using cached google_auth-2.49.0-py3-none-any.whl (240 kB)
Using cached pypdf-6.7.1-py3-none-any.whl (331 kB)
Using cached python_docx-1.2.0-py3-none-any.whl (252 kB)
Using cached djangorestframework_simplejwt-5.5.1-py3-none-any.whl (107 kB)
Using cached python_dotenv-1.2.1-py3-none-any.whl (21 kB)
Using cached beautifulsoup4-4.14.3-py3-none-any.whl (107 kB)
Using cached dj_database_url-3.1.2-py3-none-any.whl (9.0 kB)
Using cached psycopg-3.3.3-py3-none-any.whl (212 kB)
Using cached trafilatura-2.0.0-py3-none-any.whl (132 kB)
Using cached gunicorn-25.1.0-py3-none-any.whl (197 kB)
Using cached whitenoise-6.12.0-py3-none-any.whl (20 kB)
Using cached django_cors_headers-4.9.0-py3-none-any.whl (12 kB)
Using cached deepeval-3.9.1-py3-none-any.whl (839 kB)
Using cached celery-5.6.3-py3-none-any.whl (451 kB)
Using cached redis-6.4.0-py3-none-any.whl (279 kB)
Using cached youtube_transcript_api-1.2.4-py3-none-any.whl (485 kB)
Using cached cryptography-46.0.5-cp311-abi3-manylinux_2_34_x86_64.whl (4.5 MB)
Using cached rank_bm25-0.2.2-py3-none-any.whl (8.6 kB)
Using cached psycopg_binary-3.3.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (5.2 MB)
Using cached anyio-4.15.1-py3-none-any.whl (132 kB)
Using cached billiard-4.3.1-py3-none-any.whl (90 kB)
Using cached charset_normalizer-3.5.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (257 kB)
Using cached click-8.3.3-py3-none-any.whl (110 kB)
Using cached defusedxml-0.7.1-py2.py3-none-any.whl (25 kB)
Using cached distro-1.9.0-py3-none-any.whl (20 kB)
Downloading grpcio-1.85.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (7.4 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 7.4/7.4 MB 48.8 MB/s 0:00:00
Using cached httpx-0.28.1-py3-none-any.whl (73 kB)
Using cached httpcore-1.0.9-py3-none-any.whl (78 kB)
Using cached idna-3.20-py3-none-any.whl (69 kB)
Downloading jiter-0.18.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (336 kB)
Using cached opentelemetry_api-1.45.1-py3-none-any.whl (60 kB)
Using cached opentelemetry_sdk-1.45.1-py3-none-any.whl (140 kB)
Using cached opentelemetry_semantic_conventions-0.66b1-py3-none-any.whl (206 kB)
Using cached posthog-5.4.0-py3-none-any.whl (105 kB)
Using cached pydantic-2.14.1-py3-none-any.whl (488 kB)
Using cached pydantic_core-2.50.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.2 MB)
Using cached pydantic_settings-2.15.0-py3-none-any.whl (69 kB)
Using cached rich-14.3.4-py3-none-any.whl (310 kB)
Using cached pygments-2.21.0-py3-none-any.whl (1.3 MB)
Using cached rsa-4.9.1-py3-none-any.whl (34 kB)
Using cached tabulate-0.9.0-py3-none-any.whl (35 kB)
Using cached tenacity-9.1.4-py3-none-any.whl (28 kB)
Using cached tqdm-4.70.1-py3-none-any.whl (80 kB)
Using cached huggingface_hub-1.16.1-py3-none-any.whl (668 kB)
Using cached hf_xet-1.7.0-cp38-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (4.2 MB)
Using cached transformers-5.17.0-py3-none-any.whl (12.3 MB)
Using cached tokenizers-0.23.3-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.4 MB)
Using cached typer-0.27.3-py3-none-any.whl (123 kB)
Using cached typing_extensions-4.16.0-py3-none-any.whl (45 kB)
Using cached urllib3-2.8.0-py3-none-any.whl (135 kB)
Using cached vine-5.1.0-py3-none-any.whl (9.6 kB)
Using cached websockets-16.1.1-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (187 kB)
Using cached annotated_doc-0.0.5-py3-none-any.whl (5.3 kB)
Using cached annotated_types-0.8.0-py3-none-any.whl (13 kB)
Downloading asgiref-3.13.0-py3-none-any.whl (27 kB)
Using cached backoff-2.2.1-py3-none-any.whl (15 kB)
Downloading certifi-2026.10.23-py3-none-any.whl (135 kB)
Using cached cffi-2.1.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (221 kB)
Using cached click_didyoumean-0.3.1-py3-none-any.whl (3.6 kB)
Using cached click_plugins-1.1.1.2-py2.py3-none-any.whl (11 kB)
Using cached click_repl-0.4.1-py3-none-any.whl (14 kB)
Using cached courlan-1.4.0-py3-none-any.whl (34 kB)
Using cached babel-2.18.0-py3-none-any.whl (10.2 MB)
Using cached filelock-4.2.4-py3-none-any.whl (162 kB)
Using cached fsspec-2026.9.0-py3-none-any.whl (221 kB)
Using cached h11-0.16.0-py3-none-any.whl (37 kB)
Using cached htmldate-1.11.0-py3-none-any.whl (33 kB)
Using cached dateparser-1.4.3-py3-none-any.whl (322 kB)
Using cached justext-3.0.2-py2.py3-none-any.whl (837 kB)
Using cached kombu-5.6.2-py3-none-any.whl (214 kB)
Using cached amqp-5.4.1-py3-none-any.whl (51 kB)
Using cached lxml-6.1.3-cp312-cp312-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl (5.2 MB)
Using cached markdown_it_py-4.2.0-py3-none-any.whl (91 kB)
Using cached mdurl-0.1.2-py3-none-any.whl (10.0 kB)
Using cached packaging-26.3-py3-none-any.whl (129 kB)
Using cached prompt_toolkit-3.0.53-py3-none-any.whl (392 kB)
Downloading pyasn1-0.6.5-py3-none-any.whl (84 kB)
Using cached pyasn1_modules-0.4.2-py3-none-any.whl (181 kB)
Using cached pyjwt-2.15.1-py3-none-any.whl (33 kB)
Using cached python_dateutil-3.0.0-py2.py3-none-any.whl (94 kB)
Using cached pytz-2026.5-py2.py3-none-any.whl (506 kB)
Using cached pyyaml-6.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (807 kB)
Using cached regex-2026.9.29-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (807 kB)
Using cached safetensors-0.8.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (516 kB)
Using cached shellingham-1.5.4-py2.py3-none-any.whl (9.8 kB)
Using cached six-1.17.0-py2.py3-none-any.whl (11 kB)
Using cached soupsieve-3.0.4-py3-none-any.whl (42 kB)
Using cached sqlparse-0.6.0-py3-none-any.whl (50 kB)
Using cached tld-0.13.2-py2.py3-none-any.whl (296 kB)
Using cached torch-2.14.1-cp312-cp312-manylinux_2_28_x86_64.whl (554.6 MB)
Using cached cuda_toolkit-13.0.3.0-py2.py3-none-any.whl (2.5 kB)
Using cached nvidia_cudnn_cu13-9.24.0.43-py3-none-manylinux_2_27_x86_64.whl (553.1 MB)
Using cached nvidia_cusparselt_cu13-0.8.1-py3-none-manylinux2014_x86_64.whl (170.1 MB)
Using cached nvidia_nccl_cu13-2.30.7-py3-none-manylinux_2_18_x86_64.whl (216.0 MB)
Using cached nvidia_nvshmem_cu13-3.4.5-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (60.4 MB)
Using cached cuda_bindings-13.4.4-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (7.2 MB)
Using cached nvidia_cublas-13.1.1.3-py3-none-manylinux_2_27_x86_64.whl (423.1 MB)
Using cached nvidia_cuda_cupti-13.0.85-py3-none-manylinux_2_25_x86_64.whl (10.7 MB)
Using cached nvidia_cuda_nvrtc-13.0.88-py3-none-manylinux2010_x86_64.manylinux_2_12_x86_64.whl (90.2 MB)
Using cached nvidia_cuda_runtime-13.0.96-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (2.2 MB)
Using cached nvidia_cufft-12.0.0.61-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (214.1 MB)
Using cached nvidia_cufile-1.15.1.6-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (1.2 MB)
Using cached nvidia_curand-10.4.0.35-py3-none-manylinux_2_27_x86_64.whl (59.5 MB)
Using cached nvidia_cusolver-12.0.4.66-py3-none-manylinux_2_27_x86_64.whl (200.9 MB)
Using cached nvidia_cusparse-12.6.3.3-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (145.9 MB)
Using cached nvidia_nvjitlink-13.4.92-py3-none-manylinux2010_x86_64.manylinux_2_12_x86_64.whl (42.5 MB)
Using cached nvidia_nvtx-13.0.85-py3-none-manylinux1_x86_64.manylinux_2_5_x86_64.whl (148 kB)
Using cached triton-3.8.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (248.0 MB)
Downloading cuda_pathfinder-1.8.4-py3-none-any.whl (62 kB)
Using cached networkx-3.7-py3-none-any.whl (2.1 MB)
Using cached setuptools-84.2.1-py3-none-any.whl (876 kB)
Using cached sympy-1.14.0-py3-none-any.whl (6.3 MB)
Using cached mpmath-1.3.0-py3-none-any.whl (536 kB)
Using cached typing_inspection-0.4.4-py3-none-any.whl (14 kB)
Downloading tzdata-2026.6-py2.py3-none-any.whl (348 kB)
Downloading tzlocal-5.4.5-py3-none-any.whl (18 kB)
Downloading wcwidth-0.9.4-cp310-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (785 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 785.9/785.9 kB 774.7 kB/s 0:00:00
Using cached aiohttp-3.14.5-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (1.9 MB)
Downloading multidict-7.2.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (516 kB)
Using cached yarl-1.25.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (117 kB)
Using cached aiohappyeyeballs-2.7.1-py3-none-any.whl (15 kB)
Using cached aiosignal-1.4.0-py3-none-any.whl (7.5 kB)
Using cached attrs-26.1.0-py3-none-any.whl (67 kB)
Using cached frozenlist-1.8.0-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (242 kB)
Using cached propcache-0.5.4-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (250 kB)
Using cached jinja2-3.1.6-py3-none-any.whl (134 kB)
Using cached markupsafe-3.0.4-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (22 kB)
Downloading lxml_html_clean-0.4.6-py3-none-any.whl (14 kB)
Using cached nest_asyncio-1.6.0-py3-none-any.whl (5.2 kB)
Downloading portalocker-4.4.2-py3-none-any.whl (129 kB)
Downloading pycparser-3.12-py3-none-any.whl (62 kB)
Using cached pyfiglet-1.0.4-py3-none-any.whl (1.8 MB)
Downloading pytest-9.2.0-py3-none-any.whl (411 kB)
Using cached pluggy-1.7.0-py3-none-any.whl (27 kB)
Using cached iniconfig-2.3.1-py3-none-any.whl (7.6 kB)
Downloading pytest_asyncio-1.4.1-py3-none-any.whl (17 kB)
Using cached pytest_repeat-0.9.4-py3-none-any.whl (4.2 kB)
Using cached pytest_rerunfailures-16.7-py3-none-any.whl (23 kB)
Using cached pytest_xdist-3.8.0-py3-none-any.whl (46 kB)
Using cached execnet-2.1.2-py3-none-any.whl (40 kB)
Using cached scikit_learn-1.9.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (9.2 MB)
Using cached joblib-1.6.0-py3-none-any.whl (306 kB)
Using cached cloudpickle-3.1.2-py3-none-any.whl (22 kB)
Downloading narwhals-2.28.0-py3-none-any.whl (490 kB)
Using cached scipy-1.18.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (35.3 MB)
Using cached threadpoolctl-3.7.0-py3-none-any.whl (26 kB)
Downloading sentry_sdk-2.73.0-py3-none-any.whl (549 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 549.0/549.0 kB 100.7 MB/s 0:00:00
Using cached sniffio-1.3.1-py3-none-any.whl (10 kB)
Using cached wheel-0.48.0-py3-none-any.whl (33 kB)
Installing collected packages: pytz, nvidia-cusparselt-cu13, mpmath, cuda-toolkit, whitenoise, websockets, wcwidth, vine, urllib3, tzlocal, tzdata, typing_extensions, triton, tqdm, tld, threadpoolctl, tenacity, tabulate, sympy, sqlparse, soupsieve, sniffio, six, shellingham, setuptools, safetensors, regex, redis, pyyaml, python-dotenv, pypdf, pyjwt, pygments, pyfiglet, pycparser, pyasn1, psycopg-binary, propcache, portalocker, pluggy, packaging, nvidia-nvtx, nvidia-nvshmem-cu13, nvidia-nvjitlink, nvidia-nccl-cu13, nvidia-curand, nvidia-cufile, nvidia-cuda-runtime, nvidia-cuda-nvrtc, nvidia-cuda-cupti, numpy, networkx, nest_asyncio, narwhals, multidict, mdurl, MarkupSafe, lxml, jiter, iniconfig, idna, hf-xet, h11, fsspec, frozenlist, filelock, execnet, distro, defusedxml, cuda-pathfinder, cloudpickle, click, charset_normalizer, certifi, billiard, backoff, babel, attrs, asgiref, annotated-types, annotated-doc, aiohappyeyeballs, yarl, wheel, typing-inspection, sentry-sdk, scipy, rsa, requests, rank-bm25, python-docx, python-dateutil, pytest, pydantic-core, pyasn1-modules, psycopg, prompt_toolkit, opentelemetry-api, nvidia-cusparse, nvidia-cufft, nvidia-cublas, markdown-it-py, lxml_html_clean, joblib, jinja2, httpcore, gunicorn, grpcio, faiss-cpu, Django, cuda-bindings, courlan, click-plugins, click-didyoumean, cffi, beautifulsoup4, anyio, amqp, aiosignal, youtube-transcript-api, scikit-learn, rich, pytest-xdist, pytest-rerunfailures, pytest-repeat, pytest-asyncio, pydantic, posthog, opentelemetry-semantic-conventions, nvidia-cusolver, nvidia-cudnn-cu13, kombu, httpx, djangorestframework, django-cors-headers, dj-database-url, dateparser, cryptography, click-repl, aiohttp, typer, pydantic-settings, opentelemetry-sdk, openai, justext, htmldate, google-auth, djangorestframework-simplejwt, celery, trafilatura, torch, huggingface-hub, deepeval, tokenizers, google-genai, transformers, sentence-transformers
Successfully installed Django-6.0.5 MarkupSafe-3.0.4 aiohappyeyeballs-2.7.1 aiohttp-3.14.5 aiosignal-1.4.0 amqp-5.4.1 annotated-doc-0.0.5 annotated-types-0.8.0 anyio-4.15.1 asgiref-3.13.0 attrs-26.1.0 babel-2.18.0 backoff-2.2.1 beautifulsoup4-4.14.3 billiard-4.3.1 celery-5.6.3 certifi-2026.10.23 cffi-2.1.1 charset_normalizer-3.5.2 click-8.3.3 click-didyoumean-0.3.1 click-plugins-1.1.1.2 click-repl-0.4.1 cloudpickle-3.1.2 courlan-1.4.0 cryptography-46.0.5 cuda-bindings-13.4.4 cuda-pathfinder-1.8.4 cuda-toolkit-13.0.3.0 dateparser-1.4.3 deepeval-3.9.1 defusedxml-0.7.1 distro-1.9.0 dj-database-url-3.1.2 django-cors-headers-4.9.0 djangorestframework-3.16.1 djangorestframework-simplejwt-5.5.1 execnet-2.1.2 faiss-cpu-1.13.2 filelock-4.2.4 frozenlist-1.8.0 fsspec-2026.9.0 google-auth-2.49.0 google-genai-1.68.0 grpcio-1.85.0 gunicorn-25.1.0 h11-0.16.0 hf-xet-1.7.0 htmldate-1.11.0 httpcore-1.0.9 httpx-0.28.1 huggingface-hub-1.16.1 idna-3.20 iniconfig-2.3.1 jinja2-3.1.6 jiter-0.18.0 joblib-1.6.0 justext-3.0.2 kombu-5.6.2 lxml-6.1.3 lxml_html_clean-0.4.6 markdown-it-py-4.2.0 mdurl-0.1.2 mpmath-1.3.0 multidict-7.2.1 narwhals-2.28.0 nest_asyncio-1.6.0 networkx-3.7 numpy-2.4.2 nvidia-cublas-13.1.1.3 nvidia-cuda-cupti-13.0.85 nvidia-cuda-nvrtc-13.0.88 nvidia-cuda-runtime-13.0.96 nvidia-cudnn-cu13-9.24.0.43 nvidia-cufft-12.0.0.61 nvidia-cufile-1.15.1.6 nvidia-curand-10.4.0.35 nvidia-cusolver-12.0.4.66 nvidia-cusparse-12.6.3.3 nvidia-cusparselt-cu13-0.8.1 nvidia-nccl-cu13-2.30.7 nvidia-nvjitlink-13.4.92 nvidia-nvshmem-cu13-3.4.5 nvidia-nvtx-13.0.85 openai-2.21.0 opentelemetry-api-1.45.1 opentelemetry-sdk-1.45.1 opentelemetry-semantic-conventions-0.66b1 packaging-26.3 pluggy-1.7.0 portalocker-4.4.2 posthog-5.4.0 prompt_toolkit-3.0.53 propcache-0.5.4 psycopg-3.3.3 psycopg-binary-3.3.3 pyasn1-0.6.5 pyasn1-modules-0.4.2 pycparser-3.12 pydantic-2.14.1 pydantic-core-2.50.1 pydantic-settings-2.15.0 pyfiglet-1.0.4 pygments-2.21.0 pyjwt-2.15.1 pypdf-6.7.1 pytest-9.2.0 pytest-asyncio-1.4.1 pytest-repeat-0.9.4 pytest-rerunfailures-16.7 pytest-xdist-3.8.0 python-dateutil-3.0.0 python-docx-1.2.0 python-dotenv-1.2.1 pytz-2026.5 pyyaml-6.0.3 rank-bm25-0.2.2 redis-6.4.0 regex-2026.9.29 requests-2.32.5 rich-14.3.4 rsa-4.9.1 safetensors-0.8.0 scikit-learn-1.9.1 scipy-1.18.1 sentence-transformers-5.2.3 sentry-sdk-2.73.0 setuptools-84.2.1 shellingham-1.5.4 six-1.17.0 sniffio-1.3.1 soupsieve-3.0.4 sqlparse-0.6.0 sympy-1.14.0 tabulate-0.9.0 tenacity-9.1.4 threadpoolctl-3.7.0 tld-0.13.2 tokenizers-0.23.3 torch-2.14.1 tqdm-4.70.1 trafilatura-2.0.0 transformers-5.17.0 triton-3.8.0 typer-0.27.3 typing-inspection-0.4.4 typing_extensions-4.16.0 tzdata-2026.6 tzlocal-5.4.5 urllib3-2.8.0 vine-5.1.0 wcwidth-0.9.4 websockets-16.1.1 wheel-0.48.0 whitenoise-6.12.0 yarl-1.25.1 youtube-transcript-api-1.2.4
[notice] A new release of pip is available: 26.2.1 -> 26.2.2
[notice] To update, run: pip install --upgrade pip
▸ Run python manage.py test --verbosity=2
python manage.py test --verbosity=2
shell: /usr/bin/bash -e {0}
env:
pythonLocation: /opt/hostedtoolcache/Python/3.12.15/x64
PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib/pkgconfig
Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.12.15/x64
LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.12.15/x64/lib
DATABASE_URL: ***localhost:5432/test_db
DJANGO_DB_SSL_REQUIRE: false
DJANGO_DEBUG: true
Creating test database for alias 'default' ('test_test_db')...
Found 102 test(s).
Operations to perform:
Synchronize unmigrated apps: corsheaders, messages, rest_framework, staticfiles
Apply all migrations: admin, api, auth, contenttypes, sessions, token_blacklist
Synchronizing apps without migrations:
Creating tables...
Running deferred SQL...
Running migrations:
Applying contenttypes.0001_initial... OK
Applying auth.0001_initial... OK
Applying admin.0001_initial... OK
Applying admin.0002_logentry_remove_auto_add... OK
Applying admin.0003_logentry_add_action_flag_choices... OK
Applying api.0001_initial... OK
Applying api.0002_chatfeedback... OK
Applying api.0003_chatmessage_chunks... OK
Applying api.0004_collection_document... OK
Applying api.0005_apiusagelog... OK
Applying api.0006_userprofile... OK
Applying api.0007_conversation_chatmessage_conversation... OK
Applying api.0008_task... OK
Applying api.0009_userprofile_llm_provider_and_api_key... OK
Applying api.0010_userprofile_llm_model... OK
Applying api.0011_evaluationdataset_evaluationresult... OK
Applying api.0012_chatfeedback_failure_tag... OK
Applying api.0013_conversation_pinned... OK
Applying api.0014_alter_userprofile_llm_model... OK
Applying api.0015_backfill_document_rows... OK
Applying api.0016_alter_userprofile_llm_provider... OK
Applying contenttypes.0002_remove_content_type_name... OK
Applying auth.0002_alter_permission_name_max_length... OK
Applying auth.0003_alter_user_email_max_length... OK
Applying auth.0004_alter_user_username_opts... OK
Applying auth.0005_alter_user_last_login_null... OK
Applying auth.0006_require_contenttypes_0002... OK
Applying auth.0007_alter_validators_add_error_messages... OK
Applying auth.0008_alter_user_username_max_length... OK
Applying auth.0009_alter_user_last_name_max_length... OK
Applying auth.0010_alter_group_name_max_length... OK
Applying auth.0011_update_proxy_permissions... OK
Applying auth.0012_alter_user_first_name_max_length... OK
Applying sessions.0001_initial... OK
Applying token_blacklist.0001_initial... OK
Applying token_blacklist.0002_outstandingtoken_jti_hex... OK
Applying token_blacklist.0003_auto_20171017_2007... OK
Applying token_blacklist.0004_auto_20171017_2013... OK
Applying token_blacklist.0005_remove_outstandingtoken_jti... OK
Applying token_blacklist.0006_auto_20171017_2113... OK
Applying token_blacklist.0007_auto_20171017_2214... OK
Applying token_blacklist.0008_migrate_to_bigautofield... OK
Applying token_blacklist.0010_fix_migrate_to_bigautofield... OK
Applying token_blacklist.0011_linearizes_history... OK
Applying token_blacklist.0012_alter_outstandingtoken_user... OK
test_account_endpoint_returns_authenticated_user (api.tests.AuthAndTaskEndpointSmokeTests.test_account_endpoint_returns_authenticated_user) ... /opt/hostedtoolcache/Python/3.12.15/x64/lib/python3.12/site-packages/django/core/handlers/base.py:62: UserWarning: No directory at: /home/runner/work/rag_web_app/rag_web_app/backend/staticfiles/
mw_instance = middleware(adapted_handler)
[2026-10-28 12:38:40,163] INFO api GET /api/account/ 200 0.7ms
ok
test_account_endpoint_returns_is_staff_false_for_regular_user (api.tests.AuthAndTaskEndpointSmokeTests.test_account_endpoint_returns_is_staff_false_for_regular_user) ... [2026-10-28 12:38:40,861] INFO api GET /api/account/ 200 0.4ms
ok
test_account_endpoint_returns_is_staff_true_for_staff_user (api.tests.AuthAndTaskEndpointSmokeTests.test_account_endpoint_returns_is_staff_true_for_staff_user) ... [2026-10-28 12:38:41,906] INFO api GET /api/account/ 200 0.4ms
ok
test_account_endpoint_returns_is_staff_true_for_superuser (api.tests.AuthAndTaskEndpointSmokeTests.test_account_endpoint_returns_is_staff_true_for_superuser) ... [2026-10-28 12:38:42,950] INFO api GET /api/account/ 200 0.4ms
ok
test_forgot_password_returns_generic_success_message (api.tests.AuthAndTaskEndpointSmokeTests.test_forgot_password_returns_generic_success_message) ... [2026-10-28 12:38:43,653] INFO api POST /api/forgot-password/ 200 2.0ms
[2026-10-28 12:38:43,655] INFO api POST /api/forgot-password/ 200 1.3ms
ok
test_groq_base_url_can_be_overridden_by_env (api.tests.AuthAndTaskEndpointSmokeTests.test_groq_base_url_can_be_overridden_by_env) ... ok
test_groq_generation_uses_the_groq_base_url (api.tests.AuthAndTaskEndpointSmokeTests.test_groq_generation_uses_the_groq_base_url) ... ok
test_groq_streaming_uses_the_groq_base_url (api.tests.AuthAndTaskEndpointSmokeTests.test_groq_streaming_uses_the_groq_base_url) ... ok
test_reset_password_accepts_valid_token (api.tests.AuthAndTaskEndpointSmokeTests.test_reset_password_accepts_valid_token) ... [2026-10-28 12:38:46,826] INFO api POST /api/reset-password/ 200 354.9ms
ok
test_search_rejects_invalid_top_k (api.tests.AuthAndTaskEndpointSmokeTests.test_search_rejects_invalid_top_k) ... [2026-10-28 12:38:47,868] WARNING api POST /api/search/ 400 0.6ms
[2026-10-28 12:38:47,870] WARNING django.request Bad Request: /api/search/
ok
test_search_returns_results (api.tests.AuthAndTaskEndpointSmokeTests.test_search_returns_results) ... [2026-10-28 12:38:48,565] INFO api POST /api/search/ 200 0.6ms
ok
test_settings_api_key_accepts_groq_with_a_catalog_model (api.tests.AuthAndTaskEndpointSmokeTests.test_settings_api_key_accepts_groq_with_a_catalog_model) ... [2026-10-28 12:38:49,264] INFO api POST /api/settings/api-key/ 200 4.9ms
[2026-10-28 12:38:49,267] INFO api GET /api/settings/api-key/ 200 1.3ms
ok
test_settings_api_key_get_returns_provider_metadata (api.tests.AuthAndTaskEndpointSmokeTests.test_settings_api_key_get_returns_provider_metadata) ... [2026-10-28 12:38:49,963] INFO api GET /api/settings/api-key/ 200 2.5ms
ok
test_settings_api_key_offers_groq_with_a_model_catalog (api.tests.AuthAndTaskEndpointSmokeTests.test_settings_api_key_offers_groq_with_a_model_catalog) ... [2026-10-28 12:38:50,658] INFO api GET /api/settings/api-key/ 200 2.3ms
ok
test_settings_api_key_post_validates_provider_model_and_key (api.tests.AuthAndTaskEndpointSmokeTests.test_settings_api_key_post_validates_provider_model_and_key) ... [2026-10-28 12:38:51,351] WARNING api POST /api/settings/api-key/ 400 0.4ms
[2026-10-28 12:38:51,351] WARNING django.request Bad Request: /api/settings/api-key/
[2026-10-28 12:38:51,353] WARNING api POST /api/settings/api-key/ 400 0.5ms
[2026-10-28 12:38:51,353] WARNING django.request Bad Request: /api/settings/api-key/
[2026-10-28 12:38:51,354] WARNING api POST /api/settings/api-key/ 400 0.3ms
[2026-10-28 12:38:51,354] WARNING django.request Bad Request: /api/settings/api-key/
[2026-10-28 12:38:51,358] INFO api POST /api/settings/api-key/ 200 2.7ms
[2026-10-28 12:38:51,360] INFO api GET /api/settings/api-key/ 200 1.0ms
ok
test_settings_api_key_rejects_a_foreign_model_for_groq (api.tests.AuthAndTaskEndpointSmokeTests.test_settings_api_key_rejects_a_foreign_model_for_groq) ... [2026-10-28 12:38:52,055] WARNING api POST /api/settings/api-key/ 400 0.4ms
[2026-10-28 12:38:52,055] WARNING django.request Bad Request: /api/settings/api-key/
ok
test_settings_api_key_test_connection_success (api.tests.AuthAndTaskEndpointSmokeTests.test_settings_api_key_test_connection_success) ... [2026-10-28 12:38:52,753] INFO api POST /api/settings/api-key/test/ 200 2.5ms
ok
test_settings_api_key_test_connection_validates_model (api.tests.AuthAndTaskEndpointSmokeTests.test_settings_api_key_test_connection_validates_model) ... [2026-10-28 12:38:53,455] WARNING api POST /api/settings/api-key/test/ 400 2.4ms
[2026-10-28 12:38:53,455] WARNING django.request Bad Request: /api/settings/api-key/test/
ok
test_signup_and_signin_success (api.tests.AuthAndTaskEndpointSmokeTests.test_signup_and_signin_success) ... /opt/hostedtoolcache/Python/3.12.15/x64/lib/python3.12/site-packages/jwt/api_jwt.py:149: InsecureKeyLengthWarning: The HMAC key is 29 bytes long, which is below the minimum recommended length of 32 bytes for SHA256. See RFC 7518 Section 3.2.
return self._jws.encode(
[2026-10-28 12:38:54,561] INFO api POST /api/sign-up/ 201 413.7ms
[2026-10-28 12:38:54,915] INFO api POST /api/sign-in/ 200 353.9ms
ok
test_signup_rejects_duplicate_email (api.tests.AuthAndTaskEndpointSmokeTests.test_signup_rejects_duplicate_email) ... [2026-10-28 12:38:55,619] WARNING api POST /api/sign-up/ 400 2.6ms
[2026-10-28 12:38:55,619] WARNING django.request Bad Request: /api/sign-up/
ok
test_task_cancel_allows_processing_status (api.tests.AuthAndTaskEndpointSmokeTests.test_task_cancel_allows_processing_status) ... [2026-10-28 12:38:56,323] INFO api POST /api/tasks/b5c09a59-c7b4-4738-9edb-d4089ba7dc85/cancel/ 200 3.1ms
ok
test_task_cancel_rejects_cancelled_task (api.tests.AuthAndTaskEndpointSmokeTests.test_task_cancel_rejects_cancelled_task) ... [2026-10-28 12:38:57,025] WARNING api POST /api/tasks/c9988ff3-ce51-4427-976f-e99a0807b081/cancel/ 400 1.5ms
[2026-10-28 12:38:57,026] WARNING django.request Bad Request: /api/tasks/c9988ff3-ce51-4427-976f-e99a0807b081/cancel/
ok
test_task_cancel_rejects_completed_task (api.tests.AuthAndTaskEndpointSmokeTests.test_task_cancel_rejects_completed_task) ... [2026-10-28 12:38:57,727] WARNING api POST /api/tasks/c0d6da8d-ed72-4678-9235-ffe77cce2aed/cancel/ 400 1.5ms
[2026-10-28 12:38:57,727] WARNING django.request Bad Request: /api/tasks/c0d6da8d-ed72-4678-9235-ffe77cce2aed/cancel/
ok
test_task_endpoints_are_user_scoped (api.tests.AuthAndTaskEndpointSmokeTests.test_task_endpoints_are_user_scoped) ... [2026-10-28 12:38:58,430] WARNING api GET /api/tasks/c7b8ddab-610e-4995-aba9-233c20de4c36/ 404 1.6ms
[2026-10-28 12:38:58,430] WARNING django.request Not Found: /api/tasks/c7b8ddab-610e-4995-aba9-233c20de4c36/
[2026-10-28 12:38:58,432] WARNING api POST /api/tasks/c7b8ddab-610e-4995-aba9-233c20de4c36/cancel/ 404 1.4ms
[2026-10-28 12:38:58,433] WARNING django.request Not Found: /api/tasks/c7b8ddab-610e-4995-aba9-233c20de4c36/cancel/
ok
test_task_status_and_cancel_success (api.tests.AuthAndTaskEndpointSmokeTests.test_task_status_and_cancel_success) ... [2026-10-28 12:38:59,134] INFO api GET /api/tasks/c7a17666-584e-4035-bc8d-3f42c0d2dcdb/ 200 1.6ms
[2026-10-28 12:38:59,137] INFO api POST /api/tasks/c7a17666-584e-4035-bc8d-3f42c0d2dcdb/cancel/ 200 1.8ms
ok
test_compression_preserves_at_least_one_sentence (api.tests.ContextCompressionTests.test_compression_preserves_at_least_one_sentence) ... ok
test_empty_chunks_returns_empty (api.tests.ContextCompressionTests.test_empty_chunks_returns_empty) ... ok
test_short_chunks_are_kept_as_is (api.tests.ContextCompressionTests.test_short_chunks_are_kept_as_is) ... ok
test_handler_catches_unhandled_exceptions (api.tests.CustomExceptionHandlerTests.test_handler_catches_unhandled_exceptions) ... [2026-10-28 12:38:59,161] ERROR api Unhandled exception: Something broke
NoneType: None
ok
test_handler_returns_response_for_drf_exceptions (api.tests.CustomExceptionHandlerTests.test_handler_returns_response_for_drf_exceptions) ... [2026-10-28 12:38:59,163] INFO api Client error 404: Not found
ok
test_failed_build_for_one_user_does_not_serve_another_users_chunks (api.tests.DocumentIndexIsolationTests.test_failed_build_for_one_user_does_not_serve_another_users_chunks) ... ok
test_documents_list_is_user_scoped (api.tests.DocumentIsolationTests.test_documents_list_is_user_scoped) ... [2026-10-28 12:39:00,575] INFO api GET /api/documents/ 200 2.0ms
ok
test_documents_list_prefers_markdown_over_text_for_same_stem (api.tests.DocumentIsolationTests.test_documents_list_prefers_markdown_over_text_for_same_stem) ... [2026-10-28 12:39:01,279] INFO api GET /api/documents/ 200 1.4ms
ok
test_encrypt_decrypt_round_trip_with_configured_key (api.tests.EncryptionTests.test_encrypt_decrypt_round_trip_with_configured_key) ... ok
test_encrypt_returns_plaintext_without_configured_key (api.tests.EncryptionTests.test_encrypt_returns_plaintext_without_configured_key) ... ok
test_admin_usage_requires_staff (api.tests.EndpointSmokeTests.test_admin_usage_requires_staff) ... [2026-10-28 12:39:01,999] WARNING api GET /api/admin/usage/ 403 0.4ms
[2026-10-28 12:39:02,000] WARNING django.request Forbidden: /api/admin/usage/
ok
test_admin_usage_returns_stats_for_staff (api.tests.EndpointSmokeTests.test_admin_usage_returns_stats_for_staff) ... [2026-10-28 12:39:02,712] INFO api GET /api/admin/usage/ 200 7.9ms
ok
test_admin_vectors_requires_staff (api.tests.EndpointSmokeTests.test_admin_vectors_requires_staff) ... [2026-10-28 12:39:03,423] WARNING api GET /api/admin/vectors/ 403 0.6ms
[2026-10-28 12:39:03,424] WARNING django.request Forbidden: /api/admin/vectors/
ok
test_admin_vectors_returns_stats_for_staff (api.tests.EndpointSmokeTests.test_admin_vectors_returns_stats_for_staff) ... [2026-10-28 12:39:04,120] INFO api GET /api/admin/vectors/ 200 0.8ms
ok
test_chat_export_json_returns_chat_payload (api.tests.EndpointSmokeTests.test_chat_export_json_returns_chat_payload) ... [2026-10-28 12:39:04,819] INFO api GET /api/chat/5/export/ 200 3.1ms
ok
test_chat_export_markdown_returns_attachment (api.tests.EndpointSmokeTests.test_chat_export_markdown_returns_attachment) ... [2026-10-28 12:39:05,517] INFO api GET /api/chat/6/export/ 200 1.5ms
ok
test_chat_feedback_and_citations_endpoints (api.tests.EndpointSmokeTests.test_chat_feedback_and_citations_endpoints) ... [2026-10-28 12:39:06,217] INFO api POST /api/chat/7/feedback/ 201 4.2ms
[2026-10-28 12:39:06,219] INFO api GET /api/chat/7/citations/ 200 1.2ms
ok
test_chat_history_returns_conversations (api.tests.EndpointSmokeTests.test_chat_history_returns_conversations) ... [2026-10-28 12:39:06,922] INFO api GET /api/chat/history/ 200 4.8ms
ok
test_generate_questions_sends_the_decrypted_provider_key (api.tests.EvaluationApiKeyHandlingTests.test_generate_questions_sends_the_decrypted_provider_key) ... [2026-10-28 12:39:07,294] INFO api POST /api/evaluate/generate/ 200 1.9ms
ok
test_run_evaluation_removes_a_key_variable_it_added (api.tests.EvaluationApiKeyHandlingTests.test_run_evaluation_removes_a_key_variable_it_added) ... /opt/hostedtoolcache/Python/3.12.15/x64/lib/python3.12/site-packages/django/core/handlers/base.py:62: UserWarning: No directory at: /home/runner/work/rag_web_app/rag_web_app/backend/staticfiles/
mw_instance = middleware(adapted_handler)
[2026-10-28 12:39:09,329] INFO api POST /api/evaluate/run/ 200 6.2ms
ok
test_run_evaluation_restores_the_previous_process_key (api.tests.EvaluationApiKeyHandlingTests.test_run_evaluation_restores_the_previous_process_key) ... [2026-10-28 12:39:09,687] INFO api POST /api/evaluate/run/ 200 3.9ms
ok
test_run_evaluation_sends_the_decrypted_provider_key (api.tests.EvaluationApiKeyHandlingTests.test_run_evaluation_sends_the_decrypted_provider_key) ... [2026-10-28 12:39:10,045] INFO api POST /api/evaluate/run/ 200 3.7ms
ok
test_health_endpoint_returns_ok (api.tests.HealthEndpointTests.test_health_endpoint_returns_ok) ... [2026-10-28 12:39:10,057] INFO api GET /api/health/ 200 0.3ms
ok
test_chat_runs_full_pipeline (api.tests.IngestAndCollectionEndpointSmokeTests.test_chat_runs_full_pipeline) ... [2026-10-28 12:39:10,425] INFO api POST /api/chat/ 200 7.7ms
ok
test_chat_view_has_chat_throttle (api.tests.IngestAndCollectionEndpointSmokeTests.test_chat_view_has_chat_throttle) ... ok
test_citations_mark_missing_sources (api.tests.IngestAndCollectionEndpointSmokeTests.test_citations_mark_missing_sources) ... [2026-10-28 12:39:11,135] INFO api GET /api/chat/10/citations/ 200 1.6ms
ok
test_collection_delete_other_user_returns_404 (api.tests.IngestAndCollectionEndpointSmokeTests.test_collection_delete_other_user_returns_404) ... [2026-10-28 12:39:11,836] WARNING api DELETE /api/collections/1/ 404 1.5ms
[2026-10-28 12:39:11,836] WARNING django.request Not Found: /api/collections/1/
ok
test_collection_delete_unfiles_documents_and_keeps_files (api.tests.IngestAndCollectionEndpointSmokeTests.test_collection_delete_unfiles_documents_and_keeps_files) ... [2026-10-28 12:39:12,193] INFO api DELETE /api/collections/2/ 200 4.0ms
ok
test_collection_rename_allows_keeping_same_name (api.tests.IngestAndCollectionEndpointSmokeTests.test_collection_rename_allows_keeping_same_name) ... [2026-10-28 12:39:12,551] INFO api PATCH /api/collections/3/ 200 4.0ms
ok
test_collection_rename_other_user_returns_404 (api.tests.IngestAndCollectionEndpointSmokeTests.test_collection_rename_other_user_returns_404) ... [2026-10-28 12:39:13,253] WARNING api PATCH /api/collections/4/ 404 1.4ms
[2026-10-28 12:39:13,253] WARNING django.request Not Found: /api/collections/4/
ok
test_collection_rename_rejects_blank_name (api.tests.IngestAndCollectionEndpointSmokeTests.test_collection_rename_rejects_blank_name) ... [2026-10-28 12:39:13,613] WARNING api PATCH /api/collections/5/ 400 1.4ms
[2026-10-28 12:39:13,613] WARNING django.request Bad Request: /api/collections/5/
ok
test_collection_rename_rejects_duplicate_name (api.tests.IngestAndCollectionEndpointSmokeTests.test_collection_rename_rejects_duplicate_name) ... [2026-10-28 12:39:13,967] WARNING api PATCH /api/collections/7/ 400 2.3ms
[2026-10-28 12:39:13,968] WARNING django.request Bad Request: /api/collections/7/
ok
test_collection_rename_succeeds (api.tests.IngestAndCollectionEndpointSmokeTests.test_collection_rename_succeeds) ... [2026-10-28 12:39:14,323] INFO api PATCH /api/collections/8/ 200 4.0ms
ok
test_collections_create_and_list (api.tests.IngestAndCollectionEndpointSmokeTests.test_collections_create_and_list) ... [2026-10-28 12:39:14,677] INFO api POST /api/collections/ 201 2.3ms
[2026-10-28 12:39:14,680] INFO api GET /api/collections/ 200 2.2ms
ok
test_collections_reject_duplicate_name (api.tests.IngestAndCollectionEndpointSmokeTests.test_collections_reject_duplicate_name) ... [2026-10-28 12:39:15,031] WARNING api POST /api/collections/ 400 1.4ms
[2026-10-28 12:39:15,032] WARNING django.request Bad Request: /api/collections/
ok
test_conversation_detail_marks_missing_sources (api.tests.IngestAndCollectionEndpointSmokeTests.test_conversation_detail_marks_missing_sources) ... [2026-10-28 12:39:15,385] INFO api GET /api/chat/conversations/11/ 200 2.6ms
ok
test_delete_removes_document_row (api.tests.IngestAndCollectionEndpointSmokeTests.test_delete_removes_document_row) ... [2026-10-28 12:39:15,738] INFO api DELETE /api/documents/bye.txt/ 200 1.4ms
ok
test_documents_list_ignores_unregistered_files (api.tests.IngestAndCollectionEndpointSmokeTests.test_documents_list_ignores_unregistered_files) ... [2026-10-28 12:39:16,091] INFO api GET /api/documents/ 200 1.3ms
ok
test_documents_list_reports_collection_for_filed_and_unfiled (api.tests.IngestAndCollectionEndpointSmokeTests.test_documents_list_reports_collection_for_filed_and_unfiled) ... [2026-10-28 12:39:16,445] INFO api GET /api/documents/ 200 3.4ms
ok
test_ingest_creates_pending_task (api.tests.IngestAndCollectionEndpointSmokeTests.test_ingest_creates_pending_task) ... [2026-10-28 12:39:16,797] INFO api POST /api/ingest/ 202 2.1ms
ok
test_move_document_assigns_collection (api.tests.IngestAndCollectionEndpointSmokeTests.test_move_document_assigns_collection) ... [2026-10-28 12:39:17,151] INFO api PUT /api/documents/sample.txt/move/ 200 3.3ms
ok
test_move_document_rejects_invalid_collection (api.tests.IngestAndCollectionEndpointSmokeTests.test_move_document_rejects_invalid_collection) ... [2026-10-28 12:39:17,503] WARNING api PUT /api/documents/sample.txt/move/ 404 0.4ms
[2026-10-28 12:39:17,503] WARNING django.request Not Found: /api/documents/sample.txt/move/
ok
test_move_rejects_missing_file (api.tests.IngestAndCollectionEndpointSmokeTests.test_move_rejects_missing_file) ... [2026-10-28 12:39:17,853] WARNING api PUT /api/documents/ghost.txt/move/ 404 0.4ms
[2026-10-28 12:39:17,853] WARNING django.request Not Found: /api/documents/ghost.txt/move/
ok
test_reindex_registers_unlisted_files (api.tests.IngestAndCollectionEndpointSmokeTests.test_reindex_registers_unlisted_files) ... ok
test_rename_happy_path (api.tests.IngestAndCollectionEndpointSmokeTests.test_rename_happy_path) ... [2026-10-28 12:39:18,557] INFO api PATCH /api/documents/sample.txt/rename/ 200 1.5ms
ok
test_rename_rejects_absolute_path (api.tests.IngestAndCollectionEndpointSmokeTests.test_rename_rejects_absolute_path) ... [2026-10-28 12:39:18,908] WARNING api PATCH /api/documents/sample.txt/rename/ 400 0.4ms
[2026-10-28 12:39:18,908] WARNING django.request Bad Request: /api/documents/sample.txt/rename/
ok
test_rename_rejects_backslash_traversal (api.tests.IngestAndCollectionEndpointSmokeTests.test_rename_rejects_backslash_traversal) ... [2026-10-28 12:39:19,260] WARNING api PATCH /api/documents/sample.txt/rename/ 400 0.4ms
[2026-10-28 12:39:19,261] WARNING django.request Bad Request: /api/documents/sample.txt/rename/
ok
test_rename_rejects_path_traversal (api.tests.IngestAndCollectionEndpointSmokeTests.test_rename_rejects_path_traversal) ... [2026-10-28 12:39:19,611] WARNING api PATCH /api/documents/sample.txt/rename/ 400 0.6ms
[2026-10-28 12:39:19,611] WARNING django.request Bad Request: /api/documents/sample.txt/rename/
ok
test_rename_rejects_subdirectory (api.tests.IngestAndCollectionEndpointSmokeTests.test_rename_rejects_subdirectory) ... [2026-10-28 12:39:19,962] WARNING api PATCH /api/documents/sample.txt/rename/ 400 0.4ms
[2026-10-28 12:39:19,962] WARNING django.request Bad Request: /api/documents/sample.txt/rename/
ok
test_upload_accepts_alternate_file_key (api.tests.IngestAndCollectionEndpointSmokeTests.test_upload_accepts_alternate_file_key) ... [2026-10-28 12:39:20,315] INFO api POST /api/upload/ 202 3.9ms
ok
test_upload_creates_document_row (api.tests.IngestAndCollectionEndpointSmokeTests.test_upload_creates_document_row) ... [2026-10-28 12:39:20,670] INFO api POST /api/upload/ 202 3.7ms
ok
test_upload_creates_pending_task (api.tests.IngestAndCollectionEndpointSmokeTests.test_upload_creates_pending_task) ... [2026-10-28 12:39:21,024] INFO api POST /api/upload/ 202 4.0ms
ok
test_upload_rejects_missing_file (api.tests.IngestAndCollectionEndpointSmokeTests.test_upload_rejects_missing_file) ... [2026-10-28 12:39:21,375] WARNING api POST /api/upload/ 400 0.6ms
[2026-10-28 12:39:21,375] WARNING django.request Bad Request: /api/upload/
ok
test_upload_rejects_unsupported_file_format (api.tests.IngestAndCollectionEndpointSmokeTests.test_upload_rejects_unsupported_file_format) ... [2026-10-28 12:39:21,725] WARNING api POST /api/upload/ 400 0.7ms
[2026-10-28 12:39:21,725] WARNING django.request Bad Request: /api/upload/
ok
test_upload_url_creates_pending_task_for_safe_url (api.tests.IngestAndCollectionEndpointSmokeTests.test_upload_url_creates_pending_task_for_safe_url) ... [2026-10-28 12:39:22,076] INFO api POST /api/upload-url/ 202 1.5ms
ok
test_upload_url_rejects_malformed_url (api.tests.IngestAndCollectionEndpointSmokeTests.test_upload_url_rejects_malformed_url) ... [2026-10-28 12:39:22,427] WARNING api POST /api/upload-url/ 400 0.4ms
[2026-10-28 12:39:22,428] WARNING django.request Bad Request: /api/upload-url/
ok
test_upload_url_rejects_unsafe_url (api.tests.IngestAndCollectionEndpointSmokeTests.test_upload_url_rejects_unsafe_url) ... [2026-10-28 12:39:22,779] WARNING api POST /api/upload-url/ 400 0.4ms
[2026-10-28 12:39:22,779] WARNING django.request Bad Request: /api/upload-url/
ok
test_upload_url_requires_url (api.tests.IngestAndCollectionEndpointSmokeTests.test_upload_url_requires_url) ... [2026-10-28 12:39:23,129] WARNING api POST /api/upload-url/ 400 0.4ms
[2026-10-28 12:39:23,129] WARNING django.request Bad Request: /api/upload-url/
ok
test_formats_log_record_as_json (api.tests.JSONLogFormatterTests.test_formats_log_record_as_json) ... ok
test_response_contains_request_id_header (api.tests.MiddlewareTests.test_response_contains_request_id_header) ... [2026-10-28 12:39:23,504] INFO api GET /api/health/ 200 0.3ms
ok
test_distinct_chunks_all_kept (api.tests.OverlapRemovalTests.test_distinct_chunks_all_kept) ... ok
test_high_overlap_chunk_is_removed (api.tests.OverlapRemovalTests.test_high_overlap_chunk_is_removed) ... ok
test_partial_overlap_below_threshold_is_kept (api.tests.OverlapRemovalTests.test_partial_overlap_below_threshold_is_kept) ... ok
test_single_chunk_passes_through (api.tests.OverlapRemovalTests.test_single_chunk_passes_through) ... ok
test_empty_text_returns_empty_list (api.tests.SemanticChunkingTests.test_empty_text_returns_empty_list) ... ok
test_multiple_sentences_produce_chunks (api.tests.SemanticChunkingTests.test_multiple_sentences_produce_chunks) ... ok
test_single_sentence_returns_one_chunk (api.tests.SemanticChunkingTests.test_single_sentence_returns_one_chunk) ... ok
test_clean_extracted_text_removes_displaystyle_artifacts (api.tests.URLParsingHelperTests.test_clean_extracted_text_removes_displaystyle_artifacts) ... ok
test_clean_extracted_text_removes_mojibake_symbol_lines (api.tests.URLParsingHelperTests.test_clean_extracted_text_removes_mojibake_symbol_lines) ... ok
test_extract_markdown_from_html_keeps_wiki_math_alt_as_latex (api.tests.URLParsingHelperTests.test_extract_markdown_from_html_keeps_wiki_math_alt_as_latex) ... ok
test_extract_readable_text_from_html_converts_math (api.tests.URLParsingHelperTests.test_extract_readable_text_from_html_converts_math) ... ok
test_fix_common_mojibake_repairs_utf8_text (api.tests.URLParsingHelperTests.test_fix_common_mojibake_repairs_utf8_text) ... ok
test_fix_common_mojibake_replaces_common_word_level_artifacts (api.tests.URLParsingHelperTests.test_fix_common_mojibake_replaces_common_word_level_artifacts) ... ok
test_is_youtube_url_detects_short_url (api.tests.YouTubeIngestionTests.test_is_youtube_url_detects_short_url) ... ok
test_is_youtube_url_detects_standard_url (api.tests.YouTubeIngestionTests.test_is_youtube_url_detects_standard_url) ... ok
test_is_youtube_url_returns_none_for_non_youtube (api.tests.YouTubeIngestionTests.test_is_youtube_url_returns_none_for_non_youtube) ... ok
test_upload_url_creates_task_for_youtube_url (api.tests.YouTubeIngestionTests.test_upload_url_creates_task_for_youtube_url) ... [2026-10-28 12:39:24,062] INFO api POST /api/upload-url/ 202 2.6ms
ok
----------------------------------------------------------------------
Ran 102 tests in 44.603s
OK
Destroying test database for alias 'default' ('test_test_db')...
Applying token_blacklist.0013_alter_blacklistedtoken_options_and_more... OK
System check identified no issues (0 silenced).
Post job cleanup.
Cache hit occurred on the primary key setup-python-Linux-x64-24.04-Ubuntu-python-3.12.15-pip-d25daab1d0587aa7ee4d87af88cbe2dc14c3859e7b2640ab8e6693fb6d642df3, not saving cache.
(node:3292) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
Post job cleanup.
[command]/usr/bin/git version
git version 2.55.0
Temporarily overriding HOME='/home/runner/work/_temp/051c039f-177d-43b3-9618-100273a9af9b' before making global git config changes
Adding repository directory to the temporary git global config as a safe directory
[command]/usr/bin/git config --global --add safe.directory /home/runner/work/rag_web_app/rag_web_app
[command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand
[command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'core\.sshCommand' && git config --local --unset-all 'core.sshCommand' || :"
[command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader
http.https://github.com/.extraheader
[command]/usr/bin/git config --local --unset-all http.https://github.com/.extraheader
[command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'http\.https\:\/\/github\.com\/\.extraheader' && git config --local --unset-all 'http.https://github.com/.extraheader' || :"
[command]/usr/bin/git config --local --name-only --get-regexp ^includeIf\.gitdir:
[command]/usr/bin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url
Print service container logs: 860011b2b5f048caba3dfda0209238f6_postgres16alpine_9724b8
/usr/bin/docker logs --details 6a0090d429734dbdc45e90949a8f684ed225a81935bbac2030ca241792a0b38f
The files belonging to this database system will be owned by user "postgres".
This user must also own the server process.
The database cluster will be initialized with locale "en_US.utf8".
sh: locale: not found
2026-10-28 12:36:22.388 UTC [35] WARNING: no usable system locales were found
initdb: warning: enabling "trust" authentication for local connections
initdb: hint: You can change this by editing pg_hba.conf or using the option -A, or --auth-local and --auth-host, the next time you run initdb.
2026-10-28 12:36:23.213 UTC [1] LOG: starting PostgreSQL 16.15 on x86_64-pc-linux-musl, compiled by gcc (Alpine 15.2.0) 15.2.0, 64-bit
2026-10-28 12:36:23.214 UTC [1] LOG: listening on IPv4 address "0.0.0.0", port 5432
2026-10-28 12:36:23.214 UTC [1] LOG: listening on IPv6 address "::", port 5432
2026-10-28 12:36:23.215 UTC [1] LOG: listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
2026-10-28 12:36:23.217 UTC [57] LOG: database system was shut down at 2026-10-28 12:36:23 UTC
2026-10-28 12:36:23.222 UTC [1] LOG: database system is ready to accept connections
2026-10-28 12:39:24.077 UTC [55] LOG: checkpoint starting: immediate force wait
2026-10-28 12:39:24.091 UTC [55] LOG: checkpoint complete: wrote 47 buffers (0.3%); 1 WAL file(s) added, 0 removed, 0 recycled; write=0.002 s, sync=0.001 s, total=0.014 s; sync files=14, longest=0.001 s, average=0.001 s; distance=5357 kB, estimate=5357 kB; lsn=0/1E61498, redo lsn=0/1E61460
The default database encoding has accordingly been set to "UTF8".
The default text search configuration will be set to "english".
Data page checksums are disabled.
fixing permissions on existing directory /var/lib/postgresql/data ... ok
creating subdirectories ... ok
selecting dynamic shared memory implementation ... posix
selecting default max_connections ... 100
selecting default shared_buffers ... 128MB
selecting default time zone ... UTC
creating configuration files ... ok
running bootstrap script ... ok
performing post-bootstrap initialization ... ok
syncing data to disk ... ok
Success. You can now start the database server using:
pg_ctl -D /var/lib/postgresql/data -l logfile start
waiting for server to start....2026-10-28 12:36:22.943 UTC [41] LOG: starting PostgreSQL 16.15 on x86_64-pc-linux-musl, compiled by gcc (Alpine 15.2.0) 15.2.0, 64-bit
2026-10-28 12:36:22.944 UTC [41] LOG: listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
2026-10-28 12:36:22.946 UTC [44] LOG: database system was shut down at 2026-10-28 12:36:22 UTC
2026-10-28 12:36:22.951 UTC [41] LOG: database system is ready to accept connections
done
server started
CREATE DATABASE
/usr/local/bin/docker-entrypoint.sh: ignoring /docker-entrypoint-initdb.d/*
waiting for server to shut down...2026-10-28 12:36:23.092 UTC [41] LOG: received fast shutdown request
.2026-10-28 12:36:23.093 UTC [41] LOG: aborting any active transactions
2026-10-28 12:36:23.096 UTC [41] LOG: background worker "logical replication launcher" (PID 47) exited with exit code 1
2026-10-28 12:36:23.096 UTC [42] LOG: shutting down
2026-10-28 12:36:23.097 UTC [42] LOG: checkpoint starting: shutdown immediate
2026-10-28 12:36:23.113 UTC [42] LOG: checkpoint complete: wrote 926 buffers (5.7%); 0 WAL file(s) added, 0 removed, 0 recycled; write=0.013 s, sync=0.002 s, total=0.017 s; sync files=301, longest=0.001 s, average=0.001 s; distance=4283 kB, estimate=4283 kB; lsn=0/1925D60, redo lsn=0/1925D60
2026-10-28 12:36:23.120 UTC [41] LOG: database system is shut down
done
server stopped
PostgreSQL init process complete; ready for start up.
Stop and remove container: 860011b2b5f048caba3dfda0209238f6_postgres16alpine_9724b8
/usr/bin/docker rm --force 6a0090d429734dbdc45e90949a8f684ed225a81935bbac2030ca241792a0b38f
6a0090d429734dbdc45e90949a8f684ed225a81935bbac2030ca241792a0b38f
Remove container network: github_network_4062182efaeb49ae8c155d97c4cb2d18
/usr/bin/docker network rm github_network_4062182efaeb49ae8c155d97c4cb2d18
github_network_4062182efaeb49ae8c155d97c4cb2d18
Cleaning up orphan processes
Warning: Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4, actions/setup-python@v5. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/