diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index df2ce370fda49ab03c96cc3c810dcfdee73f67f4..94e2784b07934b8f32f7581828ff7b598c9711a8 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -2,14 +2,14 @@ exclude: ^.*.min.*|migrations|yarn.lock|venv$ repos: - repo: https://github.com/pre-commit/pre-commit-hooks - rev: v2.3.0 + rev: v5.0.0 hooks: - id: check-yaml - id: check-toml - id: check-merge-conflict - id: check-ast - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.1.5 + rev: v0.8.0 hooks: - id: ruff args: [--fix] @@ -19,25 +19,25 @@ repos: hooks: - id: check-json5 - repo: https://github.com/pdm-project/pdm - rev: 2.19.2 + rev: 2.20.1 hooks: - name: check production requirements id: pdm-export args: ["-o", "requirements.txt", "--without-hashes", "--prod"] files: ^pdm.lock$ - repo: https://github.com/pdm-project/pdm - rev: 2.19.2 + rev: 2.20.1 hooks: - name: check development requirements id: pdm-export args: ["-o", "requirements.dev.txt", "--without-hashes", "--dev"] files: ^pdm.lock$ - repo: https://github.com/pdm-project/pdm - rev: 2.19.2 + rev: 2.20.1 hooks: - id: pdm-lock-check - repo: https://github.com/djlint/djLint - rev: v1.35.2 + rev: v1.36.1 hooks: - id: djlint-reformat-django - id: djlint-reformat-jinja diff --git a/pdm.lock b/pdm.lock index 1ebc77d7e4bff3efb9fe7069ad59a0e5c6ed2553..3f90458bbadf6301dba2b7baf3f11e234ea74402 100644 --- a/pdm.lock +++ b/pdm.lock @@ -2,10 +2,10 @@ # It is not intended for manual editing. [metadata] -groups = ["default", "dev", "django-csp", "lint", "local", "static-analysis", "typing", "watchfiles"] +groups = ["default", "dev", "lint", "local", "static-analysis", "typing", "watchfiles"] strategy = ["inherit_metadata"] lock_version = "4.5.0" -content_hash = "sha256:1e5c1e57c2e2a93e38b0b129351d7efb840b97cca3e7b69b9277b9766e03f521" +content_hash = "sha256:6cd999df91d09b33edb8b107d34fb834eab68578ffd4ef259d54d373443858bd" [[metadata.targets]] requires_python = "==3.13.*" @@ -138,23 +138,23 @@ files = [ [[package]] name = "boto3" -version = "1.35.68" +version = "1.35.71" requires_python = ">=3.8" summary = "The AWS SDK for Python" groups = ["default"] dependencies = [ - "botocore<1.36.0,>=1.35.68", + "botocore<1.36.0,>=1.35.71", "jmespath<2.0.0,>=0.7.1", "s3transfer<0.11.0,>=0.10.0", ] files = [ - {file = "boto3-1.35.68-py3-none-any.whl", hash = "sha256:9b26fa31901da7793c1dcd65eee9bab7e897d8aa1ffed0b5e1c3bce93d2aefe4"}, - {file = "boto3-1.35.68.tar.gz", hash = "sha256:091d6bed1422370987a839bff3f8755df7404fc15e9fac2a48e8505356f07433"}, + {file = "boto3-1.35.71-py3-none-any.whl", hash = "sha256:e2969a246bb3208122b3c349c49cc6604c6fc3fc2b2f65d99d3e8ccd745b0c16"}, + {file = "boto3-1.35.71.tar.gz", hash = "sha256:3ed7172b3d4fceb6218bb0ec3668c4d40c03690939c2fca4f22bb875d741a07f"}, ] [[package]] name = "botocore" -version = "1.35.68" +version = "1.35.71" requires_python = ">=3.8" summary = "Low-level, data-driven core of boto 3." groups = ["default"] @@ -165,8 +165,8 @@ dependencies = [ "urllib3<1.27,>=1.25.4; python_version < \"3.10\"", ] files = [ - {file = "botocore-1.35.68-py3-none-any.whl", hash = "sha256:599139d5564291f5be873800711f9e4e14a823395ae9ce7b142be775e9849b94"}, - {file = "botocore-1.35.68.tar.gz", hash = "sha256:42c3700583a82f2b5316281a073d644a521d6358837e2b446dc458ba5d990fb4"}, + {file = "botocore-1.35.71-py3-none-any.whl", hash = "sha256:fc46e7ab1df3cef66dfba1633f4da77c75e07365b36f03bd64a3793634be8fc1"}, + {file = "botocore-1.35.71.tar.gz", hash = "sha256:f9fa058e0393660c3fe53c1e044751beb64b586def0bd2212448a7c328b0cbba"}, ] [[package]] @@ -429,7 +429,7 @@ files = [ [[package]] name = "django" -version = "5.1.2" +version = "5.1.3" requires_python = ">=3.10" summary = "A high-level Python web framework that encourages rapid development and clean, pragmatic design." groups = ["default", "typing", "watchfiles"] @@ -439,8 +439,8 @@ dependencies = [ "tzdata; sys_platform == \"win32\"", ] files = [ - {file = "Django-5.1.2-py3-none-any.whl", hash = "sha256:f11aa87ad8d5617171e3f77e1d5d16f004b79a2cf5d2e1d2b97a6a1f8e9ba5ed"}, - {file = "Django-5.1.2.tar.gz", hash = "sha256:bd7376f90c99f96b643722eee676498706c9fd7dc759f55ebfaf2c08ebcdf4f0"}, + {file = "Django-5.1.3-py3-none-any.whl", hash = "sha256:8b38a9a12da3ae00cb0ba72da985ec4b14de6345046b1e174b1fd7254398f818"}, + {file = "Django-5.1.3.tar.gz", hash = "sha256:c0fa0e619c39325a169208caef234f90baa925227032ad3f44842ba14d75234a"}, ] [[package]] @@ -513,7 +513,7 @@ files = [ [[package]] name = "django-modeltranslation" -version = "0.18.13" +version = "0.19.11" summary = "Translates Django models using a registration approach." groups = ["default"] dependencies = [ @@ -521,8 +521,8 @@ dependencies = [ "typing-extensions>=4.0.1; python_version < \"3.11\"", ] files = [ - {file = "django_modeltranslation-0.18.13-py3-none-any.whl", hash = "sha256:5da153f8eb08adbd63d2d41be7aa15aa250adec8034b0553eea6e6746bfcd3c9"}, - {file = "django_modeltranslation-0.18.13.tar.gz", hash = "sha256:4665ff19617e3a868f4c8173fe1b359d6a50362552165e665a0d32f78edafddd"}, + {file = "django_modeltranslation-0.19.11-py3-none-any.whl", hash = "sha256:fe36ecb8d943aaa406e4045d34e2160e90b170b0c71c8d0b5336e5031030b202"}, + {file = "django_modeltranslation-0.19.11.tar.gz", hash = "sha256:c65a2652554c22bbe11f5db2e81e0c66d58434077d31dce7089cc7bd3ce4e79c"}, ] [[package]] @@ -704,7 +704,7 @@ files = [ [[package]] name = "djlint" -version = "1.36.1" +version = "1.36.2" requires_python = ">=3.9" summary = "HTML Template Linter and Formatter" groups = ["lint"] @@ -721,12 +721,12 @@ dependencies = [ "tqdm>=4.62.2", ] files = [ - {file = "djlint-1.36.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:7f31646435385eec1d4b03dad7bebb5e4078d9893c60d490a685535bd6303c83"}, - {file = "djlint-1.36.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:4399477ac51f9c8147eedbef70aa8465eccba6759d875d1feec6782744aa168a"}, - {file = "djlint-1.36.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f08c217b17d3ae3c0e3b5fff57fb708029cceda6e232f5a54ff1b3aeb43a7540"}, - {file = "djlint-1.36.1-cp313-cp313-win_amd64.whl", hash = "sha256:1577490802ca4697af3488ed13066c9214ef0f625a96aa20d4f297e37aa19303"}, - {file = "djlint-1.36.1-py3-none-any.whl", hash = "sha256:950782b396dd82b74622c09d7e4c52328e56a3b03c8ac790c319708e5caa0686"}, - {file = "djlint-1.36.1.tar.gz", hash = "sha256:f7260637ed72c270fa6dd4a87628e1a21c49b24a46df52e4e26f44d4934fb97c"}, + {file = "djlint-1.36.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:dbdffa74fed2fdd29c587f80179ae302247e51d3f78a617c4cde43b028bc161f"}, + {file = "djlint-1.36.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:8bc05e3735960dad5b025037a0e5e823300224ac44d9d8c9cbae6fb962c77a84"}, + {file = "djlint-1.36.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f3e16b4d104d2aedc474c2da819fb2c09a5183e2867616fe4df2fa685d2c191f"}, + {file = "djlint-1.36.2-cp313-cp313-win_amd64.whl", hash = "sha256:8e815b61a6f50eb55fd4c76cff6b3f447ecd5d063a714cd353fec47ce131e4c7"}, + {file = "djlint-1.36.2-py3-none-any.whl", hash = "sha256:98193159b1563a8644b58b7adfcbad04246bb9078ad49c389ac586fec181c48d"}, + {file = "djlint-1.36.2.tar.gz", hash = "sha256:00d1a79de3c43b50e46a0ce6f279535b88bbf203d3f50ada92f56740fca4f590"}, ] [[package]] @@ -1322,8 +1322,8 @@ files = [ [[package]] name = "pdm" -version = "2.20.1" -requires_python = ">=3.8" +version = "2.21.0" +requires_python = ">=3.9" summary = "A modern Python package and dependency manager supporting the latest PEP standards" groups = ["default"] dependencies = [ @@ -1332,11 +1332,10 @@ dependencies = [ "dep-logic>=0.4.4", "filelock>=3.13", "findpython<1.0.0a0,>=0.6.0", - "hishel<0.1.0,>=0.0.32", + "hishel>=0.0.32", "httpcore>=1.0.6", "httpx[socks]<1,>0.20", "importlib-metadata>=3.6; python_version < \"3.10\"", - "importlib-resources>=5; python_version < \"3.9\"", "installer<0.8,>=0.7", "msgpack>=1.0", "packaging!=22.0,>=20.9", @@ -1354,8 +1353,8 @@ dependencies = [ "virtualenv>=20", ] files = [ - {file = "pdm-2.20.1-py3-none-any.whl", hash = "sha256:27904e5a703e6ce6598a2a92a6e4c95b2099746b1aba9402154978afce4ed6a7"}, - {file = "pdm-2.20.1.tar.gz", hash = "sha256:5348e9d33de381f998904a63ab18efdd6d1cf6377d45572e8b996d58dfc5b996"}, + {file = "pdm-2.21.0-py3-none-any.whl", hash = "sha256:c01a50622072a9529bd9c7f8c1ce8d050b7e340d25d051233bce9fcdd8449614"}, + {file = "pdm-2.21.0.tar.gz", hash = "sha256:9c928d6db62d104ab86318fe09aaf9bdfc6f616176af407e4df00f59e001930f"}, ] [[package]] @@ -1509,7 +1508,7 @@ files = [ [[package]] name = "pydantic" -version = "2.10.1" +version = "2.10.2" requires_python = ">=3.8" summary = "Data validation using Python type hints" groups = ["default"] @@ -1519,8 +1518,8 @@ dependencies = [ "typing-extensions>=4.12.2", ] files = [ - {file = "pydantic-2.10.1-py3-none-any.whl", hash = "sha256:a8d20db84de64cf4a7d59e899c2caf0fe9d660c7cfc482528e7020d7dd189a7e"}, - {file = "pydantic-2.10.1.tar.gz", hash = "sha256:a4daca2dc0aa429555e0656d6bf94873a7dc5f54ee42b1f5873d666fb3f35560"}, + {file = "pydantic-2.10.2-py3-none-any.whl", hash = "sha256:cfb96e45951117c3024e6b67b25cdc33a3cb7b2fa62e239f7af1378358a1d99e"}, + {file = "pydantic-2.10.2.tar.gz", hash = "sha256:2bc2d7f17232e0841cbba4641e65ba1eb6fafb3a08de3a091ff3ce14a197c4fa"}, ] [[package]] @@ -1746,8 +1745,8 @@ files = [ [[package]] name = "requests" -version = "2.31.0" -requires_python = ">=3.7" +version = "2.32.3" +requires_python = ">=3.8" summary = "Python HTTP for Humans." groups = ["default"] dependencies = [ @@ -1757,22 +1756,21 @@ dependencies = [ "urllib3<3,>=1.21.1", ] files = [ - {file = "requests-2.31.0-py3-none-any.whl", hash = "sha256:58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f"}, - {file = "requests-2.31.0.tar.gz", hash = "sha256:942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1"}, + {file = "requests-2.32.3-py3-none-any.whl", hash = "sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6"}, + {file = "requests-2.32.3.tar.gz", hash = "sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760"}, ] [[package]] name = "requests-file" -version = "1.5.1" +version = "2.1.0" summary = "File transport adapter for Requests" groups = ["default"] dependencies = [ "requests>=1.0.0", - "six", ] files = [ - {file = "requests-file-1.5.1.tar.gz", hash = "sha256:07d74208d3389d01c38ab89ef403af0cfec63957d53a0081d8eca738d0247d8e"}, - {file = "requests_file-1.5.1-py2.py3-none-any.whl", hash = "sha256:dfe5dae75c12481f68ba353183c53a65e6044c923e64c24b2209f6c7570ca953"}, + {file = "requests_file-2.1.0-py2.py3-none-any.whl", hash = "sha256:cf270de5a4c5874e84599fc5778303d496c10ae5e870bfa378818f35d21bda5c"}, + {file = "requests_file-2.1.0.tar.gz", hash = "sha256:0f549a3f3b0699415ac04d167e9cb39bccfb730cb832b4d20be3d9867356e658"}, ] [[package]] @@ -1869,7 +1867,7 @@ files = [ [[package]] name = "sentry-sdk" -version = "2.17.0" +version = "2.19.0" requires_python = ">=3.6" summary = "Python client for Sentry (https://sentry.io)" groups = ["default"] @@ -1878,8 +1876,8 @@ dependencies = [ "urllib3>=1.26.11", ] files = [ - {file = "sentry_sdk-2.17.0-py2.py3-none-any.whl", hash = "sha256:625955884b862cc58748920f9e21efdfb8e0d4f98cca4ab0d3918576d5b606ad"}, - {file = "sentry_sdk-2.17.0.tar.gz", hash = "sha256:dd0a05352b78ffeacced73a94e86f38b32e2eae15fff5f30ca5abb568a72eacf"}, + {file = "sentry_sdk-2.19.0-py2.py3-none-any.whl", hash = "sha256:7b0b3b709dee051337244a09a30dbf6e95afe0d34a1f8b430d45e0982a7c125b"}, + {file = "sentry_sdk-2.19.0.tar.gz", hash = "sha256:ee4a4d2ae8bfe3cac012dcf3e4607975904c137e1738116549fc3dbbb6ff0e36"}, ] [[package]] diff --git a/pyproject.toml b/pyproject.toml index 48c77b34fe935b379b4349371f87cb985329fb47..6c9041f25fe7ea2e3164a768f37929a5f3c81497 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -12,15 +12,15 @@ dependencies = [ "django-bootstrap5~=24.3", "django-cors-headers~=4.5", "django-debug-toolbar~=4.4.6", - "django-environ~=0.11.2,<1", - "django-modeltranslation~=0.18.9", + "django-environ~=0.11.2,<0.12", + "django-modeltranslation>=0.19.0,<0.20", "django-oauth-toolkit~=3.0.1", "django-ratelimit~=4.1.0", "django-redis~=5.4.0", "django-storages~=1.14.4", "django-timezone-field~=7.0.0", "django-widget-tweaks~=1.5.0", - "Django==5.1.2,<6", + "Django>=5.1.2,<5.2.0", "djangorestframework~=3.15.2", "freezegun~=1.5.1", "Jinja2~=3.1.4,<4", @@ -34,10 +34,10 @@ dependencies = [ "Pillow~=11.0", "Pygments~=2.18", "pyjwt~=2.9.0", - "requests-file~=1.5.1,<2", - "requests~=2.31.0", + "requests-file>=2.0.0,<3", + "requests>=2.31.0,<3", "segno~=1.6.1", - "sentry-sdk~=2.17.0", + "sentry-sdk>=2.17.0,<3", "tzdata~=2024.2", "pdm>=2.11.2", "psycopg[binary,pool]>=3.2.3", diff --git a/requirements.dev.txt b/requirements.dev.txt index 93aee3222cd3181cf681427344935cf3a125e245..4160fd4e900fd563bad44286857c0d8bffd037a4 100644 --- a/requirements.dev.txt +++ b/requirements.dev.txt @@ -10,8 +10,8 @@ babel==2.16.0 beautifulsoup4==4.12.3 bleach==6.2.0 blinker==1.9.0 -boto3==1.35.68 -botocore==1.35.68 +boto3==1.35.71 +botocore==1.35.71 cachetools==5.5.0 certifi==2024.8.30 cffi==1.17.1; platform_python_implementation != "PyPy" @@ -28,13 +28,13 @@ defusedxml==0.7.1 dep-logic==0.4.9 dill==0.3.9; python_version >= "3.11" distlib==0.3.9 -django==5.1.2 +django==5.1.3 django-bootstrap5==24.3 django-cors-headers==4.6.0 django-csp==3.8 django-debug-toolbar==4.4.6 django-environ==0.11.2 -django-modeltranslation==0.18.13 +django-modeltranslation==0.19.11 django-oauth-toolkit==3.0.1 django-ratelimit==4.1.0 django-redis==5.4.0 @@ -45,7 +45,7 @@ django-stubs[mypy-compatible]==5.1.1 django-timezone-field==7.0 django-widget-tweaks==1.5.0 djangorestframework==3.15.2 -djlint==1.36.1 +djlint==1.36.2 docutils==0.21.2 editorconfig==0.12.4 et-xmlfile==2.0.0 @@ -86,7 +86,7 @@ packaging==24.2 pandas==2.2.3 pathspec==0.12.1 pbs-installer==2024.10.16 -pdm==2.20.1 +pdm==2.21.0 pillow==11.0.0 platformdirs==4.3.6 pluggy==1.5.0 @@ -95,7 +95,7 @@ psycopg-binary==3.2.3; implementation_name != "pypy" psycopg-pool==3.2.4 psycopg[binary,pool]==3.2.3 pycparser==2.22; platform_python_implementation != "PyPy" -pydantic==2.10.1 +pydantic==2.10.2 pydantic-core==2.27.1 pygments==2.18.0 pyjwt==2.9.0 @@ -110,15 +110,15 @@ pytz==2024.2 pyyaml==6.0.2 redis==5.2.0 regex==2024.11.6 -requests==2.31.0 -requests-file==1.5.1 +requests==2.32.3 +requests-file==2.1.0 resolvelib==1.1.0 rich==13.9.4 ruff==0.8.0 rules==3.5 s3transfer==0.10.4 segno==1.6.1 -sentry-sdk==2.17.0 +sentry-sdk==2.19.0 shellingham==1.5.4 six==1.16.0 sniffio==1.3.1 diff --git a/requirements.txt b/requirements.txt index f74cfcd121fb438008f1261a2006d3d645bbce29..9c1e18bd6c550b572878d3cd2d7a8e964709cb3d 100644 --- a/requirements.txt +++ b/requirements.txt @@ -8,8 +8,8 @@ babel==2.16.0 beautifulsoup4==4.12.3 bleach==6.2.0 blinker==1.9.0 -boto3==1.35.68 -botocore==1.35.68 +boto3==1.35.71 +botocore==1.35.71 certifi==2024.8.30 cffi==1.17.1; platform_python_implementation != "PyPy" charset-normalizer==3.4.0 @@ -17,13 +17,13 @@ cryptography==43.0.3 defusedxml==0.7.1 dep-logic==0.4.9 distlib==0.3.9 -django==5.1.2 +django==5.1.3 django-bootstrap5==24.3 django-cors-headers==4.6.0 django-csp==3.8 django-debug-toolbar==4.4.6 django-environ==0.11.2 -django-modeltranslation==0.18.13 +django-modeltranslation==0.19.11 django-oauth-toolkit==3.0.1 django-ratelimit==4.1.0 django-redis==5.4.0 @@ -61,14 +61,14 @@ ordered-set==4.1.0 packaging==24.2 pandas==2.2.3 pbs-installer==2024.10.16 -pdm==2.20.1 +pdm==2.21.0 pillow==11.0.0 platformdirs==4.3.6 psycopg-binary==3.2.3; implementation_name != "pypy" psycopg-pool==3.2.4 psycopg[binary,pool]==3.2.3 pycparser==2.22; platform_python_implementation != "PyPy" -pydantic==2.10.1 +pydantic==2.10.2 pydantic-core==2.27.1 pygments==2.18.0 pyjwt==2.9.0 @@ -77,14 +77,14 @@ python-dateutil==2.9.0.post0 python-dotenv==1.0.1 pytz==2024.2 redis==5.2.0 -requests==2.31.0 -requests-file==1.5.1 +requests==2.32.3 +requests-file==2.1.0 resolvelib==1.1.0 rich==13.9.4 rules==3.5 s3transfer==0.10.4 segno==1.6.1 -sentry-sdk==2.17.0 +sentry-sdk==2.19.0 shellingham==1.5.4 six==1.16.0 sniffio==1.3.1