Skip to content

ramiro-alegre/IOLAPI-Client

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

IOLAPI-Client

Este repositorio tiene como objetivo dar una base para utilizar la API v2 de IOL.

Uso

Para uso local, es conveniente instalar python-dotenv

pip install python-dotenv

Crear entorno

python -m venv IOLApi-Client-venv

Activar entorno (En windows)

IOLApi-Client-venv\Scripts\activate.bat

Instalar dependencias

pip install -r requirements.txt

Código

Obtener saldo actual de cuenta argentina

from IOLApi import IOLApi
import asyncio

async def main():
    iol = IOLApi()
    await iol.login_async(
        username='', # Correo electronico
        password=''
    )

    estado_cuenta = await iol.get_estadocuenta_async()
    cuenta_arg = [cuenta for cuenta in estado_cuenta.cuentas if cuenta.moneda == 'peso_Argentino'][0]
    print(cuenta_arg.saldo)

if __name__ == '__main__':
    asyncio.run(main=main())

Obtener cantidad de activos especificos en una cuenta

from IOLApi import IOLApi
import asyncio

async def main():
    iol = IOLApi()
    await iol.login_async(
        username='', # Correo electronico
        password=''
    )
  
    portafolio = await iol.get_portafolio_by_pais_async(pais='argentina')
    syp500 = [activo for activo in portafolio.activos if activo.titulo.simbolo == 'SPY'][0]
    print(syp500.cantidad)

if __name__ == '__main__':
    asyncio.run(main=main())

Transformar datos a json

La respuesta de cada método utiliza el decorador "dataclass", por lo que, para pasarlo a json hay que hacer

from IOLApi import IOLApi
import asyncio, json
from dataclasses import asdict # <-- Para pasarlo a dict, y luego a json

async def main():
    iol = IOLApi()
    await iol.login_async(
        username='', # Correo electronico
        password=''
    )
  
    portafolio = await iol.get_portafolio_by_pais_async(pais='argentina')
    print(json.dumps(asdict(portafolio)))

if __name__ == '__main__':
    asyncio.run(main=main())

About

No description or website provided.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages