Package: python-poetry-template
Python Poetry TemplateEste proyecto, "Python Poetry Template", es una plantilla versátil para proyectos de Python, diseñada para facilitar la gestión de dependencias, la publicación de módulos, el análisis estático de código, las pruebas y la generación de documentación. Utilizando herramientas modernas como Poetry, PyPI, Flake8, Pytest, Coverage y Sphinx con tema Read The Docs, esta plantilla está orientada a maximizar la eficiencia y calidad en el desarrollo de software en Python.Herramientas UtilizadasPoetry:Gestión de dependencias y empaquetado en Python.PyPI:Plataforma para la publicación de paquetes Python.Flake8:Análisis estático de código para cumplimiento de estilo.Pytest y Coverage:Framework de pruebas y medición de cobertura de código.Sphinx (Tema RTD):Generación de documentación del proyecto.Configuración del ProyectoPara configurar el entorno de desarrollo:Clone el repositorio:git clone [URL del repositorio].Instale Poetry si aún no está instalado en su sistema.Ejecutepoetry installpara instalar las dependencias del proyecto.Renombrar el contenedor principal de códigoEl código se encuentra por defecto bajo el directoriopython_poetry_template, debemos renombrarla, al nombre deseado.Configuración depyproject.tomlAsegúrate de que tu archivopyproject.tomlesté correctamente configurado. Esto incluye especificar el nombre del paquete, la versión, la descripción, los autores y cualquier otra información relevante que PyPI necesite para mostrar tu paquete correctamente.Por ejemplo:[tool.poetry]name="nombre-de-tu-paquete"version="0.1.0"description="Una breve descripción de tu paquete"authors=["Tu Nombre <tu_email@example.com>"]...[tool.taskipy.tasks]html_docs="make html -C docs"lint="poetry run flake8 <ruta-directorio-principal>"coverage="poetry run coverage run -m --source=<ruta-directorio-principal> pytest tests && poetry run coverage report -m"Configuración del la documentaciónEn el fichero de configuración de sphinxdocs/source/conf.pydebemos configurar con los valores de nuestro proyecto.project='python_poetry_template'copyright='2023, frapercan'author='frapercan'también debemos configurardocs/source/index.rsthaciendo referencia a los ficheros .rst que gestionan nuestros módulos de programación , teniendodocs/source/template.rstcómo ejemplo de muestra.En caso de dudas atender a la documentación oficial de sphinx.ComandosGenerar Documentaciónpoetryruntaskhtml_docsEste comando construye la documentación del proyecto con Sphinx y el tema RTD, ubicándola endocs/build.Análisis Estático de Código (Linting)poetryruntasklintEjecuta Flake8 para análisis estático del código, ayudando a identificar problemas de estilo y errores.Cobertura de PruebaspoetryruntaskcoverageRealiza pruebas con Pytest y genera un informe de cobertura con Coverage.Publicación del PaquetePara compilar y publicar tu paquete Python utilizando Poetry, sigue estos pasos:Compilación del PaqueteAntes de publicar, es una buena práctica compilar el paquete para asegurarse de que todo esté configurado correctamente. Para compilar tu paquete, ejecuta:poetrybuildEste comando generará los archivos de distribución en los formatos de archivo Wheel y Source. Los archivos se crearán en el directoriodist/de tu proyecto.Publicación en PyPIUna vez que hayas compilado tu paquete, puedes publicarlo enPyPIpara que otros puedan instalarlo fácilmente. Asegúrate de tener una cuenta en PyPI y haber configurado tus credenciales de autenticación.poetrypublishEste comando te pedirá tus credenciales de PyPI (si no están ya almacenadas) y luego subirá los archivos de distribución a PyPI.Python Poetry TemplateEste proyecto, "Python Poetry Template", es una plantilla versátil para proyectos de Python, diseñada para facilitar la gestión de dependencias, la publicación de módulos, el análisis estático de código, las pruebas y la generación de documentación. Utilizando herramientas modernas como Poetry, PyPI, Flake8, Pytest, Coverage y Sphinx con tema Read The Docs, esta plantilla está orientada a maximizar la eficiencia y calidad en el desarrollo de software en Python.Herramientas UtilizadasPoetry:Gestión de dependencias y empaquetado en Python.PyPI:Plataforma para la publicación de paquetes Python.Flake8:Análisis estático de código para cumplimiento de estilo.Pytest y Coverage:Framework de pruebas y medición de cobertura de código.Sphinx (Tema RTD):Generación de documentación del proyecto.Configuración del ProyectoPara configurar el entorno de desarrollo:Clone el repositorio:git clone [URL del repositorio].Instale Poetry si aún no está instalado en su sistema.Ejecutepoetry installpara instalar las dependencias del proyecto.Renombrar el contenedor principal de códigoEl código se encuentra por defecto bajo el directoriotemplate, debemos renombrarla, al nombre deseado.Configuración depyproject.tomlAsegúrate de que tu archivopyproject.tomlesté correctamente configurado. Esto incluye especificar el nombre del paquete, la versión, la descripción, los autores y cualquier otra información relevante que PyPI necesite para mostrar tu paquete correctamente.Por ejemplo:[tool.poetry]name="nombre-de-tu-paquete"version="0.1.0"description="Una breve descripción de tu paquete"authors=["Tu Nombre <tu_email@example.com>"]...[tool.taskipy.tasks]html_docs="make html -C docs"lint="poetry run flake8 <ruta-directorio-principal>"coverage="poetry run coverage run -m --source=<ruta-directorio-principal> pytest tests && poetry run coverage report -m"Configuración del la documentaciónEn el fichero de configuración de sphinxdocs/source/conf.pydebemos configurar con los valores de nuestro proyecto.project='template'copyright='2023, frapercan'author='frapercan'también debemos configurardocs/source/index.rsthaciendo referencia a los ficheros .rst que gestionan nuestros módulos dep programación , teniendodocs/source/template.rstcómo ejemplo de muestra.En caso de dudas atender a la documentación oficial de sphinx.ComandosGenerar Documentaciónpoetryruntaskhtml_docsEste comando construye la documentación del proyecto con Sphinx y el tema RTD, ubicándola endocs/build.Análisis Estático de Código (Linting)poetryruntasklintEjecuta Flake8 para análisis estático del código, ayudando a identificar problemas de estilo y errores.Cobertura de PruebaspoetryruntaskcoverageRealiza pruebas con Pytest y genera un informe de cobertura con Coverage.Publicación del PaquetePara compilar y publicar tu paquete Python utilizando Poetry, sigue estos pasos:Aumentar la versión del proyecto.poetryversionminorpoetryversionmajorCompilación del PaqueteAntes de publicar, es una buena práctica compilar el paquete para asegurarse de que todo esté configurado correctamente. Para compilar tu paquete, ejecuta:poetrybuildEste comando generará los archivos de distribución en los formatos de archivo Wheel y Source. Los archivos se crearán en el directoriodist/de tu proyecto.Publicación en PyPIUna vez que hayas compilado tu paquete, puedes publicarlo enPyPIpara que otros puedan instalarlo fácilmente. Asegúrate de tener una cuenta en PyPI y haber configurado tus credenciales de autenticación.poetrypublishEste comando te pedirá tus credenciales de PyPI (si no están ya almacenadas) y luego subirá los archivos de distribución a PyPI.Configurar credenciales de PiPyPara configurar la github actions, debemos de añadir la clave secreta en la configuración del repositorio bajo el nombrePYPI_API_TOKEN.
Este token lo sacamos tras haber configurado nuestra cuenta de pipy.Configurar Codecov y ReadTheDocsA través de la página de la aplicaciónCodeCovyReadTheDocspodemos configurar los repositorios bajo nuestro usuario de github para que sean monitorizados por estos servicios.Configurar los badges:Tomando las primeras lineas de este README.md de muestra, podemos reemplazar los valores de nuestro template, por los de nuestro proyecto deseado de forma intuitiva.