CursosEmpresasBlogLiveConfPrecios

Python para Backend: web server con FastAPI

Clase 14 de 20 • Curso de Python: PIP y Entornos Virtuales

Clase anteriorSiguiente clase

Contenido del curso

Introducción
  • 1
    Python en tu propio entorno de desarrollo local

    Python en tu propio entorno de desarrollo local

    03:26
  • 2
    Instalación en Windows (WSL) y Linux

    Instalación en Windows (WSL) y Linux

    06:54
  • 3
    Instalación en Mac

    Instalación en Mac

    06:02
  • 4
    Python con VSCode

    Python con VSCode

    04:25
  • 5
    Python con Git y GitHub

    Python con Git y GitHub

    08:23
  • 6
    Flujo de trabajo en Python

    Flujo de trabajo en Python

    07:36
PIP y Entornos Virtuales
  • 7
    ¿Qué es pip?

    ¿Qué es pip?

    12:45
  • 8
    Gráficas en Python con PIP

    Gráficas en Python con PIP

    12:49
  • 9
    ¿Qué es un ambiente virtual?

    ¿Qué es un ambiente virtual?

    04:54
  • 10
    Usando entornos virtuales en Python

    Usando entornos virtuales en Python

    09:36
  • 11
    requirements.txt

    requirements.txt

    22:40
Práctica
  • 12
    Solicitudes HTTP con Requests

    Solicitudes HTTP con Requests

    11:13
  • 13
    Pandas

    Pandas

    08:37
  • 14
    Python para Backend: web server con FastAPI

    Python para Backend: web server con FastAPI

    10:48
Python en contenedores de Docker
  • 15
    ¿Qué es Docker?

    ¿Qué es Docker?

    02:25
  • 16

    Instalación de Docker en Windows, macOS y Ubuntu

    01:35
  • 17
    Dockerizando scripts de Python

    Dockerizando scripts de Python

    16:36
  • 18
    Docker para el día a día: automatizando la vinculación de archivos

    Docker para el día a día: automatizando la vinculación de archivos

    04:29
  • 19
    Dockerizando web services

    Dockerizando web services

    05:54
Próximos pasos
  • 20
    ¿Cómo continuar tu carrera profesional con Python?

    ¿Cómo continuar tu carrera profesional con Python?

    01:41
    Andres Cervantes

    Andres Cervantes

    student•
    hace 3 años

    Para quien quiera revisar la documentación de Uvicorn Uvicorn

      Jhonatan Sanchez

      Jhonatan Sanchez

      student•
      hace 2 años

      caballo homoxesual de las montañas

    Anabel Chavez Berumen

    Anabel Chavez Berumen

    student•
    hace 3 años

    Que buen glow up le dieron a "la saga" de estos cursos, usted es un excelente profesor!

    Mateo Paloma

    Mateo Paloma

    student•
    hace 3 años

    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 🤗🤗

      Ricardo de Jesus Zapata Cruz

      Ricardo de Jesus Zapata Cruz

      student•
      hace 3 años

      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🤣

      Arelys Viloria

      Arelys Viloria

      student•
      hace 3 años

      Corrección:

      source env/bin/activate
    Jhon Freddy Tavera Blandon

    Jhon Freddy Tavera Blandon

    student•
    hace 3 años

    FastAPI

    • Es un framework de Python para crear aplicaciones web rápidas y seguras. Utilice la mejor OpenAPI para definir la interfaz de la aplicación y proporcione un conjunto de herramientas para validar y documentar la API de manera automática.

    ****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
    • A continuación, puede comenzar a crear su primera aplicación FastAPI. Por ejemplo, aquí tienes un ejemplo de una aplicación que expone una ruta "/" que recibe una solicitud GET y devuelve un mensaje de bienvenida:
    from fastapi import FastAPI app = FastAPI() @app.get("/") def read_root(): return {"Hello": "World"} if __name__ == "__main__": app.run()
      Ruddy Ramos

      Ruddy Ramos

      student•
      hace 3 años

      Gracias por el aporte.

    Miguel Angel Arreola

    Miguel Angel Arreola

    student•
    hace 3 años

    🤖 _Rutina de la clase_👇

    __

    • Navegar a proyecto Web
    cd ../web-server
    • Activar ambiente del proyecto
    source env/bin/activate
    • Agregar nuevas librerías FastAPI
    pip3 install fastapi
    • Agregar ASGI (Asynchronous Server Gateway Interface) Uvicorn
    pip3 install "uvicorn[standard]"
    • Verificar librerías instaladas
    pip3 freeze
    • Actualizar Requirements
    pip3 freeze > requirements.txt
      Jeinfferson Bernal G

      Jeinfferson Bernal G

      student•
      hace 3 años

      Buen aporte. Gracias!

      Juan José Mamani Tarqui

      Juan José Mamani Tarqui

      student•
      hace 2 años

      creo que falta antes de activar el ambiente, crearlo: python3 -m venv env

    Carlos Rodríguez

    Carlos Rodríguez

    student•
    hace 3 años

    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.

    Screenshot_1.png
    . Como lo dije en otros aportes, si utilizan un manager de versiones de python como pyenv también desde vscode pueden seleccionar el intérprete que desean, claro esto antes deben asegurarse en la terminal que tienen activa tal versión de python, por ejemplo:
    Screenshot_2.png

      Jaime Acosta

      Jaime Acosta

      student•
      hace 3 años

      Justo la respuesta que necesitaba! Gracias

    Antonio Demarco Bonino

    Antonio Demarco Bonino

    student•
    hace 3 años

    Que lindo sería que Nicolás lleve adelante nuevos cursos de las tres tecnologías de Python para Backend: FastAPI, Flask y Django.

    Germán Salina

    Germán Salina

    student•
    hace 3 años

    Después de, literalmente, 35 cursos de Platzi puedo decir que este es el mejor que he hecho. Curso conciso, preciso y completo.

    Arelys Viloria

    Arelys Viloria

    student•
    hace 3 años

    Web server con FastAPI y Uvicorn:


    .

    1. ++¿cómo hacer una API?++ . Si alguien intenta hacer una petición a nuestra web podemos hacer que se le retornen datos con una función usando app.get('/'), con la url a la que le harán peticiones. De esta forma estaremos creando una API. . .
      Captura desde 2023-03-22 18-30-55.png

    -- reload quiere decir que se cargue automáticamente.

    .

    1. ++¿Cómo lanzar nuestra API?:++ . Ahora estaremos haciendo uso de uvicorn para lanzar nuestra aplicacón: .
      Captura desde 2023-03-22 18-58-17.png
      En la segunda linea del output de la terminal puedes ver que nos da una ip y un puerto (recuerda que lo puedes verificar con localhost): .
      Captura desde 2023-03-22 19-07-44.png

    .

    1. ++¿Cómo devolver un HTML?++ . Importa la subclase (si a esto se le llama subclase):
    from fastapi.responses import ORJSONResponse
    • y de esta forma envias html mediante una función: .
    Captura desde 2023-03-22 19-33-48.png
    Marcelo Garro

    Marcelo Garro

    student•
    hace 2 años

    Otra de las formas de poder usar uvicorn es implementando su modulo en el codigo y usando algunos de sus metodos incorporados.

    code.png

    Heberth López

    Heberth López

    student•
    hace un año

    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
    N40 M10

    N40 M10

    student•
    hace 3 años

    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.

    Francisco Javier Pecino Leon

    Francisco Javier Pecino Leon

    student•
    hace 3 años

    para quien tenga problemas con la ejecucion de uvicorn instalenlo asi:

    sudo apt-get install uvicorn

    y a seguir aprendiendooooo

    Fidel Parabacuto

    Fidel Parabacuto

    student•
    hace 3 años

    Buenísima esta clase! Como todas las de Nico, pero esta en especial porque tienen un adelanto de lo que quiero aprender

    Jared Arturo Olmos Villagran

    Jared Arturo Olmos Villagran

    student•
    hace 3 años

    si no les funciona el comando instalen uvicorn con

    pip install uvicorn

    Jaime Hernandez

    Jaime Hernandez

    student•
    hace 3 años

    ¿FastAPI es una alternativa a Flask o este le hace frente a Django?

    Maga Hernandez

    Maga Hernandez

    student•
    hace 2 años

    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.

    Bobionwa .

    Bobionwa .

    student•
    hace 2 años

    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()
    carbon (22).png
    Ulises Alejandro Mánica Caricio

    Ulises Alejandro Mánica Caricio

    student•
    hace 3 años

    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

    Diego Jurado

    Diego Jurado

    student•
    hace 3 años

    De FastApi hay unos cursos especificos también en la lista para seguir aprendiendo

Escuelas

  • Desarrollo Web
    • Fundamentos del Desarrollo Web Profesional
    • Diseño y Desarrollo Frontend
    • Desarrollo Frontend con JavaScript
    • Desarrollo Frontend con Vue.js
    • Desarrollo Frontend con Angular
    • Desarrollo Frontend con React.js
    • Desarrollo Backend con Node.js
    • Desarrollo Backend con Python
    • Desarrollo Backend con Java
    • Desarrollo Backend con PHP
    • Desarrollo Backend con Ruby
    • Bases de Datos para Web
    • Seguridad Web & API
    • Testing Automatizado y QA para Web
    • Arquitecturas Web Modernas y Escalabilidad
    • DevOps y Cloud para Desarrolladores Web
  • English Academy
    • Inglés Básico A1
    • Inglés Básico A2
    • Inglés Intermedio B1
    • Inglés Intermedio Alto B2
    • Inglés Avanzado C1
    • Inglés para Propósitos Específicos
    • Inglés de Negocios
  • Marketing Digital
    • Fundamentos de Marketing Digital
    • Marketing de Contenidos y Redacción Persuasiva
    • SEO y Posicionamiento Web
    • Social Media Marketing y Community Management
    • Publicidad Digital y Paid Media
    • Analítica Digital y Optimización (CRO)
    • Estrategia de Marketing y Growth
    • Marketing de Marca y Comunicación Estratégica
    • Marketing para E-commerce
    • Marketing B2B
    • Inteligencia Artificial Aplicada al Marketing
    • Automatización del Marketing
    • Marca Personal y Marketing Freelance
    • Ventas y Experiencia del Cliente
    • Creación de Contenido para Redes Sociales
  • Inteligencia Artificial y Data Science
    • Fundamentos de Data Science y AI
    • Análisis y Visualización de Datos
    • Machine Learning y Deep Learning
    • Data Engineer
    • Inteligencia Artificial para la Productividad
    • Desarrollo de Aplicaciones con IA
    • AI Software Engineer
  • Ciberseguridad
    • Fundamentos de Ciberseguridad
    • Hacking Ético y Pentesting (Red Team)
    • Análisis de Malware e Ingeniería Forense
    • Seguridad Defensiva y Cumplimiento (Blue Team)
    • Ciberseguridad Estratégica
  • Liderazgo y Habilidades Blandas
    • Fundamentos de Habilidades Profesionales
    • Liderazgo y Gestión de Equipos
    • Comunicación Avanzada y Oratoria
    • Negociación y Resolución de Conflictos
    • Inteligencia Emocional y Autogestión
    • Productividad y Herramientas Digitales
    • Gestión de Proyectos y Metodologías Ágiles
    • Desarrollo de Carrera y Marca Personal
    • Diversidad, Inclusión y Entorno Laboral Saludable
    • Filosofía y Estrategia para Líderes
  • Diseño de Producto y UX
    • Fundamentos de Diseño UX/UI
    • Investigación de Usuarios (UX Research)
    • Arquitectura de Información y Usabilidad
    • Diseño de Interfaces y Prototipado (UI Design)
    • Sistemas de Diseño y DesignOps
    • Redacción UX (UX Writing)
    • Creatividad e Innovación en Diseño
    • Diseño Accesible e Inclusivo
    • Diseño Asistido por Inteligencia Artificial
    • Gestión de Producto y Liderazgo en Diseño
    • Diseño de Interacciones Emergentes (VUI/VR)
    • Desarrollo Web para Diseñadores
    • Diseño y Prototipado No-Code
  • Contenido Audiovisual
    • Fundamentos de Producción Audiovisual
    • Producción de Video para Plataformas Digitales
    • Producción de Audio y Podcast
    • Fotografía y Diseño Gráfico para Contenido Digital
    • Motion Graphics y Animación
    • Contenido Interactivo y Realidad Aumentada
    • Estrategia, Marketing y Monetización de Contenidos
  • Desarrollo Móvil
    • Fundamentos de Desarrollo Móvil
    • Desarrollo Nativo Android con Kotlin
    • Desarrollo Nativo iOS con Swift
    • Desarrollo Multiplataforma con React Native
    • Desarrollo Multiplataforma con Flutter
    • Arquitectura y Patrones de Diseño Móvil
    • Integración de APIs y Persistencia Móvil
    • Testing y Despliegue en Móvil
    • Diseño UX/UI para Móviles
  • Diseño Gráfico y Arte Digital
    • Fundamentos del Diseño Gráfico y Digital
    • Diseño de Identidad Visual y Branding
    • Ilustración Digital y Arte Conceptual
    • Diseño Editorial y de Empaques
    • Motion Graphics y Animación 3D
    • Diseño Gráfico Asistido por Inteligencia Artificial
    • Creatividad e Innovación en Diseño
  • Programación
    • Fundamentos de Programación e Ingeniería de Software
    • Herramientas de IA para el trabajo
    • Matemáticas para Programación
    • Programación con Python
    • Programación con JavaScript
    • Programación con TypeScript
    • Programación Orientada a Objetos con Java
    • Desarrollo con C# y .NET
    • Programación con PHP
    • Programación con Go y Rust
    • Programación Móvil con Swift y Kotlin
    • Programación con C y C++
    • Administración Básica de Servidores Linux
  • Negocios
    • Fundamentos de Negocios y Emprendimiento
    • Estrategia y Crecimiento Empresarial
    • Finanzas Personales y Corporativas
    • Inversión en Mercados Financieros
    • Ventas, CRM y Experiencia del Cliente
    • Operaciones, Logística y E-commerce
    • Gestión de Proyectos y Metodologías Ágiles
    • Aspectos Legales y Cumplimiento
    • Habilidades Directivas y Crecimiento Profesional
    • Diversidad e Inclusión en el Entorno Laboral
    • Herramientas Digitales y Automatización para Negocios
  • Blockchain y Web3
    • Fundamentos de Blockchain y Web3
    • Desarrollo de Smart Contracts y dApps
    • Finanzas Descentralizadas (DeFi)
    • NFTs y Economía de Creadores
    • Seguridad Blockchain
    • Ecosistemas Blockchain Alternativos (No-EVM)
    • Producto, Marketing y Legal en Web3
  • Recursos Humanos
    • Fundamentos y Cultura Organizacional en RRHH
    • Atracción y Selección de Talento
    • Cultura y Employee Experience
    • Gestión y Desarrollo de Talento
    • Desarrollo y Evaluación de Liderazgo
    • Diversidad, Equidad e Inclusión
    • AI y Automatización en Recursos Humanos
    • Tecnología y Automatización en RRHH
  • Finanzas e Inversiones
    • Fundamentos de Finanzas Personales y Corporativas
    • Análisis y Valoración Financiera
    • Inversión y Mercados de Capitales
    • Finanzas Descentralizadas (DeFi) y Criptoactivos
    • Finanzas y Estrategia para Startups
    • Inteligencia Artificial Aplicada a Finanzas
    • Domina Excel
    • Financial Analyst
    • Conseguir trabajo en Finanzas e Inversiones
  • Startups
    • Fundamentos y Validación de Ideas
    • Estrategia de Negocio y Product-Market Fit
    • Desarrollo de Producto y Operaciones Lean
    • Finanzas, Legal y Fundraising
    • Marketing, Ventas y Growth para Startups
    • Cultura, Talento y Liderazgo
    • Finanzas y Operaciones en Ecommerce
    • Startups Web3 y Blockchain
    • Startups con Impacto Social
    • Expansión y Ecosistema Startup
  • Cloud Computing y DevOps
    • Fundamentos de Cloud y DevOps
    • Administración de Servidores Linux
    • Contenerización y Orquestación
    • Infraestructura como Código (IaC) y CI/CD
    • Amazon Web Services
    • Microsoft Azure
    • Serverless y Observabilidad
    • Certificaciones Cloud (Preparación)
    • Plataforma Cloud GCP

Platzi y comunidad

  • Platzi Business
  • Live Classes
  • Lanzamientos
  • Executive Program
  • Trabaja con nosotros
  • Podcast

Recursos

  • Manual de Marca

Soporte

  • Preguntas Frecuentes
  • Contáctanos

Legal

  • Términos y Condiciones
  • Privacidad
  • Tyc promociones
Reconocimientos
Reconocimientos
Logo reconocimientoTop 40 Mejores EdTech del mundo · 2024
Logo reconocimientoPrimera Startup Latina admitida en YC · 2014
Logo reconocimientoPrimera Startup EdTech · 2018
Logo reconocimientoCEO Ganador Medalla por la Educación T4 & HP · 2024
Logo reconocimientoCEO Mejor Emprendedor del año · 2024
De LATAM conpara el mundo
YoutubeInstagramLinkedInTikTokFacebookX (Twitter)Threads