El presente proyecto es un cliente de la Webservice SIPSA desarrollado en Python 3.8 usando la librería Zeep para acceder al servicio SOAP de la Webservice SIPSA mendiante la WSDL que aparece en el servicio web para consulta de la base de datos de sipsa.
Mejora:
- Ahora permite extraer la data en CSV, XML y Json, basta con definir el formato en el nombre del archivo destino.
- Extrae los datos de su origen usando la librería Zeep.
- Transforma los datos que recibe de formato XML a objetos python.
- Almacena los datos en archivos planos en formato CSV, XML o JSON.
La data recogida se almacenará en la carpeta data.
Teniendo en cuenta que el acceso a la información es un derecho de todos los colombianos, el DANE ha publicado de manera abierta y transparente la documentación de la Webservice SIPSA en su página web, para que cualquier interesado la pueda consultar.
Según sus desarrolladores:
"Este servicio permite la consulta de la información consolidada en la base de datos del aplicativo SIPSA alimentada de los diferentes métodos de recolección para los productos agroalimentarios que se comercializan en el país"
"La implementación de este servicio Web está desarrollada bajo el estándar SOAP (Simple Object Access Protocol), en su versión 1.2, el cual permite el intercambio de información en un formato XML bajo protocolo HTTP."
El acceso se encuentra disponible para ser consumido bajo las siguientes condiciones:
Mayoristas - Están dispuestos los datos diarios, semanales y mensuales.
El consumo de los datos diarios y semanales,
se podrá llevar a cabo a partir de las 2 p.m.,
correspondientes a los datos del día,
los datos mensuales se actualizan el día 8 del mes en curso.
Abastecimientos - La información se genera con una periodicidad mensual,
se actualiza el día 10 del mes en curso.
Paso | Descripción | comando |
---|---|---|
Paso 1 | Crear el entorno de trabajo. | python -m venv env |
Paso 2 | Activar el entorno de trabajo. | ./env/Scripts/activate |
Paso 3 | Actualizar el gestor de paquetes. | python -m pip install --upgrade pip |
Paso 4 | Prepare la receta de librerías. | pip install -r requirements.txt |
librería | Descripción | Comando |
---|---|---|
zeep | Permite el acceso a SOAP | python -m pip install zeep |
xmltodict | Permite el acceso a SOAP | python -m pip install xmltodict |
Método Sipsa | Ejecución con python |
---|---|
promedioAbasSipsaMesMadr() | py promedioAbasSipsaMesMadr.py |
Cantidad promedio mensual en toneladas, discriminada por productos y fuentes de abastecimiento. |
|
promediosSipsaSemanaMadr() | py promediosSipsaSemanaMadr.py |
Retorna los valores máximo, mínimo y promedio semanal de recolección de un producto, discriminando los datos de la fuente. |
|
promediosSipsaParcial() | py promediosSipsaParcial.py |
Retorna los valores máximo, mínimo y promedio parcial de recolección de un producto, discriminando los datos de la ubicación y la fuente. |
|
promediosSipsaCiudad() | py promediosSipsaCiudad.py |
Retorna los valores promedios de cada producto por ciudad. |
|
promediosSipsaMesMadr() | py promediosSipsaMesMadr.py |
Retorna las cantidades máxima, mínima y promedio mensual en Kg de la recolección de un producto, discriminando los datos de la fuente. |
Puedes actualizar, contribuir y mejorar el presente software, es libre. Licencia GNU v3.
No esta permitido modificar la licencia de trabajos derivados de este proyecto.
Por norma internacional debes conservar el mismo tipo de licencia.
Si agregas nuevas librerías al proyecto, no olvides actualizar la receta.
pip freeze > requirements.txt
Paso | Descripción | comando |
---|---|---|
Paso 1 | Desactive el entorno de trabajo. | deactivate |
Paso 2 | Elimine el entorno anterior. | rm -R env |
Paso 3 | Cree un entorno de python. | python -m venv env |
Paso 4 | Active el entorno de trabajo. | ./env/Scripts/activate |
Paso 5 | Actualice el gestor de paquetes. | python -m pip install --upgrade pip |
Paso 6 | Instale las librerías necesarias para operar. | pip install -r requirements.txt |
Paso 7 | Realice pruebas de rutina. | Realice un Test de todos los métodos. |
Paso 8 | Finalice su gestión. | deactivate |