Marcelo Trylesinski
fba7493042
🐛 Ignore Response classes on return annotation ( #5855 )
...
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2023-01-10 12:45:18 +00:00
Sebastián Ramírez
69bd7d8501
🔖 Release version 0.89.0
2023-01-07 21:17:10 +04:00
Yurii Karabas
d0573f5713
✨ Add support for function return type annotations to declare the `response_model` ( #1436 )
...
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2023-01-07 17:45:48 +04:00
Sebastián Ramírez
612b8ff168
🔖 Release version 0.88.0
2022-11-27 15:50:32 +01:00
Sebastián Ramírez
7c5626bef7
⬆️ Upgrade Ruff ( #5698 )
2022-11-27 14:59:32 +01:00
Sebastián Ramírez
63a5ffcf57
🔖 Release version 0.87.0
2022-11-13 22:36:53 +01:00
Sebastián Ramírez
fa74093440
✨ Use Ruff for linting ( #5630 )
2022-11-13 19:19:04 +01:00
Sebastián Ramírez
d537ee93d7
✨ Re-export Starlette's `WebSocketException` and add it to docs ( #5629 )
2022-11-13 17:10:54 +01:00
Paweł Rubin
fdbd48be5f
⬆ Upgrade Starlette to `0.21.0`, including the new [`TestClient` based on HTTPX]( https://github.com/encode/starlette/releases/tag/0.21.0 ) ( #5471 )
...
Co-authored-by: Paweł Rubin <pawel.rubin@ocado.com>
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2022-11-13 15:26:09 +01:00
Sebastián Ramírez
ccd242348f
🔖 Release version 0.86.0
2022-11-03 22:17:44 +01:00
Adrian Garcia Badaracco
ac9f56ea5e
🐛 Close FormData (uploaded files) after the request is done ( #5465 )
...
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2022-11-03 13:06:52 +01:00
Sebastián Ramírez
d0917ce015
🔖 Release version 0.85.2
2022-10-31 19:57:16 +01:00
Sebastián Ramírez
90fc4299d1
🔖 Release version 0.85.1
2022-10-14 22:52:36 +02:00
Jarro van Ginkel
0ae8db447a
🐛 Fix support for strings in OpenAPI status codes: `default`, `1XX`, `2XX`, `3XX`, `4XX`, `5XX` ( #5187 )
...
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2022-10-14 22:44:22 +02:00
Sebastián Ramírez
1213227667
🔖 Release version 0.85.0
2022-09-15 15:57:23 +02:00
Sebastián Ramírez
74ce2204ae
⬆️ Upgrade mypy and tweak internal type annotations ( #5398 )
2022-09-15 13:26:21 +00:00
Marcelo Trylesinski
adcf03f2bc
⬆ Upgrade version required of Starlette from `0.19.1` to `0.20.4` ( #4820 )
...
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2022-09-15 14:32:05 +02:00
Sebastián Ramírez
1073062c7f
🔖 Release version 0.84.0
2022-09-14 20:41:29 +02:00
Ofek Lev
4267bd1f4f
🔧 Update package metadata, drop support for Python 3.6, move build internals from Flit to Hatch ( #5240 )
...
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2022-09-14 20:31:19 +02:00
Sebastián Ramírez
ed0fcba7cb
🔖 Release version 0.83.0
2022-09-11 18:25:29 +02:00
Irfanuddin Shafi Ahmed
4d270463af
🐛 Fix `RuntimeError` raised when `HTTPException` has a status code with no content ( #5365 )
...
Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com>
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2022-09-11 16:13:36 +00:00
Thomas Meckel
0b4fe10c8f
🐛 Fix empty reponse body when default `status_code` is empty but the a `Response` parameter with `response.status_code` is set ( #5360 )
...
Co-authored-by: Thomas Meckel <tmeckel@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2022-09-08 15:02:59 +00:00
DCsunset
3ec498af63
✨ Add support in `jsonable_encoder` for include and exclude with dataclasses ( #4923 )
...
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2022-09-08 16:29:23 +02:00
Sebastián Ramírez
3079ba925e
🔖 Release version 0.82.0
2022-09-04 21:26:31 +02:00
Adrian Garcia Badaracco
f8460a8b54
🐛 Allow exit code for dependencies with `yield` to always execute, by removing capacity limiter for them, to e.g. allow closing DB connections without deadlocks ( #5122 )
...
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2022-09-04 21:09:24 +02:00
Mateusz Nowak
dacb689290
✨ Export `WebSocketState` in `fastapi.websockets` ( #4376 )
2022-09-04 17:12:10 +02:00
Charlie DiGiovanna
56f887de15
🐛 Make sure a parameter defined as required is kept required in OpenAPI even if defined as optional in another dependency ( #4319 )
...
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2022-09-03 17:12:41 +00:00
Junghoon Yang
52b5b08910
♻ Internal small refactor, move `operation_id` parameter position in delete method for consistency with the code ( #4474 )
...
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2022-09-02 13:36:00 +00:00
Marcelo Trylesinski
30b3905ef3
✨ Support Python internal description on Pydantic model's docstring ( #3032 )
...
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2022-09-02 14:43:21 +02:00
abc.zxy
7250c194da
✨ Update `ORJSONResponse` to support non `str` keys and serializing Numpy arrays ( #3892 )
...
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-09-02 10:17:31 +00:00
David Brochart
d8b6aa630c
🐛 Fix support for path parameters in WebSockets ( #3879 )
...
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2022-09-01 10:50:47 +02:00
Sebastián Ramírez
0bb8920ae1
🔖 Release version 0.81.0
2022-08-26 17:18:44 +02:00
Luis R
22bed0008c
🐛 Fix `jsonable_encoder` for dataclasses with pydantic-compatible fields ( #3607 )
...
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-08-26 15:56:47 +02:00
Erik Vroon
de6ccd7754
✨ Add ReDoc `<noscript>` warning when JS is disabled ( #5074 )
...
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2022-08-26 13:56:07 +00:00
pylounge
dc10b81d05
♻ Simplify internal RegEx in `fastapi/utils.py` ( #5057 )
...
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-08-26 15:46:22 +02:00
David Kim
0539dd9cd3
🔧 Fix Type hint of `auto_error` which does not need to be `Optional[bool]` ( #4933 )
2022-08-26 15:29:50 +02:00
Shahriyar Rzayev
00bdf533ef
♻ Change a `dict()` for `{}` in `fastapi/utils.py` ( #3138 )
2022-08-26 15:23:25 +02:00
Guillermo Quintana Pelayo
a64387c3fc
♻ Move internal variable for errors in `jsonable_encoder` to put related code closer ( #4560 )
...
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2022-08-26 13:16:44 +00:00
Muzaffer Cikay
c8124496fc
♻ Simplify conditional assignment in `fastapi/dependencies/utils.py` ( #4597 )
...
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2022-08-26 13:16:17 +00:00
Ori Levari
880c8b37cf
🐛 Fix support for extending `openapi_extras` with parameter lists ( #4267 )
...
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2022-08-26 09:26:20 +00:00
juntatalor
ca2fae0588
✨ Add support for `FrozenSet` in parameters (e.g. query) ( #2938 )
...
Co-authored-by: saborisov <borisov_s@tass.ru>
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2022-08-25 23:52:53 +02:00
Andy Challis
eb3ab337ab
✨ Allow custom middlewares to raise `HTTPException`s and propagate them ( #2036 )
...
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-08-25 23:44:40 +02:00
Sidharth Ajithkumar
9359a8d65f
✨ Preserve `json.JSONDecodeError` information when handling invalid JSON in request body, to support custom exception handlers that use its information ( #4057 )
...
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-08-25 11:55:53 +02:00
Sebastián Ramírez
7d6e70791d
🔖 Release version 0.80.0
2022-08-23 16:14:48 +02:00
Teo Koon Peng
ec072d75fe
⬆ Upgrade Swagger UI copy of `oauth2-redirect.html` to include fixes for flavors of authorization code flows in Swagger UI ( #3439 )
...
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2022-08-23 13:57:25 +00:00
Andrey Semakin
f6808e76dc
♻ Strip empty whitespace from description extracted from docstrings ( #2821 )
...
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2022-08-23 13:47:19 +00:00
laggardkernel
b993b4af28
🐛 Fix cached dependencies when using a dependency in `Security()` and other places (e.g. `Depends()`) with different OAuth2 scopes ( #2945 )
...
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2022-08-23 13:30:24 +00:00
Taneli Hukkinen
634cf22584
🐛 Fix `response_model` not invalidating `None` ( #2725 )
...
Co-authored-by: Taneli Hukkinen <hukkinj1@users.noreply.github.com>
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2022-08-22 19:17:45 +00:00
Sebastián Ramírez
e7b1b96a54
🎨 Update type annotations for `response_model`, allow things like `Union[str, None]` ( #5294 )
2022-08-22 18:49:03 +00:00
Sebastián Ramírez
ab8988ff7c
🔖 Release version 0.79.1
2022-08-18 23:14:07 +02:00
Xavi Moreno
eb2e183361
🐛 Fix `jsonable_encoder` using `include` and `exclude` parameters for non-Pydantic objects ( #2606 )
...
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2022-08-18 22:48:21 +02:00
Luca Repetti
e88089ec21
🐛 Fix edge case with repeated aliases names not shown in OpenAPI ( #2351 )
...
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2022-08-18 20:31:19 +00:00
Sebastián Ramírez
50fb34bf55
🔖 Release version 0.79.0
2022-07-14 19:35:13 +02:00
Sebastián Ramírez
c43120258f
🐛 Fix removing body from status codes that do not support it ( #5145 )
2022-07-14 13:19:42 +02:00
Sebastián Ramírez
1876ebc779
🔖 Release version 0.78.0
2022-05-14 14:58:04 -05:00
Sebastián Ramírez
9262fa8362
✨ Add support for not needing `...` as default value in required Query(), Path(), Header(), etc. ( #4906 )
...
* ✨ Do not require default value in Query(), Path(), Header(), etc
* 📝 Update source examples for docs with default and required values
* ✅ Update tests with new default values and not required Ellipsis
* 📝 Update docs for Query params and update info about default value, required, Ellipsis
2022-05-13 18:38:22 -05:00
Shahriyar Rzayev
82775f7cd0
♻ Refactor dict value extraction to minimize key lookups `fastapi/utils.py` ( #3139 )
...
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2022-05-12 20:38:30 +00:00
Sebastián Ramírez
9cae3cdb09
🔧 Add Python formatting hooks to pre-commit ( #4890 )
2022-05-12 00:41:06 +00:00
Sebastián Ramírez
2aaac141dd
🔖 Release version 0.77.1
2022-05-09 23:19:32 -05:00
Marcelo Trylesinski
f396912043
⬆ Upgrade Starlette from 0.19.0 to 0.19.1 ( #4819 )
...
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2022-05-10 03:22:26 +00:00
Sebastián Ramírez
0696454445
🔖 Release version 0.77.0
2022-05-09 20:40:03 -05:00
Marcelo Trylesinski
86fa3cb24f
⬆ Upgrade Starlette from 0.18.0 to 0.19.0 ( #4488 )
...
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2022-05-09 13:06:42 -05:00
Sebastián Ramírez
9090c771ee
🔖 Release version 0.76.0
2022-05-05 17:26:05 -05:00
Marcelo Trylesinski
33d61430cf
⬆ Upgrade Starlette from 0.17.1 to 0.18.0 ( #4483 )
...
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2022-05-05 17:19:59 -05:00
Sebastián Ramírez
2b54432a9c
🔖 Release version 0.75.2
2022-04-17 23:08:37 +02:00
dconathan
c449ae5c74
🐛 Fix JSON Schema for `ValidationError` at field `loc` ( #3810 )
...
Co-authored-by: Devin Conathan <dconatha@amfam.com>
2022-04-17 19:41:46 +02:00
Marcelo Trylesinski
d81c908132
🐛 Fix support for prefix on APIRouter WebSockets ( #2640 )
...
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2022-04-17 19:21:53 +02:00
Alan Wright
acf8a91c25
⬆ Upgrade Swagger UI - swagger-ui-dist@4 ( #4347 )
...
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2022-04-17 14:47:14 +00:00
Sebastián Ramírez
26f725d259
🔖 Release version 0.75.1
2022-04-01 18:05:52 -05:00
Sebastián Ramírez
19769d0483
🔖 Release version 0.75.0
2022-03-04 23:09:11 +01:00
Sebastián Ramírez
8a0d4c79c1
✨ Add support for custom `generate_unique_id_function` and docs for generating clients ( #4650 )
2022-03-04 23:02:18 +01:00
Sebastián Ramírez
440d2d2d1a
🔖 Release version 0.74.1
2022-02-21 16:54:18 +01:00
Sebastián Ramírez
f5d7df3c6c
✨ Include route in scope to allow middleware and other tools to extract its information ( #4603 )
2022-02-21 16:51:26 +01:00
Sebastián Ramírez
1ce16c2f40
🔖 Release version 0.74.0
2022-02-17 17:08:23 +01:00
Sebastián Ramírez
9d56a3cb59
✨ Update internal `AsyncExitStack` to fix context for dependencies with `yield` ( #4575 )
2022-02-17 13:40:12 +01:00
Sebastián Ramírez
291180bf2d
🔖 Release version 0.73.0
2022-01-23 23:38:51 +01:00
Victor Benichoux
a698908ed6
🐛 Fix bug preventing to use OpenAPI when using tuples ( #3874 )
...
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2022-01-23 23:13:55 +01:00
Sebastián Ramírez
1bf55200a9
✨ Add support for declaring `UploadFile` parameters without explicit `File()` ( #4469 )
2022-01-23 19:14:13 +00:00
Sebastián Ramírez
569afb4378
✨ Add support for tags with Enums ( #4468 )
2022-01-23 18:43:04 +01:00
Sebastián Ramírez
d4608a00cf
🐛 Prefer custom encoder over defaults if specified in `jsonable_encoder` ( #4467 )
...
Co-authored-by: Vivek Sunder <sviveksunder@gmail.com>
2022-01-23 17:32:04 +01:00
Mark
ca5d57ea79
✨ Allow hiding from OpenAPI (and Swagger UI) `Query`, `Cookie`, `Header`, and `Path` parameters ( #3144 )
...
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2022-01-23 16:54:59 +01:00
Sebastián Ramírez
f0388915a8
🔖 Release version 0.72.0
2022-01-16 21:09:10 +01:00
John Riebold
a85aa125d2
✨ Enable configuring Swagger UI parameters ( #2568 )
...
Co-authored-by: Artem Ivanov <artem@worklife.io>
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2022-01-16 20:26:24 +01:00
Sebastián Ramírez
672c55ac62
🔖 Release version 0.71.0
2022-01-07 18:07:59 +01:00
Sebastián Ramírez
3efb4f7edf
🔖 Release version 0.70.1
2021-12-12 12:39:32 +01:00
Sebastián Ramírez
5d80e02ae8
🔖 Release version 0.70.0
2021-10-07 19:34:27 +02:00
Sebastián Ramírez
921b6f742a
🔖 Release version 0.69.0
2021-10-07 18:45:43 +02:00
Thomas Grainger
11d0a08acd
✨ Add support for Trio via AnyIO ( #3372 )
...
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2021-10-06 17:32:11 +02:00
Sebastián Ramírez
378fa4ef75
🔖 Release version 0.68.2
2021-10-05 15:32:18 +02:00
Sebastián Ramírez
7b6e198d31
🔖 Release version 0.68.1
2021-08-24 14:16:09 +02:00
Sebastián Ramírez
20d4834546
✨ Add support for `read_with_orm_mode`, to support SQLModel relationship attributes ( #3757 )
2021-08-24 10:21:05 +00:00
Sebastián Ramírez
717a1ec409
🔖 Release version 0.68.0
2021-07-29 23:03:57 +02:00
Sebastián Ramírez
97fa743ecb
✨ Update OpenAPI models, supporting recursive models and extensions ( #3628 )
2021-07-29 20:59:26 +00:00
Edouard Lavery-Plante
836bb97a2d
✨ Add support for extensions and updates to the OpenAPI schema in path operations ( #1922 )
...
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2021-07-29 22:01:13 +02:00
James Curtin
4eada92883
✨ Import and re-export data structures from Starlette, used by Request properties, on `fastapi.datastructures` ( #1872 )
...
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2021-07-29 17:30:18 +02:00
dkreeft
6f45f43709
✨ Add additonal OpenAPI metadata parameters to `FastAPI` class, shown on the automatic API docs UI ( #1812 )
...
Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com>
Co-authored-by: dkreeft <dkreeft@xccelerated.io>
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2021-07-29 17:10:22 +02:00
Hylke Postma
3b2e891917
✨ Add `description` parameter to all the security scheme classes, e.g. `APIKeyQuery(name="key", description="A very cool API key")` ( #1757 )
...
Co-authored-by: Hylke Postma <h.postma@docuwork.nl>
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2021-07-29 12:30:48 +02:00
Sebastián Ramírez
a0209a0d2c
🔖 Release version 0.67.0
2021-07-21 20:00:39 +02:00
Sebastián Ramírez
684c0077cc
✨ Add support for `dataclasses` in request bodies and `response_model` ( #3577 )
2021-07-21 19:54:08 +02:00
Sebastián Ramírez
96fdfc53cc
✨ Support `dataclasses` in responses ( #3576 )
...
Co-authored-by: amit lissack <amit@opentrons.com>
2021-07-21 14:39:12 +00:00
Marcelo Trylesinski
1ce7258a01
✏️ Fix typo on docstring in datastructures file ( #2887 )
2021-07-21 14:14:34 +02:00
Sebastián Ramírez
0a38c51b9e
🔖 Release 0.66.1
2021-07-19 21:26:52 +02:00
Sebastián Ramírez
7e9d5aacf8
🔖 Release version 0.66.0
2021-07-04 20:59:46 +02:00
Rubikoid
0e0931d308
🐛 Fix include/exclude for dicts in `jsonable_encoder` ( #2016 )
...
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2021-07-04 20:53:40 +02:00
Sebastián Ramírez
dc5a966548
✨ Allow setting the `response_class` to `RedirectResponse` and returning the URL from the function ( #3457 )
2021-07-03 21:51:28 +02:00
Jacob Magnusson
0ed6c92341
🐛 Support custom OpenAPI / JSON Schema fields in the generated output OpenAPI ( #1429 )
...
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2021-07-03 19:15:59 +02:00
Sebastián Ramírez
79f52c76cf
🔖 Release version 0.65.3
2021-07-03 18:33:32 +02:00
Sebastián Ramírez
edf6b2d61f
♻ Assume request bodies contain JSON when no Content-Type header is provided ( #3456 )
2021-07-03 18:25:12 +02:00
Sebastián Ramírez
4d91f978d2
🔖 Release version 0.65.2
2021-06-09 10:17:27 +02:00
Patrick Wang
fa7e3c996e
🐛 Check Content-Type request header before assuming JSON ( #2118 )
...
Co-authored-by: Patrick Wang <patrickkwang@users.noreply.github.com>
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2021-06-07 12:46:18 +02:00
Sebastián Ramírez
43df5d05ed
🔖 Release FastAPI version 0.65.1
2021-05-11 23:19:14 +02:00
Sebastián Ramírez
b890bd1dc5
🔖 Release version 0.65.0
2021-05-10 17:45:21 +02:00
Hannes Küttner
4aed0411e9
⬆️ Upgrade Starlette to 0.14.2, including internal UJSONResponse migrated from Starlette ( #2335 )
2021-05-10 16:09:04 +02:00
Sebastián Ramírez
2a67321130
🔖 Release version 0.64.0
2021-05-07 10:15:26 +02:00
Austin Orr
e10a4375f9
✨ Add support for adding multiple examples in request bodies and path, query, cookie, and header params ( #1267 )
...
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2021-05-05 20:20:56 +02:00
Sebastián Ramírez
4d208b2b90
🎨 Add newly required type annotations for mypy ( #2882 )
...
* ⬆️ Upgrade mypy
* 🎨 Add extra type annotations, now required by mypy
2021-03-01 20:01:50 +01:00
Sebastián Ramírez
e170c86412
🔖 Release version 0.63.0
2020-12-20 20:16:12 +01:00
Sebastián Ramírez
fdb6c9ccc5
✨ Improve type annotations, add support for mypy --strict, internally and for external packages ( #2547 )
2020-12-20 19:50:00 +01:00
Sebastián Ramírez
51e920e2fc
🔖 Release version 0.62.0
2020-11-29 19:36:38 +01:00
Sebastián Ramírez
313bbe802f
✨ Add support for shared/top-level parameters (dependencies, tags, etc) ( #2434 )
...
* ✨ Add Default and DefaultPlaceholder data structures
to handle defaults and overrides
* ✨ Add utils to get values by priority handling DefaultPlaceholders
* ✨ Add support for top-level parameters in FastAPI, APIRouter, include_router
including: prefix, tags, dependencies, deprecated, include_in_schema, responses, default_response_class, callbacks
* ♻️ Update openapi utils to handle DefaultPlaceholder for response_class
* 📝 Update bigger-application example code to use top-level params
and showcase them in APIRouter, FastAPI, include_router
* 📝 Update docs for Bigger Applications, include diagrams, top-level params
* 🔥 Simplify code and docs for callbacks as default_response_class is no longer required
* 📝 Add docs for top-level dependencies, in FastAPI()
* 📝 Add docs reference to top-level dependencies in docs for decorator
* ✅ Update/increase tests for Bigger Applications including shared parameters
* ✅ Add tests for top-level dependencies in FastAPI()
* ✅ Add tests for internal DefaultPlaceholder
* ✅ Update/increase tests for callbacks with top-level parameters
* ✅ Add LOTS of tests covering branches and cases for shared parameters
in top-level FastAPI, path operations, include_router, APIRouter, its path operations, nested include_router, nested APIRouter, and its path operations
* 🎨 Format/reorder parameters for consistency in FastAPI, APIRouter, include_router
2020-11-29 18:32:18 +01:00
Sebastián Ramírez
166088775a
🔖 Release version 0.61.2
2020-11-06 00:04:32 +01:00
John Riebold
b8e6d18385
📌 Relax Swagger UI version pin ( #2089 )
2020-11-05 22:57:16 +01:00
Yurii Karabas
4ce18167e7
🐛 Fix bug overriding custom HTTPException and RequestValidationError from exception_handlers ( #1924 )
2020-11-05 22:21:40 +01:00
Marcelo Trylesinski
b299792ebf
✏️ Fix typo on dependencies utils and cleanup unused variable ( #1912 )
2020-11-05 22:09:17 +01:00
Sebastián Ramírez
e77ea63577
🔖 Release version 0.61.1
2020-08-29 16:30:50 +02:00
Sebastián Ramírez
0dfde6e284
🐛 Fix issues introduced by removing sqlalchemy safeguard in jsonable_encoder ( #1987 )
2020-08-29 14:21:00 +02:00
Sebastián Ramírez
a6897963d5
🔖 Release version 0.61.0
2020-08-09 22:36:47 +02:00
Sebastián Ramírez
cdba8481c2
🔥 Remove old/unused parameter sqlalchemy_safe from jsonable_encoder ( #1864 )
2020-08-09 22:32:59 +02:00
Sebastián Ramírez
e1758d107e
⬆ Require Pydantic > 1.0 ( #1862 )
...
* 🔥 Remove support for Pydantic < 1.0
* 🔥 Remove deprecated skip_defaults from jsonable_encoder and set default for exclude to None, as in Pydantic
* ♻️ Set default of response_model_exclude=None as in Pydantic
* ⬆️ Require Pydantic >=1.0.0 in requirements
2020-08-09 22:17:08 +02:00
Nik
b9a0179a03
✨ Add support for injecting HTTPConnection ( #1827 )
2020-08-09 15:56:41 +02:00
Rupsi Kaushik
5ed48ccdc8
Export WebSocketDisconnect and add example handling disconnections to docs ( #1822 )
...
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2020-08-09 15:52:19 +02:00
Nima Mashhadi M. Reza
da9b5201c4
🔧 Add Flake8 linting ( #1774 )
...
Co-authored-by: nimashadix <nimashadix@pop-os.localdomain>
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2020-08-09 12:54:05 +02:00
Sebastián Ramírez
79e08a2541
🔖 Release version 0.60.2
2020-08-08 20:23:16 +02:00
Sebastián Ramírez
38d8bab770
✨ Raise early when using form data without installing python-multipart ( #1851 )
...
* Check if Form exists and multipart is in virtual environment
* Remove unused import
* Move BodyFieldInfo check to separate helper function
* Fix type UploadFile to File for BodyFieldInfo check
* Working solution. Kind of nasty though.
* Use better method of determing if correct package imported
* Use better method of determing if correct package imported
* Add raising exceptions, update error messages
* Check if Form exists and multipart is in virtual environment
* Move BodyFieldInfo check to separate helper function
* Fix type UploadFile to File for BodyFieldInfo check
* Use better method of determing if correct package imported
* Add raising exceptions, update error messages
* Removed unused import, added comments
Co-authored-by: Christopher Nguyen <chrisngyn99@gmail.com>
* Updated what kind of exception will be thrown
* Add type annotations
Adds annotations to is_form_data
* Fix import order
* Add basic tests
* Fixed Travis tests
* Replace logging with fastapi logger
* Change AttributeError to ImportError to fix exception handling
* Fixing tests
* Catch ModuleNotFoundError first
Fix code coverage
* Update fastapi/dependencies/utils.py
Remove error spaces when printing
Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com>
* Update fastapi/dependencies/utils.py
Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com>
* Removed spaces in error printing
* ♻️ Refactor form data detection
* ✅ Update/increase tests for incorrect multipart install
* 🔥 Remove deprecated Travis (moved to GitHub Actions)
Co-authored-by: yk396 <yk396@cornell.edu>
Co-authored-by: Christopher Nguyen <chrisngyn99@gmail.com>
Co-authored-by: Kai Chen <kaichen120@gmail.com>
Co-authored-by: Chris N <hello@chris-nguyen.me>
Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com>
2020-08-08 09:14:10 +02:00
Henry Betts
7fbe3737bc
🐛 Fix encoding a Pydantic model that inherits from another with json_encoders ( #1769 )
2020-08-03 17:24:29 +02:00
Nima Mashhadi M. Reza
3063ad83ec
⚡ Simplify and improve jsonable_encoder ( #1754 )
...
Co-authored-by: nimashadix <nimashadix@pop-os.localdomain>
2020-08-03 15:30:23 +02:00
Yurii Karabas
55b9faeb48
♻ Simplify code syntax in several places ( #1753 )
...
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2020-08-03 15:16:51 +02:00
Nima Mashhadi M. Reza
3223de5598
🎨 Add typing.Optional to variables that accept None as value ( #1731 )
...
Co-authored-by: nimashadix <nimashadix@pop-os.localdomain>
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2020-08-03 14:29:07 +02:00
Bloodielie
b344cc9415
♻ Refactor and merge for loops in dependant creation ( #1714 )
...
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2020-08-03 10:32:06 +02:00
Bar Harel
f1c5330b65
🐛 Fix app.extra type annotation ( #1659 )
...
Co-authored-by: bar.harel <bar.harel@biocatch.com>
2020-08-03 08:43:04 +02:00
Sebastián Ramírez
f64c448329
🔖 Release version 0.60.1
2020-07-22 08:44:44 +02:00
Sebastián Ramírez
dadd6650ed
📌 Pin Swagger UI temporarily
2020-07-22 08:19:26 +02:00
Sebastián Ramírez
0f54657377
🔖 Release version 0.60.0
2020-07-20 18:26:56 +02:00
JAYATI SHRIVASTAVA
2b47f3e56b
✨ Add support for adding OpenAPI schema for GET requests with a body ( #1626 )
...
* add test for get request body's openapi schema
* 📝 Update docs note for GET requests with body
* ✅ Update test for GET request with body, test it receives the body
* 🔇 Temporary type ignore while it's handled in Pydantic
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2020-07-19 12:17:50 +02:00
Sebastián Ramírez
d60dd1b60e
🔖 Release version 0.59.0
2020-07-10 20:41:35 +02:00
tomarv2
ff6afeaf78
✏ Fix docstring typo for oauth2 utils ( #1621 )
2020-07-10 20:31:15 +02:00
Rupsi Kaushik
70a51b3aff
✨ Auto-generate OpenAPI servers from root_path ( #1596 )
...
* root_path included in servers object instead of path prefix
* ♻️ Refactor implementation of auto-including root_path in OpenAPI servers
* 📝 Update docs and examples for Behind a Proxy, including servers
* 📝 Update Extending OpenAPI as openapi_prefix is no longer needed
* ✅ Add extra tests for root_path in servers and root_path_in_servers=False
* 🍱 Update security docs images with relative token URL
* 📝 Update security docs with relative token URL
* 📝 Update example sources with relative token URLs
* ✅ Update tests with relative tokens
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2020-07-10 19:28:18 +02:00
Brian Mboya
fe453f80ed
⬆ Upgrade isort to version 5.x.x ( #1670 )
...
* Update isort script to match changes in the new release, isort v5.0.2
* Downgrade isort to version v4.3.21
* Add an alternative flag to --recursive in isort v5.0.2
* Add isort config file
* 🚚 Import from docs_src for tests
* 🎨 Format dependencies.utils
* 🎨 Remove isort combine_as_imports, keep black profile
* 🔧 Update isort config, use pyproject.toml, Black profile
* 🔧 Update format scripts to use explicit directories to format
otherwise it would try to format venv env directories, I have several with different Python versions
* 🎨 Format NoSQL tutorial after re-sorting imports
* 🎨 Fix format for __init__.py
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2020-07-09 20:06:12 +02:00
Sebastián Ramírez
3ff504f03f
🔖 Release version 0.58.1
2020-06-28 23:48:30 +02:00
Dmytro Petruk
39766d0f96
🐛 Fix link in warning logs ( #1611 )
...
Co-authored-by: Dmytro Petruk <petruk@ebu.ch>
2020-06-28 23:37:42 +02:00