diff --git a/pyproject.toml b/pyproject.toml index e37a81e5b..7f5ee4042 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -29,7 +29,7 @@ keywords = ["LRS", "Analytics", "xAPI", "Open edX"] dependencies = [ # By default, we only consider core dependencies required to use Ralph as a # library (mostly models). - "importlib-metadata>=8.5, <8.6", + "importlib-metadata>=8.7, <8.8", "langcodes>=3.2.0", "pydantic[email]>=2.5.3,<3.0", "pydantic_settings>=2.1.0,<3.0", @@ -45,11 +45,11 @@ dynamic = ["version"] [project.optional-dependencies] backend-clickhouse = [ - "clickhouse-connect<0.8", + "clickhouse-connect<0.11", "python-dateutil>=2.8.2", ] backend-es = [ - "elasticsearch[async]>=8.0.0,<9.0.0", + "elasticsearch[async]>=9.2.0,<9.3.0", ] backend-ldp = [ "ovh==1.2.0", @@ -73,56 +73,56 @@ backend-swift = [ "python-swiftclient>=4.0.0", ] backend-ws = [ - "websockets>=13.0,<14.0", + "websockets>=15,<15.1", ] backends = [ "ralph-malph[backend-clickhouse,backend-es,backend-ldp,backend-lrs,backend-mongo,backend-s3,backend-swift,backend-ws]", ] ci = [ - "twine==5.1.1", + "twine==6.2.0", ] cli = [ "bcrypt>=4.0.0", - "click>=8.1.0,<8.2.1", # until CliRunner is fixed (https://github.com/pallets/click/issues/2939) + "click>=8.3.1,<8.4.0", # until CliRunner is fixed (https://github.com/pallets/click/issues/2939) "click-option-group>=0.5.0", "sentry-sdk[fastapi]>=1.9.0", ] dev = [ - "anyio==4.9.0", - "black==24.8.0", - "cryptography==43.0.1", - "factory-boy==3.3.1", + "anyio==4.12.0", + "black==25.12.0", + "cryptography==46.0.3", + "factory-boy==3.3.3", "logging-gelf==0.0.32", "mike==2.1.3", "mkdocs==1.6.1", - "mkdocs-click==0.8.1", - "mkdocs-material==9.5.34", - "mkdocstrings[python-legacy]==0.26.1", - "moto==5.0.14", - "mypy==1.11.2", - "neoteroi-mkdocs==1.1.0", - "polyfactory==2.16.2", - "pyfakefs==5.6.0", - "pymdown-extensions==10.9", - "pytest==8.3.5", - "pytest-cov==5.0.0", - "pytest-httpx==0.35.0", + "mkdocs-click==0.9.0", + "mkdocs-material==9.7.0", + "mkdocstrings[python-legacy]==1.0.0", + "moto==5.1.18", + "mypy==1.19.0", + "neoteroi-mkdocs==1.2.0", + "polyfactory==3.1.0", + "pyfakefs==5.10.2", + "pymdown-extensions==10.19", + "pytest==9.0.2", + "pytest-cov==7.0.0", + "pytest-httpx==0.36.0", "requests-mock==1.12.1", - "responses==0.25.3", - "ruff==0.6.5", - "types-python-dateutil ==2.9.0.20240906", - "types-python-jose ==3.3.4.20240106", - "types-requests<2.32.0.20240915", - "types-cachetools ==5.5.0.20240820", + "responses==0.25.8", + "ruff==0.14.9", + "types-python-dateutil ==2.9.0.20251115", + "types-python-jose ==3.5.0.20250531", + "types-requests<2.32.4.20250914", + "types-cachetools ==6.2.0.20251022", ] lrs = [ - "bcrypt==4.2.0", - "fastapi==0.114.2", - "cachetools==5.5.0", + "bcrypt==5.0.0", + "fastapi==0.124.2", + "cachetools==6.2.2", "httpx==0.28.1", - "sentry_sdk==2.14.0", - "python-jose==3.3.0", - "uvicorn[standard]==0.30.6", + "sentry_sdk==2.47.0", + "python-jose==3.5.0", + "uvicorn[standard]==0.38.0", ] full = [ "ralph-malph[backends,cli,lrs]",