Skip to content

Python de Cero a Pro - Cap.8 Estructura de Proyecto

¡Hola! En este capítulo exploraremos un tema fundamental para cualquier desarrollador que quiera pasar de crear scripts sencillos a proyectos profesionales y escalables: la organización del código. Un proyecto bien estructurado es más fácil de entender, mantener y colaborar.

Volver a Página Principal

Ver Codigo en GitLab


Organizar tu proyecto de manera coherente tiene múltiples beneficios. Facilita la colaboración con otros desarrolladores, reduce la probabilidad de errores al mantener un flujo de trabajo claro, y es esencial para la escalabilidad y el mantenimiento a largo plazo. Un proyecto desorganizado, por el contrario, puede convertirse rápidamente en una “deuda técnica” que ralentiza el progreso y frustra al equipo.


Aquí te presento una estructura de proyecto recomendada para Python, que es ampliamente utilizada en la industria y te ayudará a mantener tu código ordenado y profesional.

Terminal window
mi_proyecto/
├── mi_paquete/ # Contiene el código fuente principal
├── __init__.py # Lo convierte en un paquete Python
├── modulo1.py
├── modulo2.py
└── ...
├── tests/ # Contiene las pruebas unitarias e integración
├── __init__.py
├── test_modulo1.py
├── test_modulo2.py
└── ...
├── docs/ # Contiene la documentación del proyecto
├── .venv/ # Entorno virtual para el proyecto
├── .gitignore # Archivos y carpetas a ignorar por Git
├── README.md # Descripción del proyecto e instrucciones
└── requirements.txt # Dependencias del proyecto
  • mi_paquete/: Es el corazón de tu proyecto. El nombre de la carpeta debe ser el mismo que el del paquete que se importará.

    • __init__.py: Es un archivo especial que le dice a Python que esta carpeta es un paquete. Este archivo puede estar vacío, pero es fundamental para la estructura.
  • tests/: Esta carpeta contiene todas las pruebas para tu código. Mantener las pruebas separadas del código principal es una buena práctica que facilita su ejecución y gestión.

  • docs/: Aquí se guarda toda la documentación del proyecto. Puedes usar herramientas como Sphinx para generar documentación a partir de archivos de texto simple.

  • .venv/: Esta carpeta, creada al configurar un entorno virtual, contiene la instalación de Python y todas las dependencias específicas de tu proyecto. Es una buena práctica para que tu proyecto no afecte otras instalaciones de Python en tu sistema.

  • .gitignore: Un archivo esencial para Git. Contiene una lista de archivos y carpetas que Git debe ignorar, como __pycache__ o el propio .venv/, evitando que se suban al repositorio.

  • requirements.txt: En este archivo, listas todas las librerías que tu proyecto necesita para funcionar. Esto permite que otros desarrolladores puedan replicar fácilmente tu entorno de desarrollo con un simple comando: pip install -r requirements.txt