Skip to main content

pyRofex-To-Excel - Real-time market data to Excel

Project description

pyRofex-To-Excel

CI Package Release

Aplicación Python para obtener datos de mercado en tiempo real desde pyRofex y volcarlos a Excel.

🚀 Correr desde cero (sin configuración previa)

Si acabás de clonar el repositorio y no tenés nada configurado, seguí exactamente estos pasos:

  1. Requisitos mínimos

    • Windows + Microsoft Excel instalado
    • Python 3.9 o superior
  2. Clonar e instalar

git clone https://github.com/ChuchoCoder/pyRofex_To_Excel.git
cd pyRofex_To_Excel
python -m venv .venv
.venv\Scripts\activate
pip install -e . --force-reinstall
  1. Ejecutar por primera vez
python -m pyRofex_To_Excel

Qué pasa automáticamente en ese primer arranque:

  • Si faltan credenciales, la app te las pide por consola y las guarda en .env.
  • Si no existe workbook, crea uno nuevo (.xlsx) en la ruta configurada.
  • Crea y prepara hojas base: Tickers, MarketData, Trades, Formulas.
  • Intenta poblar Tickers con instrumentos desde caché local.

🗂️ Detalle exacto de preguntas en primer inicio

Si faltan credenciales obligatorias (PYROFEX_USER, PYROFEX_PASSWORD, PYROFEX_ACCOUNT), el bootstrap interactivo solicita en este orden:

  1. PYROFEX_USER
  2. PYROFEX_PASSWORD (input oculto)
  3. PYROFEX_ACCOUNT
  4. PYROFEX_ENVIRONMENT (default sugerido: LIVE)
  5. PYROFEX_API_URL (default sugerido: https://api.cocos.xoms.com.ar/)
  6. PYROFEX_WS_URL (default sugerido: wss://api.cocos.xoms.com.ar/)

Comportamiento importante:

  • Si una variable ya tiene valor, aparece entre corchetes: VARIABLE [valor_actual]:
  • Si presionás Enter y hay valor sugerido, se conserva.
  • Si no hay valor sugerido en campos requeridos, vuelve a preguntar.
  • Todo lo ingresado se persiste en .env automáticamente.

Ejemplo típico de consola:

PYROFEX_USER: mi_usuario
PYROFEX_PASSWORD: ********
PYROFEX_ACCOUNT: mi_cuenta
PYROFEX_ENVIRONMENT [LIVE]:
PYROFEX_API_URL [https://api.cocos.xoms.com.ar/]:
PYROFEX_WS_URL [wss://api.cocos.xoms.com.ar/]:

Notas de operación:

  • Si ejecutás en entorno no interactivo (ej. CI) y faltan credenciales, la app falla rápido y te pide setearlas en .env.
  • Si el workbook configurado no existe y termina en .xlsb, el bootstrap lo normaliza a .xlsx para poder crearlo automáticamente.
  1. Verificar que está funcionando
  • Abrí el workbook generado.
  • Confirmá que existen las hojas mencionadas.
  • En MarketData deberían empezar a actualizarse precios.
  • En Formulas tenés ejemplos listos para copy/paste con parámetros editables.
  1. Si necesitás correr con script helper
.\setup.ps1 install
.\setup.ps1 run

También podés ejecutar por comando CLI del paquete:

pyrofex-to-excel

📌 Qué hace la app

  • Suscribe instrumentos de Tickers contra pyRofex.
  • Actualiza cotizaciones en MarketData (incluyendo cauciones).
  • Sincroniza operaciones en Trades (modo periódico y opcional realtime).
  • Evita escrituras innecesarias a Excel cuando no hay cambios (mejor performance).

⚙️ Configuración principal (.env)

Variables más usadas:

EXCEL_FILE=pyRofex-Market-Data.xlsb
EXCEL_PATH=./
EXCEL_SHEET_PRICES=MarketData
EXCEL_SHEET_TICKERS=Tickers
EXCEL_SHEET_TRADES=Trades

EXCEL_UPDATE_INTERVAL=3.0

TRADES_SYNC_ENABLED=true
TRADES_REALTIME_ENABLED=false
TRADES_SYNC_INTERVAL_SECONDS=20
TRADES_BATCH_SIZE=500

PYROFEX_ENVIRONMENT=LIVE
PYROFEX_API_URL=https://api.cocos.xoms.com.ar/
PYROFEX_WS_URL=wss://api.cocos.xoms.com.ar/
PYROFEX_USER=REPLACE_WITH_YOUR_USERNAME
PYROFEX_PASSWORD=REPLACE_WITH_YOUR_PASSWORD
PYROFEX_ACCOUNT=REPLACE_WITH_YOUR_ACCOUNT

🧪 Validación rápida

python tools/validate_system.py
python tools/validate_quickstart.py

📚 Documentación nueva (español)

📦 ¿Se puede publicar como paquete pip?

Sí. El proyecto ya está prácticamente listo para publicarse porque:

  • tiene pyproject.toml
  • define metadata de proyecto
  • expone entrypoint CLI (pyrofex-to-excel)

Solo falta ejecutar el flujo de build + publicación (ver guía en docs/PUBLICACION_PYPI.md).

🔒 Seguridad

  • Nunca subas .env con credenciales reales.
  • Rotá credenciales periódicamente.
  • Revisá permisos de archivos sensibles en tu entorno local.

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

pyrofex_to_excel-1.1.1.tar.gz (78.6 kB view details)

Uploaded Source

Built Distribution

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

pyrofex_to_excel-1.1.1-py3-none-any.whl (83.4 kB view details)

Uploaded Python 3

File details

Details for the file pyrofex_to_excel-1.1.1.tar.gz.

File metadata

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

File hashes

Hashes for pyrofex_to_excel-1.1.1.tar.gz
Algorithm Hash digest
SHA256 bcface5a283be767bbf4efa4f1fbf28313e5cd6e017976bb0dbd9a997a2f3a98
MD5 7470f96a8fe5182d4d879c36163123f1
BLAKE2b-256 ea0197d33bf32f39cde069dbefcecc48778eefc99a231606de6ff67a92ff6b73

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyrofex_to_excel-1.1.1.tar.gz:

Publisher: package-release.yml on ChuchoCoder/pyRofex-to-Excel

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

File details

Details for the file pyrofex_to_excel-1.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for pyrofex_to_excel-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ef5d8c3f9e05658cec95ce5a42c8bbc1e0663f8471bd995731d1ec9642f87d92
MD5 2a9bfbea348652c3c84f3139d3a389ea
BLAKE2b-256 20e0082b971b9cc25b64018c40b5525178631a5c3de824821d0434087b98d7e2

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyrofex_to_excel-1.1.1-py3-none-any.whl:

Publisher: package-release.yml on ChuchoCoder/pyRofex-to-Excel

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