diff --git a/CHANGELOG.md b/CHANGELOG.md index 95cbb79e4a..d9ab9c6ef1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -330,3 +330,10 @@ [1.10.1] - fix: regression in StaticFiles of resolution of index.html in `html_mode=True` + +[1.11.0] + +- update: OpenAPIController to use render methods and configurable `root` class var @mobiusxs +- fix: `UploadFile` OpenAPI schema exception +- fix: `Stream` handling of generators +- refactor: http and path param parsing diff --git a/poetry.lock b/poetry.lock index 555bcba1ff..ea012f9f80 100644 --- a/poetry.lock +++ b/poetry.lock @@ -226,7 +226,7 @@ test = ["pytest (>=6)"] [[package]] name = "faker" -version = "13.15.1" +version = "14.0.0" description = "Faker is a Python package that generates fake data for you." category = "main" optional = false @@ -250,7 +250,7 @@ testing = ["covdefaults (>=2.2)", "coverage (>=6.4.2)", "pytest (>=7.1.2)", "pyt [[package]] name = "freezegun" -version = "1.2.1" +version = "1.2.2" description = "Let your Python tests travel through time" category = "dev" optional = false @@ -283,7 +283,7 @@ typing-extensions = {version = "*", markers = "python_version < \"3.8\""} [[package]] name = "hypothesis" -version = "6.54.2" +version = "6.54.3" description = "A library for property-based testing" category = "dev" optional = false @@ -295,20 +295,20 @@ exceptiongroup = {version = ">=1.0.0rc8", markers = "python_version < \"3.11\""} sortedcontainers = ">=2.1.0,<3.0.0" [package.extras] -all = ["black (>=19.10b0)", "click (>=7.0)", "django (>=3.2)", "dpcontracts (>=0.4)", "lark-parser (>=0.6.5)", "libcst (>=0.3.16)", "numpy (>=1.9.0)", "pandas (>=1.0)", "pytest (>=4.6)", "python-dateutil (>=1.4)", "pytz (>=2014.1)", "redis (>=3.0.0)", "rich (>=9.0.0)", "importlib-metadata (>=3.6)", "backports.zoneinfo (>=0.2.1)", "tzdata (>=2022.1)"] -cli = ["click (>=7.0)", "black (>=19.10b0)", "rich (>=9.0.0)"] -codemods = ["libcst (>=0.3.16)"] -dateutil = ["python-dateutil (>=1.4)"] -django = ["django (>=3.2)"] -dpcontracts = ["dpcontracts (>=0.4)"] -ghostwriter = ["black (>=19.10b0)"] -lark = ["lark-parser (>=0.6.5)"] -numpy = ["numpy (>=1.9.0)"] -pandas = ["pandas (>=1.0)"] -pytest = ["pytest (>=4.6)"] -pytz = ["pytz (>=2014.1)"] +zoneinfo = ["tzdata (>=2022.1)", "backports.zoneinfo (>=0.2.1)"] redis = ["redis (>=3.0.0)"] -zoneinfo = ["backports.zoneinfo (>=0.2.1)", "tzdata (>=2022.1)"] +pytz = ["pytz (>=2014.1)"] +pytest = ["pytest (>=4.6)"] +pandas = ["pandas (>=1.0)"] +numpy = ["numpy (>=1.9.0)"] +lark = ["lark-parser (>=0.6.5)"] +ghostwriter = ["black (>=19.10b0)"] +dpcontracts = ["dpcontracts (>=0.4)"] +django = ["django (>=3.2)"] +dateutil = ["python-dateutil (>=1.4)"] +codemods = ["libcst (>=0.3.16)"] +cli = ["rich (>=9.0.0)", "black (>=19.10b0)", "click (>=7.0)"] +all = ["tzdata (>=2022.1)", "backports.zoneinfo (>=0.2.1)", "importlib-metadata (>=3.6)", "rich (>=9.0.0)", "redis (>=3.0.0)", "pytz (>=2014.1)", "python-dateutil (>=1.4)", "pytest (>=4.6)", "pandas (>=1.0)", "numpy (>=1.9.0)", "libcst (>=0.3.16)", "lark-parser (>=0.6.5)", "dpcontracts (>=0.4)", "django (>=3.2)", "click (>=7.0)", "black (>=19.10b0)"] [[package]] name = "identify" @@ -454,7 +454,7 @@ python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7" [[package]] name = "piccolo" -version = "0.83.0" +version = "0.84.0" description = "A fast, user friendly ORM and query builder which supports asyncio." category = "dev" optional = false @@ -557,7 +557,7 @@ email = ["email-validator (>=1.0.3)"] [[package]] name = "pydantic-factories" -version = "1.5.2" +version = "1.5.4" description = "Mock data generation for pydantic based models" category = "main" optional = false @@ -676,7 +676,7 @@ six = ">=1.4.0" [[package]] name = "pytz" -version = "2022.2" +version = "2022.2.1" description = "World timezone definitions, modern and historical" category = "dev" optional = false @@ -1183,16 +1183,16 @@ exceptiongroup = [ {file = "exceptiongroup-1.0.0rc8.tar.gz", hash = "sha256:6990c24f06b8d33c8065cfe43e5e8a4bfa384e0358be036af9cc60b6321bd11a"}, ] faker = [ - {file = "Faker-13.15.1-py3-none-any.whl", hash = "sha256:172e45220b7a46743f4fb58cf380adb306d5c3ab1c0b0d97062508474cec5ff8"}, - {file = "Faker-13.15.1.tar.gz", hash = "sha256:7c3f8ee807d3916415568169a172bf0893ea9cc3371ab55e4e5f5170d2185bea"}, + {file = "Faker-14.0.0-py3-none-any.whl", hash = "sha256:f1558ecb1770d8c871ea01cc2edc7b5e86148b0fa0466731f0e1e8953165d179"}, + {file = "Faker-14.0.0.tar.gz", hash = "sha256:0c7d283a96c49af64fe319f70d2b68927873c9173e922f8eda6001e7757cb63b"}, ] filelock = [ {file = "filelock-3.8.0-py3-none-any.whl", hash = "sha256:617eb4e5eedc82fc5f47b6d61e4d11cb837c56cb4544e39081099fa17ad109d4"}, {file = "filelock-3.8.0.tar.gz", hash = "sha256:55447caa666f2198c5b6b13a26d2084d26fa5b115c00d065664b2124680c4edc"}, ] freezegun = [ - {file = "freezegun-1.2.1-py3-none-any.whl", hash = "sha256:15103a67dfa868ad809a8f508146e396be2995172d25f927e48ce51c0bf5cb09"}, - {file = "freezegun-1.2.1.tar.gz", hash = "sha256:b4c64efb275e6bc68dc6e771b17ffe0ff0f90b81a2a5189043550b6519926ba4"}, + {file = "freezegun-1.2.2-py3-none-any.whl", hash = "sha256:ea1b963b993cb9ea195adbd893a48d573fda951b0da64f60883d7e988b606c9f"}, + {file = "freezegun-1.2.2.tar.gz", hash = "sha256:cd22d1ba06941384410cd967d8a99d5ae2442f57dfafeff2fda5de8dc5c05446"}, ] greenlet = [ {file = "greenlet-1.1.2-cp27-cp27m-macosx_10_14_x86_64.whl", hash = "sha256:58df5c2a0e293bf665a51f8a100d3e9956febfbf1d9aaf8c0677cf70218910c6"}, @@ -1256,8 +1256,8 @@ h11 = [ {file = "h11-0.13.0.tar.gz", hash = "sha256:70813c1135087a248a4d38cc0e1a0181ffab2188141a93eaf567940c3957ff06"}, ] hypothesis = [ - {file = "hypothesis-6.54.2-py3-none-any.whl", hash = "sha256:7c3211d2557f8947fbd9f6cded93c2b793e5b756d4433dc52a93d9f8d0bdc46d"}, - {file = "hypothesis-6.54.2.tar.gz", hash = "sha256:db40e3f296ab940e59e5bbb1794e5b2f9682b601c559b3f68fc294518ba6cff7"}, + {file = "hypothesis-6.54.3-py3-none-any.whl", hash = "sha256:f1a2f0031ec2c3ff17c1d97bb363ce74bf3e9e5d6c6f0f5a6474702e6ca1ee81"}, + {file = "hypothesis-6.54.3.tar.gz", hash = "sha256:03749f5e2cb982e54e2a11abcb367b9a260ef8e279387d437145354c080a6bdc"}, ] identify = [ {file = "identify-2.5.3-py2.py3-none-any.whl", hash = "sha256:25851c8c1370effb22aaa3c987b30449e9ff0cece408f810ae6ce408fdd20893"}, @@ -1390,8 +1390,8 @@ pathspec = [ {file = "pathspec-0.9.0.tar.gz", hash = "sha256:e564499435a2673d586f6b2130bb5b95f04a3ba06f81b8f895b651a3c76aabb1"}, ] piccolo = [ - {file = "piccolo-0.83.0-py3-none-any.whl", hash = "sha256:e6eb4431ffc943388bafc144df4d030827983a0e18bf577bb74620e20a9fd5c5"}, - {file = "piccolo-0.83.0.tar.gz", hash = "sha256:d38ab14c643dad07b5589311f840800716e6ccf98189002f077312659a480fff"}, + {file = "piccolo-0.84.0-py3-none-any.whl", hash = "sha256:699eff4453a04fc4e5674eed02c0cba705f27159e795ecba561d7a880c8462a5"}, + {file = "piccolo-0.84.0.tar.gz", hash = "sha256:0b0b46a14c18ab69ea0fb024b528476bbfad8c76314e78c6008028979fc11632"}, ] picologging = [ {file = "picologging-0.7.1-cp310-cp310-macosx_10_15_universal2.whl", hash = "sha256:0a55e7c464aa23713d9045f5607c6d2409b90c4ea72faa050d5eba50d23a1505"}, @@ -1479,8 +1479,8 @@ pydantic = [ {file = "pydantic-1.9.2.tar.gz", hash = "sha256:8cb0bc509bfb71305d7a59d00163d5f9fc4530f0881ea32c74ff4f74c85f3d3d"}, ] pydantic-factories = [ - {file = "pydantic-factories-1.5.2.tar.gz", hash = "sha256:6a1430722fed03f2dee8d808107c9edf401b81964ea2ed9e3ffc3281c0f8b52f"}, - {file = "pydantic_factories-1.5.2-py3-none-any.whl", hash = "sha256:5e04e1c447d65e090f2a937683133905d7fc63a016e43b7ccf84f40e5abbc079"}, + {file = "pydantic-factories-1.5.4.tar.gz", hash = "sha256:cf529a57a95c353a52ec07ef5d4a6259cba539aa1da62db81edf40e837f2b7ab"}, + {file = "pydantic_factories-1.5.4-py3-none-any.whl", hash = "sha256:197c96a17c4cc3c985f8e1c5bfa8ff3c98215bed3e333227cf7dfa7b6990c40b"}, ] pydantic-openapi-schema = [ {file = "pydantic-openapi-schema-1.0.0.tar.gz", hash = "sha256:28cb8b52e18c66e04215ac3e150dd6f9ea8d5075069f08aaff8e1a1290e17f89"}, @@ -1514,8 +1514,8 @@ python-multipart = [ {file = "python-multipart-0.0.5.tar.gz", hash = "sha256:f7bb5f611fc600d15fa47b3974c8aa16e93724513b49b5f95c81e6624c83fa43"}, ] pytz = [ - {file = "pytz-2022.2-py2.py3-none-any.whl", hash = "sha256:d9b245e63af49c4e51afdec5402f56b99c0cb483a84a12bb8b7db980386baade"}, - {file = "pytz-2022.2.tar.gz", hash = "sha256:bc824559e43e8ab983426a49525079d186b25372ff63aa3430ccd527d95edc3a"}, + {file = "pytz-2022.2.1-py2.py3-none-any.whl", hash = "sha256:220f481bdafa09c3955dfbdddb7b57780e9a94f5127e35456a48589b9e0c0197"}, + {file = "pytz-2022.2.1.tar.gz", hash = "sha256:cea221417204f2d1a2aa03ddae3e867921971d0d76f14d87abb4414415bbdcf5"}, ] pyyaml = [ {file = "PyYAML-6.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d4db7c7aef085872ef65a8fd7d6d09a14ae91f691dec3e87ee5ee0539d516f53"}, diff --git a/pyproject.toml b/pyproject.toml index c4030b3c5e..de8131f25c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "starlite" -version = "1.10.1" +version = "1.11.0" description = "Light-weight and flexible ASGI API Framework" authors = ["Na'aman Hirschfeld "] maintainers = ["Na'aman Hirschfeld ", "Peter Schutt ", "Cody Fincher "]