From 3e403999299c822585acff314541a560a5a08b73 Mon Sep 17 00:00:00 2001 From: Anna Date: Mon, 24 Feb 2025 16:16:32 -0500 Subject: [PATCH 1/5] Upgrading to 3.11.9 --- Dockerfile | 2 +- poetry.lock | 58 ++++---------------------------------------------- pyproject.toml | 2 +- 3 files changed, 6 insertions(+), 56 deletions(-) diff --git a/Dockerfile b/Dockerfile index 8983c9ffe..8a41eb63f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM python:3.10.16 as base +FROM python:3.11.9 as base LABEL maintainer "ODL DevOps " # Add package files, install updated node and pip diff --git a/poetry.lock b/poetry.lock index c2d954005..3ec59e0a6 100644 --- a/poetry.lock +++ b/poetry.lock @@ -47,9 +47,6 @@ files = [ {file = "asgiref-3.8.1.tar.gz", hash = "sha256:c343bd80a0bec947a9860adb4c432ffa7db769836c64238fc34bdc3fec84d590"}, ] -[package.dependencies] -typing-extensions = {version = ">=4", markers = "python_version < \"3.11\""} - [package.extras] tests = ["mypy (>=0.800)", "pytest", "pytest-asyncio"] @@ -71,17 +68,6 @@ six = ">=1.12.0" astroid = ["astroid (>=1,<2)", "astroid (>=2,<4)"] test = ["astroid (>=1,<2)", "astroid (>=2,<4)", "pytest"] -[[package]] -name = "async-timeout" -version = "4.0.3" -description = "Timeout context manager for asyncio programs" -optional = false -python-versions = ">=3.7" -files = [ - {file = "async-timeout-4.0.3.tar.gz", hash = "sha256:4640d96be84d82d02ed59ea2b7105a0f7b33abe8703703cd0ab0bf87c427522f"}, - {file = "async_timeout-4.0.3-py3-none-any.whl", hash = "sha256:7405140ff1230c310e51dc27b3145b9092d659ce68ff733fb0cefe3ee42be028"}, -] - [[package]] name = "attrs" version = "23.2.0" @@ -243,7 +229,6 @@ greenlet = "*" pygments = "*" pyxdg = "*" requests = "*" -typing_extensions = {version = "*", markers = "python_version < \"3.11\""} [package.extras] clipboard = ["pyperclip"] @@ -654,9 +639,6 @@ files = [ {file = "coverage-7.5.0.tar.gz", hash = "sha256:cf62d17310f34084c59c01e027259076479128d11e4661bb6c9acb38c5e19bb8"}, ] -[package.dependencies] -tomli = {version = "*", optional = true, markers = "python_full_version <= \"3.11.0a6\" and extra == \"toml\""} - [package.extras] toml = ["tomli"] @@ -1402,20 +1384,6 @@ files = [ {file = "et_xmlfile-1.1.0.tar.gz", hash = "sha256:8eb9e2bc2f8c97e37a2dc85a09ecdcdec9d8a396530a6d5a33b30b9a92da0c5c"}, ] -[[package]] -name = "exceptiongroup" -version = "1.2.1" -description = "Backport of PEP 654 (exception groups)" -optional = false -python-versions = ">=3.7" -files = [ - {file = "exceptiongroup-1.2.1-py3-none-any.whl", hash = "sha256:5258b9ed329c5bbdd31a309f53cbfb0b155341807f6ff7606a1e801a891b29ad"}, - {file = "exceptiongroup-1.2.1.tar.gz", hash = "sha256:a4785e48b045528f5bfe627b6ad554ff32def154f42372786903b7abcfe1aa16"}, -] - -[package.extras] -test = ["pytest (>=6)"] - [[package]] name = "executing" version = "2.0.1" @@ -1798,9 +1766,8 @@ files = [ ] [package.dependencies] -decorator = {version = "*", markers = "python_version > \"3.6\" and python_version < \"3.11\""} -ipython = {version = ">=7.31.1", markers = "python_version > \"3.6\" and python_version < \"3.11\""} -tomli = {version = "*", markers = "python_version > \"3.6\" and python_version < \"3.11\""} +decorator = {version = "*", markers = "python_version >= \"3.11\""} +ipython = {version = ">=7.31.1", markers = "python_version >= \"3.11\""} [[package]] name = "ipython" @@ -1816,7 +1783,6 @@ files = [ [package.dependencies] colorama = {version = "*", markers = "sys_platform == \"win32\""} decorator = "*" -exceptiongroup = {version = "*", markers = "python_version < \"3.11\""} jedi = ">=0.16" matplotlib-inline = "*" pexpect = {version = ">4.3", markers = "sys_platform != \"win32\""} @@ -3107,11 +3073,9 @@ files = [ [package.dependencies] colorama = {version = "*", markers = "sys_platform == \"win32\""} -exceptiongroup = {version = ">=1.0.0rc8", markers = "python_version < \"3.11\""} iniconfig = "*" packaging = "*" pluggy = ">=0.12,<2.0" -tomli = {version = ">=1.0.0", markers = "python_version < \"3.11\""} [package.extras] testing = ["argcomplete", "attrs (>=19.2.0)", "hypothesis (>=3.56)", "mock", "nose", "pygments (>=2.7.2)", "requests", "setuptools", "xmlschema"] @@ -3339,9 +3303,6 @@ files = [ {file = "redis-4.6.0.tar.gz", hash = "sha256:585dc516b9eb042a619ef0a39c3d7d55fe81bdb4df09a52c9cdde0d07bf1aa7d"}, ] -[package.dependencies] -async-timeout = {version = ">=4.0.2", markers = "python_full_version <= \"3.11.2\""} - [package.extras] hiredis = ["hiredis (>=1.0.0)"] ocsp = ["cryptography (>=36.0.1)", "pyopenssl (==20.0.1)", "requests (>=2.26.0)"] @@ -3692,17 +3653,6 @@ files = [ {file = "text_unidecode-1.3-py2.py3-none-any.whl", hash = "sha256:1311f10e8b895935241623731c2ba64f4c455287888b18189350b67134a822e8"}, ] -[[package]] -name = "tomli" -version = "2.0.1" -description = "A lil' TOML parser" -optional = false -python-versions = ">=3.7" -files = [ - {file = "tomli-2.0.1-py3-none-any.whl", hash = "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc"}, - {file = "tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"}, -] - [[package]] name = "toolz" version = "0.12.1" @@ -4063,5 +4013,5 @@ testing = ["coverage (>=5.0.3)", "zope.event", "zope.testing"] [metadata] lock-version = "2.0" -python-versions = "3.10.16" -content-hash = "b17170508346bbabfe7240dcdb5148c342bb0a9020ea1cac055d086665ce0ae6" +python-versions = "3.11.9" +content-hash = "e03abee76255a87f0fe33226389fbce9505987c7b17808632cd14f6ed1c27283" diff --git a/pyproject.toml b/pyproject.toml index 415197ea6..482757811 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -9,7 +9,7 @@ authors = ["MIT ODL"] [tool.poetry.dependencies] -python = "3.10.16" +python = "3.11.9" beautifulsoup4 = "^4.8.2" bleach = "^5.0.1" From fea5933cccf99d5f1096f40fca0d82b7a7dfcccb Mon Sep 17 00:00:00 2001 From: Anna Date: Mon, 24 Feb 2025 17:14:09 -0500 Subject: [PATCH 2/5] upgrade python 3.12.9 --- Dockerfile | 2 +- poetry.lock | 10 +++++----- pyproject.toml | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/Dockerfile b/Dockerfile index 8a41eb63f..b692a6174 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM python:3.11.9 as base +FROM python:3.12.9 as base LABEL maintainer "ODL DevOps " # Add package files, install updated node and pip diff --git a/poetry.lock b/poetry.lock index 3ec59e0a6..c7abd1665 100644 --- a/poetry.lock +++ b/poetry.lock @@ -3780,12 +3780,12 @@ Click = ">=6.0" [[package]] name = "uwsgi" -version = "2.0.25.1" +version = "2.0.28" description = "The uWSGI server" optional = false python-versions = "*" files = [ - {file = "uwsgi-2.0.25.1.tar.gz", hash = "sha256:d653d2d804c194c8cbe2585fa56efa2650313ae75c686a9d7931374d4dfbfc6e"}, + {file = "uwsgi-2.0.28.tar.gz", hash = "sha256:79ca1891ef2df14508ab0471ee8c0eb94bd2d51d03f32f90c4bbe557ab1e99d0"}, ] [[package]] @@ -3932,7 +3932,7 @@ files = [ [package.dependencies] defusedxml = ">=0.7,<1.0" filetype = ">=1.0.10,<1.1.0 || >1.1.0" -pillow-heif = {version = ">=0.10.0,<1.0.0", optional = true, markers = "extra == \"heif\" and python_version < \"3.12\""} +pillow-heif = {version = ">=0.13.0,<1.0.0", optional = true, markers = "extra == \"heif\" and python_version >= \"3.12\""} [package.extras] docs = ["Sphinx (>=7.0)", "sphinx-wagtail-theme (>=6.1.1,<7.0)", "sphinx_copybutton (>=0.5)", "sphinxcontrib-spelling (>=8.0,<9.0)"] @@ -4013,5 +4013,5 @@ testing = ["coverage (>=5.0.3)", "zope.event", "zope.testing"] [metadata] lock-version = "2.0" -python-versions = "3.11.9" -content-hash = "e03abee76255a87f0fe33226389fbce9505987c7b17808632cd14f6ed1c27283" +python-versions = "3.12.9" +content-hash = "a15945d6ea7c47555b3176c557d76827470b397aa017b51548892ef75ab27df6" diff --git a/pyproject.toml b/pyproject.toml index 482757811..e4a08b687 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -9,7 +9,7 @@ authors = ["MIT ODL"] [tool.poetry.dependencies] -python = "3.11.9" +python = "3.12.9" beautifulsoup4 = "^4.8.2" bleach = "^5.0.1" From 4519829cded75b5ed1c2606929ac3516ba8b9098 Mon Sep 17 00:00:00 2001 From: Anna Date: Tue, 25 Feb 2025 08:19:29 -0500 Subject: [PATCH 3/5] ci --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 887b18f63..000655a26 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -55,7 +55,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v4 with: - python-version: "3.10.16" + python-version: "3.12.9" - name: Install dependencies run: poetry install --no-interaction From 8ecab23c5811926586e80a6173e82243db6d320e Mon Sep 17 00:00:00 2001 From: Anna Date: Tue, 25 Feb 2025 11:20:59 -0500 Subject: [PATCH 4/5] updating hypothesis to 6.127.2 --- poetry.lock | 46 ++++++++++++++++++++++++++++++++-------------- pyproject.toml | 2 +- 2 files changed, 33 insertions(+), 15 deletions(-) diff --git a/poetry.lock b/poetry.lock index c7abd1665..35b7baa02 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1694,29 +1694,36 @@ dev = ["black", "pytest"] [[package]] name = "hypothesis" -version = "4.23.9" -description = "A library for property based testing" +version = "6.127.2" +description = "A library for property-based testing" optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +python-versions = ">=3.9" files = [ - {file = "hypothesis-4.23.9-py2-none-any.whl", hash = "sha256:54eea352c89eee8a0c4a74607b275471033f380dad27c33be5a9b647dd8680fa"}, - {file = "hypothesis-4.23.9-py3-none-any.whl", hash = "sha256:7905eaf59be8ff599b0122a582b196751ce63ba40f6e9b4c70d878873f48f51d"}, - {file = "hypothesis-4.23.9.tar.gz", hash = "sha256:a0e756dbd9042403d7d3fa8b281c4b0bd0bd621011a79259fb36b219861238af"}, + {file = "hypothesis-6.127.2-py3-none-any.whl", hash = "sha256:9b1b5e4e8adc82d01351d4e814ebdd38e2f3173f489de098b418c7a026f100c0"}, + {file = "hypothesis-6.127.2.tar.gz", hash = "sha256:725343a65846c3627399398a6206adca3e1433786fdcfaa16ca0d114900849a5"}, ] [package.dependencies] -attrs = ">=16.0.0" +attrs = ">=22.2.0" +sortedcontainers = ">=2.1.0,<3.0.0" [package.extras] -all = ["django (>=1.11)", "dpcontracts (>=0.4)", "lark-parser (>=0.6.5)", "numpy (>=1.9.0)", "pandas (>=0.19)", "pytest (>=3.0)", "python-dateutil (>=1.4)", "pytz", "pytz (>=2014.1)"] +all = ["black (>=19.10b0)", "click (>=7.0)", "crosshair-tool (>=0.0.82)", "django (>=4.2)", "dpcontracts (>=0.4)", "hypothesis-crosshair (>=0.0.19)", "lark (>=0.10.1)", "libcst (>=0.3.16)", "numpy (>=1.19.3)", "pandas (>=1.1)", "pytest (>=4.6)", "python-dateutil (>=1.4)", "pytz (>=2014.1)", "redis (>=3.0.0)", "rich (>=9.0.0)", "tzdata (>=2025.1)", "watchdog (>=4.0.0)"] +cli = ["black (>=19.10b0)", "click (>=7.0)", "rich (>=9.0.0)"] +codemods = ["libcst (>=0.3.16)"] +crosshair = ["crosshair-tool (>=0.0.82)", "hypothesis-crosshair (>=0.0.19)"] dateutil = ["python-dateutil (>=1.4)"] -django = ["django (>=1.11)", "pytz"] +django = ["django (>=4.2)"] dpcontracts = ["dpcontracts (>=0.4)"] -lark = ["lark-parser (>=0.6.5)"] -numpy = ["numpy (>=1.9.0)"] -pandas = ["pandas (>=0.19)"] -pytest = ["pytest (>=3.0)"] +ghostwriter = ["black (>=19.10b0)"] +lark = ["lark (>=0.10.1)"] +numpy = ["numpy (>=1.19.3)"] +pandas = ["pandas (>=1.1)"] +pytest = ["pytest (>=4.6)"] pytz = ["pytz (>=2014.1)"] +redis = ["redis (>=3.0.0)"] +watchdog = ["watchdog (>=4.0.0)"] +zoneinfo = ["tzdata (>=2025.1)"] [[package]] name = "identify" @@ -3555,6 +3562,17 @@ allpy3 = ["cryptography (>=2.1.1)", "python3-saml (>=1.5.0)"] azuread = ["cryptography (>=2.1.1)"] saml = ["python3-saml (>=1.5.0)"] +[[package]] +name = "sortedcontainers" +version = "2.4.0" +description = "Sorted Containers -- Sorted List, Sorted Dict, Sorted Set" +optional = false +python-versions = "*" +files = [ + {file = "sortedcontainers-2.4.0-py2.py3-none-any.whl", hash = "sha256:a163dcaede0f1c021485e957a39245190e74249897e2ae4b2aa38595db237ee0"}, + {file = "sortedcontainers-2.4.0.tar.gz", hash = "sha256:25caa5a06cc30b6b83d11423433f65d1f9d76c4c6a0c90e3379eaa43b9bfdb88"}, +] + [[package]] name = "soupsieve" version = "2.5" @@ -4014,4 +4032,4 @@ testing = ["coverage (>=5.0.3)", "zope.event", "zope.testing"] [metadata] lock-version = "2.0" python-versions = "3.12.9" -content-hash = "a15945d6ea7c47555b3176c557d76827470b397aa017b51548892ef75ab27df6" +content-hash = "b9358e30b40e29a2dbfa6c3809dee3a93bc3161c621c59344ef21e128743a805" diff --git a/pyproject.toml b/pyproject.toml index e4a08b687..f9d79851b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -35,7 +35,7 @@ djoser = "^2.1.0" drf-extensions = "^0.7.1" edx-api-client = "^1.9.0" hubspot-api-client = "^6.1.0" -hypothesis = "4.23.9" +hypothesis = "6.127.2" ipython = "^8.0.0" mitol-django-google-sheets-deferrals = "2023.12.19" mitol-django-google-sheets-refunds = "2023.12.19" From 30dec51ca081ee400f82d11b14c110ed5a3f82f1 Mon Sep 17 00:00:00 2001 From: Anna Date: Tue, 25 Feb 2025 11:40:25 -0500 Subject: [PATCH 5/5] updating mitol-django-payment-gateway --- poetry.lock | 66 +++++++++++++++++++++++++++++++++++++++++++------- pyproject.toml | 2 +- 2 files changed, 58 insertions(+), 10 deletions(-) diff --git a/poetry.lock b/poetry.lock index 35b7baa02..7868832db 100644 --- a/poetry.lock +++ b/poetry.lock @@ -778,12 +778,12 @@ files = [ [[package]] name = "cybersource-rest-client-python" -version = "0.0.54" +version = "0.0.62" description = "SDK for the CyberSource REST API" optional = false python-versions = "*" files = [ - {file = "cybersource_rest_client_python-0.0.54.tar.gz", hash = "sha256:893e05559074b6989b4a0b89b4ddaaa93537e7b47c925bcea8c91947345f3fde"}, + {file = "cybersource-rest-client-python-0.0.62.tar.gz", hash = "sha256:69f0bc60e0e15cb99ed82d736f5775e92e7a10a62bde8c4c74a17d45cd4dde09"}, ] [package.dependencies] @@ -793,7 +793,6 @@ DateTime = "*" jwcrypto = "*" pycryptodome = "*" PyJWT = "*" -pyOpenSSL = "<=23.2.0" setuptools = "*" six = "*" urllib3 = "*" @@ -1140,6 +1139,44 @@ libcloud = ["apache-libcloud"] s3 = ["boto3 (>=1.4.4)"] sftp = ["paramiko (>=1.15)"] +[[package]] +name = "django-stubs" +version = "5.1.3" +description = "Mypy stubs for Django" +optional = false +python-versions = ">=3.8" +files = [ + {file = "django_stubs-5.1.3-py3-none-any.whl", hash = "sha256:716758ced158b439213062e52de6df3cff7c586f9f9ad7ab59210efbea5dfe78"}, + {file = "django_stubs-5.1.3.tar.gz", hash = "sha256:8c230bc5bebee6da282ba8a27ad1503c84a0c4cd2f46e63d149e76d2a63e639a"}, +] + +[package.dependencies] +asgiref = "*" +django = "*" +django-stubs-ext = ">=5.1.3" +types-PyYAML = "*" +typing-extensions = ">=4.11.0" + +[package.extras] +compatible-mypy = ["mypy (>=1.12,<1.16)"] +oracle = ["oracledb"] +redis = ["redis"] + +[[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 = "5.0.1" @@ -2278,20 +2315,20 @@ setuptools = "*" [[package]] name = "mitol-django-payment-gateway" -version = "2023.12.19" +version = "2024.11.12" description = "Django application to handle payment processing" optional = false python-versions = ">=3.8" files = [ - {file = "mitol-django-payment-gateway-2023.12.19.tar.gz", hash = "sha256:3aa89300237c905e363e40b5d1a9cdfd84437fef67483b85c1984a3131baaf45"}, - {file = "mitol_django_payment_gateway-2023.12.19-py3-none-any.whl", hash = "sha256:50ce1457bc41ac86c4fa6bdb62f6be4bd5feeff8e24303d3ae1b8e17ba57e36d"}, + {file = "mitol_django_payment_gateway-2024.11.12-py3-none-any.whl", hash = "sha256:2503a69c787ee1070c2d6acaa7b07ecf1fe5c5ca31f339a332149b3c9f44b33c"}, + {file = "mitol_django_payment_gateway-2024.11.12.tar.gz", hash = "sha256:9f5ace12c564578933e3e749d68c9b941452530677ea8325845f53785a223e5a"}, ] [package.dependencies] -cybersource-rest-client-python = ">=0.0.36" +cybersource-rest-client-python = ">=0.0.59" django = ">=3.0" +django-stubs = ">=1.13.1" mitol-django-common = "*" -setuptools = "*" [[package]] name = "monotonic" @@ -3697,6 +3734,17 @@ files = [ docs = ["myst-parser", "pydata-sphinx-theme", "sphinx"] test = ["argcomplete (>=3.0.3)", "mypy (>=1.7.0)", "pre-commit", "pytest (>=7.0,<8.2)", "pytest-mock", "pytest-mypy-testing"] +[[package]] +name = "types-pyyaml" +version = "6.0.12.20241230" +description = "Typing stubs for PyYAML" +optional = false +python-versions = ">=3.8" +files = [ + {file = "types_PyYAML-6.0.12.20241230-py3-none-any.whl", hash = "sha256:fa4d32565219b68e6dee5f67534c722e53c00d1cfc09c435ef04d7353e1e96e6"}, + {file = "types_pyyaml-6.0.12.20241230.tar.gz", hash = "sha256:7f07622dbd34bb9c8b264fe860a17e0efcad00d50b5f27e93984909d9363498c"}, +] + [[package]] name = "typing-extensions" version = "4.11.0" @@ -4032,4 +4080,4 @@ testing = ["coverage (>=5.0.3)", "zope.event", "zope.testing"] [metadata] lock-version = "2.0" python-versions = "3.12.9" -content-hash = "b9358e30b40e29a2dbfa6c3809dee3a93bc3161c621c59344ef21e128743a805" +content-hash = "0c41049b9f5838173b56d8e554d2b1b50ca37c0d2443ecbc1f07783fcd83da74" diff --git a/pyproject.toml b/pyproject.toml index f9d79851b..2e875f4e9 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -41,7 +41,7 @@ mitol-django-google-sheets-deferrals = "2023.12.19" mitol-django-google-sheets-refunds = "2023.12.19" mitol-django-hubspot-api = "2023.12.19" mitol-django-openedx = "2023.12.19" -mitol-django-payment-gateway = "2023.12.19" +mitol-django-payment-gateway = "2024.11.12" newrelic = "^6.4.1.158" posthog = "^3.0.1" psycopg2 = "^2.9.5"