Skip to content

Commit

Permalink
Adding FastAPI Doc
Browse files Browse the repository at this point in the history
  • Loading branch information
OverCV committed Jul 27, 2024
1 parent 899fd54 commit fde0628
Show file tree
Hide file tree
Showing 9 changed files with 113 additions and 15 deletions.
Binary file added docs/_static/images/tema_01/folder-access.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/_static/images/tema_01/open-folder.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
File renamed without changes
Binary file added docs/_static/images/tema_01/tec-prog.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 2 additions & 2 deletions docs/_toc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,13 @@ chapters:
- file: temas/uno/instalar_cpp_tools
- file: temas/uno/instalar_vsc
- file: temas/uno/instalar_python
- file: temas/uno/definir_reqs
- file: temas/uno/configuracion
- file: temas/uno/fastapi

- file: tema_02
sections:
- file: temas/dos/wip


# - file: complejidad_algoritmica
# sections:
# - file: temas/notacion_asintotica
Expand Down
40 changes: 40 additions & 0 deletions docs/temas/uno/configuracion.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# Configuraciones finales

## Espacio de trabajo

Es importante tener un espacio de trabajo organizado y limpio para poder trabajar de manera eficiente y sin confusiones.
Lo normal es tener un directorio principal o carpeta donde se almacenen más carpetas definidas como proyectos independientes entre sí. En este curso, usaremos Visual Studio Code (VSC) como editor de código, por lo que es importante tener una estructura de carpetas clara y ordenada.

Lo primero que necesitamos es crear un directorio o carpeta donde ubicaremos todo el contenido y proyectos que desarrollemos en el curso. Para ello, sigue los siguientes pasos:

1. Pulsa `win + e`, busca un directorio cómodo para ti y crea una carpeta con un nombre reconocible.
<img rounded='100' src='../../_static/images/tema_01/tec-prog.png'></img>
Copiamos la ruta de la carpeta.
2. Abrimos nuestro Visual Studio Code (VSC) y pulsamos `ctrl + k o`. Pegamos la ruta de la carpeta y pulsamos `enter`.
<img rounded='100' src='../../_static/images/tema_01/open-folder.png'></img>

```{tip}
Alternativamente puedes arrastrar la carpeta hasta el editor de código en VSC, al soltarla se abrirá dicha carpeta.
```
3. Sólo si confías en tí mismo, acepta la advertencia de confianza pulsando en **Sí, confío en los autores**.
<img rounded='100' src='../../_static/images/tema_01/folder-access.png'></img>
4. Puedes comprobar con `ctrl + e` en el **Explorador de archivos** que has abierto el directorio padre.
```{dropdown} Desafío 00!
Vamos a generar un proyecto cuyo nombre será `Mini-Back`, al terminar debemos abrirlo. El reto está en hacerlo sólo por terminal.
```

## Extensiones de Visual Studio Code

Las extensiones de Visual Studio Code (VSC) son herramientas que nos permiten extender las funcionalidades del editor de código. Existen extensiones para todo tipo de lenguajes de programación, herramientas de depuración, control de versiones, entre otros.

Presionamos `ctrl + shift + x` para abrir la pestaña de **Extensiones** y buscamos las siguientes extensiones:

1. **Python** de Microsoft.
2. **Pylance** de Microsoft.
3. **Live Share** de Microsoft.
4. **Thunder Client** de Thunder Client.
5. **Code Runner** de Jun Han.
6. **Ruff** de Astral Software.
7. **Dotenv Official + Vault** de Dotenv.
11 changes: 0 additions & 11 deletions docs/temas/uno/definir_reqs.md

This file was deleted.

70 changes: 70 additions & 0 deletions docs/temas/uno/fastapi.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
# Introducción a FastAPI

Ya que nos encontramos en la carpeta `Mini-Back`, vamos a entender FastAPI como un framework web moderno y rápido para crear APIs con Python 3.6+ *(3.6 en adelante)* basado en estándares abiertos y estándares de tipo de datos Python. Es fácil de aprender y usar, pero también es muy rápido y eficiente.

Lo primero que debemos hacer es configurar correctamente nuestro entorno de desarrollo, esto aplica para cualquier desarrollo que se realice en Python

## Entorno virtual

Un entorno virtual es un directorio que tiene como función aislar todas las librerías, módulos y dependencias para un proyecto en particular. Esto se hace porque cada proyecto puede tener diferentes versiones de las librerías y módulos, y a veces pueden ser incompatibles entre sí.

Para crear un entorno virtual, debemos instalar la librería `virtualenv` que nos permitirá crear un entorno virtual. Para ello, abrimos una terminal y ejecutamos el siguiente comando:

```powershell
pip install virtualenv
```

Una vez instalado `virtualenv`, vamos a crear un entorno virtual en la carpeta `Mini-Back`. Para ello, ejecutamos el siguiente comando:

```powershell
python -m venv .venv
```

```{note}
Si usamos `ctrl + shift + p` y escribimos `Python: Create Environment`, seleccionamos la opción `Python: Select Interpreter` y elegimos la opción `Create New Environment`, seleccionamos Venv y finalmente la versión de Python que deseemos.
```

*El uso de `-m` es para especificar un módulo, en este caso `venv` que es el módulo que nos permite crear entornos virtuales y así no tomar otro módulo que se pueda llamar igual.*
Este comando creará un directorio llamado `.venv` en la carpeta `Mini-Back`. No obsatante **debemos activar siempre** el entorno virtual *(se desactiva al cerrar el editor)*, ejecutamos el siguiente comando:

```powershell
.venv\Scripts\activate
```

Podremos notar cómo en la terminal aparece el nombre del entorno virtual activo, en este caso `(.venv)`. En caso se necesite desactivar el entorno virtual, se ejecuta el comando:

```powershell
deactivate
```

## Requerimientos

En desarrollos colaborativos, es importante tener un archivo que contenga todas las librerías y módulos que se necesitan para ejecutar el proyecto. Para ello, vamos a crear un archivo llamado `requirements.txt` en la carpeta raíz (`Mini-Back`) y vamos a agregar las siguientes librerías:

```text
fastapi
uvicorn
pydantic
python-dotenv
ruff
```

```{note}
En python 3.8+ se puede usar `pip freeze > requirements.txt` para habiendo ya instalado las dependencias, generar este archivo `requirements.txt` con todas las librerías instaladas en el entorno virtual.
```{dropdown} Más sobre versionamiento!
Si no espacificamos la versión en las librerías, se instalará la última versión disponible.
Para especificar una versión exacta, se puede hacer de la siguiente manera:
```plaintext
fastapi==0.68.0
uvicorn>=0.15.0,<=0.17.0
pydantic<1.8.2
python-dotenv>=0.19.0
ruff~=0.1.0
```

```{note}
instalación de Python aislada de la instalación global. Esto significa que los paquetes instalados en el entorno virtual no afectarán a la instalación global y viceversa.
```

Ahora sí vamos a instalar FastAPI, para ello, abrimos una terminal y ejecutamos el siguiente comando:
3 changes: 1 addition & 2 deletions docs/temas/uno/instalar_python.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ Para instalar Python en tu computadora, sigue los siguientes pasos:

1. Abre el navegador y accede a la página de descarga de [Python Windows](https://www.python.org/downloads/windows/).
2. Descarga el instalador de Python y ejecútalo *(puedes descargar más de una versión e instalarlas paulatinamente)*.
<img src='../../_static/images/tema_01/py-vers.png.jpg'></img>
<img src='../../_static/images/tema_01/py-vers.png'></img>
3. Asegúrate de seleccionar la opción de **Add Python to PATH**.
4. Haz clic en "Install Now" y espera a que finalice la instalación.
5. Abre una terminal *(busca cmd en Windows o usa `win + r`, escribe `cmd` y pulsa `enter`)* y ejecuta el siguiente comando para validar todas las versiones de Python que se hayan instalado en tu computadora:
Expand Down Expand Up @@ -41,7 +41,6 @@ py -0p

::::


```{tip}
Si eres usuario Windows es posible instalar Python a través de la Microsoft Store, para ello busca Python en la tienda (en la versión deseada) y sigue los pasos de instalación.
```

0 comments on commit fde0628

Please sign in to comment.