Skip to main content

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

Metadata

Release files for asic 0.5.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for asic 0.5.1
File Size Uploaded
asic-0.5.1.tar.gz 530.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for asic 0.5.1
File Interpreter ABI Platform
asic-0.5.1-py3-none-any.whl Python 3 none any Details

Total release size: 571.6 kB

Release files / asic-0.5.1.tar.gz

Download URL asic-0.5.1.tar.gz
Size 530.4 kB
Tags Source
SHA-256 checksum
How to use checksums
87bebd1cee7109bed0e5750e98bd811f8436ed3d4b46ba5433a0d624a055f219
BLAKE2b-256 checksum
How to use checksums
9012e0b7bb2d8c2cb866fad7cf7ffcd47cb86c5c180d4ac4589bdacdf53bd83e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.

Transparency log

Release files / asic-0.5.1-py3-none-any.whl

Download URL asic-0.5.1-py3-none-any.whl
Size 41.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
947fc2d8ebf2d6690429019bca4ab40ae6ac4f6c648d7711d1e6127a9280a4d8
BLAKE2b-256 checksum
How to use checksums
f0b7af3b71616c306ff022662164f40e62dd33c7fcba72a39972b8e3c8507222
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.

Transparency log
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page