From 4590b6165ef571807a4208a0c1c992529661a246 Mon Sep 17 00:00:00 2001 From: Will Pimblett Date: Fri, 28 Jul 2023 22:43:12 +0100 Subject: [PATCH] Update to python 3.10 fully --- .github/workflows/test.yml | 4 +-- poetry.lock | 72 ++------------------------------------ pyproject.toml | 2 +- template.yaml | 6 ++-- 4 files changed, 9 insertions(+), 75 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 39ce594..ea09dbf 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -3,8 +3,8 @@ on: [push, pull_request] env: # Task vars - python-version: 3.9 - poetry-version: 1.1.11 + python-version: 3.10 + poetry-version: 1.4.0 jobs: pre-commit: diff --git a/poetry.lock b/poetry.lock index c22e19e..f73c37b 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,10 +1,9 @@ -# This file is automatically @generated by Poetry 1.4.0 and should not be changed by hand. +# This file is automatically @generated by Poetry 1.5.1 and should not be changed by hand. [[package]] name = "anyio" version = "3.5.0" description = "High level compatibility layer for multiple asynchronous event loop implementations" -category = "main" optional = false python-versions = ">=3.6.2" files = [ @@ -25,7 +24,6 @@ trio = ["trio (>=0.16)"] name = "asgiref" version = "3.5.0" description = "ASGI specs, helper code, and adapters" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -40,7 +38,6 @@ tests = ["mypy (>=0.800)", "pytest", "pytest-asyncio"] name = "atomicwrites" version = "1.4.0" description = "Atomic file writes." -category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" files = [ @@ -52,7 +49,6 @@ files = [ name = "attrs" version = "21.4.0" description = "Classes Without Boilerplate" -category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" files = [ @@ -70,7 +66,6 @@ tests-no-zope = ["cloudpickle", "coverage[toml] (>=5.0.2)", "hypothesis", "mypy" name = "boto3" version = "1.20.43" description = "The AWS SDK for Python" -category = "main" optional = false python-versions = ">= 3.6" files = [ @@ -90,7 +85,6 @@ crt = ["botocore[crt] (>=1.21.0,<2.0a0)"] name = "boto3-stubs" version = "1.20.44" description = "Type annotations for boto3 1.20.44 generated by mypy-boto3-builder 6.4.0" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -410,7 +404,6 @@ xray = ["mypy-boto3-xray (>=1.20.0)"] name = "botocore" version = "1.23.43" description = "Low-level, data-driven core of boto 3." -category = "main" optional = false python-versions = ">= 3.6" files = [ @@ -430,7 +423,6 @@ crt = ["awscrt (==0.12.5)"] name = "botocore-stubs" version = "1.23.43" description = "Type annotations for botocore 1.23.43 generated by mypy-boto3-builder 6.3.3" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -442,7 +434,6 @@ files = [ name = "certifi" version = "2021.10.8" description = "Python package for providing Mozilla's CA Bundle." -category = "main" optional = false python-versions = "*" files = [ @@ -454,7 +445,6 @@ files = [ name = "cffi" version = "1.15.0" description = "Foreign Function Interface for Python calling C code." -category = "main" optional = false python-versions = "*" files = [ @@ -517,7 +507,6 @@ pycparser = "*" name = "charset-normalizer" version = "2.0.10" description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." -category = "main" optional = false python-versions = ">=3.5.0" files = [ @@ -532,7 +521,6 @@ unicode-backport = ["unicodedata2"] name = "click" version = "8.0.3" description = "Composable command line interface toolkit" -category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -547,7 +535,6 @@ colorama = {version = "*", markers = "platform_system == \"Windows\""} name = "colorama" version = "0.4.4" description = "Cross-platform colored terminal text." -category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" files = [ @@ -559,7 +546,6 @@ files = [ name = "cryptography" version = "36.0.1" description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers." -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -600,7 +586,6 @@ test = ["hypothesis (>=1.11.4,!=3.79.2)", "iso8601", "pretend", "pytest (>=6.2.0 name = "deprecated" version = "1.2.13" description = "Python @deprecated decorator to deprecate old python classes, functions or methods." -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" files = [ @@ -618,7 +603,6 @@ dev = ["PyTest", "PyTest (<5)", "PyTest-Cov", "PyTest-Cov (<2.6)", "bump2version name = "dnspython" version = "2.2.0" description = "DNS toolkit" -category = "main" optional = false python-versions = ">=3.6,<4.0" files = [ @@ -638,7 +622,6 @@ wmi = ["wmi (>=1.5.1,<2.0.0)"] name = "email-validator" version = "1.1.3" description = "A robust email syntax and deliverability validation library for Python 2.x/3.x." -category = "main" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7" files = [ @@ -654,7 +637,6 @@ idna = ">=2.0.0" name = "fastapi" version = "0.71.0" description = "FastAPI framework, high performance, easy to learn, fast to code, ready for production" -category = "main" optional = false python-versions = ">=3.6.1" files = [ @@ -676,7 +658,6 @@ test = ["anyio[trio] (>=3.2.1,<4.0.0)", "black (==21.9b0)", "databases[sqlite] ( name = "freezegun" version = "1.1.0" description = "Let your Python tests travel through time" -category = "dev" optional = false python-versions = ">=3.5" files = [ @@ -691,7 +672,6 @@ python-dateutil = ">=2.7" name = "h11" version = "0.13.0" description = "A pure-Python, bring-your-own-I/O implementation of HTTP/1.1" -category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -703,7 +683,6 @@ files = [ name = "html2text" version = "2020.1.16" description = "Turn HTML into equivalent Markdown-structured text." -category = "main" optional = false python-versions = ">=3.5" files = [ @@ -715,7 +694,6 @@ files = [ name = "idna" version = "3.3" description = "Internationalized Domain Names in Applications (IDNA)" -category = "main" optional = false python-versions = ">=3.5" files = [ @@ -727,7 +705,6 @@ files = [ name = "iniconfig" version = "1.1.1" description = "iniconfig: brain-dead simple config-ini parsing" -category = "dev" optional = false python-versions = "*" files = [ @@ -739,7 +716,6 @@ files = [ name = "jinja2" version = "3.0.3" description = "A very fast and expressive template engine." -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -757,7 +733,6 @@ i18n = ["Babel (>=2.7)"] name = "jmespath" version = "0.10.0" description = "JSON Matching Expressions" -category = "main" optional = false python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" files = [ @@ -769,7 +744,6 @@ files = [ name = "mangum" version = "0.12.3" description = "AWS Lambda & API Gateway support for ASGI" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -784,7 +758,6 @@ typing-extensions = "*" name = "markupsafe" version = "2.0.1" description = "Safely add untrusted strings to HTML/XML markup." -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -863,7 +836,6 @@ files = [ name = "moto" version = "2.3.2" description = "A library that allows your python tests to easily mock out the boto library" -category = "dev" optional = false python-versions = "*" files = [ @@ -908,7 +880,6 @@ xray = ["aws-xray-sdk (>=0.93,!=0.96)", "setuptools"] name = "multidict" version = "6.0.2" description = "multidict implementation" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -977,7 +948,6 @@ files = [ name = "mypy" version = "0.931" description = "Optional static typing for Python" -category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -1016,7 +986,6 @@ python2 = ["typed-ast (>=1.4.0,<2)"] name = "mypy-boto3-dynamodb" version = "1.20.35.post1" description = "Type annotations for boto3.DynamoDB 1.20.35 service, generated by mypy-boto3-builder 6.3.2" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -1028,7 +997,6 @@ files = [ name = "mypy-boto3-ses" version = "1.20.35.post1" description = "Type annotations for boto3.SES 1.20.35 service, generated by mypy-boto3-builder 6.3.2" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -1040,7 +1008,6 @@ files = [ name = "mypy-extensions" version = "0.4.3" description = "Experimental type system extensions for programs checked with the mypy typechecker." -category = "dev" optional = false python-versions = "*" files = [ @@ -1052,7 +1019,6 @@ files = [ name = "packaging" version = "21.3" description = "Core utilities for Python packages" -category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -1067,7 +1033,6 @@ pyparsing = ">=2.0.2,<3.0.5 || >3.0.5" name = "pluggy" version = "1.0.0" description = "plugin and hook calling mechanisms for python" -category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -1083,7 +1048,6 @@ testing = ["pytest", "pytest-benchmark"] name = "py" version = "1.11.0" description = "library with cross-python path, ini-parsing, io, code, log facilities" -category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" files = [ @@ -1095,7 +1059,6 @@ files = [ name = "pycparser" version = "2.21" description = "C parser in Python" -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" files = [ @@ -1107,7 +1070,6 @@ files = [ name = "pydantic" version = "1.9.0" description = "Data validation and settings management using python 3.6 type hinting" -category = "main" optional = false python-versions = ">=3.6.1" files = [ @@ -1160,7 +1122,6 @@ email = ["email-validator (>=1.0.3)"] name = "pygithub" version = "1.55" description = "Use the full Github API v3" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -1181,7 +1142,6 @@ integrations = ["cryptography"] name = "pyhumps" version = "3.5.0" description = "🐫 Convert strings (and dictionary keys) between snake case, camel case and pascal case in Python. Inspired by Humps for Node" -category = "main" optional = false python-versions = "*" files = [ @@ -1193,7 +1153,6 @@ files = [ name = "pyjwt" version = "2.3.0" description = "JSON Web Token implementation in Python" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -1211,7 +1170,6 @@ tests = ["coverage[toml] (==5.0.4)", "pytest (>=6.0.0,<7.0.0)"] name = "pynacl" version = "1.5.0" description = "Python binding to the Networking and Cryptography (NaCl) library" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -1238,7 +1196,6 @@ tests = ["hypothesis (>=3.27.0)", "pytest (>=3.2.1,!=3.3.0)"] name = "pyparsing" version = "3.0.7" description = "Python parsing module" -category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -1253,7 +1210,6 @@ diagrams = ["jinja2", "railroad-diagrams"] name = "pytest" version = "6.2.5" description = "pytest: simple powerful testing with Python" -category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -1278,7 +1234,6 @@ testing = ["argcomplete", "hypothesis (>=3.56)", "mock", "nose", "requests", "xm name = "pytest-vcr" version = "1.0.2" description = "Plugin for managing VCR.py cassettes" -category = "dev" optional = false python-versions = "*" files = [ @@ -1294,7 +1249,6 @@ vcrpy = "*" name = "python-dateutil" version = "2.8.2" description = "Extensions to the standard Python datetime module" -category = "main" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" files = [ @@ -1309,7 +1263,6 @@ six = ">=1.5" name = "pytz" version = "2021.3" description = "World timezone definitions, modern and historical" -category = "dev" optional = false python-versions = "*" files = [ @@ -1321,7 +1274,6 @@ files = [ name = "pyyaml" version = "6.0" description = "YAML parser and emitter for Python" -category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -1371,7 +1323,6 @@ files = [ name = "requests" version = "2.27.1" description = "Python HTTP for Humans." -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*" files = [ @@ -1393,7 +1344,6 @@ use-chardet-on-py3 = ["chardet (>=3.0.2,<5)"] name = "responses" version = "0.17.0" description = "A utility library for mocking out the `requests` Python library." -category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" files = [ @@ -1413,7 +1363,6 @@ tests = ["coverage (>=3.7.1,<6.0.0)", "flake8", "mypy", "pytest (>=4.6)", "pytes name = "ruff" version = "0.0.280" description = "An extremely fast Python linter, written in Rust." -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -1440,7 +1389,6 @@ files = [ name = "s3transfer" version = "0.5.0" description = "An Amazon S3 Transfer Manager" -category = "main" optional = false python-versions = ">= 3.6" files = [ @@ -1458,7 +1406,6 @@ crt = ["botocore[crt] (>=1.20.29,<2.0a.0)"] name = "sentry-sdk" version = "1.5.4" description = "Python client for Sentry (https://sentry.io)" -category = "main" optional = false python-versions = "*" files = [ @@ -1492,7 +1439,6 @@ tornado = ["tornado (>=5)"] name = "six" version = "1.16.0" description = "Python 2 and 3 compatibility utilities" -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" files = [ @@ -1504,7 +1450,6 @@ files = [ name = "sniffio" version = "1.2.0" description = "Sniff out which async library your code is running under" -category = "main" optional = false python-versions = ">=3.5" files = [ @@ -1516,7 +1461,6 @@ files = [ name = "starlette" version = "0.17.1" description = "The little ASGI library that shines." -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -1534,7 +1478,6 @@ full = ["itsdangerous", "jinja2", "python-multipart", "pyyaml", "requests"] name = "toml" version = "0.10.2" description = "Python Library for Tom's Obvious, Minimal Language" -category = "dev" optional = false python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" files = [ @@ -1546,7 +1489,6 @@ files = [ name = "tomli" version = "2.0.0" description = "A lil' TOML parser" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -1558,7 +1500,6 @@ files = [ name = "typing-extensions" version = "4.0.1" description = "Backported and Experimental Type Hints for Python 3.6+" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -1570,7 +1511,6 @@ files = [ name = "urllib3" version = "1.26.8" description = "HTTP library with thread-safe connection pooling, file post, and more." -category = "main" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4" files = [ @@ -1587,7 +1527,6 @@ socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] name = "uvicorn" version = "0.16.0" description = "The lightning-fast ASGI server." -category = "dev" optional = false python-versions = "*" files = [ @@ -1607,7 +1546,6 @@ standard = ["PyYAML (>=5.1)", "colorama (>=0.4)", "httptools (>=0.2.0,<0.4.0)", name = "vcrpy" version = "4.1.1" description = "Automatically mock your HTTP interactions to simplify and speed up testing" -category = "dev" optional = false python-versions = ">=3.5" files = [ @@ -1625,7 +1563,6 @@ yarl = {version = "*", markers = "python_version >= \"3.6\""} name = "werkzeug" version = "2.0.2" description = "The comprehensive WSGI web application library." -category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -1640,7 +1577,6 @@ watchdog = ["watchdog"] name = "wrapt" version = "1.13.3" description = "Module for decorators, wrappers and monkey patching." -category = "main" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7" files = [ @@ -1701,7 +1637,6 @@ files = [ name = "xmltodict" version = "0.12.0" description = "Makes working with XML feel like you are working with JSON" -category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" files = [ @@ -1713,7 +1648,6 @@ files = [ name = "yarl" version = "1.7.2" description = "Yet another URL library" -category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -1797,5 +1731,5 @@ multidict = ">=4.0" [metadata] lock-version = "2.0" -python-versions = "^3.9" -content-hash = "97da067bd11408aeae113ec6dbf4d76541506899e5d44f3311dd55fa081361c6" +python-versions = "^3.10" +content-hash = "debab62abcf9f3a7020a2e94dbfb52309f074d742bf304f477c6b3075b5c869d" diff --git a/pyproject.toml b/pyproject.toml index 2da2ba3..9c747d0 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -6,7 +6,7 @@ authors = ["Will Pimblett "] license = "MIT" [tool.poetry.dependencies] -python = "^3.9" +python = "^3.10" fastapi = "^0.71.0" mangum = "^0.12.3" pydantic = {extras = ["email"], version = "^1.9.0"} diff --git a/template.yaml b/template.yaml index 6eccf9d..651699d 100644 --- a/template.yaml +++ b/template.yaml @@ -33,10 +33,10 @@ Resources: Description: Dependencies for Lumina ContentUri: dependencies/ CompatibleRuntimes: - - python3.9 + - python3.10 RetentionPolicy: Delete Metadata: - BuildMethod: python3.9 + BuildMethod: python3.10 LuminaMember: Type: AWS::DynamoDB::Table @@ -81,7 +81,7 @@ Resources: FunctionName: !Join ["", ["lumina-", !Ref Environment]] CodeUri: src/ Handler: handler.handler - Runtime: python3.9 + Runtime: python3.10 Layers: - !Ref PythonDependencyLayer Policies: