Guía para desarrolladores

En esta sección veremos como contribuir en el desarrollo de pilas, mostrando las herramientas de desarrollo y dando algunas recomendaciones.

Actualmente utilizamos Git junto a los servicios de github.

Repositorio

Para contribuir en el desarrollo de pilas necesitas una cuenta de usuario en github, nuestros proveedores del servicio de repositorios.

La dirección de acceso web al respositorio es:

Ten en cuenta que el servicio github es gratuito, y solo lleva unos minutos registrarse.

Obteniendo la última versión del repositio

Para obtener la última versión tienes que ejecutar el siguiente comando desde un terminal:

git clone http://github.com/hugoruscitti/pilas

Luego aparecerá un directorio llamado pilas, con el contenido completo del repositorio.

Primer prueba

Ingresa en el directorio pilas, ejecuta el comando:

python bin/pilas

debería aparecer en pantalla el asistente de primer inicio.

Instalación en modo desarrollo

Si sos desarrollador, la forma de instalación mas recomendable es mediante el comando develop. Esta opción es útil porque te permite mentener actualizada la biblioteca en todo momento.

Para usar esta opción de instalación tienes que ejecutar el siguiente comando:

sudo python setup.py develop

Ten en cuenta que a partir de ahora, cuando uses pilas en el sistema, se leerá el código directamente desde ese directorio en donde has clonado la biblioteca.

Mantenerse actualizado, siempre...

Dado que pilas está creciendo, es una buena idea mantener tu copia del motor actualizada.

Para ello tienes que ingresar en el directorio pilas y ejecutar el siguiente comando de manera periódica:

git pull

Mas detalles

Usamos el modelo de trabajo de github, haciendo forks y pull requests.

Si quieres obtener mas detalles te recomiendo ver el siguiente artículo:

Referencias para desarrolladores

pilas.pilasverion

Definición de la version actual de pilas y funciones para compararla.

pilas.pilasversion.VERSION = '0.84'

Contiene la versión actual de pilas.

pilas.pilasversion.compare(v0, v1)[fuente]

Compara dos versiones de pilas.

Sus posibles retornos son

  • -1 si v0 < v1.
  • 0 si v0 == v1.
  • 1 si v0 > v1.
Parámetros:
  • v0 (str) – primer versión a comparar.
  • v1 (str) – segunda versión a comparar.
pilas.pilasversion.compareactual(v)[fuente]

Compara la versión actual de pilas con una que se pasa como parámetro

Sus posibles retornos son:

  • -1 si versión actual de pilas < v.
  • 0 si versión actual de pilas == v.
  • 1 si versión actual de pilas > v.
Parámetros:v (str) – versión a comparar con la actual.

pilas.dev

Utilidades de desarrollo para Pilas.

Sobre Atributos Desaconsejados

Por defecto la PendingDeprecationWarning en pilas esta en modo once y DeprecationWarning en error.

Si se desea que todos los metodos desaconsejados puedan utilizarse, puede llamar a la funcion pilas.dev.utilizar_desaconsejados(True) con lo cual los DeprecationWarning pasan a estado once.

Para manejo avanzado de estas carasterísticas dirijase a documentación del módulo warnings

pilas.dev.deprecated(se_desactiva_en, se_elimina_en, reemplazo=None, nombre=None)[fuente]

Decorador utilizado para marcar una función como deprecada

Las excepciones que puede lanzar este decorador son:

  • Si la versión actual de pilas es mayor o igual que se_elimina_en y por descuido de los desarrolladores se olvidaron de eliminar la llamada a esta función, Siempre se lanza un AttributeError.
  • Si la versión actual de pilas es mayor o igual que se_desactiva_en se emite un DeprecationWarning.
  • Si la versión actual de pilas es menor que se_desactiva_en se emite un PendingDeprecationWarning.
Parámetros:
  • elemento_deprecado (str) – Cual el nombre del elemento desaconsejado.
  • se_desactiva_en (str) – Indica en que versión de pilas el atributo estará desactivado por defecto. De todas maneras se podran activar con pilas.dev.utilizar_desaconsejados(True)
  • se_elimina_en (str) – Indica en que versión de pilas el atributo se eliminara completamente.
  • reemplazo (str) – Indica cuales son las alternativas a este atributo
  • nombre (str) – Si se desea cambiar el nombre de la función desaconsejada.
pilas.dev.deprecated_warning(elemento_deprecado, se_desactiva_en, se_elimina_en, reemplazo=None)[fuente]

Lanza la correcta exception/warning de anuncio de que algo está en desuso.

Las excepción/warning que puede lanzar esta función son:

  • Si la versión actual de pilas es mayor o igual que se_elimina_en y por descuido de los desarrolladores se olvidaron de eliminar la llamada a esta función, Siempre se lanza un AttributeError.
  • Si la versión actual de pilas es mayor o igual que se_desactiva_en se emite un DeprecationWarning.
  • Si la versión actual de pilas es menor que se_desactiva_en se emite un PendingDeprecationWarning.
Parámetros:
  • elemento_deprecado (str) – Cual el nombre del elemento desaconsejado.
  • se_desactiva_en (str) – Indica en que versión de pilas el atributo estará desactivado por defecto. De todas maneras se podran activar con pilas.dev.utilizar_desaconsejados(True)
  • se_elimina_en (str) – Indica en que versión de pilas el atributo se eliminara completamente.
  • reemplazo (str) – Indica cuales son las alternativas a este atributo
pilas.dev.utilizar_desaconsejados(usar)[fuente]

Permite que se utilicen atributos, métodos y funciones que estan desaconsejados en esta versión.

NOTA: si usted habilita los desaconsejados, los utiliza y luego los deshabilita; estos ya estaran disponibles. Esta función debería llamarse lo mas temprano posible es un juego y una sola ves.

Parámetros:usar (bool) – Si se debe o no permitir que los atributos deprecados puedan utilizarse. Si el usar es False, todo lo desaconsejado lanza una excepción; de lo contrario, si usar es True solo se lanza un warning.