From e7cee896245d2a463c15e1e7dee395d10fb49556 Mon Sep 17 00:00:00 2001 From: Kenneth Kehl <@kkehl@flexion.us> Date: Mon, 28 Jul 2025 11:52:45 -0700 Subject: [PATCH] upgrade to python 3.13.2 --- .github/actions/setup-project/action.yml | 4 ++-- README.md | 18 +++++++++--------- poetry.lock | 11 ++--------- pyproject.toml | 2 +- runtime.txt | 2 +- 5 files changed, 15 insertions(+), 22 deletions(-) diff --git a/.github/actions/setup-project/action.yml b/.github/actions/setup-project/action.yml index fc422c6e1..f9ca756b9 100644 --- a/.github/actions/setup-project/action.yml +++ b/.github/actions/setup-project/action.yml @@ -9,10 +9,10 @@ runs: sudo apt-get update \ && sudo apt-get install -y --no-install-recommends \ libcurl4-openssl-dev - - name: Set up Python 3.12.9 + - name: Set up Python 3.13.2 uses: actions/setup-python@v4 with: - python-version: "3.12.9" + python-version: "3.13.2" - name: Install poetry shell: bash run: pip install poetry==2.1.3 diff --git a/README.md b/README.md index 1f1efe468..780aff689 100644 --- a/README.md +++ b/README.md @@ -39,7 +39,7 @@ You will need the following items: This project currently works with these major versions of the following main components: -- Python 3.12.x +- Python 3.13.x - PostgreSQL 15.x (version 12.x is used in the hosted environments) These instructions will walk you through how to set your machine up with all of @@ -178,12 +178,12 @@ session to make the changes take effect. Now we're ready to install the Python version we need with `pyenv`, like so: ```sh -pyenv install 3.12 +pyenv install 3.13 ``` -This will install the latest version of Python 3.12. +This will install the latest version of Python 3.13. -_NOTE: This project currently runs on Python 3.12.x._ +_NOTE: This project currently runs on Python 3.13.x._ #### Python Dependency Installation @@ -264,12 +264,12 @@ git clone git@github.com:GSA/notifications-api.git Now go into the project directory (`notifications-api` by default), create a virtual environment, and set the local Python version to point to the virtual -environment (assumes version Python `3.12.9` is what is installed on your +environment (assumes version Python `3.13.9` is what is installed on your machine): ```sh cd notifications-api -pyenv virtualenv 3.12.9 notify-api +pyenv virtualenv 3.13.9 notify-api pyenv local notify-api ``` @@ -317,10 +317,10 @@ If you're upgrading an existing project to a newer version of Python, you can follow these steps to get yourself up-to-date. First, use `pyenv` to install the newer version of Python you'd like to use; -we'll use `3.12` in our example here since we recently upgraded to this version: +we'll use `3.13` in our example here since we recently upgraded to this version: ```sh -pyenv install 3.12 +pyenv install 3.13 ``` Next, delete the virtual environment you previously had set up. If you followed @@ -335,7 +335,7 @@ environment with the newer version of Python you just installed: ```sh cd notifications-api -pyenv virtualenv 3.12.9 notify-api +pyenv virtualenv 3.13.9 notify-api pyenv local notify-api ``` diff --git a/poetry.lock b/poetry.lock index 624d93eb0..d4dc09afa 100644 --- a/poetry.lock +++ b/poetry.lock @@ -134,7 +134,6 @@ files = [ [package.dependencies] frozenlist = ">=1.1.0" -typing-extensions = {version = ">=4.2", markers = "python_version < \"3.13\""} [[package]] name = "alembic" @@ -186,7 +185,6 @@ files = [ [package.dependencies] idna = ">=2.8" sniffio = ">=1.1" -typing_extensions = {version = ">=4.5", markers = "python_version < \"3.13\""} [package.extras] doc = ["Sphinx (>=8.2,<9.0)", "packaging", "sphinx-autodoc-typehints (>=1.2.0)", "sphinx_rtd_theme"] @@ -1160,7 +1158,6 @@ license-expression = ">=30,<31" packageurl-python = ">=0.11,<2" py-serializable = ">=2.1.0,<3.0.0" sortedcontainers = ">=2.4.0,<3.0.0" -typing_extensions = {version = ">=4.6,<5.0", markers = "python_version < \"3.13\""} [package.extras] json-validation = ["jsonschema[format-nongpl] (>=4.25,<5.0)", "referencing (>=0.28.4)"] @@ -1320,9 +1317,6 @@ files = [ {file = "exceptiongroup-1.3.0.tar.gz", hash = "sha256:b241f5885f560bc56a59ee63ca4c6a8bfa46ae4ad651af316d4e81817bb9fd88"}, ] -[package.dependencies] -typing-extensions = {version = ">=4.6.0", markers = "python_version < \"3.13\""} - [package.extras] test = ["pytest (>=6)"] @@ -4163,7 +4157,6 @@ files = [ [package.dependencies] attrs = ">=22.2.0" rpds-py = ">=0.7.0" -typing-extensions = {version = ">=4.4.0", markers = "python_version < \"3.13\""} [[package]] name = "regex" @@ -5651,5 +5644,5 @@ cffi = ["cffi (>=1.11)"] [metadata] lock-version = "2.1" -python-versions = "^3.12.9" -content-hash = "1c155209693101f50efbbb5bf329d4c7cc46785c8701a5d45cbc1b971f57ae57" +python-versions = "^3.13.2" +content-hash = "4bdc474ed8c3825f1ae4f0e3ccb2de527f3a83d327843cca07fedc50493970bf" diff --git a/pyproject.toml b/pyproject.toml index fe39d9b2e..84306eacf 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -8,7 +8,7 @@ readme = "README.md" [tool.poetry.dependencies] -python = "^3.12.9" +python = "^3.13.2" alembic = "==1.16.4" amqp = "==5.3.1" beautifulsoup4 = "==4.13.4" diff --git a/runtime.txt b/runtime.txt index 64f28603a..c94f67640 100644 --- a/runtime.txt +++ b/runtime.txt @@ -1 +1 @@ -python-3.12.x +python-3.13.x