Cookiecutter template para paquetes de Python del equipo de Datos Argentina.
Nota: Todavía deben adaptarse/traducirse varias partes y eliminar algunas cosas que no usamos.
Esto es un fork del audrey/cookiecutter-pypackage que estamos adaptando y traduciendo para uso de los nuevos repositorios pythonicos del equipo de Datos.
- Travis-CI: Preparado para integración continua con Travis CI.
- Documentación automática: Documentación preparada para generarse y publicarse en ReadTheDocs.
- Auto-release a PyPI: Cada vez que se hace un tag con una nueva versión, se publica en PyPi automáticamente.
Instalar la última versión de Cookiecutter (este template requiere Cookiecutter 1.4.0 o mayor)::
pip install -U cookiecutter
- Crear un repositorio en Github y clonarlo localmente
- Seguir todos los pasos para crear un repositorio usando el template de cookiecutter:
cookiecutter https://github.com/datosgobar/cookiecutter-pypackage-ar.git
. Mover todo el contenido a la carpeta del repo clonado. pip install -r requirements_dev.txt
para instalar las dependencias de desarrollo (se recomienda crear un entorno virtual para el proyecto primero)- Ir a tu cuenta de Travis CI y agregar el nuevo repo (switch on)
- Modificar el archivo
.travis.yml
eliminando aquellas versiones de python no soportadas y agregando aquellas que sí lo sean
- Modificar el archivo
- Agregar el repo a tu cuenta de ReadTheDocs y switch on para activar el servicio.
make docs
para crear la documentación localmente, luego pushear para que vaya a Read The Docs.
make pypi
para registrar el repo en Pip y activar el auto-deploy con tags en Travis CI (requiere una cuenta en PyPi).- Esta acción genera el primer release a pypi.
Para más detalles ver cookiecutter-pypackage tutorial.
Antes de cada nuevo release a PyPi, deben seguirse estos pasos:
- Chequear que todos los tests corran OK
- Cambiar la versión en el
setup.py
- Cambiar la versión en el
__init__.py
del paquete - Agregar una nueva entrada al
HISTORY.md
bulleteando brevemente las diferencias que tiene el nuevo release respecto del anterior, para el usuario del paquete- Recordar cambiar la versión
- Recordar cambiar la fecha
- Correr
make docs
en el root del repo antes de pushear - Commitear y pushear
- Taggear el commit con la versión del nuevo release
Ver repositorio de audrey/cookiecutter-pypackage para otros templates de repos en python o directamente el de audreyr/cookiecutter para una lista de templates de todo tipo.
- @audrey por su fantástico ultimate template para un repositorio modelo en Python audrey/cookiecutter-pypackage.
Te invitamos a crearnos un issue en caso de que encuentres algún bug o tengas feedback de alguna parte de cookiecutter-pypackage-ar.
Para todo lo demás, podés mandarnos tu comentario o consulta a datos@modernizacion.gob.ar.