diff --git a/Makefile b/Makefile index d6bc526c26..2825c9f9a5 100644 --- a/Makefile +++ b/Makefile @@ -36,6 +36,10 @@ start: @echo "-> Start the Docker compose services in background" ${COMPOSE} up -d +stop: + @echo "-> Stop the Docker compose services" + ${COMPOSE} stop + bash: # Open a bash session in the running web container ${COMPOSE} exec web bash diff --git a/docker-compose.yml b/docker-compose.yml index 5933047de8..9da2c248eb 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -4,7 +4,7 @@ x-description: "Full ScanCode.io stack: all services, local image build" services: db: - image: docker.io/library/postgres:17.10 + image: docker.io/library/postgres:17.11 env_file: - docker.env volumes: @@ -18,7 +18,7 @@ services: retries: 5 redis: - image: docker.io/library/redis:8.8.0-alpine + image: docker.io/library/redis:8.10.1-alpine # Enable redis data persistence using the "Append Only File" with the # default policy of fsync every second. See https://redis.io/topics/persistence command: redis-server --appendonly yes --loglevel warning @@ -77,7 +77,7 @@ services: condition: service_started nginx: - image: docker.io/library/nginx:1.31.2-alpine + image: docker.io/library/nginx:1.31.4-alpine ports: - "${NGINX_PUBLISHED_HTTP_PORT:-80}:80" - "${NGINX_PUBLISHED_HTTPS_PORT:-443}:443" @@ -91,7 +91,7 @@ services: restart: always clamav: - image: docker.io/clamav/clamav:1.5.2_base + image: docker.io/clamav/clamav:1.5.4_base volumes: - clamav_data:/var/lib/clamav - workspace:/var/scancodeio/workspace/ diff --git a/pyproject.toml b/pyproject.toml index 875337283a..1b51d481d9 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -41,8 +41,8 @@ dependencies = [ "django-environ==0.14.0", "django-crispy-forms==2.7", "crispy-bootstrap3==2024.1", - "django-filter==25.2", - "djangorestframework==3.17.1", + "django-filter==26.1", + "djangorestframework==3.18.0", "django-htmx==1.29.0", "django-debug-toolbar==7.1.1", # Database @@ -115,6 +115,7 @@ dependencies = [ "croniter==6.2.4", "lief==0.17.6", "symbolic==13.8.0", + "Pygments==2.20.0", "cffi==2.1.1", "stevedore==5.9.0", "sqlparse==0.6.0", diff --git a/uv.lock b/uv.lock index 55f4c17c98..f39ec958d1 100644 --- a/uv.lock +++ b/uv.lock @@ -3,7 +3,7 @@ revision = 3 requires-python = ">=3.12, <3.15" [options] -exclude-newer = "2026-08-24T11:56:22.550591Z" +exclude-newer = "2026-08-24T14:24:36.050759Z" exclude-newer-span = "P7D" [[package]] @@ -894,14 +894,14 @@ wheels = [ [[package]] name = "django-filter" -version = "25.2" +version = "26.1" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "django" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/2c/e4/465d2699cd388c0005fb8d6ae6709f239917c6d8790ac35719676fffdcf3/django_filter-25.2.tar.gz", hash = "sha256:760e984a931f4468d096f5541787efb8998c61217b73006163bf2f9523fe8f23", size = 143818, upload-time = "2025-10-05T09:51:31.521Z" } +sdist = { url = "https://files.pythonhosted.org/packages/cb/3e/563965173d4cbb5fc308087e7b3d11a115b7b67273d093622480b1e31f78/django_filter-26.1.tar.gz", hash = "sha256:66ea04031b068c77c86e1ac26ced7a3f8f13ce797f5795751707e3deefc58054", size = 144299, upload-time = "2026-07-11T09:27:02.767Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/c1/40/6a02495c5658beb1f31eb09952d8aa12ef3c2a66342331ce3a35f7132439/django_filter-25.2-py3-none-any.whl", hash = "sha256:9c0f8609057309bba611062fe1b720b4a873652541192d232dd28970383633e3", size = 94145, upload-time = "2025-10-05T09:51:29.728Z" }, + { url = "https://files.pythonhosted.org/packages/1f/01/afffed1e3c4540fb75bf550a18b6176a9f6371b5f3e52b69a28995b6480c/django_filter-26.1-py3-none-any.whl", hash = "sha256:7d98ef2899218e6242619b532cb1b95af14e09dfcf74844aecb550ad27b59ff2", size = 94069, upload-time = "2026-07-11T09:27:01.012Z" }, ] [[package]] @@ -945,14 +945,14 @@ wheels = [ [[package]] name = "djangorestframework" -version = "3.17.1" +version = "3.18.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "django" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/ca/d7/c016e69fac19ff8afdc89db9d31d9ae43ae031e4d1993b20aca179b8301a/djangorestframework-3.17.1.tar.gz", hash = "sha256:a6def5f447fe78ff853bff1d47a3c59bf38f5434b031780b351b0c73a62db1a5", size = 905742, upload-time = "2026-03-24T16:58:33.705Z" } +sdist = { url = "https://files.pythonhosted.org/packages/79/bc/de04e3d4dc65e8b926700956ee70d4f084f2005603d21122d4d0683006fd/djangorestframework-3.18.0.tar.gz", hash = "sha256:2323a5111837e0b784dcb8323abc78ecc54fa2a5af7aff2677cf50cdd849477f", size = 913667, upload-time = "2026-08-07T14:53:33.571Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/5a/e1/2c516bdc83652b1a60c6119366ac2c0607b479ed05cd6093f916ca8928f8/djangorestframework-3.17.1-py3-none-any.whl", hash = "sha256:c3c74dd3e83a5a3efc37b3c18d92bd6f86a6791c7b7d4dff62bb068500e76457", size = 898844, upload-time = "2026-03-24T16:58:31.845Z" }, + { url = "https://files.pythonhosted.org/packages/51/d7/7461738e819b853275b35fd35712a85806c09a327e1fd5f8ff766bdd317e/djangorestframework-3.18.0-py3-none-any.whl", hash = "sha256:381fc44d3249c9565c5f723850855b734e99030eb30957a49f506d3fe11d7dcb", size = 900032, upload-time = "2026-08-07T14:53:31.881Z" }, ] [[package]] @@ -3013,6 +3013,7 @@ dependencies = [ { name = "packaging" }, { name = "psycopg", extra = ["binary"] }, { name = "pydantic-settings" }, + { name = "pygments" }, { name = "pyinstrument" }, { name = "python-inspector" }, { name = "redis" }, @@ -3075,11 +3076,11 @@ requires-dist = [ { name = "django-crispy-forms", specifier = "==2.7" }, { name = "django-debug-toolbar", specifier = "==7.1.1" }, { name = "django-environ", specifier = "==0.14.0" }, - { name = "django-filter", specifier = "==25.2" }, + { name = "django-filter", specifier = "==26.1" }, { name = "django-htmx", specifier = "==1.29.0" }, { name = "django-probes", specifier = "==1.8.0" }, { name = "django-rq", specifier = "==4.1.1" }, - { name = "djangorestframework", specifier = "==3.17.1" }, + { name = "djangorestframework", specifier = "==3.18.0" }, { name = "doc8", marker = "extra == 'dev'", specifier = "==2.0.0" }, { name = "elf-inspector", specifier = "==0.0.3" }, { name = "extractcode", extras = ["full"], specifier = "==31.1.0" }, @@ -3101,6 +3102,7 @@ requires-dist = [ { name = "packaging", specifier = "==26.2" }, { name = "psycopg", extras = ["binary"], specifier = "==3.3.4" }, { name = "pydantic-settings", specifier = "==2.14.2" }, + { name = "pygments", specifier = "==2.20.0" }, { name = "pyinstrument", specifier = "==5.1.3" }, { name = "python-inspector", specifier = "==0.15.2" }, { name = "redis", specifier = "==8.1.0" },