Curso Nbdev – Hacer más cosas

Hacer todo el desarrollo

Author

Más módulos

Ya sabemos los pasos básicos para la construccion de bibliotecas haciendo uso de nbdev. A continuación vamos a profundizar en la construcción de modulos distintos y como hacer todo el proceso de generación de software más profundo.

Para la siguiente sección seguiremos usando como ejemplo la biblioteca generada en la sección anterior

Dentro del directorio nbs del repositorio generamos un nuevo notebook con el nombre del modulo que se desea, para el ejemplo vamos a nombrar nuestro módulo arbol el cual contendrá el ejemplo para hacer. El nombre del notebook sera ‘01_arbol.ipynb’.

En la primera celda se importan las dependencias del nuevo módulo

La segunda celda de código definimos una clase simple donde se utiliza la directriz de Quarto #| export al principio de la celda, esta directriz nos permite exportar lo que se encuentra dentro de la celda al nuevo módulo. Todas las celdas que contengan esta directriz seran exportadas cuando se construye el módulo.

#| export
class nodo(): 
    """ Esta clase es un nodo con dos hijos"""
    def __init__(self):
        self.der = None
        self.izq = None

La siguiente celda de código funciona como prueba para determinar si la clase nodo funciona de forma correcta.

#| hide
nodo_basico = nodo()
print(nodo_basico.der)

Cuando se exporta el módulo en el archivo .py generado se encuentran las celdas con la directriz #| export. Entonces si se tiene algún error en el código o se hace un cambio que modifica el actuar como se comporta esta acción se propaga hasta que se se tenga el conflicto específico. Para evitar esto, podemos hacer pruebas para verificar que todo el código funciona de la manera prevista.

Si no se desea que las pruebas sean parte de la documentación autogenerada se puede utilizar la directriz #| hide la cual evita desplegar la celda.

Si generamos la documentacion con el comando nbdev_docs o nbdev_preview desde terminal, se puede ver que la celda con la directriz #| hide no aparece dentro de la documentación.

Para probar

Si se añade una celda