Closed milmazz closed 10 years ago
Sobre la licencia estaria bien ver los pros y cons; otra buena opción es GPL-3 https://tldrlegal.com/license/gnu-general-public-license-v3-(gpl-3) y también revisen la de MIT https://tldrlegal.com/license/mit-license
@lalo Sobre la licencia lo podemos conversar, solo que mi recomendación sería no adoptar el esquema GPL, si esperamos introducir nuevos proyectos al conglomerado de los-scrapers
hay que tener en cuenta que aunque licencias como BSD/MIT son GPL compatibles, la GPL no permite el uso de código licenciado como GPL en código no-GPL, lo cual puede llegar a ser un problema y lo ha sido en varios proyectos, caso readline por ejemplo.
Al menos en mi opinión, apostaría por esquemas de dominio público, como la MIT o incluso la BSD:
Copyright (c) <year>, <copyright holder> All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
Neither the name of the <organization> nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
En este caso, la organización sería Codeando México. Tal cual como hacen otras fundaciones como la Django Software Foundation. Si ves también RoR es MIT, así que también existen casos de éxito bajo licencias permisivas.
Otro punto que veo a favor de las licencias permisivas es que si inicialmente seleccionamos BSD por ejemplo, es totalmente válido re-licenciar bajo GPL si lo quieres, pero lo inverso no es posible, es decir, una vez que hiciste un release GPL no hay vuelta atrás, siempre será GPL, al menos esa versión pues no podrás revocar la licencia.
Gracias por este PR! Creo que sólo hay que revisar bien lo de separar el setup de la lógica del scraping en general antes de darle merge.
Acerca de la licencia, tú qué opinas @juanpabloe? Creo que sería bueno definir una que sea consistente con todo el objetivo de este repo (es decir, que otros scrapers también puedan compartirla). Si acaso hay algo más de debate sobre esto, creo que sería buena idea mover por lo pronto LICENSE
a otro PR y continuar el thread allá.
@lalo @juanpabloe Chicos, ¿qué hace falta para cerrar este PR?, se tomaron en consideración todas las observaciones hechas por @rafaelcr, ¿falta algo más?, pregunto para poder continuar con una nueva mejora, la cual apunta a solventar lo planteado en el issue #22
@milmazz gracias! de mi lado solamente me gustaría que el license esté en un PR (y conversación) por separado, pues estamos definiendo esto aún algo que sería general para todos los scrapers que se trabajen
@milmazz buenísimo! @lalo @rafaelcr cómo ven ? sería bueno mergear este PR
Se ve todo bien solo quiero correrlo antes para asegurar que funcione la instalación y los cambios. Excelente y gracias!
Hice una vagrant box con ubuntu para hacer todo el "flow" de instalación desde cero. Me gustaría que el README fuera mas explícito de los requierments pero @milmazz tu no te preocupes de eso.
Hay un problema después de correr "inegi_get_data" los datos se están instalando en
/usr/local/lib/python2.7/dist-packages/inegi-0.2.1-py2.7.egg/inegi/datos/
esto es algo que definitivamente no queremos pero así es como lo diseñaste?
@lalo Cambiado el comportamiento descrito, ahora es posible indicar incluso otro fichero de configuración (siempre y cuando se respete la estructura) así como también es necesario indicar el directorio destino de los ficheros a descargar desde el INEGI. Mayor detalle en los comentarios asociados a los commits previos.
@lalo @juanpabloe Chicos, ¿algún comentario respecto a los últimos cambios? :confused:
Si, aun no lo logro correr exitosamente pero no se si tenga que ver con tu pull request o es algún detalle que ya se tenia. Al correr "inegi_nosql --dbwrite prueba2/*" me sale un error de "IOError: [Errno 2] No such file or directory: 'prueba2/aguas_calientes/aguas_calienNotas.tsv'" y el contenido del folder aguas_calientes es de
"prueba2/aguas_calientes$ ls 01_aguascalientes_notas.tsv 01_aguascalientes_notasxvalor.tsv 01_aguascalientes_valor.tsv"
Al parecer hubo un cambio de nombre de los archivos.
@milmazz tu lograste correrlo exitosamente? Solo estoy siguiendo los pasos del README hay algo mas que se tenga que configurar?
@lalo Esto ya lo indicaba en otro issue en donde decía que el formato entregado ahora por el INEGI cambio. El script inegi_nosql.py espera ficheros que ya no entrega el INEGI y no maneja correctamente la excepción. Ciertamente hay que actualizarlo, ya estaba trabajando en ello pero detuve la labor hasta aprobar este PR y avanzar paso a paso.
Ok perfecto, esos son los siguientes pasos entonces.
Los cambios incluyen lo siguiente:
estatal.sh
ynacional.sh
porinegi-ng.py
, el script hace agrega una nueva dependencia:requests
(actualizado enrequirements.txt
)source.cfg
), hasta ahora solo incluye path base de los archivos a descargas más las entidades. Posteriormente se incluirá driver de la DB a interrogar, nombre de usuario y password en caso de ser necesario para realizar las conexiones.README
(Markdown a rst), lo cual tendrá como ventaja poder incluir toda la información mostrada al "empaquetar" el utilitario vía distutils/setuptools (setup.py
+setup.cfg
)distribute_setup.py
como base a la mejora en el empaquetamiento de la aplicación (próximos pasos)