Knowledge

FastAPI

Source 📝

553: 622: 302: 1903: 132: 66: 25: 254: 468:. Technically, it implements a multi-process model with one main process, which is responsible for managing a pool of worker processes and distributing incoming HTTP requests to them. The number of worker processes is pre-configured, but can also be adjusted up or down at runtime. 1972: 1706: 939: 832: 1948: 650: 994: 974: 591: 1977: 1059: 453: 558: 825: 441: 727: 233: 215: 113: 52: 1941: 95: 76: 1376: 818: 153: 146: 477: 1884: 1860: 1840: 1612: 841: 601: 412: 348: 1769: 967: 325: 1987: 1874: 1751: 1718: 1224: 293: 196: 791: 168: 1934: 1826: 1176: 175: 91: 38: 717: 1982: 1856: 1731: 1675: 1297: 1156: 960: 903: 142: 1967: 1759: 1680: 1635: 1351: 1209: 908: 868: 566: 182: 1645: 1386: 1166: 878: 571: 424: 1777: 1685: 1650: 1502: 1311: 1161: 1027: 913: 883: 586: 301: 164: 1542: 1424: 1244: 1064: 355: 1836: 1810: 1741: 1532: 1482: 1194: 1189: 923: 464:
Uvicorn is a minimal low-level server/application web server for async frameworks, following the
444:, Pydantic provides type hints for schema validation and serialization through type annotations. 1880: 1562: 1557: 1434: 1429: 1097: 1042: 723: 1577: 1507: 1381: 1239: 1120: 1112: 1102: 367: 1254: 670: 621: 416: 1918: 1910: 1782: 1670: 1665: 1527: 1279: 1219: 898: 893: 576: 87: 1961: 1736: 1269: 1249: 1214: 1037: 983: 844: 420: 400: 360: 189: 743: 1391: 1316: 1234: 1022: 1017: 44: 1567: 1467: 1439: 1346: 1306: 1130: 1032: 372: 131: 1870: 1866: 1690: 1547: 1497: 1477: 1396: 1326: 1289: 1229: 1074: 1054: 918: 548: 261: 1902: 1797: 1592: 1487: 1301: 1274: 440:
Pydantic is a data validation library for Python. While writing code in an
253: 1914: 1805: 1787: 1630: 1625: 1552: 1356: 1321: 1204: 1199: 863: 858: 465: 810: 1846: 1582: 1522: 1517: 1492: 1462: 1371: 1366: 1361: 1184: 1148: 1138: 1069: 1012: 627: 331: 1830: 1695: 1512: 1472: 1444: 1406: 1401: 1341: 1331: 1264: 1259: 1092: 1049: 928: 655: 631: 581: 427:
documentation for APIs built with it. It was first released in 2018.
1084: 1655: 1597: 1587: 1572: 888: 952: 476:
The following code shows a simple web application that displays "
1726: 1700: 1660: 1620: 1537: 1416: 1336: 1004: 933: 692: 615: 596: 404: 383: 956: 814: 1850: 1602: 1454: 408: 125: 59: 18: 456:
framework/toolkit, to support async functionality in Python.
767: 423:
and deserialize data. FastAPI also automatically generates
722:(2nd ed.). O'Reilly Media, Inc. pp. 397, 418. 1922: 792:"Restarting 'uvicorn' Workers with the 'SIGHUP' Signal" 719:
Introducing Python: Modern Computing in Simple Packages
83: 94:, and by adding encyclopedic content written from a 1819: 1796: 1768: 1750: 1717: 1611: 1453: 1415: 1288: 1175: 1147: 1129: 1111: 1083: 1003: 378: 366: 354: 344: 324: 292: 270: 260: 1942: 968: 826: 8: 1973:Python (programming language) web frameworks 246: 53:Learn how and when to remove these messages 1949: 1935: 975: 961: 953: 833: 819: 811: 620: 415:3.8+. It uses Pydantic and type hints to 300: 245: 234:Learn how and when to remove this message 216:Learn how and when to remove this message 114:Learn how and when to remove this message 592:Comparison of server-side web frameworks 642: 152:Please improve this article by adding 75:contains content that is written like 7: 1899: 1897: 559:Free and open-source software portal 14: 34:This article has multiple issues. 1901: 551: 252: 130: 64: 23: 42:or discuss these issues on the 1978:Software using the MIT license 716:Lubanovic, Bill (2019-11-06). 1: 744:"Why use Pydantic - Pydantic" 602:Python (programming language) 154:secondary or tertiary sources 1921:. You can help Knowledge by 1225:Remote Application Platform 452:Starlette is a lightweight 2004: 1896: 990: 851: 320: 288: 251: 539:"Hello World!" 482: 16:Web framework for Python 1917:-related article is a 567:Django (web framework) 141:relies excessively on 572:Flask (web framework) 307:; 11 days ago 276:; 5 years ago 274:December 5, 2018 96:neutral point of view 697:fastapi.tiangolo.com 587:Tornado (web server) 1827:Application Express 673:. 17 September 2024 305:/ 17 September 2024 248: 88:promotional content 1988:Web software stubs 466:ASGI specification 90:and inappropriate 1930: 1929: 1894: 1893: 950: 949: 748:docs.pydantic.dev 671:"Release 0.115.0" 480:!" when visited: 394: 393: 312:17 September 2024 266:Sebastián Ramírez 244: 243: 236: 226: 225: 218: 200: 124: 123: 116: 57: 1995: 1951: 1944: 1937: 1905: 1898: 1121:ColdBox Platform 977: 970: 963: 954: 835: 828: 821: 812: 806: 805: 803: 802: 788: 782: 781: 779: 778: 772:www.starlette.io 764: 758: 757: 755: 754: 740: 734: 733: 713: 707: 706: 704: 703: 689: 683: 682: 680: 678: 667: 661: 660: 647: 624: 619: 618: 616:Official website 561: 556: 555: 554: 540: 537: 534: 531: 528: 525: 522: 519: 516: 513: 510: 507: 504: 501: 498: 495: 492: 489: 486: 390: 387: 385: 340: 337: 335: 333: 315: 313: 308: 304: 284: 282: 277: 256: 249: 239: 232: 221: 214: 210: 207: 201: 199: 158: 134: 126: 119: 112: 108: 105: 99: 77:an advertisement 68: 67: 60: 49: 27: 26: 19: 2003: 2002: 1998: 1997: 1996: 1994: 1993: 1992: 1958: 1957: 1956: 1955: 1895: 1890: 1820:Other languages 1815: 1792: 1764: 1746: 1713: 1607: 1449: 1411: 1284: 1171: 1143: 1125: 1107: 1079: 999: 986: 981: 951: 946: 847: 839: 809: 800: 798: 790: 789: 785: 776: 774: 766: 765: 761: 752: 750: 742: 741: 737: 730: 715: 714: 710: 701: 699: 691: 690: 686: 676: 674: 669: 668: 664: 649: 648: 644: 640: 614: 613: 610: 557: 552: 550: 547: 542: 541: 538: 535: 532: 529: 526: 523: 520: 517: 514: 511: 508: 505: 502: 499: 496: 493: 490: 487: 484: 474: 462: 450: 438: 433: 407:-based service 382: 330: 316: 311: 309: 306: 280: 278: 275: 271:Initial release 240: 229: 228: 227: 222: 211: 205: 202: 159: 157: 151: 147:primary sources 135: 120: 109: 103: 100: 81: 69: 65: 28: 24: 17: 12: 11: 5: 2001: 1999: 1991: 1990: 1985: 1983:Web frameworks 1980: 1975: 1970: 1960: 1959: 1954: 1953: 1946: 1939: 1931: 1928: 1927: 1906: 1892: 1891: 1889: 1888: 1878: 1864: 1854: 1844: 1834: 1823: 1821: 1817: 1816: 1814: 1813: 1808: 1802: 1800: 1794: 1793: 1791: 1790: 1785: 1780: 1774: 1772: 1766: 1765: 1763: 1762: 1756: 1754: 1748: 1747: 1745: 1744: 1739: 1734: 1729: 1723: 1721: 1715: 1714: 1712: 1711: 1703: 1698: 1693: 1688: 1683: 1678: 1673: 1668: 1663: 1658: 1653: 1648: 1643: 1638: 1633: 1628: 1623: 1617: 1615: 1609: 1608: 1606: 1605: 1600: 1595: 1590: 1585: 1580: 1575: 1570: 1565: 1560: 1555: 1550: 1545: 1540: 1535: 1530: 1525: 1520: 1515: 1510: 1505: 1500: 1495: 1490: 1485: 1480: 1475: 1470: 1465: 1459: 1457: 1451: 1450: 1448: 1447: 1442: 1437: 1432: 1427: 1421: 1419: 1413: 1412: 1410: 1409: 1404: 1399: 1394: 1389: 1384: 1379: 1374: 1369: 1364: 1359: 1354: 1349: 1344: 1339: 1334: 1329: 1324: 1319: 1314: 1309: 1304: 1294: 1292: 1286: 1285: 1283: 1282: 1277: 1272: 1267: 1262: 1257: 1252: 1247: 1242: 1237: 1232: 1227: 1222: 1217: 1212: 1207: 1202: 1197: 1192: 1187: 1181: 1179: 1173: 1172: 1170: 1169: 1164: 1159: 1153: 1151: 1145: 1144: 1142: 1141: 1135: 1133: 1127: 1126: 1124: 1123: 1117: 1115: 1109: 1108: 1106: 1105: 1100: 1095: 1089: 1087: 1081: 1080: 1078: 1077: 1072: 1067: 1062: 1057: 1052: 1047: 1046: 1045: 1040: 1035: 1030: 1025: 1020: 1009: 1007: 1001: 1000: 998: 997: 991: 988: 987: 984:Web frameworks 982: 980: 979: 972: 965: 957: 948: 947: 945: 944: 936: 931: 926: 921: 916: 911: 906: 901: 896: 891: 886: 881: 876: 871: 866: 861: 856: 852: 849: 848: 845:web frameworks 840: 838: 837: 830: 823: 815: 808: 807: 783: 759: 735: 728: 708: 684: 662: 651:"fastapi repo" 641: 639: 636: 635: 634: 625: 609: 608:External links 606: 605: 604: 599: 594: 589: 584: 579: 577:Pylons project 574: 569: 563: 562: 546: 543: 483: 473: 470: 461: 458: 449: 446: 437: 434: 432: 429: 392: 391: 380: 376: 375: 370: 364: 363: 358: 352: 351: 346: 342: 341: 328: 322: 321: 318: 317: 298: 296: 294:Stable release 290: 289: 286: 285: 272: 268: 267: 264: 258: 257: 242: 241: 224: 223: 138: 136: 129: 122: 121: 92:external links 72: 70: 63: 58: 32: 31: 29: 22: 15: 13: 10: 9: 6: 4: 3: 2: 2000: 1989: 1986: 1984: 1981: 1979: 1976: 1974: 1971: 1969: 1968:2018 software 1966: 1965: 1963: 1952: 1947: 1945: 1940: 1938: 1933: 1932: 1926: 1924: 1920: 1916: 1912: 1907: 1904: 1900: 1886: 1882: 1879: 1876: 1872: 1868: 1865: 1862: 1858: 1855: 1852: 1848: 1845: 1842: 1838: 1835: 1832: 1828: 1825: 1824: 1822: 1818: 1812: 1809: 1807: 1804: 1803: 1801: 1799: 1795: 1789: 1786: 1784: 1781: 1779: 1776: 1775: 1773: 1771: 1767: 1761: 1758: 1757: 1755: 1753: 1749: 1743: 1740: 1738: 1737:Ruby on Rails 1735: 1733: 1730: 1728: 1725: 1724: 1722: 1720: 1716: 1709: 1708: 1704: 1702: 1699: 1697: 1694: 1692: 1689: 1687: 1684: 1682: 1679: 1677: 1674: 1672: 1669: 1667: 1664: 1662: 1659: 1657: 1654: 1652: 1649: 1647: 1644: 1642: 1639: 1637: 1634: 1632: 1629: 1627: 1624: 1622: 1619: 1618: 1616: 1614: 1610: 1604: 1601: 1599: 1596: 1594: 1591: 1589: 1586: 1584: 1581: 1579: 1576: 1574: 1571: 1569: 1566: 1564: 1561: 1559: 1556: 1554: 1551: 1549: 1546: 1544: 1541: 1539: 1536: 1534: 1531: 1529: 1526: 1524: 1521: 1519: 1516: 1514: 1511: 1509: 1506: 1504: 1501: 1499: 1496: 1494: 1491: 1489: 1486: 1484: 1481: 1479: 1476: 1474: 1471: 1469: 1466: 1464: 1461: 1460: 1458: 1456: 1452: 1446: 1443: 1441: 1438: 1436: 1433: 1431: 1428: 1426: 1423: 1422: 1420: 1418: 1414: 1408: 1405: 1403: 1400: 1398: 1395: 1393: 1390: 1388: 1385: 1383: 1380: 1378: 1375: 1373: 1370: 1368: 1365: 1363: 1360: 1358: 1355: 1353: 1350: 1348: 1345: 1343: 1340: 1338: 1335: 1333: 1330: 1328: 1325: 1323: 1320: 1318: 1315: 1313: 1310: 1308: 1305: 1303: 1299: 1296: 1295: 1293: 1291: 1287: 1281: 1278: 1276: 1273: 1271: 1268: 1266: 1263: 1261: 1258: 1256: 1253: 1251: 1248: 1246: 1243: 1241: 1238: 1236: 1233: 1231: 1228: 1226: 1223: 1221: 1218: 1216: 1213: 1211: 1208: 1206: 1203: 1201: 1198: 1196: 1193: 1191: 1188: 1186: 1183: 1182: 1180: 1178: 1174: 1168: 1165: 1163: 1160: 1158: 1155: 1154: 1152: 1150: 1146: 1140: 1137: 1136: 1134: 1132: 1128: 1122: 1119: 1118: 1116: 1114: 1110: 1104: 1101: 1099: 1096: 1094: 1091: 1090: 1088: 1086: 1082: 1076: 1073: 1071: 1068: 1066: 1063: 1061: 1058: 1056: 1053: 1051: 1048: 1044: 1041: 1039: 1036: 1034: 1031: 1029: 1026: 1024: 1021: 1019: 1016: 1015: 1014: 1011: 1010: 1008: 1006: 1002: 996: 993: 992: 989: 985: 978: 973: 971: 966: 964: 959: 958: 955: 942: 941: 937: 935: 932: 930: 927: 925: 922: 920: 917: 915: 912: 910: 907: 905: 902: 900: 897: 895: 892: 890: 887: 885: 882: 880: 877: 875: 872: 870: 867: 865: 862: 860: 857: 854: 853: 850: 846: 843: 836: 831: 829: 824: 822: 817: 816: 813: 797: 796:bugfactory.io 793: 787: 784: 773: 769: 763: 760: 749: 745: 739: 736: 731: 729:9781492051367 725: 721: 720: 712: 709: 698: 694: 688: 685: 672: 666: 663: 659:. 2018-12-05. 658: 657: 652: 646: 643: 637: 633: 629: 626: 623: 617: 612: 611: 607: 603: 600: 598: 595: 593: 590: 588: 585: 583: 580: 578: 575: 573: 570: 568: 565: 564: 560: 549: 544: 521:"/" 481: 479: 471: 469: 467: 459: 457: 455: 447: 445: 443: 435: 430: 428: 426: 422: 418: 414: 410: 406: 403:for building 402: 401:web framework 398: 389: 381: 377: 374: 371: 369: 365: 362: 361:Web framework 359: 357: 353: 350: 347: 343: 339: 329: 327: 323: 319: 303: 299:0.115.0  297: 295: 291: 287: 273: 269: 265: 263: 259: 255: 250: 238: 235: 220: 217: 209: 206:February 2022 198: 195: 191: 188: 184: 181: 177: 174: 170: 167: –  166: 162: 161:Find sources: 155: 149: 148: 144: 139:This article 137: 133: 128: 127: 118: 115: 107: 104:February 2022 97: 93: 89: 85: 79: 78: 73:This article 71: 62: 61: 56: 54: 47: 46: 41: 40: 35: 30: 21: 20: 1923:expanding it 1908: 1705: 1640: 1578:Silverstripe 1392:Sencha Touch 1317:Dojo Toolkit 1028:Dynamic Data 938: 873: 799:. Retrieved 795: 786: 775:. Retrieved 771: 762: 751:. Retrieved 747: 738: 718: 711: 700:. Retrieved 696: 687: 677:21 September 675:. Retrieved 665: 654: 645: 475: 463: 451: 439: 396: 395: 262:Developer(s) 230: 212: 203: 193: 186: 179: 172: 160: 140: 110: 101: 86:by removing 82:Please help 74: 50: 43: 37: 36:Please help 33: 1568:ProcessWire 1468:CodeIgniter 1440:Mojolicious 1347:Knockout.js 1307:Backbone.js 1131:Common Lisp 768:"Starlette" 478:Hello World 1962:Categories 1871:JavaScript 1867:SproutCore 1691:TurboGears 1548:PHP-Fusion 1478:eZ Publish 1397:SproutCore 1327:Express.js 1290:JavaScript 1113:ColdFusion 1075:WebSharper 995:Comparison 924:TwistedWeb 919:TurboGears 801:2024-06-17 777:2023-09-21 753:2023-09-21 702:2024-04-10 638:References 431:Components 345:Written in 326:Repository 281:2018-12-05 176:newspapers 143:references 84:improve it 39:improve it 1798:Smalltalk 1621:BlueBream 1593:WordPress 1503:Gyroscope 1377:Prototype 1302:AngularJS 1275:WaveMaker 1043:Web Forms 693:"FastAPI" 530:read_root 448:Starlette 421:serialize 386:.tiangolo 336:/tiangolo 165:"FastAPI" 45:talk page 1915:software 1806:AIDA/Web 1788:Scalatra 1631:CubicWeb 1626:CherryPy 1553:PHP-Nuke 1483:Fat-Free 1425:Catalyst 1357:MooTools 1322:Ember.js 1255:Tapestry 1205:JHipster 1200:ICEfaces 1065:MonoRail 864:CubicWeb 859:CherryPy 545:See also 436:Pydantic 417:validate 338:/fastapi 1857:Phoenix 1847:OpenACS 1811:Seaside 1742:Sinatra 1732:Padrino 1686:Tornado 1676:Quixote 1671:Pyramid 1641:FastAPI 1583:Symfony 1558:Pop PHP 1543:Phalcon 1533:Midgard 1523:Laravel 1518:Laminas 1513:Joomla! 1493:FuelPHP 1463:CakePHP 1435:Maypole 1372:OpenUI5 1367:Node.js 1362:Next.js 1312:Closure 1298:Angular 1245:Stripes 1215:Mojarra 1185:AppFuse 1157:Servant 1149:Haskell 1139:CL-HTTP 1070:Umbraco 1013:ASP.NET 914:Tornado 904:Quixote 899:Pyramid 874:FastAPI 628:fastapi 503:FastAPI 494:FastAPI 488:fastapi 472:Example 460:Uvicorn 425:OpenAPI 397:FastAPI 384:fastapi 379:Website 368:License 310: ( 279: ( 247:FastAPI 190:scholar 1885:Erlang 1861:Elixir 1841:Groovy 1837:Grails 1831:PL/SQL 1760:Rocket 1701:Zope 2 1696:web2py 1681:TACTIC 1666:Pylons 1636:Django 1613:Python 1473:Drupal 1445:WebGUI 1430:Dancer 1407:Vue.js 1402:Svelte 1352:Meteor 1342:jQuery 1332:Ext JS 1270:Wicket 1265:Vert.x 1260:Vaadin 1250:Struts 1240:Spring 1190:Grails 1098:Drogon 1093:CppCMS 1050:Blazor 934:Zope 2 929:web2py 909:TACTIC 894:Pylons 869:Django 855:Bottle 842:Python 726:  656:GitHub 632:GitHub 582:Web2py 536:return 491:import 413:Python 349:Python 332:github 192:  185:  178:  171:  163:  1909:This 1770:Scala 1656:Nevow 1646:Flask 1598:XOOPS 1588:TYPO3 1573:Qcodo 1563:PRADO 1508:Horde 1387:Remix 1382:React 1235:Sling 1167:Yesod 1038:Razor 889:Nevow 879:Flask 399:is a 197:JSTOR 183:books 1919:stub 1881:Yaws 1875:Ruby 1783:Play 1778:Lift 1752:Rust 1727:Merb 1719:Ruby 1707:more 1661:Pyjs 1651:Grok 1538:MODX 1498:Grav 1488:Flow 1417:Perl 1337:htmx 1230:Seam 1220:Play 1177:Java 1162:Snap 1023:AJAX 1018:Core 1005:.NET 940:more 884:Grok 724:ISBN 679:2024 597:REST 509:@app 485:from 454:ASGI 409:APIs 405:HTTP 388:.com 356:Type 334:.com 169:news 1911:Web 1851:Tcl 1710:... 1603:Yii 1528:li₃ 1455:PHP 1210:JWt 1195:GWT 1085:C++ 1060:BFC 1055:DNN 1033:MVC 943:... 630:on 533:(): 527:def 515:get 497:app 442:IDE 411:in 373:MIT 145:to 1964:: 1280:ZK 1103:Wt 794:. 770:. 746:. 695:. 653:. 506:() 419:, 156:. 48:. 1950:e 1943:t 1936:v 1925:. 1913:- 1887:) 1883:( 1877:) 1873:- 1869:( 1863:) 1859:( 1853:) 1849:( 1843:) 1839:( 1833:) 1829:( 1300:/ 976:e 969:t 962:v 834:e 827:t 820:v 804:. 780:. 756:. 732:. 705:. 681:. 524:) 518:( 512:. 500:= 314:) 283:) 237:) 231:( 219:) 213:( 208:) 204:( 194:· 187:· 180:· 173:· 150:. 117:) 111:( 106:) 102:( 98:. 80:. 55:) 51:(

Index

improve it
talk page
Learn how and when to remove these messages
an advertisement
improve it
promotional content
external links
neutral point of view
Learn how and when to remove this message

references
primary sources
secondary or tertiary sources
"FastAPI"
news
newspapers
books
scholar
JSTOR
Learn how and when to remove this message
Learn how and when to remove this message

Developer(s)
Stable release
Edit this on Wikidata
Repository
github.com/tiangolo/fastapi
Python
Type
Web framework

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.