diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 3345dc898..423cf745e 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -88,7 +88,7 @@ jobs: steps: - uses: actions/checkout@v4 - name: Install Poetry - run: pipx install poetry==1.8.3 # Make sure this matches POETRY_VERSION in the Dockerfile + run: pipx install poetry==1.8.5 # Make sure this matches POETRY_VERSION in the Dockerfile - name: Set up Python uses: actions/setup-python@v5 with: diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 46072585d..d0c5ad76c 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -3,7 +3,7 @@ default_language_version: python: python3.13 repos: - repo: https://github.com/astral-sh/ruff-pre-commit - rev: 'v0.9.1' # keep in sync with pyproject.toml + rev: 'v0.11.2' # keep in sync with pyproject.toml hooks: - id: ruff args: [--fix, --exit-non-zero-on-fix] @@ -42,3 +42,10 @@ repos: rev: 3.0.6 hooks: - id: djhtml + - repo: https://github.com/python-poetry/poetry + rev: '1.8.5' # keep version in sync with version installed in the Dockerfile + hooks: + - id: poetry-lock + # Never update dependencies and only run on changes to pyproject.toml + args: [--no-update] + files: ^pyproject.toml$ diff --git a/Dockerfile b/Dockerfile index b4cc6c6b4..4f147916a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -21,7 +21,7 @@ FROM python:3.13 as production ARG POETRY_INSTALL_ARGS="--no-dev" # IMPORTANT: Remember to review both of these when upgrading -ARG POETRY_VERSION=1.8.3 +ARG POETRY_VERSION=1.8.5 # Install dependencies in a virtualenv ENV VIRTUAL_ENV=/venv diff --git a/docs/upgrading.md b/docs/upgrading.md index d2983a077..ddcaeba21 100644 --- a/docs/upgrading.md +++ b/docs/upgrading.md @@ -74,7 +74,18 @@ As much as possible, we want to use the official releases available on PyPI for ### Check these packages for updates -(This list may not be exhaustive) +**Last checked** Wagtail 6.4 upgrade -- [lite youtube](front-end/lite-youtube.md) -- [wagtail markdown](front-end/markdown-codehilite.md) +- wagtail-accessibility +- [wagtail-lite-youtube-embed](front-end/lite-youtube.md) +- [wagtail-markdown](front-end/markdown-codehilite.md) +- wagtailmedia +- wagtail-purge + +## Custom wagtail admin templates + +**Last checked** Wagtail 6.4 upgrade + +Wagtail core is expected to see an update to prevent the preview panel from scroll at every content update. To prevent this from happening until then, fix has been applied to the `tbx/project_styleguide/templates/patterns/base.html` template. + +Further information is available in a MR for Wagtail Kit: https://git.torchbox.com/internal/wagtail-kit/-/merge_requests/973 diff --git a/poetry.lock b/poetry.lock index a2bf2629a..e91da57aa 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,4 +1,4 @@ -# This file is automatically @generated by Poetry 1.8.3 and should not be changed by hand. +# This file is automatically @generated by Poetry 1.8.5 and should not be changed by hand. [[package]] name = "anyascii" @@ -39,6 +39,24 @@ files = [ [package.extras] dev = ["freezegun (>=1.0,<2.0)", "pytest (>=6.0)", "pytest-cov"] +[[package]] +name = "backrefs" +version = "5.8" +description = "A wrapper around re and regex that adds additional back references." +optional = false +python-versions = ">=3.9" +files = [ + {file = "backrefs-5.8-py310-none-any.whl", hash = "sha256:c67f6638a34a5b8730812f5101376f9d41dc38c43f1fdc35cb54700f6ed4465d"}, + {file = "backrefs-5.8-py311-none-any.whl", hash = "sha256:2e1c15e4af0e12e45c8701bd5da0902d326b2e200cafcd25e49d9f06d44bb61b"}, + {file = "backrefs-5.8-py312-none-any.whl", hash = "sha256:bbef7169a33811080d67cdf1538c8289f76f0942ff971222a16034da88a73486"}, + {file = "backrefs-5.8-py313-none-any.whl", hash = "sha256:e3a63b073867dbefd0536425f43db618578528e3896fb77be7141328642a1585"}, + {file = "backrefs-5.8-py39-none-any.whl", hash = "sha256:a66851e4533fb5b371aa0628e1fee1af05135616b86140c9d787a2ffdf4b8fdc"}, + {file = "backrefs-5.8.tar.gz", hash = "sha256:2cab642a205ce966af3dd4b38ee36009b31fa9502a35fd61d59ccc116e40a6bd"}, +] + +[package.extras] +extras = ["regex"] + [[package]] name = "bcrypt" version = "4.2.1" @@ -79,17 +97,18 @@ typecheck = ["mypy"] [[package]] name = "beautifulsoup4" -version = "4.12.3" +version = "4.13.3" description = "Screen-scraping library" optional = false -python-versions = ">=3.6.0" +python-versions = ">=3.7.0" files = [ - {file = "beautifulsoup4-4.12.3-py3-none-any.whl", hash = "sha256:b80878c9f40111313e55da8ba20bdba06d8fa3969fc68304167741bbf9e082ed"}, - {file = "beautifulsoup4-4.12.3.tar.gz", hash = "sha256:74e3d1928edc070d21748185c46e3fb33490f22f52a3addee9aee0f4f7781051"}, + {file = "beautifulsoup4-4.13.3-py3-none-any.whl", hash = "sha256:99045d7d3f08f91f0d656bc9b7efbae189426cd913d830294a15eefa0ea4df16"}, + {file = "beautifulsoup4-4.13.3.tar.gz", hash = "sha256:1bd32405dacc920b42b83ba01644747ed77456a65760e285fbc47633ceddaf8b"}, ] [package.dependencies] soupsieve = ">1.2" +typing-extensions = ">=4.0.0" [package.extras] cchardet = ["cchardet"] @@ -514,17 +533,17 @@ typing_extensions = ">=3.10.0.0" [[package]] name = "django" -version = "5.1.5" +version = "5.2" description = "A high-level Python web framework that encourages rapid development and clean, pragmatic design." optional = false python-versions = ">=3.10" files = [ - {file = "Django-5.1.5-py3-none-any.whl", hash = "sha256:c46eb936111fffe6ec4bc9930035524a8be98ec2f74d8a0ff351226a3e52f459"}, - {file = "Django-5.1.5.tar.gz", hash = "sha256:19bbca786df50b9eca23cee79d495facf55c8f5c54c529d9bf1fe7b5ea086af3"}, + {file = "Django-5.2-py3-none-any.whl", hash = "sha256:91ceed4e3a6db5aedced65e3c8f963118ea9ba753fc620831c77074e620e7d83"}, + {file = "Django-5.2.tar.gz", hash = "sha256:1a47f7a7a3d43ce64570d350e008d2949abe8c7e21737b351b6a1611277c6d89"}, ] [package.dependencies] -asgiref = ">=3.8.1,<4" +asgiref = ">=3.8.1" sqlparse = ">=0.3.1" tzdata = {version = "*", markers = "sys_platform == \"win32\""} @@ -534,20 +553,20 @@ bcrypt = ["bcrypt"] [[package]] name = "django-basic-auth-ip-whitelist" -version = "0.6.0" +version = "0.8.0" description = "Hide your Django site behind basic authentication mechanism with IP whitelisting support." optional = false -python-versions = ">=3.4" +python-versions = ">=3.9" files = [ - {file = "django_basic_auth_ip_whitelist-0.6.0-py3-none-any.whl", hash = "sha256:f866c1822861ab6612efb9adec03b12279a82314783aa721c843acfbea04b0b7"}, - {file = "django_basic_auth_ip_whitelist-0.6.0.tar.gz", hash = "sha256:51fbef4d483cfccb15d0c38605fd149fd307314ad8a9308580a6b693b94b3329"}, + {file = "django_basic_auth_ip_whitelist-0.8.0-py3-none-any.whl", hash = "sha256:e4e46c2c59b4dde3a318d8812b6640b4a714bc2d1a0647854dead7743f1202ee"}, + {file = "django_basic_auth_ip_whitelist-0.8.0.tar.gz", hash = "sha256:edcff4ad789c9cf0c335c12366d5356f1f07d44172c2ecbfa5cb8ec914ea8252"}, ] [package.dependencies] -Django = ">=1.8,<6" +Django = ">=4.2" [package.extras] -lint = ["black (==24.4.2)", "flake8 (==7.0.0)", "isort (==5.13.2)"] +lint = ["ruff (==0.9.6)"] [[package]] name = "django-birdbath" @@ -587,13 +606,13 @@ tests = ["jinja2 (>=2.9.6)", "pytest", "pytest-cov", "pytest-django", "pytest-ru [[package]] name = "django-debug-toolbar" -version = "4.4.6" +version = "5.1.0" description = "A configurable set of panels that display various debug information about the current request/response." optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" files = [ - {file = "django_debug_toolbar-4.4.6-py3-none-any.whl", hash = "sha256:3beb671c9ec44ffb817fad2780667f172bd1c067dbcabad6268ce39a81335f45"}, - {file = "django_debug_toolbar-4.4.6.tar.gz", hash = "sha256:36e421cb908c2f0675e07f9f41e3d1d8618dc386392ec82d23bcfcd5d29c7044"}, + {file = "django_debug_toolbar-5.1.0-py3-none-any.whl", hash = "sha256:c0591e338ee9603bdfce5aebf8d18ca7341fdbb69595e2b0b34869be5857180e"}, + {file = "django_debug_toolbar-5.1.0.tar.gz", hash = "sha256:8a3b9da4aeab8d384a366e20304bd939a451f0242523c5b7b402248ad474eed2"}, ] [package.dependencies] @@ -647,17 +666,17 @@ taggit = ["django-taggit (>=3.1)"] [[package]] name = "django-pattern-library" -version = "1.3.0" +version = "1.5.0" description = "A module for Django that allows to build pattern libraries for your projects." optional = false python-versions = "<4.0,>=3.9" files = [ - {file = "django_pattern_library-1.3.0-py3-none-any.whl", hash = "sha256:0bd781f60d5378a82f8fe700f3f2641ebeb13c8f4c6950f8edfaa9dea079af69"}, - {file = "django_pattern_library-1.3.0.tar.gz", hash = "sha256:b8322cc00d4d808ac3ffc2230643442baf60b3e947f11890297d6f2615976114"}, + {file = "django_pattern_library-1.5.0-py3-none-any.whl", hash = "sha256:7d133eca05b06bc7097f5709d967d503a09e0dc6aa37aea68dc29dc934400b01"}, + {file = "django_pattern_library-1.5.0.tar.gz", hash = "sha256:ce84a2d8c7e35eda58d86714d76da7850250db7fdde07160669739585b7ea7f3"}, ] [package.dependencies] -Django = ">=4.2,<5.2" +Django = ">=4.2" Markdown = ">=3.1,<4.0" PyYAML = ">=5.1,<7.0" @@ -680,13 +699,13 @@ testing = ["django-modelcluster"] [[package]] name = "django-permissions-policy" -version = "4.24.0" +version = "4.25.0" description = "Set the Permissions-Policy HTTP header on your Django app." optional = false python-versions = ">=3.9" files = [ - {file = "django_permissions_policy-4.24.0-py3-none-any.whl", hash = "sha256:0839eefb0d376a055f9f3336e4fd917fc8d2b110426ba6a387a07a8897c5b94d"}, - {file = "django_permissions_policy-4.24.0.tar.gz", hash = "sha256:540388c7f7a19ec20d6d314ffdccb730ca164c177354c742cb0f51f27d3bae07"}, + {file = "django_permissions_policy-4.25.0-py3-none-any.whl", hash = "sha256:083a411c31964dd06c9aec4058147dda46bc1c3e04a799cbae7603578d979944"}, + {file = "django_permissions_policy-4.25.0.tar.gz", hash = "sha256:2757397fb6299e187ef146809a047b636584e7431527255615752db6dc2e94f7"}, ] [package.dependencies] @@ -729,28 +748,15 @@ redis = ">=3,<4.0.0 || >4.0.0,<4.0.1 || >4.0.1" [package.extras] hiredis = ["redis[hiredis] (>=3,!=4.0.0,!=4.0.1)"] -[[package]] -name = "django-referrer-policy" -version = "1.0" -description = "Referrer-Policy header implementation for Django." -optional = false -python-versions = "*" -files = [ - {file = "django-referrer-policy-1.0.tar.gz", hash = "sha256:09e134324fa08c10efc12244a4bae7aee5defa7d332b92c603b09258c854615a"}, -] - -[package.dependencies] -Django = ">=1.11" - [[package]] name = "django-storages" -version = "1.14.4" +version = "1.14.5" description = "Support for many storage backends in Django" optional = false python-versions = ">=3.7" files = [ - {file = "django-storages-1.14.4.tar.gz", hash = "sha256:69aca94d26e6714d14ad63f33d13619e697508ee33ede184e462ed766dc2a73f"}, - {file = "django_storages-1.14.4-py3-none-any.whl", hash = "sha256:d61930acb4a25e3aebebc6addaf946a3b1df31c803a6bf1af2f31c9047febaa3"}, + {file = "django_storages-1.14.5-py3-none-any.whl", hash = "sha256:5ce9c69426f24f379821fd688442314e4aa03de87ae43183c4e16915f4c165d4"}, + {file = "django_storages-1.14.5.tar.gz", hash = "sha256:ace80dbee311258453e30cd5cfd91096b834180ccf09bc1f4d2cb6d38d68571a"}, ] [package.dependencies] @@ -761,11 +767,26 @@ Django = ">=3.2" azure = ["azure-core (>=1.13)", "azure-storage-blob (>=12)"] boto3 = ["boto3 (>=1.4.4)"] dropbox = ["dropbox (>=7.2.1)"] -google = ["google-cloud-storage (>=1.27)"] +google = ["google-cloud-storage (>=1.32)"] libcloud = ["apache-libcloud"] s3 = ["boto3 (>=1.4.4)"] sftp = ["paramiko (>=1.15)"] +[[package]] +name = "django-stubs-ext" +version = "5.1.3" +description = "Monkey-patching and extensions for django-stubs" +optional = false +python-versions = ">=3.8" +files = [ + {file = "django_stubs_ext-5.1.3-py3-none-any.whl", hash = "sha256:64561fbc53e963cc1eed2c8eb27e18b8e48dcb90771205180fe29fc8a59e55fd"}, + {file = "django_stubs_ext-5.1.3.tar.gz", hash = "sha256:3e60f82337f0d40a362f349bf15539144b96e4ceb4dbd0239be1cd71f6a74ad0"}, +] + +[package.dependencies] +django = "*" +typing-extensions = "*" + [[package]] name = "django-taggit" version = "6.1.0" @@ -780,6 +801,27 @@ files = [ [package.dependencies] Django = ">=4.1" +[[package]] +name = "django-tasks" +version = "0.6.1" +description = "An implementation and backport of background workers and tasks in Django" +optional = false +python-versions = ">=3.8" +files = [ + {file = "django_tasks-0.6.1-py3-none-any.whl", hash = "sha256:b3648e28bdcda809cb7831f3aff98aa46c327025447c462b8943cce9dfbb0281"}, + {file = "django_tasks-0.6.1.tar.gz", hash = "sha256:4086e7eb9e965f79c4ac76f5c3690ec3bf41c461585237b71b4bde729ced9826"}, +] + +[package.dependencies] +Django = ">=4.2" +django-stubs-ext = "*" +typing_extensions = "*" + +[package.extras] +dev = ["coverage", "dj-database-url", "django-stubs[compatible-mypy]", "ruff"] +mysql = ["mysqlclient"] +postgres = ["psycopg[binary]"] + [[package]] name = "django-treebeard" version = "4.7.1" @@ -796,17 +838,17 @@ Django = ">=3.2" [[package]] name = "django-xff" -version = "1.4.0" +version = "1.5.0" description = "Django X-Forwarded-For Properly" optional = false python-versions = "*" files = [ - {file = "django-xff-1.4.0.tar.gz", hash = "sha256:fc87333f64d2ff2ce4ab6449e814240f9f195c290d2c8789ca81a1c98f5522ec"}, - {file = "django_xff-1.4.0-py2.py3-none-any.whl", hash = "sha256:8935dce34383d65b545564a3cc17dc8010c8cdec231b0932e6073ddc766d679d"}, + {file = "django_xff-1.5.0-py2.py3-none-any.whl", hash = "sha256:78148498bf74f60db573a43acfe9e6b81c2ef30fa609664fe7887b2bdf2e749e"}, + {file = "django_xff-1.5.0.tar.gz", hash = "sha256:cd63c6da00d8f4b4a909f26c8bb23beeb66fadb400522674c4d93786170e16e4"}, ] [package.dependencies] -Django = ">=1.8.2" +Django = ">=4.2" [[package]] name = "djangorestframework" @@ -883,13 +925,13 @@ pytest = ["pytest (>=7)"] [[package]] name = "factory-boy" -version = "3.3.1" +version = "3.3.3" description = "A versatile test fixtures replacement based on thoughtbot's factory_bot for Ruby." optional = false python-versions = ">=3.8" files = [ - {file = "factory_boy-3.3.1-py2.py3-none-any.whl", hash = "sha256:7b1113c49736e1e9995bc2a18f4dbf2c52cf0f841103517010b1d825712ce3ca"}, - {file = "factory_boy-3.3.1.tar.gz", hash = "sha256:8317aa5289cdfc45f9cae570feb07a6177316c82e34d14df3c2e1f22f26abef0"}, + {file = "factory_boy-3.3.3-py2.py3-none-any.whl", hash = "sha256:1c39e3289f7e667c4285433f305f8d506efc2fe9c73aaea4151ebd5cdea394fc"}, + {file = "factory_boy-3.3.3.tar.gz", hash = "sha256:866862d226128dfac7f2b4160287e899daf54f2612778327dd03d0e2cb1e3d03"}, ] [package.dependencies] @@ -901,18 +943,17 @@ doc = ["Sphinx", "sphinx-rtd-theme", "sphinxcontrib-spelling"] [[package]] name = "faker" -version = "33.3.1" +version = "37.1.0" description = "Faker is a Python package that generates fake data for you." optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" files = [ - {file = "Faker-33.3.1-py3-none-any.whl", hash = "sha256:ac4cf2f967ce02c898efa50651c43180bd658a7707cfd676fcc5410ad1482c03"}, - {file = "faker-33.3.1.tar.gz", hash = "sha256:49dde3b06a5602177bc2ad013149b6f60a290b7154539180d37b6f876ae79b20"}, + {file = "faker-37.1.0-py3-none-any.whl", hash = "sha256:dc2f730be71cb770e9c715b13374d80dbcee879675121ab51f9683d262ae9a1c"}, + {file = "faker-37.1.0.tar.gz", hash = "sha256:ad9dc66a3b84888b837ca729e85299a96b58fdaef0323ed0baace93c9614af06"}, ] [package.dependencies] -python-dateutil = ">=2.4" -typing-extensions = "*" +tzdata = "*" [[package]] name = "filelock" @@ -1104,21 +1145,6 @@ files = [ {file = "jmespath-1.0.1.tar.gz", hash = "sha256:90261b206d6defd58fdd5e85f478bf633a2901798906be2ad389150c5c60edbe"}, ] -[[package]] -name = "l18n" -version = "2021.3" -description = "Internationalization for pytz timezones and territories" -optional = false -python-versions = "*" -files = [ - {file = "l18n-2021.3-py3-none-any.whl", hash = "sha256:78495d1df95b6f7dcc694d1ba8994df709c463a1cbac1bf016e1b9a5ce7280b9"}, - {file = "l18n-2021.3.tar.gz", hash = "sha256:1956e890d673d17135cc20913253c154f6bc1c00266c22b7d503cc1a5a42d848"}, -] - -[package.dependencies] -pytz = ">=2020.1" -six = "*" - [[package]] name = "laces" version = "0.1.2" @@ -1281,17 +1307,18 @@ pyyaml = ">=5.1" [[package]] name = "mkdocs-material" -version = "9.5.49" +version = "9.6.9" description = "Documentation that simply works" optional = false python-versions = ">=3.8" files = [ - {file = "mkdocs_material-9.5.49-py3-none-any.whl", hash = "sha256:c3c2d8176b18198435d3a3e119011922f3e11424074645c24019c2dcf08a360e"}, - {file = "mkdocs_material-9.5.49.tar.gz", hash = "sha256:3671bb282b4f53a1c72e08adbe04d2481a98f85fed392530051f80ff94a9621d"}, + {file = "mkdocs_material-9.6.9-py3-none-any.whl", hash = "sha256:6e61b7fb623ce2aa4622056592b155a9eea56ff3487d0835075360be45a4c8d1"}, + {file = "mkdocs_material-9.6.9.tar.gz", hash = "sha256:a4872139715a1f27b2aa3f3dc31a9794b7bbf36333c0ba4607cf04786c94f89c"}, ] [package.dependencies] babel = ">=2.10,<3.0" +backrefs = ">=5.7.post1,<6.0" colorama = ">=0.4,<1.0" jinja2 = ">=3.0,<4.0" markdown = ">=3.2,<4.0" @@ -1300,11 +1327,10 @@ mkdocs-material-extensions = ">=1.3,<2.0" paginate = ">=0.5,<1.0" pygments = ">=2.16,<3.0" pymdown-extensions = ">=10.2,<11.0" -regex = ">=2022.4" requests = ">=2.26,<3.0" [package.extras] -git = ["mkdocs-git-committers-plugin-2 (>=1.1,<2.0)", "mkdocs-git-revision-date-localized-plugin (>=1.2.4,<2.0)"] +git = ["mkdocs-git-committers-plugin-2 (>=1.1,<3)", "mkdocs-git-revision-date-localized-plugin (>=1.2.4,<2.0)"] imaging = ["cairosvg (>=2.6,<3.0)", "pillow (>=10.2,<11.0)"] recommended = ["mkdocs-minify-plugin (>=0.7,<1.0)", "mkdocs-redirects (>=1.2,<2.0)", "mkdocs-rss-plugin (>=1.6,<2.0)"] @@ -1419,13 +1445,13 @@ files = [ [[package]] name = "phonenumbers" -version = "8.13.52" +version = "9.0.1" description = "Python version of Google's common library for parsing, formatting, storing and validating international phone numbers." optional = false python-versions = "*" files = [ - {file = "phonenumbers-8.13.52-py2.py3-none-any.whl", hash = "sha256:e803210038ece9d208b129e3023dc20e656a820d6bf6f1cb0471d4164f54bada"}, - {file = "phonenumbers-8.13.52.tar.gz", hash = "sha256:fdc371ea6a4da052beb1225de63963d5a2fddbbff2bb53e3a957f360e0185f80"}, + {file = "phonenumbers-9.0.1-py2.py3-none-any.whl", hash = "sha256:ea8ec8083d85e5dcba48a6ba633ee68481e60331200f99744ae24a08e5026b13"}, + {file = "phonenumbers-9.0.1.tar.gz", hash = "sha256:7507bd6228d3b5fc4a3661c28f08157ac12a3386aca50bc6d2e71d91a00ff2be"}, ] [[package]] @@ -1598,13 +1624,13 @@ type = ["mypy (>=1.11.2)"] [[package]] name = "pre-commit" -version = "4.0.1" +version = "4.2.0" description = "A framework for managing and maintaining multi-language pre-commit hooks." optional = false python-versions = ">=3.9" files = [ - {file = "pre_commit-4.0.1-py2.py3-none-any.whl", hash = "sha256:efde913840816312445dc98787724647c65473daefe420785f885e8ed9a06878"}, - {file = "pre_commit-4.0.1.tar.gz", hash = "sha256:80905ac375958c0444c65e9cebebd948b3cdb518f335a091a670a89d652139d2"}, + {file = "pre_commit-4.2.0-py2.py3-none-any.whl", hash = "sha256:a009ca7205f1eb497d10b845e52c838a98b6cdd2102a6c8e4540e94ee75c58bd"}, + {file = "pre_commit-4.2.0.tar.gz", hash = "sha256:601283b9757afd87d40c4c4a9b2b5de9637a8ea02eaff7adc2d0fb4e04841146"}, ] [package.dependencies] @@ -1644,22 +1670,22 @@ test = ["enum34", "ipaddress", "mock", "pywin32", "wmi"] [[package]] name = "psycopg" -version = "3.2.4" +version = "3.2.6" description = "PostgreSQL database adapter for Python" optional = false python-versions = ">=3.8" files = [ - {file = "psycopg-3.2.4-py3-none-any.whl", hash = "sha256:43665368ccd48180744cab26b74332f46b63b7e06e8ce0775547a3533883d381"}, - {file = "psycopg-3.2.4.tar.gz", hash = "sha256:f26f1346d6bf1ef5f5ef1714dd405c67fb365cfd1c6cea07de1792747b167b92"}, + {file = "psycopg-3.2.6-py3-none-any.whl", hash = "sha256:f3ff5488525890abb0566c429146add66b329e20d6d4835662b920cbbf90ac58"}, + {file = "psycopg-3.2.6.tar.gz", hash = "sha256:16fa094efa2698f260f2af74f3710f781e4a6f226efe9d1fd0c37f384639ed8a"}, ] [package.dependencies] tzdata = {version = "*", markers = "sys_platform == \"win32\""} [package.extras] -binary = ["psycopg-binary (==3.2.4)"] -c = ["psycopg-c (==3.2.4)"] -dev = ["ast-comments (>=1.1.2)", "black (>=24.1.0)", "codespell (>=2.2)", "dnspython (>=2.1)", "flake8 (>=4.0)", "mypy (>=1.14)", "pre-commit (>=4.0.1)", "types-setuptools (>=57.4)", "wheel (>=0.37)"] +binary = ["psycopg-binary (==3.2.6)"] +c = ["psycopg-c (==3.2.6)"] +dev = ["ast-comments (>=1.1.2)", "black (>=24.1.0)", "codespell (>=2.2)", "dnspython (>=2.1)", "flake8 (>=4.0)", "isort-psycopg", "isort[colors] (>=6.0)", "mypy (>=1.14)", "pre-commit (>=4.0.1)", "types-setuptools (>=57.4)", "wheel (>=0.37)"] docs = ["Sphinx (>=5.0)", "furo (==2022.6.21)", "sphinx-autobuild (>=2021.3.14)", "sphinx-autodoc-typehints (>=1.12)"] pool = ["psycopg-pool"] test = ["anyio (>=4.0)", "mypy (>=1.14)", "pproxy (>=2.7)", "pytest (>=6.2.5)", "pytest-cov (>=3.0)", "pytest-randomly (>=3.5)"] @@ -1712,13 +1738,13 @@ windows-terminal = ["colorama (>=0.4.6)"] [[package]] name = "pymdown-extensions" -version = "10.14" +version = "10.14.3" description = "Extension pack for Python Markdown." optional = false python-versions = ">=3.8" files = [ - {file = "pymdown_extensions-10.14-py3-none-any.whl", hash = "sha256:202481f716cc8250e4be8fce997781ebf7917701b59652458ee47f2401f818b5"}, - {file = "pymdown_extensions-10.14.tar.gz", hash = "sha256:741bd7c4ff961ba40b7528d32284c53bc436b8b1645e8e37c3e57770b8700a34"}, + {file = "pymdown_extensions-10.14.3-py3-none-any.whl", hash = "sha256:05e0bee73d64b9c71a4ae17c72abc2f700e8bc8403755a00580b49a4e9f189e9"}, + {file = "pymdown_extensions-10.14.3.tar.gz", hash = "sha256:41e576ce3f5d650be59e900e4ceff231e0aed2a88cf30acaee41e02f063a061b"}, ] [package.dependencies] @@ -1768,17 +1794,6 @@ files = [ [package.dependencies] six = ">=1.5" -[[package]] -name = "pytz" -version = "2024.2" -description = "World timezone definitions, modern and historical" -optional = false -python-versions = "*" -files = [ - {file = "pytz-2024.2-py2.py3-none-any.whl", hash = "sha256:31c7c1817eb7fae7ca4b8c7ee50c72f93aa2dd863de768e1ef4245d426aa0725"}, - {file = "pytz-2024.2.tar.gz", hash = "sha256:2aa355083c50a0f93fa581709deac0c9ad65cca8a9e9beac660adcbd493c798a"}, -] - [[package]] name = "pyyaml" version = "6.0.2" @@ -1870,109 +1885,6 @@ files = [ hiredis = ["hiredis (>=3.0.0)"] ocsp = ["cryptography (>=36.0.1)", "pyopenssl (==23.2.1)", "requests (>=2.31.0)"] -[[package]] -name = "regex" -version = "2024.11.6" -description = "Alternative regular expression module, to replace re." -optional = false -python-versions = ">=3.8" -files = [ - {file = "regex-2024.11.6-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:ff590880083d60acc0433f9c3f713c51f7ac6ebb9adf889c79a261ecf541aa91"}, - {file = "regex-2024.11.6-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:658f90550f38270639e83ce492f27d2c8d2cd63805c65a13a14d36ca126753f0"}, - {file = "regex-2024.11.6-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:164d8b7b3b4bcb2068b97428060b2a53be050085ef94eca7f240e7947f1b080e"}, - {file = "regex-2024.11.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d3660c82f209655a06b587d55e723f0b813d3a7db2e32e5e7dc64ac2a9e86fde"}, - {file = "regex-2024.11.6-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d22326fcdef5e08c154280b71163ced384b428343ae16a5ab2b3354aed12436e"}, - {file = "regex-2024.11.6-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f1ac758ef6aebfc8943560194e9fd0fa18bcb34d89fd8bd2af18183afd8da3a2"}, - {file = "regex-2024.11.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:997d6a487ff00807ba810e0f8332c18b4eb8d29463cfb7c820dc4b6e7562d0cf"}, - {file = "regex-2024.11.6-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:02a02d2bb04fec86ad61f3ea7f49c015a0681bf76abb9857f945d26159d2968c"}, - {file = "regex-2024.11.6-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:f02f93b92358ee3f78660e43b4b0091229260c5d5c408d17d60bf26b6c900e86"}, - {file = "regex-2024.11.6-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:06eb1be98df10e81ebaded73fcd51989dcf534e3c753466e4b60c4697a003b67"}, - {file = "regex-2024.11.6-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:040df6fe1a5504eb0f04f048e6d09cd7c7110fef851d7c567a6b6e09942feb7d"}, - {file = "regex-2024.11.6-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:fdabbfc59f2c6edba2a6622c647b716e34e8e3867e0ab975412c5c2f79b82da2"}, - {file = "regex-2024.11.6-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:8447d2d39b5abe381419319f942de20b7ecd60ce86f16a23b0698f22e1b70008"}, - {file = "regex-2024.11.6-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:da8f5fc57d1933de22a9e23eec290a0d8a5927a5370d24bda9a6abe50683fe62"}, - {file = "regex-2024.11.6-cp310-cp310-win32.whl", hash = "sha256:b489578720afb782f6ccf2840920f3a32e31ba28a4b162e13900c3e6bd3f930e"}, - {file = "regex-2024.11.6-cp310-cp310-win_amd64.whl", hash = "sha256:5071b2093e793357c9d8b2929dfc13ac5f0a6c650559503bb81189d0a3814519"}, - {file = "regex-2024.11.6-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:5478c6962ad548b54a591778e93cd7c456a7a29f8eca9c49e4f9a806dcc5d638"}, - {file = "regex-2024.11.6-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2c89a8cc122b25ce6945f0423dc1352cb9593c68abd19223eebbd4e56612c5b7"}, - {file = "regex-2024.11.6-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:94d87b689cdd831934fa3ce16cc15cd65748e6d689f5d2b8f4f4df2065c9fa20"}, - {file = "regex-2024.11.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1062b39a0a2b75a9c694f7a08e7183a80c63c0d62b301418ffd9c35f55aaa114"}, - {file = "regex-2024.11.6-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:167ed4852351d8a750da48712c3930b031f6efdaa0f22fa1933716bfcd6bf4a3"}, - {file = "regex-2024.11.6-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2d548dafee61f06ebdb584080621f3e0c23fff312f0de1afc776e2a2ba99a74f"}, - {file = "regex-2024.11.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f2a19f302cd1ce5dd01a9099aaa19cae6173306d1302a43b627f62e21cf18ac0"}, - {file = "regex-2024.11.6-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bec9931dfb61ddd8ef2ebc05646293812cb6b16b60cf7c9511a832b6f1854b55"}, - {file = "regex-2024.11.6-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:9714398225f299aa85267fd222f7142fcb5c769e73d7733344efc46f2ef5cf89"}, - {file = "regex-2024.11.6-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:202eb32e89f60fc147a41e55cb086db2a3f8cb82f9a9a88440dcfc5d37faae8d"}, - {file = "regex-2024.11.6-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:4181b814e56078e9b00427ca358ec44333765f5ca1b45597ec7446d3a1ef6e34"}, - {file = "regex-2024.11.6-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:068376da5a7e4da51968ce4c122a7cd31afaaec4fccc7856c92f63876e57b51d"}, - {file = "regex-2024.11.6-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ac10f2c4184420d881a3475fb2c6f4d95d53a8d50209a2500723d831036f7c45"}, - {file = "regex-2024.11.6-cp311-cp311-win32.whl", hash = "sha256:c36f9b6f5f8649bb251a5f3f66564438977b7ef8386a52460ae77e6070d309d9"}, - {file = "regex-2024.11.6-cp311-cp311-win_amd64.whl", hash = "sha256:02e28184be537f0e75c1f9b2f8847dc51e08e6e171c6bde130b2687e0c33cf60"}, - {file = "regex-2024.11.6-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:52fb28f528778f184f870b7cf8f225f5eef0a8f6e3778529bdd40c7b3920796a"}, - {file = "regex-2024.11.6-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:fdd6028445d2460f33136c55eeb1f601ab06d74cb3347132e1c24250187500d9"}, - {file = "regex-2024.11.6-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:805e6b60c54bf766b251e94526ebad60b7de0c70f70a4e6210ee2891acb70bf2"}, - {file = "regex-2024.11.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b85c2530be953a890eaffde05485238f07029600e8f098cdf1848d414a8b45e4"}, - {file = "regex-2024.11.6-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bb26437975da7dc36b7efad18aa9dd4ea569d2357ae6b783bf1118dabd9ea577"}, - {file = "regex-2024.11.6-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:abfa5080c374a76a251ba60683242bc17eeb2c9818d0d30117b4486be10c59d3"}, - {file = "regex-2024.11.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70b7fa6606c2881c1db9479b0eaa11ed5dfa11c8d60a474ff0e095099f39d98e"}, - {file = "regex-2024.11.6-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0c32f75920cf99fe6b6c539c399a4a128452eaf1af27f39bce8909c9a3fd8cbe"}, - {file = "regex-2024.11.6-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:982e6d21414e78e1f51cf595d7f321dcd14de1f2881c5dc6a6e23bbbbd68435e"}, - {file = "regex-2024.11.6-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:a7c2155f790e2fb448faed6dd241386719802296ec588a8b9051c1f5c481bc29"}, - {file = "regex-2024.11.6-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:149f5008d286636e48cd0b1dd65018548944e495b0265b45e1bffecce1ef7f39"}, - {file = "regex-2024.11.6-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:e5364a4502efca094731680e80009632ad6624084aff9a23ce8c8c6820de3e51"}, - {file = "regex-2024.11.6-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:0a86e7eeca091c09e021db8eb72d54751e527fa47b8d5787caf96d9831bd02ad"}, - {file = "regex-2024.11.6-cp312-cp312-win32.whl", hash = "sha256:32f9a4c643baad4efa81d549c2aadefaeba12249b2adc5af541759237eee1c54"}, - {file = "regex-2024.11.6-cp312-cp312-win_amd64.whl", hash = "sha256:a93c194e2df18f7d264092dc8539b8ffb86b45b899ab976aa15d48214138e81b"}, - {file = "regex-2024.11.6-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:a6ba92c0bcdf96cbf43a12c717eae4bc98325ca3730f6b130ffa2e3c3c723d84"}, - {file = "regex-2024.11.6-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:525eab0b789891ac3be914d36893bdf972d483fe66551f79d3e27146191a37d4"}, - {file = "regex-2024.11.6-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:086a27a0b4ca227941700e0b31425e7a28ef1ae8e5e05a33826e17e47fbfdba0"}, - {file = "regex-2024.11.6-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bde01f35767c4a7899b7eb6e823b125a64de314a8ee9791367c9a34d56af18d0"}, - {file = "regex-2024.11.6-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b583904576650166b3d920d2bcce13971f6f9e9a396c673187f49811b2769dc7"}, - {file = "regex-2024.11.6-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1c4de13f06a0d54fa0d5ab1b7138bfa0d883220965a29616e3ea61b35d5f5fc7"}, - {file = "regex-2024.11.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3cde6e9f2580eb1665965ce9bf17ff4952f34f5b126beb509fee8f4e994f143c"}, - {file = "regex-2024.11.6-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0d7f453dca13f40a02b79636a339c5b62b670141e63efd511d3f8f73fba162b3"}, - {file = "regex-2024.11.6-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:59dfe1ed21aea057a65c6b586afd2a945de04fc7db3de0a6e3ed5397ad491b07"}, - {file = "regex-2024.11.6-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:b97c1e0bd37c5cd7902e65f410779d39eeda155800b65fc4d04cc432efa9bc6e"}, - {file = "regex-2024.11.6-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:f9d1e379028e0fc2ae3654bac3cbbef81bf3fd571272a42d56c24007979bafb6"}, - {file = "regex-2024.11.6-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:13291b39131e2d002a7940fb176e120bec5145f3aeb7621be6534e46251912c4"}, - {file = "regex-2024.11.6-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4f51f88c126370dcec4908576c5a627220da6c09d0bff31cfa89f2523843316d"}, - {file = "regex-2024.11.6-cp313-cp313-win32.whl", hash = "sha256:63b13cfd72e9601125027202cad74995ab26921d8cd935c25f09c630436348ff"}, - {file = "regex-2024.11.6-cp313-cp313-win_amd64.whl", hash = "sha256:2b3361af3198667e99927da8b84c1b010752fa4b1115ee30beaa332cabc3ef1a"}, - {file = "regex-2024.11.6-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:3a51ccc315653ba012774efca4f23d1d2a8a8f278a6072e29c7147eee7da446b"}, - {file = "regex-2024.11.6-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:ad182d02e40de7459b73155deb8996bbd8e96852267879396fb274e8700190e3"}, - {file = "regex-2024.11.6-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:ba9b72e5643641b7d41fa1f6d5abda2c9a263ae835b917348fc3c928182ad467"}, - {file = "regex-2024.11.6-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40291b1b89ca6ad8d3f2b82782cc33807f1406cf68c8d440861da6304d8ffbbd"}, - {file = "regex-2024.11.6-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cdf58d0e516ee426a48f7b2c03a332a4114420716d55769ff7108c37a09951bf"}, - {file = "regex-2024.11.6-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a36fdf2af13c2b14738f6e973aba563623cb77d753bbbd8d414d18bfaa3105dd"}, - {file = "regex-2024.11.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d1cee317bfc014c2419a76bcc87f071405e3966da434e03e13beb45f8aced1a6"}, - {file = "regex-2024.11.6-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:50153825ee016b91549962f970d6a4442fa106832e14c918acd1c8e479916c4f"}, - {file = "regex-2024.11.6-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:ea1bfda2f7162605f6e8178223576856b3d791109f15ea99a9f95c16a7636fb5"}, - {file = "regex-2024.11.6-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:df951c5f4a1b1910f1a99ff42c473ff60f8225baa1cdd3539fe2819d9543e9df"}, - {file = "regex-2024.11.6-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:072623554418a9911446278f16ecb398fb3b540147a7828c06e2011fa531e773"}, - {file = "regex-2024.11.6-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:f654882311409afb1d780b940234208a252322c24a93b442ca714d119e68086c"}, - {file = "regex-2024.11.6-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:89d75e7293d2b3e674db7d4d9b1bee7f8f3d1609428e293771d1a962617150cc"}, - {file = "regex-2024.11.6-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:f65557897fc977a44ab205ea871b690adaef6b9da6afda4790a2484b04293a5f"}, - {file = "regex-2024.11.6-cp38-cp38-win32.whl", hash = "sha256:6f44ec28b1f858c98d3036ad5d7d0bfc568bdd7a74f9c24e25f41ef1ebfd81a4"}, - {file = "regex-2024.11.6-cp38-cp38-win_amd64.whl", hash = "sha256:bb8f74f2f10dbf13a0be8de623ba4f9491faf58c24064f32b65679b021ed0001"}, - {file = "regex-2024.11.6-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:5704e174f8ccab2026bd2f1ab6c510345ae8eac818b613d7d73e785f1310f839"}, - {file = "regex-2024.11.6-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:220902c3c5cc6af55d4fe19ead504de80eb91f786dc102fbd74894b1551f095e"}, - {file = "regex-2024.11.6-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5e7e351589da0850c125f1600a4c4ba3c722efefe16b297de54300f08d734fbf"}, - {file = "regex-2024.11.6-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5056b185ca113c88e18223183aa1a50e66507769c9640a6ff75859619d73957b"}, - {file = "regex-2024.11.6-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2e34b51b650b23ed3354b5a07aab37034d9f923db2a40519139af34f485f77d0"}, - {file = "regex-2024.11.6-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5670bce7b200273eee1840ef307bfa07cda90b38ae56e9a6ebcc9f50da9c469b"}, - {file = "regex-2024.11.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:08986dce1339bc932923e7d1232ce9881499a0e02925f7402fb7c982515419ef"}, - {file = "regex-2024.11.6-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:93c0b12d3d3bc25af4ebbf38f9ee780a487e8bf6954c115b9f015822d3bb8e48"}, - {file = "regex-2024.11.6-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:764e71f22ab3b305e7f4c21f1a97e1526a25ebdd22513e251cf376760213da13"}, - {file = "regex-2024.11.6-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:f056bf21105c2515c32372bbc057f43eb02aae2fda61052e2f7622c801f0b4e2"}, - {file = "regex-2024.11.6-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:69ab78f848845569401469da20df3e081e6b5a11cb086de3eed1d48f5ed57c95"}, - {file = "regex-2024.11.6-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:86fddba590aad9208e2fa8b43b4c098bb0ec74f15718bb6a704e3c63e2cef3e9"}, - {file = "regex-2024.11.6-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:684d7a212682996d21ca12ef3c17353c021fe9de6049e19ac8481ec35574a70f"}, - {file = "regex-2024.11.6-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:a03e02f48cd1abbd9f3b7e3586d97c8f7a9721c436f51a5245b3b9483044480b"}, - {file = "regex-2024.11.6-cp39-cp39-win32.whl", hash = "sha256:41758407fc32d5c3c5de163888068cfee69cb4c2be844e7ac517a52770f9af57"}, - {file = "regex-2024.11.6-cp39-cp39-win_amd64.whl", hash = "sha256:b2837718570f95dd41675328e111345f9b7095d821bac435aac173ac80b19983"}, - {file = "regex-2024.11.6.tar.gz", hash = "sha256:7ab159b063c52a0333c884e4679f8d7a85112ee3078fe3d9004b2dd875585519"}, -] - [[package]] name = "requests" version = "2.32.3" @@ -1996,29 +1908,29 @@ use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] [[package]] name = "ruff" -version = "0.9.1" +version = "0.11.2" description = "An extremely fast Python linter and code formatter, written in Rust." optional = false python-versions = ">=3.7" files = [ - {file = "ruff-0.9.1-py3-none-linux_armv6l.whl", hash = "sha256:84330dda7abcc270e6055551aca93fdde1b0685fc4fd358f26410f9349cf1743"}, - {file = "ruff-0.9.1-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:3cae39ba5d137054b0e5b472aee3b78a7c884e61591b100aeb544bcd1fc38d4f"}, - {file = "ruff-0.9.1-py3-none-macosx_11_0_arm64.whl", hash = "sha256:50c647ff96f4ba288db0ad87048257753733763b409b2faf2ea78b45c8bb7fcb"}, - {file = "ruff-0.9.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f0c8b149e9c7353cace7d698e1656ffcf1e36e50f8ea3b5d5f7f87ff9986a7ca"}, - {file = "ruff-0.9.1-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:beb3298604540c884d8b282fe7625651378e1986c25df51dec5b2f60cafc31ce"}, - {file = "ruff-0.9.1-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:39d0174ccc45c439093971cc06ed3ac4dc545f5e8bdacf9f067adf879544d969"}, - {file = "ruff-0.9.1-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:69572926c0f0c9912288915214ca9b2809525ea263603370b9e00bed2ba56dbd"}, - {file = "ruff-0.9.1-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:937267afce0c9170d6d29f01fcd1f4378172dec6760a9f4dface48cdabf9610a"}, - {file = "ruff-0.9.1-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:186c2313de946f2c22bdf5954b8dd083e124bcfb685732cfb0beae0c47233d9b"}, - {file = "ruff-0.9.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3f94942a3bb767675d9a051867c036655fe9f6c8a491539156a6f7e6b5f31831"}, - {file = "ruff-0.9.1-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:728d791b769cc28c05f12c280f99e8896932e9833fef1dd8756a6af2261fd1ab"}, - {file = "ruff-0.9.1-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:2f312c86fb40c5c02b44a29a750ee3b21002bd813b5233facdaf63a51d9a85e1"}, - {file = "ruff-0.9.1-py3-none-musllinux_1_2_i686.whl", hash = "sha256:ae017c3a29bee341ba584f3823f805abbe5fe9cd97f87ed07ecbf533c4c88366"}, - {file = "ruff-0.9.1-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:5dc40a378a0e21b4cfe2b8a0f1812a6572fc7b230ef12cd9fac9161aa91d807f"}, - {file = "ruff-0.9.1-py3-none-win32.whl", hash = "sha256:46ebf5cc106cf7e7378ca3c28ce4293b61b449cd121b98699be727d40b79ba72"}, - {file = "ruff-0.9.1-py3-none-win_amd64.whl", hash = "sha256:342a824b46ddbcdddd3abfbb332fa7fcaac5488bf18073e841236aadf4ad5c19"}, - {file = "ruff-0.9.1-py3-none-win_arm64.whl", hash = "sha256:1cd76c7f9c679e6e8f2af8f778367dca82b95009bc7b1a85a47f1521ae524fa7"}, - {file = "ruff-0.9.1.tar.gz", hash = "sha256:fd2b25ecaf907d6458fa842675382c8597b3c746a2dde6717fe3415425df0c17"}, + {file = "ruff-0.11.2-py3-none-linux_armv6l.whl", hash = "sha256:c69e20ea49e973f3afec2c06376eb56045709f0212615c1adb0eda35e8a4e477"}, + {file = "ruff-0.11.2-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:2c5424cc1c4eb1d8ecabe6d4f1b70470b4f24a0c0171356290b1953ad8f0e272"}, + {file = "ruff-0.11.2-py3-none-macosx_11_0_arm64.whl", hash = "sha256:ecf20854cc73f42171eedb66f006a43d0a21bfb98a2523a809931cda569552d9"}, + {file = "ruff-0.11.2-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0c543bf65d5d27240321604cee0633a70c6c25c9a2f2492efa9f6d4b8e4199bb"}, + {file = "ruff-0.11.2-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:20967168cc21195db5830b9224be0e964cc9c8ecf3b5a9e3ce19876e8d3a96e3"}, + {file = "ruff-0.11.2-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:955a9ce63483999d9f0b8f0b4a3ad669e53484232853054cc8b9d51ab4c5de74"}, + {file = "ruff-0.11.2-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:86b3a27c38b8fce73bcd262b0de32e9a6801b76d52cdb3ae4c914515f0cef608"}, + {file = "ruff-0.11.2-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a3b66a03b248c9fcd9d64d445bafdf1589326bee6fc5c8e92d7562e58883e30f"}, + {file = "ruff-0.11.2-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0397c2672db015be5aa3d4dac54c69aa012429097ff219392c018e21f5085147"}, + {file = "ruff-0.11.2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:869bcf3f9abf6457fbe39b5a37333aa4eecc52a3b99c98827ccc371a8e5b6f1b"}, + {file = "ruff-0.11.2-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:2a2b50ca35457ba785cd8c93ebbe529467594087b527a08d487cf0ee7b3087e9"}, + {file = "ruff-0.11.2-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:7c69c74bf53ddcfbc22e6eb2f31211df7f65054bfc1f72288fc71e5f82db3eab"}, + {file = "ruff-0.11.2-py3-none-musllinux_1_2_i686.whl", hash = "sha256:6e8fb75e14560f7cf53b15bbc55baf5ecbe373dd5f3aab96ff7aa7777edd7630"}, + {file = "ruff-0.11.2-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:842a472d7b4d6f5924e9297aa38149e5dcb1e628773b70e6387ae2c97a63c58f"}, + {file = "ruff-0.11.2-py3-none-win32.whl", hash = "sha256:aca01ccd0eb5eb7156b324cfaa088586f06a86d9e5314b0eb330cb48415097cc"}, + {file = "ruff-0.11.2-py3-none-win_amd64.whl", hash = "sha256:3170150172a8f994136c0c66f494edf199a0bbea7a409f649e4bc8f4d7084080"}, + {file = "ruff-0.11.2-py3-none-win_arm64.whl", hash = "sha256:52933095158ff328f4c77af3d74f0379e34fd52f175144cefc1b192e7ccd32b4"}, + {file = "ruff-0.11.2.tar.gz", hash = "sha256:ec47591497d5a1050175bdf4e1a4e6272cddff7da88a2ad595e1e326041d8d94"}, ] [[package]] @@ -2040,91 +1952,91 @@ crt = ["botocore[crt] (>=1.33.2,<2.0a.0)"] [[package]] name = "scout-apm" -version = "3.2.1" +version = "3.3.0" description = "Scout Application Performance Monitoring Agent" optional = false python-versions = "<4,>=3.8" files = [ - {file = "scout_apm-3.2.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:7f2b13d508f5d5dc590ea392066acd366696370a9866d50217bb6fbff385cf5b"}, - {file = "scout_apm-3.2.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:386f6caa3db81211a7f197322da041c87d9623ee0eedf724b79ffd34867a7b22"}, - {file = "scout_apm-3.2.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:fff3c9d05a099ab3c1c8390e8b9079aa7ee58a48793ba561163b14d228adc6d3"}, - {file = "scout_apm-3.2.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9757f4e2118385b7f91ee29cc15a55b5ae807044d9f035b1f066aeeb5ef9e784"}, - {file = "scout_apm-3.2.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2fc81d7b65cd291ab022a32f3e5b0fa06b7108ced73f99bec712d7a7a973e385"}, - {file = "scout_apm-3.2.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5a89c5e619b5505eb811a3aab6c0d2ea7eb117f503a234253b8a4a4f678f5216"}, - {file = "scout_apm-3.2.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2135c6e64813b424f38263f622f009a8f61555017aba235779d9088cc8c75e64"}, - {file = "scout_apm-3.2.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:5ce0e8a60e9f3961272116fab862b0c61fbc73721281e061b352b376ad72441d"}, - {file = "scout_apm-3.2.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:5b5ef6fca89655eb7789d5a57857019f945a2cf96fffc955b76857386a6e8d98"}, - {file = "scout_apm-3.2.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:6076a58b5390d93ab2e5ffe5f9ce72653123f4cde8cd0a7a320d5e617c5ae2c6"}, - {file = "scout_apm-3.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:78e480dae8ca233c563885f63743fcbf4551ccc5fd3d573e18442def6b985cdb"}, - {file = "scout_apm-3.2.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:6cb7e9a37c513b85317f99d72d10dc6ef044df441496ae0fc576762931cf60e4"}, - {file = "scout_apm-3.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:bbdfa1b8cda52fa87d787fc76a96a81e8da9872a6ad07d52631497c87bb44dd0"}, - {file = "scout_apm-3.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bf769369d6cfe03aa72762662cc2e07a3a71425675bb605ffae2f8b68acc9f2c"}, - {file = "scout_apm-3.2.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f7cd5ea92735e1651e8a5396493c3c6122268ed27bd6e6208e69386558befac1"}, - {file = "scout_apm-3.2.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:87a6b2d5f1e5a34cf6928ea04680125026d366f1ebb25cb9d722f553c51d389c"}, - {file = "scout_apm-3.2.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8e59e9ea77af9ad23a9d09082326015a52be00e13fdc38aa291543d030b1bced"}, - {file = "scout_apm-3.2.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:13c1cfb241b78b57c36a3dcfdd69567137ce4fb61cdfb3279dac926cd8028cde"}, - {file = "scout_apm-3.2.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:337612cd915d11a6b8cc302edf8ee0da881fa00194a0c1b291ab07a4ef52d280"}, - {file = "scout_apm-3.2.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:29bc0b7340b4775bb30a6d34f935130588d68483fec164c1de6d53ab64071542"}, - {file = "scout_apm-3.2.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:9ce6aeb810acfe5ecc7f485257e1b19705db074e5c405c2f72e38efa64e59d4c"}, - {file = "scout_apm-3.2.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:4f6b08defc72a3dd57791d02f9741be97e7b353c965f0f922360ec58e3ea6200"}, - {file = "scout_apm-3.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f35a5536c1eb32f6ea7b708462325bcdc99268e4145bc6a0afe886badd9cf18f"}, - {file = "scout_apm-3.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:28148b6e61468dc6df0677516b06844d2fe8faa2b044567efc6b96d7da218a36"}, - {file = "scout_apm-3.2.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f45c61f75f83c21420327097c7780cd84c766b3a26ac1e83d4ec95dfa672ed9c"}, - {file = "scout_apm-3.2.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e5582f9996ab71346513ad36a6fd19bf8ccdae44d503120dc68d86802dfb524b"}, - {file = "scout_apm-3.2.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:07926e68e06fd9418a755c9ca78eb127ce677d85b5243b40d177af218c31c3bc"}, - {file = "scout_apm-3.2.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:d67a8821ab6ab659dd6b0afa4d6345d61fe04b672d11c1150b5f2f1cd857c68b"}, - {file = "scout_apm-3.2.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:7808c08c24d2e2be46835e547465574dfa5a0abfff164eef1dd581fe71168e67"}, - {file = "scout_apm-3.2.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:93c09eb5052d14ebb0ea7f4541c22cbb21bf814fcf20263f21bed870748bd6cb"}, - {file = "scout_apm-3.2.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:38ccb0a498e1d9d7579fb83965f60ae5837962cea0fa99a43cbedca1095df3f3"}, - {file = "scout_apm-3.2.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:7a3dae1c79561eace8903f0650c1ffe56763db3352edf7f262c5e2c6dc7a190e"}, - {file = "scout_apm-3.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:cf1a5ba684ac2613759bd706b847df72645299fc3e365a6e12675d6f1ffe7396"}, - {file = "scout_apm-3.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:caf874e599ab7ddd09d6df6cdec16fed741159e170afd679b2379b5dbf194907"}, - {file = "scout_apm-3.2.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a9601011de7c2389934d9b535cab5e431e0428824624a391aa43a6cc803ec37b"}, - {file = "scout_apm-3.2.1-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95e428292d6158a0360d08be8215e0f7d6630b9b2429110ea839cf828de3e58e"}, - {file = "scout_apm-3.2.1-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5a35e88d190bdc501b217fb271c42ae3637184c8835b386f6751c34f00b579bf"}, - {file = "scout_apm-3.2.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:d54ff09267d80fe189ae99b6739af8cf0a0085c7263055e716bdb51b8e4f23ad"}, - {file = "scout_apm-3.2.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:24d0f1f0ec684829a3be3b36e00ec9663e45bbcd38d9c6acda6f4b6413a24d3d"}, - {file = "scout_apm-3.2.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:3e733257b817e7fddd3d8f57e340d4765cf02c58a6a7fd8ad55823041ab34a42"}, - {file = "scout_apm-3.2.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:f9b4f8c7b3bafd3a6650b5a52c6b5f30f554da20b1879e789eb929d37440fdcf"}, - {file = "scout_apm-3.2.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:a2267be02c56738fe8056abfbf7ff4db0f18427b1124b3709c39c7d9ccfd3062"}, - {file = "scout_apm-3.2.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b383eac6b96bae8732b7d8243ba1bf08d8bc04f7d5e4f0fe4dda92af4fed517f"}, - {file = "scout_apm-3.2.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d05780a6cfe6762a72493c9e3dad62311a96c4e37c883bb750d1c7405e985d1a"}, - {file = "scout_apm-3.2.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ce08a5d6bea569cf441f5dca87974f37e890307db10506aa8ad3c03d459e0f14"}, - {file = "scout_apm-3.2.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ad7ac9eeda31f3ddd53fac0d5055e125055cc42d7618f971d37cd64eecb561ab"}, - {file = "scout_apm-3.2.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9933edef14c729c902a932c94a3b84da97c4aede197c0e8447f66c9eb601c4b0"}, - {file = "scout_apm-3.2.1-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:2d7aeb8fe127490fe2f0c366a92a4fd6073113c8fb62e15ecb744804fc9d3b2f"}, - {file = "scout_apm-3.2.1-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:2fb732f5ab0bfc200485f45a80d786efcc2881a2a4a7f03cde2df85bbe243464"}, - {file = "scout_apm-3.2.1-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:5beccd63927d6cbc67f894e86fe74ac10e96fbca7c925ec6e9db2c21f7f40673"}, - {file = "scout_apm-3.2.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:59dabfb4aa4917a96e9199c1749e329115987b789026e52c8db6f64e968616f1"}, - {file = "scout_apm-3.2.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:6015ad17b43624d6023b50675e0ac5d1c323ed29f969dc2a1a38d9192c7b3732"}, - {file = "scout_apm-3.2.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:db70fcfbd805892675561e413a38d1d0dbaec86bb1be24cc9a80372dccfa1074"}, - {file = "scout_apm-3.2.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9fd6ee26378916548bbe422fe8c94bd1fbbcee0cb06ff64fd07855747cef6306"}, - {file = "scout_apm-3.2.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:72af70a094f6c7082b54d0a677a31cd1615af70dfb5e8246a1491c6ffc3770d4"}, - {file = "scout_apm-3.2.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4b8de2ebbdcc51039d977fefcfe9811efa680f65305a5dc3e0905ff27f7c2152"}, - {file = "scout_apm-3.2.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5c9452fa6ba1f4ed6111cc9e7d393842b023f747cd1977dab2fc55701ebb83c8"}, - {file = "scout_apm-3.2.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:8236bed9104b912b476d7769af354f14d4d5cdd0bf2f0ed029a74fc2896f0574"}, - {file = "scout_apm-3.2.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:aba37ce89dd9bf90b599f5a7ea7b12bad9386937d6fd5e41642b2b831377c469"}, - {file = "scout_apm-3.2.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:0fbc8ee23f13b5d8a49567b5bb33d334b78f58b143b789c4608824a984adef08"}, - {file = "scout_apm-3.2.1-py3-none-any.whl", hash = "sha256:b39016be3f84de6b92501dc735bd686129f4e2ed8c05eac4632e7b365d8c58d4"}, - {file = "scout_apm-3.2.1.tar.gz", hash = "sha256:7f1da37cc1c0b3a5fceb279df635dd84a8b3537e3712df94749ff9ed1c52a28c"}, + {file = "scout_apm-3.3.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:7a0f821abd2694617f2286382222de71b316599f621602846e571ed212ec8549"}, + {file = "scout_apm-3.3.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:17055fe04c68bbf2c700a92b7d9be9c222a7de6eea30ea790dd91fdc34d402e6"}, + {file = "scout_apm-3.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1d7bbe3dc308003fb68e2a954a4e4140f61cc6621750d58cfcbb481bee3e8d31"}, + {file = "scout_apm-3.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:af54afac7863a7e4276ebe277c237df32deea1cd4b1041c4bb6901e2f30abc78"}, + {file = "scout_apm-3.3.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c76260b96e2c559510ef73e93d3d759671738e93f4edb242f75a072b4ab20914"}, + {file = "scout_apm-3.3.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eef644ff8fcfd07f588dfab240d53449f6460450d30c936fdf1aed4025d96b53"}, + {file = "scout_apm-3.3.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9abbf3be8262d77b3957f663c764f55b4d601724869f36be84c8dc520d59d459"}, + {file = "scout_apm-3.3.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:61c203f0f889fc83e2d3bc6a6b336a4712b94b886056ce002baf28d1214ae917"}, + {file = "scout_apm-3.3.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:73e5d21e745cc695ff1531cde2a091e9fcd5bbc2a7fd3a8944d8ba207ac7ff48"}, + {file = "scout_apm-3.3.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:b95664c615a3009fee69a3c71fa6a1bfb24895136aa0c9f5893a4e83b22463b8"}, + {file = "scout_apm-3.3.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ad695e48545741f3b93e1d1affce49682a1579766af51be06a26f5b80e2c2337"}, + {file = "scout_apm-3.3.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:6ed111d5623aa84985f304f12c7e97fe0b25c92bd62783578d286f7d81dcd177"}, + {file = "scout_apm-3.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2949b7d6dc94777146f1e32bbb51510f23dfe49365eb8f8ad783e0b83db55a69"}, + {file = "scout_apm-3.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f87c1675903a68d0cf390909a36dab15177247ac168cefa61646a76e82c7b233"}, + {file = "scout_apm-3.3.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2438255f7e4db31c89d401299a76c4eb27916f5ee736bb8d5f74e32e7a5ce27c"}, + {file = "scout_apm-3.3.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:55aa40fd23048e0e9554b614ae35f82ee8c34c31d17138f67867f11a5535fda5"}, + {file = "scout_apm-3.3.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c49bf3a97e16a561b5daeab71b19a327a822503da2f601f0a5481c221b1386d6"}, + {file = "scout_apm-3.3.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:2d3d6151b2cb2d51849eba93f88a24d0ea3d61a76bc7f63d1cd4abb5dd333afa"}, + {file = "scout_apm-3.3.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:74b8a821439cd5218d68479e7b079773ac9a00d0f1155f083e93f6c6443315b5"}, + {file = "scout_apm-3.3.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:b162c61558c46ec675edd9dfb565ce1e6714c7113d947a2398736a6e7c31805b"}, + {file = "scout_apm-3.3.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:4a51304c05d74296c912bd0375b9362e58d9c8b206f4820517dd0118f5dacfe2"}, + {file = "scout_apm-3.3.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:74eeb06ccfbaa89fc09c1d610c26f7f54600433d8989b781a921764ed17c9367"}, + {file = "scout_apm-3.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:36e6d9d8b076a9c7cbfe4cf3c1d10695fdd18b9a50af3f4e8d882b2801f2c3c2"}, + {file = "scout_apm-3.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9a2b384d8bcab580b12ab501901633cf0ed5b540ccf4c013789728bfe393c6ac"}, + {file = "scout_apm-3.3.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0673f1140ceeb8e20b4c3e3e9b5a2a70c2e101862973b5b3c6da51196eccb3e1"}, + {file = "scout_apm-3.3.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd3c732d2bc801bcd610ca25427dfc988ca89933eec042f7ba8042891b4efb27"}, + {file = "scout_apm-3.3.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f194dd99e57ba0483b9386866afed400d70a12e050b3f78ffd99f53cdac89b54"}, + {file = "scout_apm-3.3.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:803eadec664a24bb6bfaa9e4944263f6dab55765c5cfcc5be5d730affc244931"}, + {file = "scout_apm-3.3.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:f9f87dd88ce0fdf65f9b37cb9c875fc520d9ac125f98711109bfe59072374006"}, + {file = "scout_apm-3.3.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:64af611f47da6edc59531ae0de16ffb4b67fd653d3def9af9ebc5afc629328dd"}, + {file = "scout_apm-3.3.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:7c5732bffef9baa74390dce182da51e80e98c704c958622ee76ff8a01558d8a8"}, + {file = "scout_apm-3.3.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:1263c5f5e0e1ae9a074dd9d33a62be4176719835eace4123e7708e0bf1a18e8d"}, + {file = "scout_apm-3.3.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:70244c4c38f90fca112e32add3652b1f829145821af08bb26b466a49d4c0bece"}, + {file = "scout_apm-3.3.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dff0d85524d86ae6b6533a51165958ff22952d2df3de12fba5b0ebab18f9eb35"}, + {file = "scout_apm-3.3.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:01500362023ffc497f06b6ea8ca1a25858421dcb9bdb5726341ee46ffd2fea2f"}, + {file = "scout_apm-3.3.0-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:14fa62ae931201629dea138107ee5437269af7cadae71d451e287f26b5110bbe"}, + {file = "scout_apm-3.3.0-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2e8fc4bbb2d8ac7fd2bedb905db804b661b345c009324de6d96f523bf51a5dac"}, + {file = "scout_apm-3.3.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f1eeabca3c70696ce18a138e1f56635d284ead83d93ec5bff0bd5018e6e4fa9d"}, + {file = "scout_apm-3.3.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:34f8f7735e1cbc156b1ec90a6c45ba0c8b08e2ae81c04f4900f474f5efd8cc59"}, + {file = "scout_apm-3.3.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:126408f75252c1b06102da105691bf03e651876fd50199e9bb4bc950b4fd0341"}, + {file = "scout_apm-3.3.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:6d80a009a6af4d6f26be44ce3e13a2e2a7815adda2c2ec5e7033c7aacf138636"}, + {file = "scout_apm-3.3.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:0d1c70c10027915fb5243638e3015b1eb6ca22c3b524f876e3a51fad246db8a2"}, + {file = "scout_apm-3.3.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9e6ec6cd162762341d892404c4f3f61cf5dcb6d4eb38a58456e6353d86d95ddc"}, + {file = "scout_apm-3.3.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1d8500c11d02dee9749c91a10428faca46bc7bcab86af4d225e2fb5e77ef33b3"}, + {file = "scout_apm-3.3.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d3816de6ab3a58a91a6ae93695ce5c04bc3edf82ebbedee7817a6588da2540f2"}, + {file = "scout_apm-3.3.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:59a44dbec3f1eda9cdf8ac2e5da38406d642d68dfdf4932380d6aa0f917c879f"}, + {file = "scout_apm-3.3.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:17490039831b0ff010999aa1955632a9aee5d7b49b44d6f767c3a87797e6618a"}, + {file = "scout_apm-3.3.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:0ab61488ac983c215fe11230e800da6ac88372570ee22d82e7b55cb7bcb28be3"}, + {file = "scout_apm-3.3.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:ed0d30a0636b31c1a418b92342e4071f385e40bbfdc7e3fc2fc211bab2ee22d7"}, + {file = "scout_apm-3.3.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:88452e9a58c67819b08f4de2012784cb9b26f9c5c5d1cf8fb5bc59515a7ca552"}, + {file = "scout_apm-3.3.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9bb4acadce07b7e9e582388cfba2170e1f0b4997603284b6fd73837d61bc5e00"}, + {file = "scout_apm-3.3.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:6759dbc5bc039578760b5b6f424620625b869d875775cdb58f8c924276e545a9"}, + {file = "scout_apm-3.3.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2499bcceb884165679153055214c3d7122be06df5a2e5359f3cad7f5776cfe12"}, + {file = "scout_apm-3.3.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:10c7a2f0da057636b2910eee8d4e384188041ebd59c277633de7e9605daeab13"}, + {file = "scout_apm-3.3.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d774c52263912fa381e01b3a5d25db700f7a75c13c5cb4898563a6a3acec6530"}, + {file = "scout_apm-3.3.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7adebb3cb697ad850f1bb56d7d83263f067063312b8acdc5a4fafd2b59ad4bbd"}, + {file = "scout_apm-3.3.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:16233103a119b21aeb295da80095b501a8072312e07c91245c77b078a1fd54ae"}, + {file = "scout_apm-3.3.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:76ccf47b409d68b2c107e583de869b7f0acfc2fbec1ea53f6baa5e23eb2fb28e"}, + {file = "scout_apm-3.3.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:1cc041ef948b67cceb16ad2193ad5260968c3cc7dee9fddf2accc88808161603"}, + {file = "scout_apm-3.3.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:46db25191ba6d6e74876cecda0fd96c19453c8019a323d1bb8c70725e906ef8e"}, + {file = "scout_apm-3.3.0-py3-none-any.whl", hash = "sha256:1aaf1ca9777b17abb0a1e42834db0aebd12f763491d0acd7a49355ab4e06a06f"}, + {file = "scout_apm-3.3.0.tar.gz", hash = "sha256:688fe51a39c22e72be140528ae508ab23a28578b14d1d3b51a4b387e9a55716b"}, ] [package.dependencies] asgiref = "*" certifi = "*" -psutil = ">=5,<6" -urllib3 = "*" +psutil = ">=5" +urllib3 = ">=2.2.0,<2.3.0" wrapt = ">=1.10,<2.0" [[package]] name = "sentry-sdk" -version = "2.20.0" +version = "2.24.1" description = "Python client for Sentry (https://sentry.io)" optional = false python-versions = ">=3.6" files = [ - {file = "sentry_sdk-2.20.0-py2.py3-none-any.whl", hash = "sha256:c359a1edf950eb5e80cffd7d9111f3dbeef57994cb4415df37d39fda2cf22364"}, - {file = "sentry_sdk-2.20.0.tar.gz", hash = "sha256:afa82713a92facf847df3c6f63cec71eb488d826a50965def3d7722aa6f0fdab"}, + {file = "sentry_sdk-2.24.1-py2.py3-none-any.whl", hash = "sha256:36baa6a1128b9d98d2adc5e9b2f887eff0a6af558fc2b96ed51919042413556d"}, + {file = "sentry_sdk-2.24.1.tar.gz", hash = "sha256:8ba3c29990fa48865b908b3b9dc5ae7fa7e72407c7c9e91303e5206b32d7b8b1"}, ] [package.dependencies] @@ -2168,6 +2080,7 @@ sanic = ["sanic (>=0.8)"] sqlalchemy = ["sqlalchemy (>=1.2)"] starlette = ["starlette (>=0.19.1)"] starlite = ["starlite (>=1.48)"] +statsig = ["statsig (>=0.55.3)"] tornado = ["tornado (>=6)"] unleash = ["UnleashClient (>=6.0.1)"] @@ -2246,13 +2159,13 @@ files = [ [[package]] name = "urllib3" -version = "2.3.0" +version = "2.2.3" description = "HTTP library with thread-safe connection pooling, file post, and more." optional = false -python-versions = ">=3.9" +python-versions = ">=3.8" files = [ - {file = "urllib3-2.3.0-py3-none-any.whl", hash = "sha256:1cee9ad369867bfdbbb48b7dd50374c0967a0bb7710050facf0dd6911440e3df"}, - {file = "urllib3-2.3.0.tar.gz", hash = "sha256:f8c5449b3cf0861679ce7e0503c7b44b5ec981bec0d1d3795a07f1ba96f0204d"}, + {file = "urllib3-2.2.3-py3-none-any.whl", hash = "sha256:ca899ca043dcb1bafa3e262d73aa25c465bfb49e0bd9dd5d59f1d0acba2f8fac"}, + {file = "urllib3-2.2.3.tar.gz", hash = "sha256:e7d814a81dad81e6caf2ec9fdedb284ecc9c73076b62654547cc64ccdcae26e9"}, ] [package.extras] @@ -2324,27 +2237,27 @@ test = ["covdefaults (>=2.3)", "coverage (>=7.2.7)", "coverage-enable-subprocess [[package]] name = "wagtail" -version = "6.3.2" +version = "6.4.1" description = "A Django content management system." optional = false python-versions = ">=3.9" files = [ - {file = "wagtail-6.3.2-py3-none-any.whl", hash = "sha256:ac72f7138281ef47360057ebfb835a8eae34048efeed10ca9f4aabbc8f4e4ea5"}, - {file = "wagtail-6.3.2.tar.gz", hash = "sha256:e4271222bd2498040a60dd5e27228dcd481cc2310aa8fc951f0f4e23d20fbc50"}, + {file = "wagtail-6.4.1-py3-none-any.whl", hash = "sha256:85206f86b04876d5596190e042d30de0430fdb5cdd71b6005748c8a0d45066ec"}, + {file = "wagtail-6.4.1.tar.gz", hash = "sha256:cec3e6d4920a6d178fa1eb6f4af80b370fdd5570ed924b979104e157f10ca097"}, ] [package.dependencies] anyascii = ">=0.1.5" -beautifulsoup4 = ">=4.8,<4.13" +beautifulsoup4 = ">=4.8,<5" Django = ">=4.2,<6.0" -django-filter = ">=23.3,<25" +django-filter = ">=23.3" django-modelcluster = ">=6.2.1,<7.0" django-permissionedforms = ">=0.1,<1.0" -django-taggit = ">=5.0,<6.2" +django-taggit = ">=5.0,<7" +django-tasks = ">=0.6.1,<0.7" django-treebeard = ">=4.5.1,<5.0" djangorestframework = ">=3.15.1,<4.0" draftjs-exporter = ">=2.1.5,<6.0" -l18n = ">=2018.5" laces = ">=0.1,<0.2" openpyxl = ">=3.0.10,<4.0" Pillow = ">=9.1.0,<12.0.0" @@ -2353,7 +2266,7 @@ telepath = ">=0.3.1,<1" Willow = {version = ">=1.8.0,<2", extras = ["heif"]} [package.extras] -docs = ["Sphinx (>=7.3)", "myst-parser (==2.0.0)", "pyenchant (>=3.1.1,<4)", "sphinx-autobuild (>=0.6.0)", "sphinx-wagtail-theme (==6.4.0)", "sphinxcontrib-spelling (>=7,<8)"] +docs = ["Sphinx (>=7.3)", "myst-parser (==2.0.0)", "pyenchant (>=3.1.1,<4)", "sphinx-autobuild (>=0.6.0)", "sphinx-wagtail-theme (==6.5.0)", "sphinxcontrib-spelling (>=7,<8)"] testing = ["Jinja2 (>=3.0,<3.2)", "azure-mgmt-cdn (>=12.0,<13.0)", "azure-mgmt-frontdoor (>=1.0,<1.1)", "boto3 (>=1.28,<2)", "coverage (>=3.7.0)", "curlylint (==0.13.1)", "django-pattern-library (>=0.7)", "djhtml (==3.0.6)", "doc8 (==0.8.1)", "factory-boy (>=3.2)", "freezegun (>=0.3.8)", "polib (>=1.1,<2.0)", "python-dateutil (>=2.7)", "ruff (==0.1.5)", "semgrep (==1.40.0)", "tblib (>=2.0,<3.0)"] [[package]] @@ -2394,21 +2307,21 @@ test = ["coverage (==7.5.1)", "pytest (==8.2.1)", "pytest-cov (==5.0.0)", "pytes [[package]] name = "wagtail-lite-youtube-embed" -version = "0.1.0" +version = "0.2.0" description = "" optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" files = [ - {file = "wagtail_lite_youtube_embed-0.1.0-py3-none-any.whl", hash = "sha256:7a020292f9dfd226aeaf25c4da322d6dd06ee37c628b363a86ecc89e03c63ccc"}, - {file = "wagtail_lite_youtube_embed-0.1.0.tar.gz", hash = "sha256:48751285a2dc3865358fb98ec7d43420c20d5eb665f15c1ce193629f53eb09f0"}, + {file = "wagtail_lite_youtube_embed-0.2.0-py3-none-any.whl", hash = "sha256:684f42d04e9fe4b949e23480882e080772c975e711201ffd85530c8b8cc2c30c"}, + {file = "wagtail_lite_youtube_embed-0.2.0.tar.gz", hash = "sha256:5d49e8429b94ce6b0ef1bb504ca13c8c2edfc19618f9e942c7a5da2eb7472b8c"}, ] [package.dependencies] -Django = ">=3.2" -wagtail = ">=4.1" +Django = ">=4.2" +wagtail = ">=5.2" [package.extras] -dev = ["black", "ruff"] +dev = ["coverage", "ruff"] [[package]] name = "wagtail-markdown" @@ -2560,13 +2473,13 @@ watchdog = ["watchdog (>=2.3)"] [[package]] name = "whitenoise" -version = "6.8.2" +version = "6.9.0" description = "Radically simplified static file serving for WSGI applications" optional = false python-versions = ">=3.9" files = [ - {file = "whitenoise-6.8.2-py3-none-any.whl", hash = "sha256:df12dce147a043d1956d81d288c6f0044147c6d2ab9726e5772ac50fb45d2280"}, - {file = "whitenoise-6.8.2.tar.gz", hash = "sha256:486bd7267a375fa9650b136daaec156ac572971acc8bf99add90817a530dd1d4"}, + {file = "whitenoise-6.9.0-py3-none-any.whl", hash = "sha256:c8a489049b7ee9889617bb4c274a153f3d979e8f51d2efd0f5b403caf41c57df"}, + {file = "whitenoise-6.9.0.tar.gz", hash = "sha256:8c4a7c9d384694990c26f3047e118c691557481d624f069b7f7752a2f735d609"}, ] [package.extras] @@ -2686,4 +2599,4 @@ files = [ [metadata] lock-version = "2.0" python-versions = "^3.13" -content-hash = "95007a8fa0e7782b2629bed71456091f26e2981c94b2136cc2758fd50461fb9e" +content-hash = "0a97f4997c9da94725ff1302883029a7db8f8c79d9a81615fe93bf678a510a75" diff --git a/pyproject.toml b/pyproject.toml index 436a232cc..374227dc5 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -6,43 +6,42 @@ authors = ["Torchbox Ltd"] [tool.poetry.dependencies] python = "^3.13" -Django = "~5.1.5" -wagtail = "~6.3" -psycopg = "^3.2.3" +Django = "~5.2.0" +wagtail = "~6.4" +psycopg = "^3.2.6" gunicorn = "^23.0.0" -whitenoise = "^6.8.0" -phonenumbers = "^8.13.47" +whitenoise = "^6.9.0" +phonenumbers = "^9.0.1" Wand = "^0.6.10" # Django packages -django-basic-auth-ip-whitelist = "^0.6" +django-basic-auth-ip-whitelist = "^0.8" django-birdbath = "^2.0.0" django-csp = "^3.8" django-pattern-library = "^1.3.0" -django-permissions-policy = "^4.22.0" +django-permissions-policy = "^4.25.0" django-phonenumber-field = "^8.0.0" django-redis = "^5.4.0" -django-referrer-policy = "~1.0" -django-storages = {version = "^1.14.4", extras = ["boto3"]} +django-storages = {version = "^1.14.5", extras = ["boto3"]} dj-database-url = "^2.3.0" # Wagtail packages wagtail-accessibility = "^2.0.0" -wagtail-lite-youtube-embed = "^0.1.0" +wagtail-lite-youtube-embed = "^0.2.0" wagtail-markdown = "^0.12.1" wagtailmedia = "^0.15.2" wagtail-purge = "^0.4.0" # Production -scout-apm = "^3.2.1" -sentry-sdk = "^2.19.0" +scout-apm = "^3.3.0" +sentry-sdk = "^2.24.1" html5lib = "^1.1" -beautifulsoup4 = "^4.12.3" -django-xff = "^1.4.0" +beautifulsoup4 = "^4.13.3" +django-xff = "^1.5.0" [tool.poetry.group.dev.dependencies] Werkzeug = "^3.1.1" -django-debug-toolbar = "^4.4.6" +django-debug-toolbar = "^5.1.0" django-extensions = "^3.2.3" fabric = "^3.2.2" pudb = "^2024.1" @@ -51,17 +50,17 @@ honcho = "^2.0.0" # Linters etc. detect-secrets = "^1.5.0" djhtml = "^3.0.6" -ruff = "^0.9.1" # update pre-commit-config.yaml too -pre-commit = "^4.0.1" +ruff = "^0.11.2" # update pre-commit-config.yaml too +pre-commit = "^4.2.0" # Documentation mkdocs = "^1.6.1" -mkdocs-material = "^9.5.41" -pymdown-extensions = "^10.11.2" +mkdocs-material = "^9.6.9" +pymdown-extensions = "^10.14.3" # Testing -factory-boy = "^3.3.0" -faker = "^33.3.0" +factory-boy = "^3.3.3" +faker = "^37.1.0" wagtail-factories = "^4.2.1" diff --git a/tbx/core/blocks.py b/tbx/core/blocks.py index 7c19347c9..7f2eb41b5 100644 --- a/tbx/core/blocks.py +++ b/tbx/core/blocks.py @@ -607,13 +607,13 @@ def featured_case_study_logo(self): class NumericResultBlock(blocks.StructBlock): label = blocks.CharBlock( max_length=255, - help_text=mark_safe( # noqa: S308 + help_text=mark_safe( "Short text to describe the change e.g. Raised over" ), ) headline_number = blocks.CharBlock( max_length=255, - help_text=mark_safe("A numerical value e.g. £600k"), # noqa: S308 + help_text=mark_safe("A numerical value e.g. £600k"), ) @@ -1031,16 +1031,16 @@ class Meta: class NumericStatisticsBlock(blocks.StructBlock): headline_number = blocks.CharBlock( max_length=255, - help_text=mark_safe("A numerical value e.g. 30%"), # noqa: S308 + help_text=mark_safe("A numerical value e.g. 30%"), ) description = blocks.TextBlock( - help_text=mark_safe( # noqa: S308 + help_text=mark_safe( "Text to describe the change e.g. Reduction in accessibility errors" ) ) further_details = blocks.TextBlock( required=False, - help_text=mark_safe( # noqa: S308 + help_text=mark_safe( "Text to give more information, e.g. Over 80% of pages" ), ) @@ -1083,13 +1083,13 @@ class Meta: class TextualStatisticsBlock(blocks.StructBlock): headline_text = blocks.CharBlock( max_length=255, - help_text=mark_safe( # noqa: S308 + help_text=mark_safe( "Describe a general improvement, e.g. Reduction in accessibility issues" ), ) further_details = blocks.TextBlock( required=False, - help_text=mark_safe( # noqa: S308 + help_text=mark_safe( "Text to give more information, e.g. Over 80% of pages" ), ) diff --git a/tbx/core/models.py b/tbx/core/models.py index 3bae5af6b..6a1430558 100644 --- a/tbx/core/models.py +++ b/tbx/core/models.py @@ -216,7 +216,7 @@ def partner_logos(self): "hero_introduction", heading="Introduction", # mark_safe needed so the HTML tags aren't escaped - help_text=mark_safe( # noqa: S308 + help_text=mark_safe( "Use bold to mark links as" ' pink,' " and use italics to mark links as" diff --git a/tbx/core/utils/models.py b/tbx/core/utils/models.py index 0ee46e7a0..8f35fe88f 100644 --- a/tbx/core/utils/models.py +++ b/tbx/core/utils/models.py @@ -167,7 +167,7 @@ class ColourThemeMixin(models.Model): theme = models.CharField( max_length=25, blank=True, - choices=ColourTheme.choices, + choices=ColourTheme, ) promote_panels = [ diff --git a/tbx/impact_reports/models.py b/tbx/impact_reports/models.py index 4c87d50a7..eebe9a85b 100755 --- a/tbx/impact_reports/models.py +++ b/tbx/impact_reports/models.py @@ -29,7 +29,7 @@ class ImpactReportPage(BasePage): hero_caption = models.CharField("caption", max_length=255, blank=True) hero_attribution = models.CharField("attribution", max_length=255, blank=True) - body = StreamField(ImpactReportStoryBlock(), use_json_field=True) + body = StreamField(ImpactReportStoryBlock()) content_panels = [ MultiFieldPanel( diff --git a/tbx/project_styleguide/templates/patterns/base.html b/tbx/project_styleguide/templates/patterns/base.html index 699431601..ecbe6ea9b 100644 --- a/tbx/project_styleguide/templates/patterns/base.html +++ b/tbx/project_styleguide/templates/patterns/base.html @@ -10,6 +10,11 @@ {% if request.in_preview_panel %} + {% endif %} {# TODO fallbacks if page is not defined e.g. for 404 page #} diff --git a/tbx/settings/base.py b/tbx/settings/base.py index 733a0e11d..1e6c317eb 100644 --- a/tbx/settings/base.py +++ b/tbx/settings/base.py @@ -424,6 +424,10 @@ # https://docs.djangoproject.com/en/stable/ref/settings/#secure-content-type-nosniff SECURE_CONTENT_TYPE_NOSNIFF = True +# https://docs.djangoproject.com/en/stable/ref/middleware/#referrer-policy +SECURE_REFERRER_POLICY = env.get( + "SECURE_REFERRER_POLICY", "no-referrer-when-downgrade" +).strip() # Content Security policy settings # http://django-csp.readthedocs.io/en/latest/configuration.html @@ -472,12 +476,6 @@ "usb": [], } -# Referrer-policy header settings -# https://django-referrer-policy.readthedocs.io/en/1.0/ -REFERRER_POLICY = env.get( - "SECURE_REFERRER_POLICY", "no-referrer-when-downgrade" -).strip() - # Wagtail settings WAGTAIL_SITE_NAME = "Torchbox" @@ -496,6 +494,10 @@ int(max_upload_size) if max_upload_size else 2 * 1024 * 1024 ) # 2MB +# The Django default for the maximum number of GET or POST parameters is 1000. For +# especially large Wagtail pages with many fields, we need to override this. See +# https://docs.djangoproject.com/en/3.2/ref/settings/#data-upload-max-number-fields +DATA_UPLOAD_MAX_NUMBER_FIELDS = int(env.get("DATA_UPLOAD_MAX_NUMBER_FIELDS", 10_000)) # Basic auth settings if env.get("BASIC_AUTH_ENABLED", "false").lower().strip() == "true": diff --git a/tbx/taxonomy/templates/taxonomy/admin/delete.html b/tbx/taxonomy/templates/taxonomy/admin/delete.html deleted file mode 100644 index 616d01cd0..000000000 --- a/tbx/taxonomy/templates/taxonomy/admin/delete.html +++ /dev/null @@ -1,29 +0,0 @@ -{% extends "wagtailadmin/base.html" %} -{% load i18n modeladmin_tags %} - -{% block titletag %}{{ view.get_meta_title }}{% endblock %} - -{% block content %} - - {% block header %} - {% include "wagtailadmin/shared/header.html" with title=view.get_page_title subtitle=view.get_page_subtitle icon=view.header_icon %} - {% endblock %} - - {% block content_main %} -
- {% if can_be_deleted %} -

{{ view.confirmation_message }}

-
- {% csrf_token %} - -
- {% else %} -

{% blocktrans with view.verbose_name|capfirst as model_name %}{{ model_name }} could not be deleted{% endblocktrans %}

-

{% blocktrans with instance as instance_name %}'{{ instance_name }}' is currently in use on the site, and cannot be deleted without jeopardising data integrity.{% endblocktrans %}

- -

{% blocktrans with instance as instance_name %}View pages that reference '{{ instance_name }}'{% endblocktrans %}

-

{% trans 'Go back to listing' %}

- {% endif %} -
- {% endblock %} -{% endblock %} diff --git a/tbx/taxonomy/templates/taxonomy/admin/usage.html b/tbx/taxonomy/templates/taxonomy/admin/usage.html deleted file mode 100644 index 23ec7880f..000000000 --- a/tbx/taxonomy/templates/taxonomy/admin/usage.html +++ /dev/null @@ -1,66 +0,0 @@ -{% extends "wagtailadmin/base.html" %} -{% load i18n %} - -{% block titletag %}{{ view.get_meta_title }}{% endblock %} - -{% block extra_css %} - {{ view.media.css }} -{% endblock %} - -{% block extra_js %} - {{ view.media.js }} -{% endblock %} - -{% block content %} -
- - {% block header %} - {% include "modeladmin/includes/breadcrumb.html" %} - {% include "wagtailadmin/shared/header.html" with title=view.get_page_title subtitle=view.get_page_subtitle icon=view.header_icon %} - {% endblock %} - - {% block content_main %} -
- -

{% blocktrans with view.verbose_name as model_name %}Back to {{ model_name }} list{% endblocktrans %}

- - - - - - - - - - - - - - - - {% for page in usage %} - - - - - - - {% endfor %} - -
{% trans "Title" %}{% trans "Parent" %}{% trans "Type" %}{% trans "Status" %}
-

{{ page.title }}

-
- {% if page.get_parent %} - {{ page.get_parent.title }} - {% endif %} - - {{ page.content_type.model_class.get_verbose_name }} - - {% include "wagtailadmin/shared/page_status_tag.html" with page=page %} -
- -
- {% endblock %} - -
-{% endblock %}