Python para Backend: web server con FastAPI
Clase 14 de 20 • Curso de Python: PIP y Entornos Virtuales
Contenido del curso
Clase 14 de 20 • Curso de Python: PIP y Entornos Virtuales
Contenido del curso
Andres Cervantes
Jhonatan Sanchez
Angel Daniel Mendieta Castillo
Anabel Chavez Berumen
Mateo Paloma
Ricardo de Jesus Zapata Cruz
Arelys Viloria
Jhon Freddy Tavera Blandon
Ruddy Ramos
Miguel Angel Arreola
Jeinfferson Bernal G
Juan José Mamani Tarqui
Carlos Rodríguez
Jaime Acosta
Antonio Demarco Bonino
Germán Salina
Arelys Viloria
Marcelo Garro
Heberth López
N40 M10
Francisco Javier Pecino Leon
Fidel Parabacuto
Jared Arturo Olmos Villagran
Jaime Hernandez
Maga Hernandez
Bobionwa .
Ulises Alejandro Mánica Caricio
Diego Jurado
Para quien quiera revisar la documentación de Uvicorn Uvicorn
caballo homoxesual de las montañas
Ningún animal se salva
Que buen glow up le dieron a "la saga" de estos cursos, usted es un excelente profesor!
Recuerden que se puede crear un alias para no estar ejecutando el mismo código siempre
source enc/bin/activate
La manera de hacerlo podría ser:
alias avenv="source enc/bin/activate"
avenv es una abreviatura de "activate virtual environment", ese nombre es una sugerencia, puedes colocar cualquier otro.
modelo: alias <nombre del alias>="<comando que guardará el alias>" es importante los espacios y las comillas
Espero les funcione 🤗🤗
yo pensé lo mismo y creé el alias, pero lo llamé envon pues es la abreviación de Environment ON. me es mas facil de recordar y es chistoso tambien🤣
Corrección:
source env/bin/activate
FastAPI
****Uvicorn ****
Es un servidor ASGI (Asynchronous Server Gateway Interface) de alto rendimiento para ejecutar aplicaciones ASGI como FastAPI. Es una alternativa a otros servidores ASGI como Daphne y Hypercorn.
FastAPI y Uvicorn se utilizan juntos para proporcionar un entorno rápido y fácil de usar para el desarrollo y el uso de aplicaciones web basadas en ASGI.
pip install fastapi
from fastapi import FastAPI app = FastAPI() @app.get("/") def read_root(): return {"Hello": "World"} if __name__ == "__main__": app.run()
Gracias por el aporte.
🤖 _Rutina de la clase_👇
__
cd ../web-server
source env/bin/activate
pip3 install fastapi
pip3 install "uvicorn[standard]"
pip3 freeze
pip3 freeze > requirements.txt
Buen aporte. Gracias!
creo que falta antes de activar el ambiente, crearlo: python3 -m venv env
Para que el autocompletado sea el óptimo en todas las dependencias que usamos en un proyecto python, debemos siempre seleccionar en vscode el intérprete de python que se nos ha generado en el entorno virtual, por eso parece de esta manera 3.10.4 ('venv':venv) porque el nombre de mi entorno virtual es 'venv'. Por defecto les aparecerá el interprete como entorno global sin los paréntesis, ejemplo: 3.10.4, es decir solamente la versión de python.
Justo la respuesta que necesitaba! Gracias
Que lindo sería que Nicolás lleve adelante nuevos cursos de las tres tecnologías de Python para Backend: FastAPI, Flask y Django.
Después de, literalmente, 35 cursos de Platzi puedo decir que este es el mejor que he hecho. Curso conciso, preciso y completo.
Web server con FastAPI y Uvicorn:
.
-- reload quiere decir que se cargue automáticamente.
.
.
from fastapi.responses import ORJSONResponse
Otra de las formas de poder usar uvicorn es implementando su modulo en el codigo y usando algunos de sus metodos incorporados.
Para quienes estén viendo este curso en 2024, los pasos para usar FastAPI cambiaron un poco (por eso siempre es bueno revisar la documentación oficial jaja), aquí les dejo los comandos para instalar FastAPI y levantar el server:
$ pip install "fastapi\[standard]" $ fastapi dev main.py
La ruta de JS es buena e interesante, sin embargo esta clase me hizo ver en definitiva que las rutas de python en mucho menos tiempo te ponen a un nivel realmente bueno en programación.
para quien tenga problemas con la ejecucion de uvicorn instalenlo asi:
sudo apt-get install uvicorn
y a seguir aprendiendooooo
Buenísima esta clase! Como todas las de Nico, pero esta en especial porque tienen un adelanto de lo que quiero aprender
si no les funciona el comando instalen uvicorn con
pip install uvicorn
¿FastAPI es una alternativa a Flask o este le hace frente a Django?
Platzibot dice de Uvicorn: Uvicorn es un servidor web ASGI de alto rendimiento, diseñado para ser utilizado con aplicaciones Python 3.6+ basadas en ASGI (Asynchronous Server Gateway Interface). ASGI es una especificación para servidores web que permite la comunicación asíncrona entre el servidor y las aplicaciones web, lo que puede mejorar significativamente el rendimiento y la escalabilidad de las aplicaciones.
Hola guapos!! Siento que el profe explica estos conceptos de forma muy vaga. Por lo que les comparto mis apuntes para que le entiendan un poco mejor: API: Un api es una forma de comunicar dos aplicaciones, librerias, etc… Para compartir datos, realizar acciones y aprovechar los servicios de aplicaciones externas. Esto nos sirve para hacer aplicaciones mas poderosas y complejas FastAPI: nos sirve para controlar las solicitudes y entradas que nuestro servidor web pida. Es un comunicador entre nuestro codigo y el servidor web Uvicorn: Es la libreria que aloja y mantiene nuestro servidor web
import store from fastapi import FastAPI from fastapi.responses import HTMLResponse app = FastAPI() #Instancia de FastAPI @app.get('/') #Funcion decorada: Cada que se obtenga la ruta '/' se ejecutara la siguiente funcion def get_list(): return [2,3,4,5,6,7,8,9,0] #Devolvera una lista de nuemros @app.get('/main', response_class=HTMLResponse) #Funcion decorada: Cada que se obtenga la ruta '/main' tendra una respuesta de tipo HTMl def get_main(): #Esto es para que pueda soportar una solicitud HTML y funcione la pagina return """ #Regresa un HTML <h2>Hola papirrin</h2> <p>No eres una pagina, eres lo que tu quieras ser querida</p> <img src="quico.jpg" width="300" height="200"> """ def run(): store.get_categories() if __name__ == '__main__': run()
Importante app = FastAPI()
Se utiliza para crear una instancia la cual cuando sea mandada a llamar mediante la ruta establecida por una peticion HTTP a una URL ejecutara un función que devolvera un valor dado
De FastApi hay unos cursos especificos también en la lista para seguir aprendiendo