Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions docs/blog/.pages
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
title: Blog
nav:
- index.md
- PyconLatam2025.md
207 changes: 207 additions & 0 deletions docs/blog/PyconLatam2025.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,207 @@
---
title: "Crónica de un fuego llamado PyCon Latam 2025"
---

**![][image1]**

Existen momentos que marcan un antes y un después, instantes en que la vida misma se convierte en un relato que pide ser contado. **PyCon Latam 2025** fue uno de ellos. Entre el 21 y el 24 de agosto, la brújula nos llevó a **Puntarenas, Costa Rica**, un lugar donde el mar Pacífico acaricia la arena como un viejo amigo, y donde la hospitalidad se respira en cada gesto, en cada sonrisa, en cada sorbo de café que sabe a raíces y a hogar.

Por primera vez, la conferencia cruzó las fronteras mexicanas para instalarse en la tierra del *pura vida*, con sus bosques vigilados por perezosos y su espíritu sereno que invita a vivir más despacio, más profundo, más humano.

La **sede del Pacífico de la Universidad de Costa Rica (UCR)** fue el corazón que latió durante esos días. Allí, bajo el liderazgo generoso de *Roland Pérez* y *Luis Zárate*, convergieron voces de toda América Latina: profesionales, estudiantes, entusiastas y soñadores que viajaron con un mismo deseo —compartir lo aprendido, descubrir lo nuevo y estrechar lazos que trascienden la tecnología. Lo que allí ocurrió fue más que un congreso: fue una fiesta del conocimiento, un carnaval de ideas y amistades que quedarán grabadas en la memoria de todos los presentes.

Y como un faro que nunca se apaga, la comunidad de **Python CDMX** se levantó una vez más. Con la pasión que la caracteriza, se hizo presente entre el sol, las olas y la calidez de Costa Rica, llevando consigo esa chispa encendida que transforma las reuniones en hogueras de inspiración, donde cada palabra y cada encuentro se convierten en combustible para seguir soñando y creando.

## **Canciones bajo las estrellas**

Desde el jueves, cuando aún todo era bienvenida, se sintió la magia. Una cena compartida, el tintinear de los vasos alzados, las primeras risas que tejieron complicidad entre desconocidos. Y luego, como si el universo quisiera acompañarnos, vinieron las canciones: un coro espontáneo, voces que en la penumbra se unieron para hacer de la música el lenguaje universal de quienes saben que un encuentro no empieza con charlas, sino con el gozo de estar juntos.

## **Brújulas, nubes y futuro**

El viernes amaneció con un aire solemne. El vicerrector de la Universidad de Costa Rica pronunció un discurso humano y cálido, recordándonos que el conocimiento es un acto de generosidad.

Entonces subió al escenario **Hugo Ramírez**, acompañado por Ashley Rojas, con la charla *«Python como brújula y sustento: del código al propósito»*. Sus palabras fueron un faro: nos hablaron de Python no como un lenguaje de programación, sino como un camino, un aliado que se transforma en propósito y comunidad. Escucharlos fue descubrir que el código también late y que detrás de cada línea existe un ser humano que busca sentido.

![][image2]

![][image3]

Más tarde, entre el aroma de una comida que parecía abrazar a todos los asistentes, llegó el turno de **David Sol**. Primero nos guió con maestría por las aguas técnicas de *AWS y Boto3*, mostrando cómo Python se alza como puente hacia las nubes. Pero fue en la **Keynote** de cierre donde su voz resonó como trueno. Allí habló de lo que viene: la irrupción de la *Inteligencia Artificial Generativa*, los retos y la responsabilidad de abrazar lo nuevo sin miedo. Nos invitó a dar un paso al frente, a no ser meros espectadores, sino arquitectos de un futuro donde la humanidad avance con ayuda de la máquina y nunca sometida a ella.

![][image4]


<div class="video-section">
<div class="video-container">
<div class="video-wrapper">
<iframe
src="https://www.youtube.com/embed/6wsxK9_BSfk?start=358"
title="Pycon Latam 2025 Costa Rica | AWS y Boto3 | David Sol | Parte 1"
frameborder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
allowfullscreen>
></iframe>
</div>
</div>
</div>




## Parte 2: AWS y Boto3 - Continuación

<div class="video-section">
<div class="video-container">
<div class="video-wrapper">
<iframe
src="https://www.youtube.com/embed/6397J9hE76Q"
title="Pycon Latam 2025 Costa Rica | AWS y Boto3 | David Sol Parte 2"
frameborder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
allowfullscreen>
></iframe>
</div>
</div>
</div>

## Parte 3: AWS y Boto3 - Final

<div class="video-section">
<div class="video-container">
<div class="video-wrapper">
<iframe
src="https://www.youtube.com/embed/WXwrikQvVrE"
title="Pycon Latam 2025 Costa Rica | AWS y Boto3 | David Sol Parte 3"
frameborder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
allowfullscreen>
></iframe>
</div>
</div>
</div>

## Keynote: PyCon Latam 2025

<div class="video-section">
<div class="video-container">
<div class="video-wrapper">
<iframe
src="https://www.youtube.com/embed/WXwrikQvVrE?start=9312"
title="Pycon Latam 2025 Costa Rica | Keynote"
frameborder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
allowfullscreen>
></iframe>
</div>
</div>
</div>

## **Relámpagos de cinco minutos**

Cuando cayó la tarde, las **Lightning Talks** nos recordaron que a veces cinco minutos bastan para encender una chispa eterna.

### Lightning Talks - PyToNotion – Iván Castañeda

<div class="video-section">
<div class="video-container">
<div class="video-wrapper">
<iframe
src="https://www.youtube.com/embed/WXwrikQvVrE?start=6069"
title="PyCon Latam 2025 | PyToNotion - Iván Castañeda"
frameborder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
allowfullscreen>
></iframe>
</div>
</div>
</div>

### Lightning Talks - Aprender con lo nuestro – Hugo Ramírez

<div class="video-section">
<div class="video-container">
<div class="video-wrapper">
<iframe
src="https://www.youtube.com/embed/WXwrikQvVrE?start=7242"
title="PyCon Latam 2025 | Aprender con lo nuestro - Hugo Ramírez"
frameborder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
allowfullscreen>
></iframe>
</div>
</div>
</div>

### Lightning Talks - UV y Rich – David Sol

<div class="video-section">
<div class="video-container">
<div class="video-wrapper">
<iframe
src="https://www.youtube.com/embed/WXwrikQvVrE?start=7723"
title="PyCon Latam 2025 | UV y Rich - David Sol"
frameborder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
allowfullscreen>
></iframe>
</div>
</div>
</div>

![][image7]

Cada charla fue un destello, un fogonazo de ingenio y pasión que dejó en claro que la comunidad se nutre no sólo de grandes conferencias, sino también de esos instantes breves donde se comparte lo más íntimo y personal.

## **El sábado: batallas técnicas y cuentos fantásticos**

El sábado trajo consigo la resiliencia de **Gustavo Vera**, que luchó contra la adversidad técnica y triunfó. Su charla sobre servidores MCP listos para producción fue sólida, impecable, y reflejo de su experiencia. No hubo apagón que apagara su talento ni problema que lograra robarle la voz.

![Pycon Latam 2025 | Costa Rica | Gustavo Vera][image8]

Y cuando el evento pedía su cierre, apareció nuevamente **Iván Castañeda** para contar su propia historia, *El trainee que pintó con datos y soño con código: El viaje de quien se atrevió a soñar con máquinas*. No fue una charla más, fue un cuento fantástico. Narró su experiencia como si abriera un libro encantado, donde cada capítulo estaba tejido con aprendizajes, caídas, victorias y magia. La comunidad escuchaba en silencio, como quien se sumerge en un relato del que no quiere escapar.

![Pycon Latam 2025 | Costa Rica | Ivan Castañeda][image9]

## **Más allá de las charlas, la vida que nos rodea**

Las fotografías de **Mónica Ortega**, tomadas en los momentos más intensos y más sencillos, son ahora ventanas hacia la memoria. Con su apoyo y su sonrisa se convirtió en parte del alma del evento, recordándonos que la vida no se mide en diapositivas, sino en instantes capturados para siempre.

Y como colofón, Costa Rica nos regaló su tradición: una **cimarrona** que llenó el aire de música popular, y una **mascarada** que danzó entre los asistentes como un carnaval íntimo. El cierre no fue un adiós, fue una celebración: bailamos, reímos y abrazamos la certeza de que los días compartidos habían sembrado amistades que durarán más que cualquier congreso.

![Pycon Latam 2025 | Costa Rica | Cimarrona][image10]![Pycon Latam 2025 | Costa Rica | Mascarada][image11]

## **La promesa de volver**

El eco de Puntarenas aún resuena. PyCon Latam 2025 no fue sólo un evento: fue un poema escrito entre charlas, comidas, risas y música. Fue una comunidad latiendo como un solo corazón.

El próximo año, en **2026**, regresaremos a Costa Rica. Volveremos a sus playas, a su hospitalidad, a ese mar que nos mira como espejo. Y a los que este año no pudieron estar, les decimos: los extrañamos. La mesa tiene un lugar reservado para ustedes.

Y como dicen en Costa Rica, con el alma llena y los ojos brillando:

***¡Pura Vida\!***

***![Pycon Latam 2025 | Costa Rica | Comunidad PythonCDMX][image12]***

[image1]: media/PyconLatam2025/image1.png

[image2]: media/PyconLatam2025/image2.png

[image3]: media/PyconLatam2025/image3.png

[image4]: media/PyconLatam2025/image4.png

[image5]: media/PyconLatam2025/image5.png

[image6]: media/PyconLatam2025/image6.png

[image7]: media/PyconLatam2025/image7.png

[image8]: media/PyconLatam2025/image8.png

[image9]: media/PyconLatam2025/image9.png

[image10]: media/PyconLatam2025/image10.png

[image11]: media/PyconLatam2025/image11.png

[image12]: media/PyconLatam2025/image12.png
11 changes: 11 additions & 0 deletions docs/blog/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Blog Python CDMX

Bienvenido al blog de la comunidad Python CDMX. Aquí encontrarás artículos, tutoriales y reflexiones sobre Python y la comunidad.

## Artículos Recientes

Los artículos se muestran automáticamente en el menú de navegación. ¡Explora la sección Blog para ver todos nuestros contenidos!

---

¿Te gustaría contribuir con un artículo? ¡Contáctanos en [info@pythoncdmx.org](mailto:info@pythoncdmx.org)!
Binary file added docs/blog/media/PyconLatam2025/image1.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/blog/media/PyconLatam2025/image10.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/blog/media/PyconLatam2025/image11.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/blog/media/PyconLatam2025/image12.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/blog/media/PyconLatam2025/image2.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/blog/media/PyconLatam2025/image3.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/blog/media/PyconLatam2025/image4.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/blog/media/PyconLatam2025/image5.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/blog/media/PyconLatam2025/image6.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/blog/media/PyconLatam2025/image7.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/blog/media/PyconLatam2025/image8.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/blog/media/PyconLatam2025/image9.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
67 changes: 67 additions & 0 deletions docs/blog/media/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
# Blog Media

Esta carpeta contiene las imágenes utilizadas en los artículos del blog, organizadas por artículo.

## Estructura

```
media/
├── README.md
└── PyconLatam2025/
├── image1.png
├── image2.png
├── ...
└── image12.png
```

## Organización por artículo

Cada artículo del blog tiene su propia carpeta dentro de `media/` con el mismo nombre que el archivo `.md`:

- `PyconLatam2025/` - Imágenes del artículo PyCon Latam 2025
- `futuro-articulo/` - Imágenes de futuros artículos

## Proceso de extracción

Las imágenes fueron extraídas automáticamente desde el archivo `PyconLatam2025.md` y organizadas en su carpeta correspondiente.

## Agregar nuevos artículos

Para crear un nuevo artículo del blog, usa el script de configuración:

```bash
python scripts/setup_blog_article.py nombre-del-articulo
```

Este script:
- Crea el archivo `docs/blog/nombre-del-articulo.md`
- Crea la carpeta `docs/blog/media/nombre-del-articulo/`
- Agrega el artículo a la navegación en `.pages`
- Incluye plantilla básica con ejemplos

## Agregar nuevas imágenes

Para agregar nuevas imágenes al blog:

1. **Crear carpeta del artículo** (si no existe):
```bash
mkdir docs/blog/media/nombre-del-articulo
```

2. **Colocar las imágenes** en la carpeta del artículo

3. **Referenciar en el markdown**:
```markdown
![alt text](media/nombre-del-articulo/imagen.png)
```

O usar definiciones:
```markdown
[nombre]: media/nombre-del-articulo/imagen.png
```

## Convenciones de nombres

- **Carpetas**: Mismo nombre que el archivo `.md` (sin extensión)
- **Imágenes**: Nombres descriptivos y únicos dentro de cada carpeta
- **Formatos**: PNG, JPG, GIF, SVG (preferir PNG para capturas de pantalla)
7 changes: 7 additions & 0 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,9 @@ nav:
- Comunidades: comunidad/comunidades.md
- Código de Conducta: codigo-de-conducta.md
- Aviso de Privacidad: aviso-de-privacidad.md
- Blog:
- Inicio: blog/index.md
- PyCon Latam 2025: blog/PyconLatam2025.md
- Acerca de: about.md

# Plugins
Expand All @@ -98,6 +101,10 @@ plugins:
minify_js: true
htmlmin_opts:
remove_comments: true
- awesome-pages:
filename: .pages
collapse_single_pages: false
strict: false

# Social links
extra:
Expand Down
1 change: 1 addition & 0 deletions requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,6 @@ mkdocs>=1.5.0
mkdocs-material>=9.5.0
mkdocs-git-revision-date-localized-plugin>=1.2.0
mkdocs-minify-plugin>=0.7.0
mkdocs-awesome-pages-plugin>=2.10.1
pymdown-extensions>=10.0.0
Jinja2>=3.0
Loading