From 28b44d5eef369ad5f91b69ee75f9afafaa54ba06 Mon Sep 17 00:00:00 2001 From: Jakub Miazek Date: Thu, 1 Feb 2024 20:58:23 +0100 Subject: [PATCH 1/2] upgrade to python 3.12 --- .github/workflows/build-and-test.yml | 2 +- Dockerfile | 2 +- README.md | 2 +- poetry.lock | 21 ++------------------- pyproject.toml | 2 +- 5 files changed, 6 insertions(+), 23 deletions(-) diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml index bdcebad..890c46f 100644 --- a/.github/workflows/build-and-test.yml +++ b/.github/workflows/build-and-test.yml @@ -12,7 +12,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: [ "3.11" ] + python-version: [ "3.12" ] poetry-version: [ "1.7.1" ] env: diff --git a/Dockerfile b/Dockerfile index 0bcb1e3..e9f4ed0 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM python:3.11-slim-bookworm AS base +FROM python:3.12.1-slim-bookworm AS base RUN apt-get update \ && apt-get upgrade -y \ && apt-get install -y --no-install-recommends curl git build-essential \ diff --git a/README.md b/README.md index 2f668a6..e28c95e 100644 --- a/README.md +++ b/README.md @@ -124,7 +124,7 @@ Setup user authentication with JWT and Redis as token storage. ### Local development with poetry ```shell -pyenv install 3.11 && pyenv local 3.11 +pyenv install 3.12 && pyenv local 3.12 ``` ```shell poetry install diff --git a/poetry.lock b/poetry.lock index ad29888..9cc3c24 100644 --- a/poetry.lock +++ b/poetry.lock @@ -68,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 = "asyncpg" version = "0.29.0" @@ -129,9 +118,6 @@ files = [ {file = "asyncpg-0.29.0.tar.gz", hash = "sha256:d1c49e1f44fffafd9a55e1a9b101590859d881d639ea2922516f5d9c512d354e"}, ] -[package.dependencies] -async-timeout = {version = ">=4.0.3", markers = "python_version < \"3.12.0\""} - [package.extras] docs = ["Sphinx (>=5.3.0,<5.4.0)", "sphinx-rtd-theme (>=1.2.2)", "sphinxcontrib-asyncio (>=0.3.0,<0.4.0)"] test = ["flake8 (>=6.1,<7.0)", "uvloop (>=0.15.3)"] @@ -1419,9 +1405,6 @@ files = [ {file = "redis-5.0.1.tar.gz", hash = "sha256:0dab495cd5753069d3bc650a0dde8a8f9edde16fc5691b689a566eda58100d0f"}, ] -[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)"] @@ -2117,5 +2100,5 @@ files = [ [metadata] lock-version = "2.0" -python-versions = "^3.11" -content-hash = "b64513e85b9b298859206a64d49083167bf8044f3ad25dba3c8dcb1699f913fb" +python-versions = "^3.12" +content-hash = "c4ed42d2fb1fa0234845ca0a8fe5701c26ef0351e9fa81c3e941e2c5a8e42067" diff --git a/pyproject.toml b/pyproject.toml index f8719fb..ed942bb 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -7,7 +7,7 @@ packages = [] license = "MIT" [tool.poetry.dependencies] -python = "^3.11" +python = "^3.12" fastapi = "0.109.0" pydantic = {version = "2.6.0", extras = ["email"]} pydantic-settings = "2.1.0" From 35c7d4fac732d833d53176da11ae1f36c70305e4 Mon Sep 17 00:00:00 2001 From: Jakub Miazek Date: Thu, 1 Feb 2024 21:06:31 +0100 Subject: [PATCH 2/2] upgrade to python 3.12 --- README.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index e28c95e..b571a4e 100644 --- a/README.md +++ b/README.md @@ -155,7 +155,7 @@ I've included a few of my favorites to kick things off! - **[JUL 25 2023]** add user authentication with JWT and Redis as token storage :lock: :key: - **[SEP 2 2023]** add passlib and bcrypt for password hashing :lock: :key: - **[OCT 21 2023]** refactor shakespeare models to use sqlalchemy 2.0 :fast_forward: - +- **[FEB 1 2024]** bum project to Python 3.12 :fast_forward:

(back to top)

@@ -174,22 +174,22 @@ I've included a few of my favorites to kick things off! [linkedin-shield]: https://img.shields.io/badge/-LinkedIn-black.svg?style=for-the-badge&logo=linkedin&colorB=555 [linkedin-url]: https://www.linkedin.com/in/python-has-powers/ -[fastapi.tiangolo.com]: https://img.shields.io/badge/FastAPI-0.104.0-009485?style=for-the-badge&logo=fastapi&logoColor=white +[fastapi.tiangolo.com]: https://img.shields.io/badge/FastAPI-0.109.0-009485?style=for-the-badge&logo=fastapi&logoColor=white [fastapi-url]: https://fastapi.tiangolo.com/ -[pydantic.com]: https://img.shields.io/badge/Pydantic-2.4.2-e92063?style=for-the-badge&logo=pydantic&logoColor=white +[pydantic.com]: https://img.shields.io/badge/Pydantic-2.6.0-e92063?style=for-the-badge&logo=pydantic&logoColor=white [pydantic-url]: https://docs.pydantic.dev/latest/ -[sqlalchemy.org]: https://img.shields.io/badge/SQLAlchemy-2.0.22-bb0000?color=bb0000&style=for-the-badge +[sqlalchemy.org]: https://img.shields.io/badge/SQLAlchemy-2.0.25-bb0000?color=bb0000&style=for-the-badge [sqlalchemy-url]: https://docs.sqlalchemy.org/en/20/ -[uvicorn.org]: https://img.shields.io/badge/Uvicorn-0.23.2-2094f3?style=for-the-badge&logo=uvicorn&logoColor=white +[uvicorn.org]: https://img.shields.io/badge/Uvicorn-0.27.0-2094f3?style=for-the-badge&logo=uvicorn&logoColor=white [uvicorn-url]: https://www.uvicorn.org/ -[asyncpg.github.io]: https://img.shields.io/badge/asyncpg-0.28.0-2e6fce?style=for-the-badge&logo=postgresql&logoColor=white +[asyncpg.github.io]: https://img.shields.io/badge/asyncpg-0.29.0-2e6fce?style=for-the-badge&logo=postgresql&logoColor=white [asyncpg-url]: https://magicstack.github.io/asyncpg/current/ -[pytest.org]: https://img.shields.io/badge/pytest-7.4.2-fff?style=for-the-badge&logo=pytest&logoColor=white +[pytest.org]: https://img.shields.io/badge/pytest-7.4.4-fff?style=for-the-badge&logo=pytest&logoColor=white [pytest-url]: https://docs.pytest.org/en/6.2.x/ -[alembic.sqlalchemy.org]: https://img.shields.io/badge/alembic-1.12.0-6BA81E?style=for-the-badge&logo=alembic&logoColor=white +[alembic.sqlalchemy.org]: https://img.shields.io/badge/alembic-1.13.1-6BA81E?style=for-the-badge&logo=alembic&logoColor=white [alembic-url]: https://alembic.sqlalchemy.org/en/latest/ -[rich.readthedocs.io]: https://img.shields.io/badge/rich-10.12.0-009485?style=for-the-badge&logo=rich&logoColor=white +[rich.readthedocs.io]: https://img.shields.io/badge/rich-13.7.0-009485?style=for-the-badge&logo=rich&logoColor=white [rich-url]: https://rich.readthedocs.io/en/latest/ [redis.io]: https://img.shields.io/badge/redis-3.5.3-dc382d?style=for-the-badge&logo=redis&logoColor=white [redis-url]: https://redis.io/