Este repositorio tiene como objetivo dar una base para utilizar la API v2 de IOL.
Para uso local, es conveniente instalar python-dotenv
pipinstallpython-dotenvCrear entorno
python-mvenvIOLApi-Client-venvActivar entorno (En windows)
IOLApi-Client-venv\Scripts\activate.batInstalar dependencias
pipinstall-rrequirements.txtfromIOLApiimportIOLApiimportasyncioasyncdefmain():
iol=IOLApi()
awaitiol.login_async(
username='', # Correo electronicopassword=''
)
estado_cuenta=awaitiol.get_estadocuenta_async()
cuenta_arg= [cuentaforcuentainestado_cuenta.cuentasifcuenta.moneda=='peso_Argentino'][0]
print(cuenta_arg.saldo)
if__name__=='__main__':
asyncio.run(main=main())fromIOLApiimportIOLApiimportasyncioasyncdefmain():
iol=IOLApi()
awaitiol.login_async(
username='', # Correo electronicopassword=''
)
portafolio=awaitiol.get_portafolio_by_pais_async(pais='argentina')
syp500= [activoforactivoinportafolio.activosifactivo.titulo.simbolo=='SPY'][0]
print(syp500.cantidad)
if__name__=='__main__':
asyncio.run(main=main())La respuesta de cada método utiliza el decorador "dataclass", por lo que, para pasarlo a json hay que hacer
fromIOLApiimportIOLApiimportasyncio, jsonfromdataclassesimportasdict# <-- Para pasarlo a dict, y luego a jsonasyncdefmain():
iol=IOLApi()
awaitiol.login_async(
username='', # Correo electronicopassword=''
)
portafolio=awaitiol.get_portafolio_by_pais_async(pais='argentina')
print(json.dumps(asdict(portafolio)))
if__name__=='__main__':
asyncio.run(main=main())