1---2include_yaml:3 sponsors: data/sponsors.yml4---56# FastAPI { #fastapi }78<style>9.md-content .md-typeset h1 { display: none; }10</style>1112<p align="center">13 <a href="https://fastapi.tiangolo.com/es"><img src="https://fastapi.tiangolo.com/img/logo-margin/logo-teal.png" alt="FastAPI"></a>14</p>15<p align="center">16 <em>FastAPI framework, alto rendimiento, fácil de aprender, rápido de programar, listo para producción</em>17</p>18<p align="center">19<a href="https://github.com/fastapi/fastapi/actions?query=workflow%3ATest+event%3Apush+branch%3Amaster">20 <img src="https://github.com/fastapi/fastapi/actions/workflows/test.yml/badge.svg?event=push&branch=master" alt="Test">21</a>22<a href="https://coverage-badge.samuelcolvin.workers.dev/redirect/fastapi/fastapi">23 <img src="https://coverage-badge.samuelcolvin.workers.dev/fastapi/fastapi.svg" alt="Coverage">24</a>25<a href="https://pypi.org/project/fastapi">26 <img src="https://img.shields.io/pypi/v/fastapi?color=%2334D058&label=pypi%20package" alt="Package version">27</a>28<a href="https://pypi.org/project/fastapi">29 <img src="https://img.shields.io/pypi/pyversions/fastapi.svg?color=%2334D058" alt="Supported Python versions">30</a>31</p>3233---3435**Documentación**: [https://fastapi.tiangolo.com](https://fastapi.tiangolo.com/es)3637**Código Fuente**: [https://github.com/fastapi/fastapi](https://github.com/fastapi/fastapi)3839---4041FastAPI es un framework web moderno, rápido (de alto rendimiento), para construir APIs con Python basado en las anotaciones de tipos estándar de Python.4243Las funcionalidades clave son:4445* **Rápido**: Muy alto rendimiento, a la par con **NodeJS** y **Go** (gracias a Starlette y Pydantic). [Uno de los frameworks Python más rápidos disponibles](#performance).46* **Rápido de programar**: Aumenta la velocidad para desarrollar funcionalidades en aproximadamente un 200% a 300%. *47* **Menos bugs**: Reduce en aproximadamente un 40% los errores inducidos por humanos (desarrolladores). *48* **Intuitivo**: Gran soporte para editores. <dfn title="también conocido como autocompletado, autocompletado, IntelliSense">Autocompletado</dfn> en todas partes. Menos tiempo depurando.49* **Fácil**: Diseñado para ser fácil de usar y aprender. Menos tiempo leyendo documentación.50* **Corto**: Minimiza la duplicación de código. Múltiples funcionalidades desde cada declaración de parámetro. Menos bugs.51* **Robusto**: Obtén código listo para producción. Con documentación interactiva automática.52* **Basado en estándares**: Basado (y completamente compatible) con los estándares abiertos para APIs: [OpenAPI](https://github.com/OAI/OpenAPI-Specification) (anteriormente conocido como Swagger) y [JSON Schema](https://json-schema.org/).5354<small>* estimación basada en pruebas con un equipo de desarrollo interno, construyendo aplicaciones de producción.</small>5556## Sponsors { #sponsors }5758<!-- sponsors -->5960### Sponsor Keystone { #keystone-sponsor }6162<div class="fastapi-sponsors fastapi-sponsors--keystone">63{% for sponsor in sponsors.keystone -%}64<a class="fastapi-sponsors__card fastapi-sponsors__card--keystone" href="{{ sponsor.url }}" title="{{ sponsor.title }}"><img class="fastapi-sponsors__banner" src="{{ sponsor.img }}" alt="{{ sponsor.title }}"></a>65{% endfor -%}66</div>6768### Sponsors Oro { #gold-sponsors }6970<div class="fastapi-sponsors fastapi-sponsors--gold">71{% for sponsor in sponsors.gold -%}72<a class="fastapi-sponsors__card fastapi-sponsors__card--gold" href="{{ sponsor.url }}" title="{{ sponsor.title }}"><img class="fastapi-sponsors__banner" src="{{ sponsor.img }}" alt="{{ sponsor.title }}" loading="lazy"></a>73{% endfor -%}74</div>7576### Sponsors Plata { #silver-sponsors }7778<div class="fastapi-sponsors fastapi-sponsors--silver">79{% for sponsor in sponsors.silver -%}80<a class="fastapi-sponsors__card fastapi-sponsors__card--silver" href="{{ sponsor.url }}" title="{{ sponsor.title }}"><img class="fastapi-sponsors__banner" src="{{ sponsor.img }}" alt="{{ sponsor.title }}" loading="lazy"></a>81{% endfor %}82</div>8384<!-- /sponsors -->8586[Otros sponsors](https://fastapi.tiangolo.com/es/fastapi-people/#sponsors)8788## Opiniones { #opinions }8990<!-- only-mkdocs -->91<div class="fastapi-opinions" data-fastapi-opinions>92 <div class="fastapi-opinions__tabs" role="tablist" aria-label="Empresas que usan FastAPI">93 <button class="fastapi-opinions__tab" role="tab" type="button" id="fo-tab-microsoft" aria-controls="fo-panel-microsoft" aria-selected="true" tabindex="0">94 <span class="fastapi-opinions__mark"><img src="/img/logos/microsoft.svg" alt="Microsoft" loading="lazy"></span>95 </button>96 <button class="fastapi-opinions__tab" role="tab" type="button" id="fo-tab-uber" aria-controls="fo-panel-uber" aria-selected="false" tabindex="-1">97 <span class="fastapi-opinions__mark"><img src="/img/logos/uber.svg" alt="Uber" loading="lazy"></span>98 </button>99 <button class="fastapi-opinions__tab" role="tab" type="button" id="fo-tab-netflix" aria-controls="fo-panel-netflix" aria-selected="false" tabindex="-1">100 <span class="fastapi-opinions__mark"><img src="/img/logos/netflix.svg" alt="Netflix" loading="lazy"></span>101 </button>102 <button class="fastapi-opinions__tab" role="tab" type="button" id="fo-tab-cisco" aria-controls="fo-panel-cisco" aria-selected="false" tabindex="-1">103 <span class="fastapi-opinions__mark"><img src="/img/logos/cisco.svg" alt="Cisco" loading="lazy"></span>104 </button>105 </div>106107 <div class="fastapi-opinions__panel" id="fo-panel-microsoft" role="tabpanel" aria-labelledby="fo-tab-microsoft" tabindex="0">108 <blockquote class="fastapi-opinions__quote">"Estoy usando <strong>FastAPI</strong> un montón estos días. De hecho, estoy planeando usarlo para todos los <strong>servicios de ML de mi equipo en Microsoft</strong>. Algunos de ellos se están integrando en el producto principal de <strong>Windows</strong> y algunos productos de <strong>Office</strong>."</blockquote>109 <div class="fastapi-opinions__attr">— Kabir Khan, <strong>Microsoft</strong> <a href="https://github.com/fastapi/fastapi/pull/26">(ref)</a></div>110 </div>111 <div class="fastapi-opinions__panel" id="fo-panel-uber" role="tabpanel" aria-labelledby="fo-tab-uber" tabindex="0" hidden>112 <blockquote class="fastapi-opinions__quote">"Adoptamos el paquete <strong>FastAPI</strong> para crear un servidor <strong>REST</strong> que pueda ser consultado para obtener <strong>predicciones</strong>." <em>[para Ludwig]</em></blockquote>113 <div class="fastapi-opinions__attr">— Piero Molino, Yaroslav Dudin, Sai Sumanth Miryala, <strong>Uber</strong> <a href="https://www.uber.com/us/en/blog/ludwig-v0-2/">(ref)</a></div>114 </div>115 <div class="fastapi-opinions__panel" id="fo-panel-netflix" role="tabpanel" aria-labelledby="fo-tab-netflix" tabindex="0" hidden>116 <blockquote class="fastapi-opinions__quote">"<strong>Netflix</strong> se complace en anunciar el lanzamiento open source de nuestro framework de orquestación de <strong>gestión de crisis</strong>: <strong>Dispatch</strong>!" <em>[construido con FastAPI]</em></blockquote>117 <div class="fastapi-opinions__attr">— Kevin Glisson, Marc Vilanova, Forest Monsen, <strong>Netflix</strong> <a href="https://netflixtechblog.com/introducing-dispatch-da4b8a2a8072">(ref)</a></div>118 </div>119 <div class="fastapi-opinions__panel" id="fo-panel-cisco" role="tabpanel" aria-labelledby="fo-tab-cisco" tabindex="0" hidden>120 <blockquote class="fastapi-opinions__quote">"Si alguien está buscando construir una API de Python para producción, recomendaría altamente <strong>FastAPI</strong>. Está <strong>hermosamente diseñado</strong>, es <strong>simple de usar</strong> y <strong>altamente escalable</strong> — se ha convertido en un <strong>componente clave</strong> en nuestra estrategia de desarrollo API primero."</blockquote>121 <div class="fastapi-opinions__attr">— Deon Pillsbury, <strong>Cisco</strong> <a href="https://www.linkedin.com/posts/deonpillsbury_cisco-cx-python-activity-6963242628536487936-trAp/">(ref)</a></div>122 </div>123</div>124<!-- /only-mkdocs -->125126<div class="only-github" markdown="1">127128"_[...] Estoy usando **FastAPI** un montón estos días. [...] De hecho, estoy planeando usarlo para todos los **servicios de ML de mi equipo en Microsoft**. Algunos de ellos se están integrando en el núcleo del producto **Windows** y algunos productos de **Office**._"129130<div style="text-align: right; margin-right: 10%;">Kabir Khan - <strong>Microsoft</strong> <a href="https://github.com/fastapi/fastapi/pull/26"><small>(ref)</small></a></div>131132---133134"_Adoptamos el paquete **FastAPI** para crear un servidor **REST** que pueda ser consultado para obtener **predicciones**. [para Ludwig]_"135136<div style="text-align: right; margin-right: 10%;">Piero Molino, Yaroslav Dudin, and Sai Sumanth Miryala - <strong>Uber</strong> <a href="https://www.uber.com/us/en/blog/ludwig-v0-2/"><small>(ref)</small></a></div>137138---139140"_**Netflix** se complace en anunciar el lanzamiento open source de nuestro framework de orquestación de **gestión de crisis**: **Dispatch**! [construido con **FastAPI**]_"141142<div style="text-align: right; margin-right: 10%;">Kevin Glisson, Marc Vilanova, Forest Monsen - <strong>Netflix</strong> <a href="https://netflixtechblog.com/introducing-dispatch-da4b8a2a8072"><small>(ref)</small></a></div>143144---145146"_Si alguien está buscando construir una API de Python para producción, recomendaría altamente **FastAPI**. Está **hermosamente diseñado**, es **simple de usar** y **altamente escalable**, se ha convertido en un **componente clave** en nuestra estrategia de desarrollo API primero y está impulsando muchas automatizaciones y servicios como nuestro Ingeniero Virtual TAC._"147148<div style="text-align: right; margin-right: 10%;">Deon Pillsbury - <strong>Cisco</strong> <a href="https://www.linkedin.com/posts/deonpillsbury_cisco-cx-python-activity-6963242628536487936-trAp/"><small>(ref)</small></a></div>149150---151152</div>153154## Mini documental de FastAPI { #fastapi-mini-documentary }155156Hay un [mini documental de FastAPI](https://www.youtube.com/watch?v=mpR8ngthqiE) lanzado a finales de 2025, puedes verlo online:157158<a class="fastapi-feature-banner" href="https://www.youtube.com/watch?v=mpR8ngthqiE"><img src="https://fastapi.tiangolo.com/img/fastapi-documentary.jpg" alt="FastAPI Mini Documentary"></a>159160## **Typer**, el FastAPI de las CLIs { #typer-the-fastapi-of-clis }161162<a href="https://typer.tiangolo.com"><img src="https://typer.tiangolo.com/img/logo-margin/logo-margin-vector.svg" style="width: 20%;"></a>163164Si estás construyendo una aplicación de <abbr title="Command Line Interface - Interfaz de Línea de Comandos">CLI</abbr> para ser usada en la terminal en lugar de una API web, revisa [**Typer**](https://typer.tiangolo.com/).165166**Typer** es el hermano pequeño de FastAPI. Y está destinado a ser el **FastAPI de las CLIs**. ⌨️ 🚀167168## Requisitos { #requirements }169170FastAPI se apoya en hombros de gigantes:171172* [Starlette](https://starlette.dev/) para las partes web.173* [Pydantic](https://pydantic.dev/docs/) para las partes de datos.174175## Instalación { #installation }176177Primero, [instala `uv`](https://docs.astral.sh/uv/getting-started/installation/), y luego añade FastAPI a tu proyecto:178179<div class="termy">180181```console182$ uv add "fastapi[standard]"183184---> 100%185```186187</div>188189**Nota**: Asegúrate de poner `"fastapi[standard]"` entre comillas para asegurar que funcione en todas las terminales.190191Si prefieres usar `pip`, instala `fastapi[standard]` dentro de un entorno virtual. Mira la [guía de instalación](tutorial/#install-fastapi) para los pasos alternativos.192193## Ejemplo { #example }194195### Créalo { #create-it }196197Crea un archivo `main.py` con:198199```Python200from fastapi import FastAPI201202app = FastAPI()203204205@app.get("/")206def read_root():207 return {"Hello": "World"}208209210@app.get("/items/{item_id}")211def read_item(item_id: int, q: str | None = None):212 return {"item_id": item_id, "q": q}213```214215<details markdown="1">216<summary>O usa <code>async def</code>...</summary>217218Si tu código usa `async` / `await`, usa `async def`:219220```Python hl_lines="7 12"221from fastapi import FastAPI222223app = FastAPI()224225226@app.get("/")227async def read_root():228 return {"Hello": "World"}229230231@app.get("/items/{item_id}")232async def read_item(item_id: int, q: str | None = None):233 return {"item_id": item_id, "q": q}234```235236**Nota**:237238Si no lo sabes, revisa la sección _"¿Con prisa?"_ sobre [`async` y `await` en la documentación](https://fastapi.tiangolo.com/es/async/#in-a-hurry).239240</details>241242### Córrelo { #run-it }243244Corre el servidor con:245246<div class="termy">247248```console249$ uv run fastapi dev250251 ╭────────── FastAPI CLI - Development mode ───────────╮252 │ │253 │ Serving at: http://127.0.0.1:8000 │254 │ │255 │ API docs: http://127.0.0.1:8000/docs │256 │ │257 │ Running in development mode, for production use: │258 │ │259 │ fastapi run │260 │ │261 ╰─────────────────────────────────────────────────────╯262263INFO: Will watch for changes in these directories: ['/home/user/code/awesomeapp']264INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)265INFO: Started reloader process [2248755] using WatchFiles266INFO: Started server process [2248757]267INFO: Waiting for application startup.268INFO: Application startup complete.269```270271</div>272273<details markdown="1">274<summary>Acerca del comando <code>fastapi dev</code>...</summary>275276El comando `fastapi dev` lee tu archivo `main.py` automáticamente, detecta la app **FastAPI** en él y arranca un servidor usando [Uvicorn](https://uvicorn.dev).277278Por defecto, `fastapi dev` comenzará con auto-recarga habilitada para el desarrollo local.279280Puedes leer más sobre esto en la [documentación del CLI de FastAPI](https://fastapi.tiangolo.com/es/fastapi-cli/).281282</details>283284### Revisa { #check-it }285286Abre tu navegador en [http://127.0.0.1:8000/items/5?q=somequery](http://127.0.0.1:8000/items/5?q=somequery).287288Verás el response JSON como:289290```JSON291{"item_id": 5, "q": "somequery"}292```293294Ya creaste una API que:295296* Recibe requests HTTP en los _paths_ `/` y `/items/{item_id}`.297* Ambos _paths_ toman `GET` <em>operaciones</em> (también conocidas como _métodos_ HTTP).298* El _path_ `/items/{item_id}` tiene un _parámetro de path_ `item_id` que debe ser un `int`.299* El _path_ `/items/{item_id}` tiene un _parámetro de query_ `q` opcional que es un `str`.300301### Documentación interactiva de la API { #interactive-api-docs }302303Ahora ve a [http://127.0.0.1:8000/docs](http://127.0.0.1:8000/docs).304305Verás la documentación interactiva automática de la API (proporcionada por [Swagger UI](https://github.com/swagger-api/swagger-ui)):306307308309### Documentación alternativa de la API { #alternative-api-docs }310311Y ahora, ve a [http://127.0.0.1:8000/redoc](http://127.0.0.1:8000/redoc).312313Verás la documentación alternativa automática (proporcionada por [ReDoc](https://github.com/Redocly/redoc)):314315316317## Actualización del ejemplo { #example-upgrade }318319Ahora modifica el archivo `main.py` para recibir un body desde un request `PUT`.320321Declara el body usando tipos estándar de Python, gracias a Pydantic.322323```Python hl_lines="2 7-10 23-25"324from fastapi import FastAPI325from pydantic import BaseModel326327app = FastAPI()328329330class Item(BaseModel):331 name: str332 price: float333 is_offer: bool | None = None334335336@app.get("/")337def read_root():338 return {"Hello": "World"}339340341@app.get("/items/{item_id}")342def read_item(item_id: int, q: str | None = None):343 return {"item_id": item_id, "q": q}344345346@app.put("/items/{item_id}")347def update_item(item_id: int, item: Item):348 return {"item_name": item.name, "item_id": item_id}349```350351El servidor `fastapi dev` debería recargarse automáticamente.352353### Actualización de la documentación interactiva de la API { #interactive-api-docs-upgrade }354355Ahora ve a [http://127.0.0.1:8000/docs](http://127.0.0.1:8000/docs).356357* La documentación interactiva de la API se actualizará automáticamente, incluyendo el nuevo body:358359360361* Haz clic en el botón "Try it out", te permite llenar los parámetros e interactuar directamente con la API:362363364365* Luego haz clic en el botón "Execute", la interfaz de usuario se comunicará con tu API, enviará los parámetros, obtendrá los resultados y los mostrará en la pantalla:366367368369### Actualización de la documentación alternativa de la API { #alternative-api-docs-upgrade }370371Y ahora, ve a [http://127.0.0.1:8000/redoc](http://127.0.0.1:8000/redoc).372373* La documentación alternativa también reflejará el nuevo parámetro de query y body:374375376377### Resumen { #recap }378379En resumen, declaras **una vez** los tipos de parámetros, body, etc. como parámetros de función.380381Lo haces con tipos estándar modernos de Python.382383No tienes que aprender una nueva sintaxis, los métodos o clases de un paquete específico, etc.384385Solo **Python** estándar.386387Por ejemplo, para un `int`:388389```Python390item_id: int391```392393o para un modelo `Item` más complejo:394395```Python396item: Item397```398399...y con esa única declaración obtienes:400401* Soporte para editores, incluyendo:402 * Autocompletado.403 * Chequeo de tipos.404* Validación de datos:405 * Errores automáticos y claros cuando los datos son inválidos.406 * Validación incluso para objetos JSON profundamente anidados.407* <dfn title="también conocido como: serialización, parsing, marshalling">Conversión</dfn> de datos de entrada: de la red a los datos y tipos de Python. Leyendo desde:408 * JSON.409 * Parámetros de path.410 * Parámetros de query.411 * Cookies.412 * Headers.413 * Formularios.414 * Archivos.415* <dfn title="también conocido como: serialización, parsing, marshalling">Conversión</dfn> de datos de salida: convirtiendo de datos y tipos de Python a datos de red (como JSON):416 * Convertir tipos de Python (`str`, `int`, `float`, `bool`, `list`, etc).417 * Objetos `datetime`.418 * Objetos `UUID`.419 * Modelos de base de datos.420 * ...y muchos más.421* Documentación interactiva automática de la API, incluyendo 2 interfaces de usuario alternativas:422 * Swagger UI.423 * ReDoc.424425---426427Volviendo al ejemplo de código anterior, **FastAPI**:428429* Validará que haya un `item_id` en el path para requests `GET` y `PUT`.430* Validará que el `item_id` sea del tipo `int` para requests `GET` y `PUT`.431 * Si no lo es, el cliente verá un error útil y claro.432* Revisa si hay un parámetro de query opcional llamado `q` (como en `http://127.0.0.1:8000/items/foo?q=somequery`) para requests `GET`.433 * Como el parámetro `q` está declarado con `= None`, es opcional.434 * Sin el `None` sería requerido (como lo es el body en el caso con `PUT`).435* Para requests `PUT` a `/items/{item_id}`, leerá el body como JSON:436 * Revisa que tiene un atributo requerido `name` que debe ser un `str`.437 * Revisa que tiene un atributo requerido `price` que debe ser un `float`.438 * Revisa que tiene un atributo opcional `is_offer`, que debe ser un `bool`, si está presente.439 * Todo esto también funcionaría para objetos JSON profundamente anidados.440* Convertirá de y a JSON automáticamente.441* Documentará todo con OpenAPI, que puede ser usado por:442 * Sistemas de documentación interactiva.443 * Sistemas de generación automática de código cliente, para muchos lenguajes.444* Proporcionará 2 interfaces web de documentación interactiva directamente.445446---447448Solo tocamos los conceptos básicos, pero ya te haces una idea de cómo funciona todo.449450Intenta cambiar la línea con:451452```Python453 return {"item_name": item.name, "item_id": item_id}454```455456...desde:457458```Python459 ... "item_name": item.name ...460```461462...a:463464```Python465 ... "item_price": item.price ...466```467468...y observa cómo tu editor autocompleta los atributos y conoce sus tipos:469470471472Para un ejemplo más completo incluyendo más funcionalidades, ve al <a href="https://fastapi.tiangolo.com/es/tutorial/">Tutorial - Guía del Usuario</a>.473474**Alerta de spoilers**: el tutorial - guía del usuario incluye:475476* Declaración de **parámetros** desde otros lugares diferentes como: **headers**, **cookies**, **campos de formulario** y **archivos**.477* Cómo establecer **restricciones de validación** como `maximum_length` o `regex`.478* Un sistema de **<dfn title="también conocido como componentes, recursos, proveedores, servicios, inyectables">Inyección de Dependencias</dfn>** muy poderoso y fácil de usar.479* Seguridad y autenticación, incluyendo soporte para **OAuth2** con **tokens JWT** y autenticación **HTTP Basic**.480* Técnicas más avanzadas (pero igualmente fáciles) para declarar **modelos JSON profundamente anidados** (gracias a Pydantic).481* Integración con **GraphQL** usando [Strawberry](https://strawberry.rocks) y otros paquetes.482* Muchas funcionalidades extra (gracias a Starlette) como:483 * **WebSockets**484 * pruebas extremadamente fáciles basadas en HTTPX y `pytest`485 * **CORS**486 * **Sesiones de Cookies**487 * ...y más.488489### Despliega tu app (opcional) { #deploy-your-app-optional }490491Opcionalmente puedes desplegar tu app de FastAPI en [FastAPI Cloud](https://fastapicloud.com) con un solo comando. 🚀492493<div class="termy">494495```console496$ uv run fastapi deploy497498Deploying to FastAPI Cloud...499500✅ Deployment successful!501502🐔 Ready the chicken! Your app is ready at https://myapp.fastapicloud.dev503```504505</div>506507La CLI detectará automáticamente tu aplicación de FastAPI y la desplegará en la nube. Si no has iniciado sesión, se abrirá tu navegador para completar el proceso de autenticación.508509¡Eso es todo! Ahora puedes acceder a tu app en esa URL. ✨510511#### Acerca de FastAPI Cloud { #about-fastapi-cloud }512513**[FastAPI Cloud](https://fastapicloud.com)** está construido por el mismo autor y equipo detrás de **FastAPI**.514515Optimiza el proceso de **construir**, **desplegar** y **acceder** a una API con un esfuerzo mínimo.516517Trae la misma **experiencia de desarrollador** de construir apps con FastAPI a **desplegarlas** en la nube. 🎉518519FastAPI Cloud es el sponsor principal y proveedor de financiamiento para los proyectos open source *FastAPI and friends*. ✨520521#### Despliega en otros proveedores de cloud { #deploy-to-other-cloud-providers }522523FastAPI es open source y está basado en estándares. Puedes desplegar apps de FastAPI en cualquier proveedor de cloud que elijas.524525Sigue las guías de tu proveedor de cloud para desplegar apps de FastAPI con ellos. 🤓526527## Rendimiento { #performance }528529Benchmarks independientes de TechEmpower muestran aplicaciones **FastAPI** ejecutándose bajo Uvicorn como [uno de los frameworks Python más rápidos disponibles](https://www.techempower.com/benchmarks/#section=test&runid=7464e520-0dc2-473d-bd34-dbdfd7e85911&hw=ph&test=query&l=zijzen-7), solo por debajo de Starlette y Uvicorn (usados internamente por FastAPI). (*)530531Para entender más sobre esto, ve la sección [Benchmarks](https://fastapi.tiangolo.com/es/benchmarks/).532533## Dependencias { #dependencies }534535FastAPI depende de Pydantic y Starlette.536537### Dependencias `standard` { #standard-dependencies }538539Cuando instalas FastAPI con `uv add "fastapi[standard]"` viene con el grupo `standard` de dependencias opcionales:540541Usadas por Pydantic:542543* [`email-validator`](https://github.com/JoshData/python-email-validator) - para validación de correos electrónicos.544545Usadas por Starlette:546547* [`httpx`](https://www.python-httpx.org) - Requerido si deseas usar el `TestClient`.548* [`jinja2`](https://jinja.palletsprojects.com) - Requerido si deseas usar la configuración de plantilla por defecto.549* [`python-multipart`](https://github.com/Kludex/python-multipart) - Requerido si deseas soportar form <dfn title="convertir el string que viene de un request HTTP en datos de Python">"parsing"</dfn>, con `request.form()`.550551Usadas por FastAPI:552553* [`uvicorn`](https://uvicorn.dev) - para el servidor que carga y sirve tu aplicación. Esto incluye `uvicorn[standard]`, que incluye algunas dependencias (por ejemplo, `uvloop`) necesarias para servir con alto rendimiento.554* `fastapi-cli[standard]` - para proporcionar el comando `fastapi`.555 * Esto incluye `fastapi-cloud-cli`, que te permite desplegar tu aplicación de FastAPI en [FastAPI Cloud](https://fastapicloud.com).556557### Sin Dependencias `standard` { #without-standard-dependencies }558559Si no deseas incluir las dependencias opcionales `standard`, puedes instalar con `uv add fastapi` en lugar de `uv add "fastapi[standard]"`.560561### Sin `fastapi-cloud-cli` { #without-fastapi-cloud-cli }562563Si quieres instalar FastAPI con las dependencias standard pero sin `fastapi-cloud-cli`, puedes instalar con `uv add "fastapi[standard-no-fastapi-cloud-cli]"`.564565### Dependencias Opcionales Adicionales { #additional-optional-dependencies }566567Existen algunas dependencias adicionales que podrías querer instalar.568569Dependencias opcionales adicionales de Pydantic:570571* [`pydantic-settings`](https://pydantic.dev/docs/validation/latest/concepts/pydantic_settings/) - para la gestión de configuraciones.572* [`pydantic-extra-types`](https://github.com/pydantic/pydantic-extra-types) - para tipos extra para ser usados con Pydantic.573574Dependencias opcionales adicionales de FastAPI:575576* [`orjson`](https://github.com/ijl/orjson) - Requerido si deseas usar `ORJSONResponse`.577* [`ujson`](https://github.com/ultrajson/ultrajson) - Requerido si deseas usar `UJSONResponse`.578579## Licencia { #license }580581Este proyecto tiene licencia bajo los términos de la licencia MIT.
Findings
✓ No findings reported for this file.