Skip to main content

Download and format ASIC files

Project description

ASIC

Interfaz de línea de comandos para descargar los archivos de las publicaciones de liquidación del Mercado de Energía Mayorista MEM realizadas por el Administrador del Sistema de Intercambios Comerciales ASIC.


Requiere acceso al FTP del ASIC en xmftps.xm.com.co


📝 Archivo de configuración necesario

El sistema requiere que definas la variable de entorno ASIC_FILE_CONFIG_PATH apuntando a la ruta del archivo .jsonl que contiene la configuración de los tipos de archivos soportados. Este archivo debe contener objetos JSON en formato newline-delimited (un JSON por línea).

Ejemplo de variable de entorno

# Windows
$Env:ASIC_FILE_CONFIG_PATH = "C:\Users\Usuario\Documents\asic_file_config.jsonl"

# Linux
export ASIC_FILE_CONFIG_PATH="/home/Usuario/asic_file_config.jsonl"

# Mac
export ASIC_FILE_CONFIG_PATH="/Users/Usuario/asic_file_config.jsonl"

📋Estructura esperada:

{"code":"adem", "visibility": "public","name_pattern":"(?P<kind>adem)(?P<name_month>[0-9]{2})(?P<name_day>[0-9]{2}).(?P<ext_versioned>[a-zA-Z0-9]+)", "location_pattern":"/RUTA/PUBLICA/DEL/FTP/(?P<location_year>[0-9]{4})-(?P<location_month>[0-9]{2})/","description":"Los archivos de demanda comercial"}

Ejemplos

Antes de poder usar los comandos que usan el servir FTP de XM, debes proveer la información de autenticación (se recomienda usar variables de entorno).

$Env:ASIC_FTPS_HOST = "xmftps.xm.com.co"
$Env:ASIC_FTPS_USER = "Isamdnt\88888888"
$Env:ASIC_FTPS_PASSWORD = "m1MuySeCreTAClAV."
$Env:ASIC_FTPS_PORT = 210
  1. Cuales versiones de liquidación se han publicado en los últimos días:
> asic pubs --days-old 20
Listing latest published settlements by ASIC in the last 20 days
2022-05:TX3 -- published: 2022-07-19
2022-06:TXR -- published: 2022-07-05
  1. Listar los archivos publicados para los meses de mayo y junio de 2022 con version de liquidación .tx3:
> asic list --month 2022-06 --month 2022-05 --version .tx3
\RUTA\PUBLICA\DEL\FTP\2022-05\adem0501.Tx3
\RUTA\PUBLICA\DEL\FTP\2022-05\adem0502.Tx3
\RUTA\PUBLICA\DEL\FTP\2022-05\adem0503.Tx3
\RUTA\PUBLICA\DEL\FTP\2022-05\adem0504.Tx3
          ...
\RUTA\PUBLICA\DEL\FTP\2022-05\pep0530.tx3
\RUTA\PUBLICA\DEL\FTP\2022-05\pep0531.tx3
\RUTA\PUBLICA\DEL\FTP\2022-05\sntie05.tx3
\RUTA\PUBLICA\DEL\FTP\2022-05\afac05.tx3
\RUTA\PUBLICA\DEL\FTP\2022-05\trsm05.tx3
\RUTA\PUBLICA\DEL\FTP\2022-05\ldcbmr05.tx3
  1. Descargar los archivos publicados para los meses de mayo y junio de 2022 con version de liquidación .tx3 a la carpeta local ./asic-files/:
> asic download --month 2022-06 --month 2022-05 --version .tx3 asic-files
Dowloading files... ━━╸━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━   6% 0:01:05

CLI

Interfaz de línea de comandos (CLI).

Instalación

  1. Crear un ambiente virtual de python
python -m venv venv
  1. Activar el ambiente virtual
.\venv\Scripts\activate
  1. Instalar paquete
python -m pip install asic

Ejecución

La CLI misma ofrece ayuda de como usarla. La opción --help imprime la ayuda de cada comando en la pantalla.

> asic --help 

 Usage: asic [OPTIONS] COMMAND [ARGS]...

 Commands:
  download           Download files from asic's ftp server to local DESTINATION folder.
  list               List files from asic's ftp server.
  pubs               Check latest published settlements in asic's website. 
> asic pubs --help

 Usage: asic pubs [OPTIONS]

 Check latest published settlements in asic's website.

⚠️ PARA TENER EN CUENTA ⚠️

Tener presente que no se está realizando la verificación de certificados del servidor de XM neptuno.xm.com.co al consultar las versiones de liquidación publicadas usando el comando asic pubs.

Tidy data

Los datos prolijos ("tidy data" en inglés) son una forma estándar de relacionar el significado de un conjunto de datos a su estructura. Un conjunto de datos está prolijo o desprolijo dependiendo de cómo se relacionan las filas, columnas y tablas con las observaciones, las variables y los tipos.

En datos prolijos:

  1. Cada variable es una columna; cada columna es una variable.

  2. Cada observación es una fila; cada fila es una observación.

  3. Cada valor es una celda; cada celda es un valor único.

Mas detalles en el articulo original Tidy data

Esta es la tercera forma normal de Codd, pero con las restricciones enmarcadas en el lenguaje estadístico y el enfoque puesto en un único conjunto de datos en lugar de los muchos conjuntos de datos conectados comunes en las bases de datos relacionales. Los datos desprolijos son cualquier otra disposición de los datos.

Contribuir

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

asic-0.4.4.tar.gz (20.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

asic-0.4.4-py3-none-any.whl (4.7 kB view details)

Uploaded Python 3

File details

Details for the file asic-0.4.4.tar.gz.

File metadata

  • Download URL: asic-0.4.4.tar.gz
  • Upload date:
  • Size: 20.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for asic-0.4.4.tar.gz
Algorithm Hash digest
SHA256 fb3bf9cb33c0c64905df2c8601f9ae00de0506349bc6a9048abfd0bfc5fd9998
MD5 130f94a18ba0f8668c50bdc5860d4530
BLAKE2b-256 ea258db5e6cb9183e9b3a29fab517568a72e2a4b7b259e7d14387fb12f3ef1dc

See more details on using hashes here.

Provenance

The following attestation bundles were made for asic-0.4.4.tar.gz:

Publisher: publish-to-test-pypi.yml on enerBit/asic

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file asic-0.4.4-py3-none-any.whl.

File metadata

  • Download URL: asic-0.4.4-py3-none-any.whl
  • Upload date:
  • Size: 4.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for asic-0.4.4-py3-none-any.whl
Algorithm Hash digest
SHA256 2d9be7b14fdbb79c1d8b8b97c235cb0d3f70c337ffbe5ce9c59bbff2b4897de2
MD5 a0efc62c9a46873fc285869219a6cc33
BLAKE2b-256 7c68b5736693ca8deb552568807785608627bd548766dba1dd4ad2e639b635d0

See more details on using hashes here.

Provenance

The following attestation bundles were made for asic-0.4.4-py3-none-any.whl:

Publisher: publish-to-test-pypi.yml on enerBit/asic

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page