# Preguntas de los desarrolladores Esta sección se encargará de almacenar las preguntas cara el desarrollo del proyecto por parte de ellos para ellos. Cualquiera podrá leerlas pero sólo ellos participarán. ## Inclusión de AnP > Pregunta de **KyMAN**. ¿Verías muy loco montar todo sobre AnP? La pregunta viene por el hecho de que **AnP** ha de ser un Framework flexible y adaptativo, con sus librerías y mecánicas internas. Probé a importarlo en otro proyecto para probar y funcionó perfectamente aunque en VSCode sale una advertencia en la importanción por el cambio de Path, pero al ir por "from ... import ... as ..." sería compilable. El problema de ésto vendría cara lo que dicho en una de las dudas que expongo en otro punto: estructura AnP válida. Si hacemos esto me ayuaría a validar AnP y a blindarlo, además de poder hacer uso de todas sus herramientas y tecnologías. Expongo un ejemplo de vinculación sin integrar dentro del proyecto a AnP. ```py #!/usr/bin/env python # -*- coding: utf-8 -*- # Importamos las librerías pertinentes al VirusTotalPlus. from Application.VirusTotalPlus import VirusTotalPlus from typing import Any from os.path import abspath as absolute_path from sys import path # Añadimos el directorio Python del proyecto AnP, importamos AnP, creamos objeto # para consumir dependencias y limpiamos Paths del proyecto. path.append(absolute_path('../../AnP/Python')) from Application.AnP import AnP anp:Any = AnP() path.clear() # Montamos objeto VirusTotalPlus, que viene siendo la aplicación. vtp:VirusTotalPlus = VirusTotalPlus(anp) ``` Esta idea también puede desarrollarse en una librería Abstracta donde cargamos los recursos del AnP que nos interesan y luego limpiamos los Paths del proyecto, dejando un entorno de inicio de aplicación más limpio. ## Estructura AnP válida > Pregunta de **KyMAN**. **AnP** es un Framework diseñado por mi, aunque de su origen se basa en la experiencia de otros proyectos en las que entre otros parcipantes estaba 1noro, como fueron los proyectos *URfree*, *Error 418.2* y *Kyby*. El tema es que la filosofía de desarrollo de AnP, así como de los otros proyectos es de llevar el propio objeto AnP entre las diferentes librerías. A la hora de tipar dicha variable AnP en las librerías se da un caso muy peculiar en Python: se buclea infinitamente la carga de AnP por el "import" dentro de cada una de estas librerías. ¿Alguna idea de montarlo tal que quede mapeado como hasta ahora con el "AnPMap" sin que el bucle suceda? El tema está en que en cualquier desarrollo POO como Java o C# nos encontramos una estructura donde las librerías o paquetes del proyecto se encuentran en un entorno común, y cuando se hace uso de una librería del proyecto, ésta ya está iniciada desde el principio; sin embargo, en Python se carga un nuevo nivel de ejecución por cada librería, dando lugar al problema de que si tenemos un objeto AnP en una librería raíz y todas las demás extraen una variable de ésta, al intentar importar dicha librería buclea infinitamente por ese problema. La opción más viable a éste ámbito es no tipar dicha variable o poner como Any su propio tipado, sin embargo, ésto eliminaría dos opciones: el mapeado en el IDE; y la posibilidad de tipar frente a *MyPy* entre otras opciones. Por otro lado, si se hace uso del "AnPMap" sólo habría un problema: la posibilidad de tipar frente a *MyPy*.