Rupsi Kaushik
3699e17212
✨ Implement __repr__ methods for path parameters to simplify debugging ( #1560 )
...
* repr description added to Depends class
* repr description added to Security subclass
* get rid of __repr__ in security since it will inherit from super
* make code format consistent with rest
* add desc for rest of the classes
* Update fastapi/params.py
remove trailing whitespace
Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com>
* Implement __repr__
* fix formatting
* formatting again
* ran formatting
* added basic testing
* basic tests added to rest of the classes
* added more test coverage and simplified test file
Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com>
Co-authored-by: Jayati Shrivastava <gaurijove@gmail.com>
2020-06-13 01:22:30 +02:00
Sebastián Ramírez
8231fbede4
🔖 Release version 0.56.1
2020-06-13 01:17:06 +02:00
kota matsuoka
a0ab47e89e
🎨 Remove unused f-string ( #1526 )
2020-06-13 00:56:00 +02:00
Micah Rosales
b90bf2da9e
🐛 Fix callable class generator dependencies ( #1365 )
...
* Fix callable class generator dependencies
* workaround to support asynccontextmanager backfill for pre python3.7
Co-authored-by: Micah Rosales <mrosales@users.noreply.github.com>
2020-06-12 22:57:59 +02:00
Dylan Anthony
2351fb5623
🔇 Remove error log when parsing malformed JSON body as it's a client error ( #1351 )
2020-06-12 22:44:40 +02:00
Nik
d66d8379c0
🐛 Fix OpenAPI generation when using callbacks with routers including Pydantic models ( #1322 )
...
* drop model class from additional responses when generating openapi
* ♻️ Copy response to be mutated early in get_openapi_path
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2020-06-12 22:35:59 +02:00
Kazantcev Andrey
434d32b891
⚡ Optimize regexp pattern in get_path_param_names ( #1243 )
2020-06-12 21:59:32 +02:00
Sebastián Ramírez
072c2bc7f9
🔖 Release version 0.56.0
2020-06-12 00:22:17 +02:00
Ingmar Steen
2f478eeca6
✨ Add support for ASGI root_path for openapi docs ( #1199 )
...
* Use ASGI root_path when it is provided and openapi_prefix is empty.
* Strip trailing slashes from root_path.
* Please mypy.
* Fix extending openapi test.
* 📝 Add docs and tutorial for using root_path behind a proxy
* ♻️ Refactor application root_path logic, use root_path, deprecate openapi_prefix
* ✅ Add tests for Behind a Proxy with root_path
* ♻️ Refactor test
* 📝 Update/add docs for Sub-applications and Behind a Proxy
* 📝 Update Extending OpenAPI with openapi_prefix parameter
* ✅ Add test for deprecated openapi_prefix
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2020-06-11 23:53:19 +02:00
Sebastián Ramírez
8d844bc5cf
🔖 Release version 0.55.1
2020-05-23 18:59:14 +02:00
Sebastián Ramírez
5984233223
🐛 Fix Enum handling with their own schema definitions ( #1463 )
...
* 🐛 Fix extra support for enum with its own schema
* ✅ Fix/update test for enum with its own schema
* 🐛 Fix type declarations
* 🔧 Update format and lint scripts to support locally installed Pydantic and Starlette
* 🐛 Add temporary type ignores while enum schemas are merged
2020-05-23 18:56:18 +02:00
Sebastián Ramírez
98bb9f13da
🔖 Release version 0.55.0
2020-05-23 16:06:32 +02:00
Sebastián Ramírez
f7eea768f6
🔖 Release 0.54.2
2020-05-16 21:00:28 +02:00
Sebastián Ramírez
409264960e
✨ Allow disabling docs UIs by disabling OpenAPI ( #1421 )
...
* ✨ Allow disabling docs UIs by disabling openapi_url
* 📝 Add docs for disabling OpenAPI and docs in prod or other environments
* ✅ Add tests for disabling OpenAPI and docs
2020-05-16 17:45:12 +02:00
Sebastián Ramírez
d4f3ca1c1b
🔖 Release 0.54.1
2020-04-08 07:51:26 +02:00
Sebastián Ramírez
7372f6ba11
🔖 Release version 0.54.0
2020-04-05 16:50:16 +02:00
voegtlel
3397d4d69a
✨ Implement response_model_exclude_defaults and response_model_exclude_none ( #1166 )
...
* Implemented response_model_exclude_defaults and response_model_exclude_none to be compatible pydantic options.
* 🚚 Rename and invert include_none to exclude_none to keep in sync with Pydantic
Co-authored-by: Lukas Voegtle <lukas.voegtle@sick.de>
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2020-04-05 15:04:46 +02:00
Sebastián Ramírez
6e1cd45a46
🔖 Release version 0.53.2
2020-03-30 21:49:50 +02:00
Toan Vuong
90afc72e64
🐛 Fix automatic embedding with dependencies and sub-dependencies ( #1079 )
...
* Handle automatic embedding with Depends
* 🐛 Fix body embeds for sub-dependencies and simplify implementation
* ✅ Add/update tests for body embeds in dependencies
* 👷 Trigger Travis
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2020-03-30 21:44:43 +02:00
amitlissack
02441ff031
🐛 Fix dependency overrides in WebSockets ( #1122 )
...
* add tests to test_ws_router to test dependencies and dependency overrides.
* supply dependency_overrides_provider to APIWebSocketRoute upon creation
2020-03-30 20:45:05 +02:00
Sebastián Ramírez
e6b3b994be
🔖 Release version 0.53.1
2020-03-29 22:08:54 +02:00
voegtlel
0f152b4e97
🐛 Check already cloned fields in create_cloned_field to support recursive models ( #1164 )
...
* FIX : #894
Include recursion check for create_cloned_field.
Added test for recursive model.
* ♻️ Refactor and format create_cloned_field()
Co-authored-by: Lukas Voegtle <lukas.voegtle@sick.de>
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2020-03-29 19:26:29 +02:00
Sebastián Ramírez
56e43ba204
🔖 Release version 0.53.0
2020-03-27 17:56:41 +01:00
adg-mh
1f53fef70a
✏️ Update doc string with correct class name ( #1126 )
2020-03-27 17:18:23 +01:00
juhovh-aiven
aea04ee32e
🐛 Fix exclude_unset and aliases in response model validation ( #1074 )
...
* Fix exclude_unset and aliases in response model validation.
* ✨ Use by_alias from param 🤷
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2020-03-27 16:19:17 +01:00
Sebastián Ramírez
025b38df40
🔖 Release version 0.52.0
2020-03-01 22:34:38 +01:00
Sebastián Ramírez
94ee932351
✨ Add ORJSONResponse ( #1065 )
...
* ✨ Add ORJSONResponse
* 📝 Add tutorial using ORJSONResponse
* ✅ Add test for ORJSONResponse
* 📝 Update index.md
2020-03-01 22:30:58 +01:00
Sebastián Ramírez
cf760d6802
🔖 Release version 0.51.0
2020-03-01 22:02:51 +01:00
Sebastián Ramírez
0ac9b3ee5c
✨ Re-export utils from Starlette ( #1064 )
...
* ✨ Re-export main features used from Starlette to simplify developer's code
* ♻️ Refactor Starlette exports
* ♻️ Refactor tutorial examples to use re-exported utils from Starlette
* 📝 Add examples for all middlewares
* 📝 Add new docs for middlewares
* 📝 Add examples for custom responses
* 📝 Extend docs for custom responses
* 📝 Update docs and add notes explaining re-exports from Starlette everywhere
* 🍱 Update screenshot for HTTP status
* 🔧 Update MkDocs config with new content
* ♻️ Refactor tests to use re-exported utils from Starlette
* ✨ Re-export WebSocketDisconnect from Starlette for tests
* ✅ Add extra tests for extra re-exported middleware
* ✅ Add tests for re-exported responses from Starlette
* ✨ Add docs about mounting WSGI apps
* ➕ Add Flask as a dependency to test WSGIMiddleware
* ✅ Test WSGIMiddleware example
2020-03-01 21:49:20 +01:00
Sebastián Ramírez
f2bd2c44e2
🔖 Release version 0.50.0
2020-02-29 21:49:09 +01:00
Sebastián Ramírez
4e8080f290
📌 Upgrade Starlette version ( #1057 )
2020-02-29 21:28:23 +01:00
Sebastián Ramírez
d4ddf4e62a
🔖 Release 0.49.2
2020-02-29 18:19:52 +01:00
Patrick McKenna
e26f94018c
♻️ Refactor serialize_response parameter name ( #1031 )
2020-02-29 17:33:02 +01:00
sm-Fifteen
1ce67887b9
♻️ Refactor function calling a path operation function to simplify profiling ( #1027 )
2020-02-29 17:28:30 +01:00
Patrick McKenna
afad59dfbb
🐛 Admit valid types for Pydantic fields as responses models ( #1017 )
2020-02-29 14:04:35 +01:00
Sebastián Ramírez
9958d93120
🔖 Release 0.49.1
2020-02-28 22:48:03 +01:00
merowinger92
74c4d1c1db
🐛 Fix declaring a single parameter per name ( #994 )
2020-02-28 22:36:30 +01:00
Sebastián Ramírez
9c3c9b6e78
🔖 Release version 0.49.0
2020-02-16 21:11:28 +01:00
Patrick McKenna
3c1803897f
🐛 Fix path encoding ( #978 )
2020-02-16 21:06:41 +01:00
Sebastián Ramírez
e0c3519b94
✨ Allow callables (as functools.partial) in path operations ( #977 )
2020-02-12 21:36:14 +01:00
Sebastián Ramírez
d91b2b3ee8
🔖 Release version 0.48.0
2020-02-04 05:43:07 +01:00
Sebastián Ramírez
2e0a102565
🔇 Log email-validator not installed only when used ( #946 )
2020-02-04 05:31:01 +01:00
David Montague
c425509d57
🐛 Fix body parsing ( #918 )
2020-02-04 05:01:59 +01:00
李冬冬
a448bd63bd
🐛 Allow Any type for enums in OpenAPI ( #906 )
2020-02-04 04:37:47 +01:00
Andy Smith
70bdade23b
🐛 Fix Pydantic field clone logic with validators ( #899 )
2020-02-04 04:03:51 +01:00
Sebastián Ramírez
b307d38897
♻️ Update default API title from "Fast API" to "FastAPI" for consistency ( #890 )
2020-01-18 19:07:42 +01:00
Sebastián Ramírez
a085898309
🔖 Release version 0.47.1
2020-01-18 18:06:47 +01:00
Sebastián Ramírez
75a07f24bf
🔒 Fix clone field implementation to handle sub-models in response_model ( #889 )
2020-01-18 18:03:51 +01:00
Sebastián Ramírez
7cea84b74c
🐛 Fix FastAPI serialization of Pydantic ORM mode blocking the event loop ( #888 )
2020-01-18 17:32:57 +01:00
Sebastián Ramírez
3a5158a784
🔖 Release version 0.47.0
2020-01-18 17:14:59 +01:00
Nik
874d24181e
🐛 Fix validating form params declared with classes (list, tuple, set, etc) ( #856 )
2020-01-17 12:45:55 +01:00
Aviram Hassan
5db99a27cf
✨ add body to RequestValidationError for easier debugging ( #853 )
2020-01-17 12:37:44 +01:00
Sebastián Ramírez
a9673f145a
🔖 Release version 0.46.0
2020-01-08 23:28:03 +01:00
Jesse P. Johnson
91fe90e8e6
✨ Implement OAuth2 authorization_code integration ( #797 )
2020-01-08 22:47:19 +01:00
James Kaplan
cb1410426e
🐛 Fix callback handling in sub-routers ( #792 )
2020-01-08 22:22:14 +01:00
Roald Storm
b85b2e3942
✨ Add support for subtypes of main types in jsonable_encoder
2020-01-08 21:50:21 +01:00
Sebastián Ramírez
c7c69586ae
🔖 Release version 0.45.0
2019-12-11 18:05:19 +01:00
Ben Dayan
73260971b5
✨ Add support for OpenAPI Callbacks ( #722 )
2019-12-11 17:58:00 +01:00
Sebastián Ramírez
83d04df8a6
🔊 Refactor logging ( #781 )
2019-12-09 20:02:44 +01:00
Sebastián Ramírez
90236c8135
🔖 Release version 0.44.1
2019-12-05 00:17:04 +01:00
dmontagu
19c77e35bd
🐛 Fix issue with exotic pydantic error serialization ( #748 )
2019-11-29 07:02:10 +01:00
Sebastián Ramírez
cc4c13e4ae
🔖 Release 0.44.0, with support for Pydantic v1 and above! 🎉
2019-11-27 22:16:29 +01:00
Stéphane Wirtel
e04bae2286
🐛 Fix the usage of custom_encoder for jsonable_encoder #714 ( #715 )
2019-11-27 21:23:23 +01:00
François Voron
f3ddc7bdeb
🐛 Allow async class methods as dependencies ( #681 )
2019-11-27 20:51:30 +01:00
dmontagu
ab2b86fe2c
✨ Add support for Pydantic v1 and above 🎉 ( #646 )
...
* Make compatible with pydantic v1
* Remove unused import
* Remove unused ignores
* Update pydantic version
* Fix minor formatting issue
* ⏪ Revert removing iterate_in_threadpool
* ✨ Add backwards compatibility with Pydantic 0.32.2
with deprecation warnings
* ✅ Update tests to not break when using Pydantic < 1.0.0
* 📝 Update docs for Pydantic version 1.0.0
* 📌 Update Pydantic range version to support from 0.32.2
* 🎨 Format test imports
* ✨ Add support for Pydantic < 1.2 for populate_validators
* ✨ Add backwards compatibility for Pydantic < 1.2.0 with required fields
* 📌 Relax requirement for Pydantic to < 2.0.0 🎉 🚀
* 💚 Update pragma coverage for older Pydantic versions
2019-11-27 20:32:02 +01:00
Sebastián Ramírez
90a5796b94
🔖 Release 0.43.0
2019-11-24 18:56:11 +01:00
James Addison
4e50f53459
🐛 Fixing validator-caused incorrect output key order ( #637 )
2019-11-24 14:23:33 +01:00
Daniel Brotsky
c7902dd23a
✨ Generate correct OpenAPI docs for responses with no content ( #621 )
2019-11-24 14:15:39 +01:00
François Voron
8609beb9ab
🚨 Fix black linting ( #682 )
2019-11-23 22:43:43 +01:00
Sebastián Ramírez
65536cbf63
🔖 Release version 0.42.0: Answer to the Ultimate Question of Life, the Universe, and Everything
2019-10-09 13:16:45 -05:00
Sebastián Ramírez
3f9f4a0f8f
✨ Add dependencies with yield (used as context managers) ( #595 )
...
* ➕ Add development/testing dependencies for Python 3.6
* ✨ Add concurrency submodule with contextmanager_in_threadpool
* ✨ Add AsyncExitStack to ASGI scope in FastAPI app call
* ✨ Use async stack for contextmanager-able dependencies
including running in threadpool sync dependencies
* ✅ Add tests for contextmanager dependencies
including internal raise checks when exceptions should be handled and when not
* ✅ Add test for fake asynccontextmanager raiser
* 🐛 Fix mypy errors and coverage
* 🔇 Remove development logs and prints
* ✅ Add tests for sub-contextmanagers, background tasks, and sync functions
* 🐛 Fix mypy errors for Python 3.7
* 💬 Fix error texts for clarity
* 📝 Add docs for dependencies with yield
* ✨ Update SQL with SQLAlchemy tutorial to use dependencies with yield
and add an alternative with a middleware (from the old tutorial)
* ✅ Update SQL tests to remove DB file during the same tests
* ✅ Add tests for example with middleware
as a copy from the tests with dependencies with yield, removing the DB in the tests
* ✏️ Fix typos with suggestions from code review
Co-Authored-By: dmontagu <35119617+dmontagu@users.noreply.github.com>
2019-10-09 13:01:58 -05:00
Sebastián Ramírez
5592fa0f6f
🔖 Release version 0.41.0
2019-10-07 06:44:07 -05:00
Sebastián Ramírez
6c7da43e51
⬆️ Upgrade Starlette to 0.12.9 and add State ( #593 )
2019-10-05 13:17:15 -05:00
dmontagu
8c3ef76139
✨ Add better support for request body access/manipulation with custom classes ( #589 )
2019-10-04 19:23:34 -05:00
dmontagu
dd963511d6
🐛 Fix preserving route_class when calling include_router ( #538 )
2019-10-04 16:35:20 -05:00
Sebastián Ramírez
fdb6d43e10
🔖 Release 0.40.0
2019-10-04 15:38:03 -05:00
dmontagu
5fd83c5fa4
✨ Sort schemas alphabetically ( #554 )
...
Modify openapi spec generation to include schemas in alphabetical order.
2019-10-04 15:08:41 -05:00
svalouch
c7dc26b760
✨ Allow docstrings to be truncated before being used for OpenAPI ( #556 )
2019-10-04 15:02:40 -05:00
Trim21
4cea311e6e
🐛 Fix doctype in docs ( #537 )
2019-10-03 19:35:44 -05:00
tsouvarev
3dbbecdd16
🐛 Fix setting 4XX overriding default 422 validation errors( #517 )
2019-10-03 19:08:29 -05:00
Zamir Amir
8505b716af
✨ Add support for setting Swagger UI initOAuth configs (clientId, appName) ( #499 )
2019-10-03 18:41:04 -05:00
Sebastián Ramírez
78272ac1f3
🔖 Release 0.39.0
2019-09-29 17:17:44 -05:00
jonathanunderwood
b20b2218cd
✨ Allow defaults in path parameters (and don't use them) ( #450 ) ( #464 )
...
This allows using parameters that can have defaults (e.g. `None`) that can be used as query parameters.
But can also be used in routers with that include those parameters as part of the path.
2019-09-29 17:03:16 -05:00
toppk
f803c77515
✨ Add support for specifying a default_response_class ( #467 )
2019-09-29 16:47:35 -05:00
dmontagu
d8fe307d61
✨ Add support for strings and __future__ type annotations ( #451 )
...
* Add support for strings and __future__ annotations
* Add comments indicating reason for string annotations
* Fix ignores (including removing some unused ignores)
2019-09-29 16:19:09 -05:00
Sebastián Ramírez
580cf8f4e2
🔖 Release 0.38.1
2019-09-01 07:56:37 -05:00
Kamal Gill
4642f63a1e
🐛 Use proper import for Request -- fixes #492 ( #493 )
2019-09-01 07:51:42 -05:00
Sebastián Ramírez
203e10596f
🔖 Release version 0.38.0.Support for Pydantic 0.32.2 and Starlette 0.12.8
2019-08-30 20:40:50 -05:00
dmontagu
fc7d123347
⬆️ Upgrade support to Pydantic version 0.32.2 (breaking change) ( #463 )
2019-08-30 19:30:03 -05:00
Sebastián Ramírez
53da56146e
🔖 Release version 0.37.0
2019-08-30 19:10:43 -05:00
dmontagu
c70f3f1198
✨ Add support for custom route class ( #468 )
2019-08-30 19:05:59 -05:00
b1-luettje
c90c4fb6c1
✨ Allow disabling Google fonts in ReDoc ( #481 )
2019-08-30 19:00:55 -05:00
dmontagu
6c6bdb6233
🔒 Ensure `skip_defaults` doesn't cause extra fields to be serialized ( #485 )
2019-08-30 18:56:14 -05:00
dconathan
3025a368c6
✨ Add support and tests for Pydantic dataclasses in response_model ( #454 )
2019-08-30 18:12:15 -05:00
Zoltan Papp
c5817912d2
🐛 use media_type from Body params for OpenAPI requestBody ( Fixes : #431 ) ( #439 )
2019-08-30 17:32:39 -05:00
Zoltan Papp
19c53b21c1
✨ Allow using custom 422 validation error and use media type from response class in schema ( #437 )
...
* media_type of additional responses from the response_class
* Use HTTPValidationError only if a custom one is not defined (Fixes : #429 )
2019-08-30 16:46:05 -05:00
Sebastián Ramírez
55c4b5fb0b
🐛 Fix "default" extra response with extra status codes ( #489 )
...
* 🐛 Fix lowercase "default" extra response
* 🐛 Fix model for responses, to allow "default" plus status codes
* ✅ Add test for "default" extra response
2019-08-30 16:34:47 -05:00
Zoltan Papp
73dbbeab55
✨ Allow additional responses to use status ranges and "default" ( #435 )
2019-08-30 11:17:42 -05:00
Sebastián Ramírez
417a3ab140
🔖 Release 0.36.0
2019-08-26 08:28:33 -05:00
dmontagu
38495fffa5
🐛 Fix skip_defaults implementation when returning a Pydantic model ( #422 )
2019-08-26 08:24:58 -05:00
dmontagu
483eb73b26
🐛 Use caching logic to determine OpenAPI spec for duplicate dependencies ( #417 )
2019-08-24 21:55:25 -05:00
Sebastián Ramírez
e71636e381
🐛 Fix mypy route errors after merging #415 ( #462 )
2019-08-24 20:05:44 -05:00
Vitaliy Kucheryaviy
f7f17fcfd6
✨ Allow empty routed path (issue #414 ) ( #415 )
2019-08-24 19:39:48 -05:00
Sebastián Ramírez
033bc2a6c9
🔖 Release 0.35.0
2019-08-07 14:12:15 -05:00
Pablo Marti
0c55553328
✏️ Fix typo in assert statement ( #419 )
2019-08-07 14:03:11 -05:00
Koudai Aono
06eb421934
Fix request body parsing with Union ( #400 )
2019-08-07 13:55:33 -05:00
Sebastián Ramírez
bf229ad5d8
🔖 Release 0.34.0 upgrading Starlette
2019-08-06 07:22:06 -05:00
Sebastián Ramírez
6bf3ab3b7a
🔖 Release 0.33.0, including Pydantic 0.30.0
2019-07-12 19:01:27 -05:00
James Kaplan
46a986cacf
⬆️ Upgrade Pydantic to 0.30 ( #384 )
...
* bump pydantic to 0.30
* 📌 Pin Pydantic to 0.30 as 0.31 hasn't been released
2019-07-12 18:56:25 -05:00
Sebastián Ramírez
e620aeb46d
🔖 Release 0.32.0, as PR ##347 might be a breaking change
...
in some specific cases
2019-07-12 18:32:30 -05:00
Sebastián Ramírez
d1e2e46b80
🔖 Release 0.31.1
2019-07-12 18:30:54 -05:00
Sebastián Ramírez
508f9ce954
🐛 Fix regression, Swagger UI with deep linking ( #350 )
2019-06-28 20:56:48 +02:00
Sebastián Ramírez
687065509b
🏗️ Fix same function names in different modules with composite bodies ( #347 )
...
* 🏗️ Implement unique IDs for dynamic models
like those used for composite bodies and responses. IDs based on path (not only on function name, as it can be duplicated in a different module).
* ✅ Add tests for same function name and composite body
* ✅ Update OpenAPI in tests with new dynamic model ID generation
2019-06-28 19:35:16 +02:00
Sebastián Ramírez
b30cca8e9e
🔖 Release 0.31.0, upgrading Pydantic to 0.29
2019-06-28 17:01:04 +02:00
Sebastián Ramírez
54368e7b22
🔖 Release 0.30.1
2019-06-28 09:39:29 +02:00
Sebastián Ramírez
dcc1e1bcf8
♻️ Refine internal type declarations and logic around them ( #338 )
2019-06-27 20:51:17 +02:00
Sebastián Ramírez
76b6fd5c18
🔖 Release 0.30.0
2019-06-20 12:32:24 +02:00
Sebastián Ramírez
aa84ac8e3e
✨ Implement support for Pydantic's ORM mode ( #322 )
...
* ✨ Implement support for Pydantic's ORM mode
* 🏗️ Re-structure/augment SQL tutorial source using ORM mode
* 📝 Update SQL docs with SQLAlchemy, ORM mode, relationships
* 🔥 Remove unused util in tutorial
* 📝 Add tutorials for simple dict bodies and responses
* 🔥 Remove old SQL tutorial
* ✅ Add/update tests for SQL tutorial
* ✅ Add tests for simple dicts (body and response)
* 🐛 Fix cloning field from original field
2019-06-20 11:31:32 +02:00
dmontagu
87b7a63ff2
🔥 Remove unused regex in routing.py ( #314 )
2019-06-18 13:52:34 +02:00
Eric Du
5b3adfe449
✨ Use default response status reasons in additional responses ( #313 )
...
* default the description of additional response to status reason phrase
* fix 404 description
* fix lint warning
* allow custom response status code
2019-06-18 09:46:57 +02:00
James Kaplan
f0df79aa91
⬆️ Upgrade Pydantic to 0.28 ( #320 )
2019-06-18 09:37:40 +02:00
Sebastián Ramírez
c26f1760d4
🔖 Release 0.29.1
2019-06-13 18:47:43 +02:00
Sebastián Ramírez
6939621730
bug: Fix handling an empty-body request with a required body param ( #311 )
...
* 🐛 Fix solving a required body param from an empty body request
* ✅ Add tests for receiving required body parameters with body not provided
2019-06-13 18:37:48 +02:00
Sebastián Ramírez
7244e4b612
🔖 Release version 0.29.0
2019-06-06 14:31:50 +04:00
Sebastián Ramírez
5f7fe926ab
✨ Add support for Response parameters to set headers, cookies, and status codes ( #294 )
...
* ✨ Add support for declaring a Response parameter to set headers and cookies
* ✅ Add source for docs and tests
* 📝 Add docs for setting headers, cookies and status code
* 📝 Add attribution to Hug for inspiring response parameters
2019-06-06 14:29:40 +04:00
Sebastián Ramírez
5700d65188
🔖 Release 0.28.0
2019-06-05 21:13:32 +04:00
Sebastián Ramírez
bff5dbbf5d
✨ Implement dependency value cache per request ( #292 )
...
* ✨ Add dependency cache, with support for disabling it
* ✅ Add tests for dependency cache
* 📝 Add docs about dependency value caching
2019-06-05 21:00:54 +04:00
Sebastián Ramírez
09cd7c47a1
✨ Implement dependency overrides for testing ( #291 )
...
* ✨ Implement dependency overrides for testing
* ✅ Add docs source tests and extra tests for dependency overrides
* 📝 Add docs for testing dependencies with overrides
2019-06-05 15:43:18 +04:00
Sebastián Ramírez
e2fadcbc90
🔖 Release version 0.27.2
2019-06-03 22:03:24 +04:00
Sebastián Ramírez
c7db2ff858
🐛 Fix path and query parameters receiving dict as valid ( #287 )
...
* 🐛 Fix path and query parameters accepting dict
* ✅ Add several tests to ensure invalid types are not accepted
* 📝 Document (to include tested source) using query params with list
* 🐛 Fix OpenAPI schema in query with list tutorial
2019-06-03 21:59:40 +04:00
Sebastián Ramírez
2a7ef5504a
🔖 Release 0.27.1
2019-06-03 18:44:03 +04:00
Sebastián Ramírez
d262f6e929
🐛 Fix HTTP Bearer security auto-error ( #282 )
2019-06-01 09:57:45 +04:00
Sebastián Ramírez
3ed112e8a9
🐛 Fix type declaration of HTTPException ( #279 )
2019-05-30 19:43:02 +04:00
Sebastián Ramírez
9da626eb2c
🔖 Release version 0.27.0
2019-05-30 17:48:52 +04:00
Sebastián Ramírez
bd407cc4ed
✨ Refactor param extraction using Pydantic Field ( #278 )
...
* ✨ Refactor parameter dependency using Pydantic Field
* ⬆️ Upgrade required Pydantic version with latest Shape values
* ✨ Add tutorials and code for using Enum and Optional
* ✅ Add tests for tutorials with new types and extra cases
* ♻️ Format, clean, and add annotations to dependencies.utils
* 📝 Update tutorial for query parameters with list defaults
* ✅ Add tests for query param with list default
2019-05-30 17:40:43 +04:00
Sebastián Ramírez
83b1a117cc
🔖 Release version 0.26.0
2019-05-29 19:29:44 +04:00
Sebastián Ramírez
62af6e0eeb
✨ Separate Pydantic's ValidationError handler and improve docs for error handling ( #273 )
...
* ✨ Implement separated ValidationError handlers and custom exceptions
* ✅ Add tutorial source examples and tests
* 📝 Add docs for custom exception handlers
* 📝 Update docs section titles
2019-05-29 16:27:55 +04:00
Sebastián Ramírez
703ade7967
🐛 Fix path in path parameters ( #272 )
2019-05-29 13:34:46 +04:00
Sebastián Ramírez
a49d45eaa9
🐛 Fix response_model type to allow List[Model] ( #266 )
2019-05-27 21:56:20 +04:00
Sebastián Ramírez
3986f79029
🔖 Release version 0.25.0
2019-05-27 20:21:03 +04:00
Sebastián Ramírez
7b63bc5551
✨ Add include, exclude, and by_alias to path operation methods ( #264 )
...
* ✨ Make jsonable_encoder's include and exclude receive sequences
* ✨ Add include, exclude, and by_alias to app and router
* ✨ Add and update tutorial code with new parameters
* 📝 Update docs for new parameters and add docs for updating data
* ✅ Add tests for consistency in path operation methods
* ✅ Add tests for new parameters and update tests
2019-05-27 16:08:13 +04:00
William Hayes
d8716f94ae
✨ Add skip_defaults support for path operations (for #242 ) ( #248 )
2019-05-25 19:35:57 +04:00
Sebastián Ramírez
67f8cb3b4f
🔖 Release 0.24.0
2019-05-24 22:48:27 +04:00
James Kaplan
b087246f26
✨ Add support for WebSockets with dependencies, params, etc #166 ( #178 )
2019-05-24 20:41:41 +04:00
Sebastián Ramírez
fc89eb8f81
🔖 Release version 0.23.0
2019-05-21 23:26:28 +04:00
Steinthor Palsson
325edd5f00
✨ Add swagger UI OAuth2 redirect page for implicit/code auth flows in API docs ( #198 )
2019-05-21 22:39:58 +04:00
Trim21
01b43e6e25
⚡ Make Swagger UI, ReDoc and OpenAPI handlers be coroutines to improve performance ( #241 )
2019-05-20 18:34:33 +04:00
euri10
f54d8d57a4
✨ Make Swagger UI and ReDoc parameterizable to host offline assets for docs ( #112 )
2019-05-20 11:26:54 +04:00
Sebastián Ramírez
56ab106bbb
🔖 Release version 0.22.0
2019-05-16 18:09:11 +04:00
Sebastián Ramírez
e92b43b5c8
✨ Add parameter dependencies to path operation decorators and include_router ( #235 )
...
* ✨ Implement dependencies in decorator and .include_router
* 📝 Add docs for parameter dependencies
* ✅ Add tests for dependencies parameter
* 🔥 Remove debugging prints in tests
* 📝 Update release notes
2019-05-16 18:07:00 +04:00
euri10
adfbd27100
🐛 Fix OpenAPI URL format for Starlette convertors ( #234 )
2019-05-16 17:55:14 +04:00
Sebastián Ramírez
ca27317b65
✨ Add param functions, to override types, to make mypy happy ( #226 )
2019-05-15 21:25:11 +04:00
Sebastián Ramírez
7b2993682f
🔖 Release 0.21.0
2019-05-15 14:54:46 +04:00
Ricardo Momm
b0b88f9d5b
🔊 Raise from previous exception ( #195 )
2019-05-15 14:50:58 +04:00
euri10
f541d2c200
✨ Use a logger instead of the root logging ( #222 )
2019-05-15 14:43:31 +04:00
Derek J. Lambert
4a1648b04e
✏️ Minor spelling fix in routing ( #221 )
2019-05-14 22:04:18 +04:00
Sebastián Ramírez
5189c93d85
🔖 Release 0.20.1
2019-05-11 19:38:08 +04:00
Steve B
d675991a34
✨ add py.typed to ship typing information ( #209 )
...
As described in https://www.python.org/dev/peps/pep-0561/
2019-05-11 13:43:47 +04:00
Sebastián Ramírez
7f673cf4e9
🔖 Release 0.20.0
2019-04-27 17:51:31 +04:00
Sebastián Ramírez
3797c04946
✨ Use 401 with WWW-Authenticate for OAuth2 and add scope_str ( #188 )
2019-04-27 17:00:56 +04:00
Sebastián Ramírez
8e3a7699a3
🔖 Release 0.19.0
2019-04-26 13:48:30 +04:00
Sebastián Ramírez
192ebba2a2
♻️ Rename parameter content_type to response_class ( #183 )
2019-04-26 13:11:16 +04:00
Sebastián Ramírez
8880c4cb03
🔖 Release 0.18.0
2019-04-22 21:08:43 +04:00
Sebastián Ramírez
f216d340ec
✨ Add automatic header handling for HTTP Basic Auth ( #175 )
...
* ✨ Add automatic header handling for HTTP Basic Auth
* 🎨 Remove obsolete comment
2019-04-21 21:44:25 +04:00
Sebastián Ramírez
aa7b4bd101
🔖 0.17.0
2019-04-20 22:12:55 +04:00
Sebastián Ramírez
9e748dbca4
✨ By default, encode by alias ( #168 )
2019-04-20 20:29:54 +04:00
Sebastián Ramírez
cefe6cf92c
🔖 Release version 0.16.0
2019-04-16 23:28:13 +04:00
Sebastián Ramírez
546d233dec
♻️ Update Pydantic usage, types, values, minor structure changes ( #164 )
2019-04-16 23:26:09 +04:00
Sebastián Ramírez
61dd36a945
✨ Upgrade docstring Markdown parsing ( #163 )
...
* ✨ Upgrade docstring Markdown parsing
* 📝 Update release notes
2019-04-16 22:49:18 +04:00
Sebastián Ramírez
4c3cf31730
🔖 Release 0.15.0, multi-file uploads
2019-04-14 22:14:20 +04:00
Sebastián Ramírez
aad6b123f7
✨ Add support for multi-file uploads ( #158 )
2019-04-14 22:12:14 +04:00
Sebastián Ramírez
08484603ee
🔖 Release 0.14.0
2019-04-12 21:56:22 +04:00
Sebastián Ramírez
88ece95a30
🎨 Improve automatic naming of path operations in API docs ( #155 )
...
* 🎨 Improve operation summary naming
* 📝 Update names in README
* 🚚 Improve names of security tutorial
2019-04-12 21:25:26 +04:00
William Hayes
500f2b2ad4
✨ Add deeplinking to Swagger UI ( #148 )
...
Update the Swagger UI docs to deep link to path operations to share them more easily.
2019-04-12 11:49:32 +04:00
Sebastián Ramírez
1b8bbd51d8
🔖 Release 0.13.0
2019-04-09 23:38:11 +04:00
Sebastián Ramírez
7391056daf
✨ Add OAuth2 scopes with SecurityScopes, upgrade Security ( #141 )
...
* ✨ Upgrade OAuth2 Security with scopes handling
* 📝 Update Security tutorial with OAuth2 and JWT
* ✨ Add tutorial code for OAuth2 with scopes (and JWT)
* ✅ Add tests for tutorial/OAuth2 with scopes
* 🐛 Fix security_scopes type declaration
* ✨ Add docs and tests for SecurityScopes
2019-04-09 23:29:04 +04:00
Sebastián Ramírez
6a274d18b4
🔖 Release 0.12.1, fix responses in include_router
2019-04-05 20:08:36 +04:00
Sebastián Ramírez
c8df3ae57c
🐛 Fix handling additional responses in include_router ( #140 )
2019-04-05 20:06:40 +04:00
Sebastián Ramírez
e68a68c97c
🔖 Release 0.12.0, add additional responses
2019-04-05 14:35:01 +04:00
Sebastián Ramírez
ad471307e2
✨ Additional Responses ( #97 )
...
Add additional responses to OpenAPI, including Pydantic models or schemas directly, custom status codes, media types, extending `response_model`, etc.
2019-04-05 14:18:28 +04:00
Sebastián Ramírez
2bd775988f
✨ Add/refactor addditional responses, tests, docs
2019-04-05 13:54:00 +04:00
Sebastián Ramírez
c59ddc8a24
🔖 Release 0.11.0
2019-04-03 15:51:44 +04:00
Sebastián Ramírez
fad3a9e1dc
✨ Add auto_error to security utils ( #134 )
...
to allow them to be optional, also allowing the declaration of multiple security schemes
2019-04-03 15:44:52 +04:00
Sebastián Ramírez
deff2b6678
🔖 Release 0.10.3
2019-03-30 21:54:00 +04:00
yihuang
f806ba642a
🔥 Remove repeated param declaration ( #123 )
2019-03-30 21:07:41 +04:00
Sebastián Ramírez
825f397918
🔖 Release 0.10.2
2019-03-29 15:17:34 +04:00
Sebastián Ramírez
b7d184363f
🐛 Fix JSON Schema of additional properties ( #121 )
...
#87
2019-03-29 15:15:49 +04:00
Sebastián Ramírez
b0f7961b65
🔖 Release 0.10.1: support for encode/databases
2019-03-25 22:21:59 +04:00
Sebastián Ramírez
5a6e47bd49
🔖 Release 0.10.0: BackgroundTasks and websockets fix
2019-03-24 23:37:37 +04:00
Sebastián Ramírez
9b04593260
✨ Add support for BackgroundTasks parameters ( #103 )
...
* ✨ Add support for BackgroundTasks parameters
* 🐛 Fix type declaration in dependencies
* 🐛 Fix coverage of util in tests
2019-03-24 23:33:35 +04:00
euri10
6d77e2ac5f
✨ Add websocket to APIRouter ( #100 )
...
* Add websocket to APIRouter
* Restore upstream/master Pipfile.lock (git checkout upstream/master -- Pipfile.lock)
* Added tests for router with a prefix
2019-03-24 23:18:20 +04:00
Mohammed
eda9b28338
files formatting
2019-03-23 13:10:45 +03:00
Mohammed
7514ac6fb0
100% test coverage
2019-03-23 13:01:53 +03:00
Mohammed
65568065e0
Remove extra code.
2019-03-23 00:47:32 +03:00
Mohammed
95679ca5e6
Fix: adding additional_responses on `.include_router()`
2019-03-23 00:37:10 +03:00
Mohammed
84a300ef84
Formatting according to guide
2019-03-22 22:54:48 +03:00
Mohammed
c6d28c8209
Accept Multiple Additional Responses
2019-03-22 22:50:47 +03:00
Mohammed
aa0bca7bb2
Additional Responses implementation
2019-03-22 22:40:07 +03:00
Sebastián Ramírez
9778542ba6
🔖 Release 0.9.1, multi value/duplicate query/header
2019-03-22 21:52:37 +04:00
Sebastián Ramírez
4f852878d6
🔖 Release 0.9.0, compatible with latest Pydantic
2019-03-22 16:29:33 +04:00
Sebastián Ramírez
108c2f3c0e
⬆️ Update Pydantic to 0.21.0 ( #90 )
...
* ⬆️ Upgrade Pydantic and others (isort), update docs after changes by isort
* 🎨 Format with newest isort, update type hints in jsonable_encoder
* 🔧 Update test script, to avoid Pydantic type errors
* ⬆️ Update pyproject.toml with latest Pydantic
2019-03-21 18:40:29 +04:00
Sebastián Ramírez
a174f01901
🔖 Release version 0.8.0
2019-03-16 21:24:26 +04:00
euri10
11c755bee3
✨ Add tags parameter to app.include_router ( #55 )
2019-03-16 21:15:08 +04:00
Sebastián Ramírez
1112ac7538
⬆️ Update imports and scripts for new isort versions ( #75 )
2019-03-09 15:04:13 +04:00
Sebastián Ramírez
ac2b18bf40
🔖 Release 0.7.1, Raspberry Pi deployment and docs
2019-03-04 20:07:11 +04:00
Sebastián Ramírez
c14ec50f73
🔖 Release 0.7.0, with support for UploadFile
2019-03-03 21:06:42 +04:00
Sebastián Ramírez
0b9fe62a10
Add support for UploadFile class annotations ( #63 )
...
* ✨ Add support for UploadFile annotations
* 📝 Update File upload docs with FileUpload class
* ✅ Add tests for UploadFile support
* 📝 Update UploadFile docs
2019-03-03 20:52:37 +04:00
Sebastián Ramírez
1f03e85f06
🔖 Release 0.6.4
2019-03-02 22:33:48 +04:00
Sebastián Ramírez
daaf654868
🔖 Release 0.6.3: favicons in docs
2019-02-24 01:49:04 +04:00
Sebastián Ramírez
8e1ecaf221
💄 Add FastAPI favicons to docs ( #53 )
2019-02-24 01:31:50 +04:00
Sebastián Ramírez
9940c1511e
🔖 Release 0.6.2, SQL tutorial improvements and project generator
2019-02-24 01:09:49 +04:00
Sebastián Ramírez
4473e6a096
🔖 Release 0.6.1: GraphQL
2019-02-20 21:59:24 +04:00
Sebastián Ramírez
0ed55eb7d3
🔖 Release 0.6.0, upgrade Starlette, improve SQLAlchemy compatibility
2019-02-19 21:20:32 +04:00
Sebastián Ramírez
ba10838c30
⬆️ Upgrade Starlette and fix compatibility ( #44 )
2019-02-19 20:27:48 +04:00
Sebastián Ramírez
88b31e6a4d
🔖 Release 0.5.1: docs
2019-02-18 22:52:03 +04:00
Sebastián Ramírez
894e131e03
🔖 Release 0.5.0 with new HTTPException
2019-02-16 17:06:31 +04:00
Sebastián Ramírez
8772e2f2ee
✨ Add HTTPException with custom headers ( #35 )
...
* 📝 Update Release Notes with issue templates
* ✨ Add HTTPException with support for headers
Including docs and tests
* 📝 Update Security docs to use new HTTPException
2019-02-16 17:01:29 +04:00
Sebastián Ramírez
acbcbba94f
🔖 Release 0.4.0 with openapi_prefix, #26
2019-02-14 23:04:55 +04:00
Kabir Khan
0ea0d0e82a
Add Open API prefix route - correct docs behind reverse proxy ( #26 )
...
Add Open API prefix route - correct docs behind reverse proxy.
2019-02-14 22:57:49 +04:00
Sebastián Ramírez
7863490c8c
🔖 Release after SQLAlchemy fix: 0.3.0
2019-02-12 23:06:05 +04:00
Sebastián Ramírez
955e9fcb31
Update fix SQLAlchemy support with ORM ( #30 )
...
✨ SQLAlchemy ORM support
Improved jsonable_encoder with SQLAlchemy support, tests running with SQLite, improved and updated SQL docs
* ➕ Add SQLAlchemy to development dependencies (not required for using FastAPI)
* ➕ Add sqlalchemy to testing dependencies (not required to use FastAPI)
2019-02-12 23:02:21 +04:00
Sebastián Ramírez
9484f939ed
🔖 Bump version, after fix, release
2019-02-12 21:46:35 +04:00
Sebastián Ramírez
9745a5d1ae
🐛 Fix jsonable_encoder for models with Config ( #29 )
...
but without json_encoders
2019-02-12 21:43:34 +04:00
Sebastián Ramírez
92c825be6a
🔖 Release 0.2.0
2019-02-08 16:09:48 +04:00
euri10
32438c85f6
Using pydantic custom encoders ( #21 )
...
Add support for Pydantic custom JSON encoders.
2019-02-08 16:06:19 +04:00
Sebastián Ramírez
6d9fc08a7e
🚀 Bump version and add Release Notes
2019-02-01 14:23:20 +04:00
euri10
5c9c088a2a
Upgrade Starlette version ( #17 )
...
Upgrade Starlette version
2019-02-01 14:14:23 +04:00
Sebastián Ramírez
3d2c0993c1
📌 Pin versions of dependencies and bump version
2019-01-23 18:57:48 +04:00
Sebastián Ramírez
e5b341c7dd
🔖 Bump version after fix for constrained bytes
2019-01-05 17:38:59 +04:00
Sebastián Ramírez
577c5a84db
🐛 Fix constrained bytes, from defaults in Pydantic
...
#2
2019-01-05 17:30:27 +04:00
Sebastián Ramírez
3c08b05ea6
🔖 Bump version, after query and header as lists
...
and bug fixes for Python 3.7
2018-12-30 21:46:49 +04:00
Sebastián Ramírez
60599bad99
🐛 Fix Python 3.7 specific list query handling
2018-12-30 21:43:34 +04:00
Sebastián Ramírez
ca0652aebf
🐛 Fix type checks for Python 3.7
2018-12-30 00:14:39 +04:00
Sebastián Ramírez
be957e7c99
✨ Allow lists of query or header params
...
and add tests for them
2018-12-30 00:07:31 +04:00
Sebastián Ramírez
90af868146
✨ Add security checks for HTTP utils
...
and tests for them
2018-12-29 23:04:54 +04:00
Sebastián Ramírez
5278314f2f
🔖 Bump version, new security features and bug fixes
2018-12-28 20:40:40 +04:00
Sebastián Ramírez
4a0316bcfe
🎨 Add missing type definition
2018-12-28 20:39:04 +04:00
Sebastián Ramírez
0393a093d3
✨ Improve security utilities and add tests
2018-12-28 20:35:48 +04:00
Sebastián Ramírez
804ec460fc
⬆️ Add tests, fix issues and update Pydantic
2018-12-28 16:10:29 +04:00
Sebastián Ramírez
098e629344
🔖 Bump version, after changes in OAuth2 utils
2018-12-24 20:21:28 +04:00
Sebastián Ramírez
4a0922ebab
♻️ Update OAuth2 class utilities to be dependencies
2018-12-24 20:20:21 +04:00
Sebastián Ramírez
bc3e7f2bbc
🔖 Version bump, fixing several issues, lots of docs and tests
2018-12-24 09:35:20 +04:00
Sebastián Ramírez
cfb65d0e15
🐛 Fix utility OAuth2PasswordRequestForm to use forms
...
and be used as a dependency
2018-12-24 09:34:28 +04:00
Sebastián Ramírez
510fec9bee
♻️ Refactor jsonable_encoder and test it
...
with nested arbitrary classes
2018-12-22 17:15:04 +04:00
Sebastián Ramírez
a73709507c
✅ Add docs, tests and fixes for extra data types
...
including refactor of jsonable_encoder to allow other object and model types
2018-12-22 14:35:48 +04:00
Sebastián Ramírez
75407b9295
🚨 Fix mypy type errors
2018-12-22 09:05:13 +04:00
Sebastián Ramírez
748dc375db
🐛 Fix Form and File params must always be embeded
...
and add tests for forms and files
2018-12-22 08:24:48 +04:00
Sebastián Ramírez
c25a71e352
🐛 Re-implement check for body as a workaround
...
while encode/starlette#287 is merged
2018-12-22 07:40:56 +04:00
Sebastián Ramírez
b097a538ab
🔖 Bump version, after fix for email_validator and docs
2018-12-21 16:33:45 +04:00
Sebastián Ramírez
d5e782074f
🐛 Fix email_validator error, generated by autoflake
2018-12-21 14:51:17 +04:00