GithubHelp home page GithubHelp logo

fcoagz / pydolarvenezuela Goto Github PK

View Code? Open in Web Editor NEW
33.0 4.0 7.0 524 KB

Esta librería desarrollada en Python te brinda la capacidad de consultar los precios del dólar y/o euro en diversos monitores en Venezuela, también como las tasas de cambio del BCV.

Home Page: https://pypi.org/project/pyDolarVenezuela/

License: Apache License 2.0

Python 100.00%
bcv dolar-cotizacion library python venezuela dolar dolar-oficial dollar pydolarvenezuela scraping-python

pydolarvenezuela's Introduction

Portada pyDolarVenezuela

pyDolarVenezuela es una librería de Python diseñada para facilitar la obtención de los valores del dólar en distintos monitores en Venezuela. Esta herramienta te permite acceder a información actualizada proveniente de diversas páginas web que publican el valor del dólar en tiempo real:

Página Web URL Estado
Exchange Monitor https://exchangemonitor.net/dolar-venezuela Pending
CriptoDolar https://criptodolar.net/ Active
BCV (Banco Central de Venezuela) http://www.bcv.org.ve/ Active
Italcambio https://www.italcambio.com/ Active
Al Cambio https://alcambio.app/ Active
DolarToday https://dolartoday.com/ Active

pyDolarVenezuela tiene como objetivo principal brindar una solución eficiente y confiable para acceder a información relevante sobre el valor del dólar en Venezuela, ofreciendo así una herramienta valiosa para desarrolladores interesados en trabajar en este ámbito.

Características

Base de datos

Made with Supabase

pyDolarVenezuela utiliza Supabase para la integración de la base de datos Postgres. También puede implementar otro servidor de base de datos si lo prefiere o localmente.

from pyDolarVenezuela import LocalDatabase, Database

local = LocalDatabase(
    motor='sqlite',
    url='database.db' # Ubicación de la base de datos
)

db_server = Database(
    motor='postgresql',
    host='postgres-cloud-host',
    port='postgres-cloud-port',
    user='postgres-cloud-user',
    password='your-secure-password',
    database='postgres-cloud-database-name'
)

Nota: Se pueda utilizar con SQLAlchemy.

Almacenamiento en caché

Proporciona almacenamiento en caché integrado para una rápida recuperación de datos para mejorar el rendimiento al realizar solicitudes a la misma fuente. Puedes configurar el tiempo de espera si lo deseas.

from datetime import timedelta
from pyDolarVenezuela import Monitor

monitor = Monitor(..., ttl=timedelta(minutes=5))

Por defecto son 10 minutos para que la próxima vez que solicites recargue los datos

Actividad

Alt

Instalación

pip install pyDolarVenezuela

Uso

Debes importar el módulo pages, donde encontrarás una variedad de atributos que contienen información sobre una página específica de la que deseas obtener los datos. Adicionalmente deberás importar la clase Monitor, cuyos parámetros será la página que deseas utilizar y la moneda en la que se expresarán los precios (USD, EUR).

from pyDolarVenezuela.pages import AlCambio, BCV, CriptoDolar, DolarToday, ExchangeMonitor, Italcambio
from pyDolarVenezuela import Monitor

monitor = Monitor(ExchangeMonitor, 'USD')

Si deseas utilizar una base de datos (lo cual es útil para calcular el cambio, el porcentaje, el color y el símbolo, y se devuelven los datos actualizados):

from pyDolarVenezuela.pages import AlCambio, BCV, CriptoDolar, DolarToday, ExchangeMonitor, Italcambio
from pyDolarVenezuela import Monitor, LocalDatabase

local = LocalDatabase(
    motor='sqlite',
    url='database.db'
)

monitor = Monitor(CriptoDolar, 'USD', db=local)

El parámetro currency de la clase Monitor por defecto tiene el valor: USD, verifique que la página de la que desea obtener los datos pueda expresar precios en EUR.

print(ExchangeMonitor.currencies)

>> ['usd', 'eur']

El método get_value_monitors se utiliza después de crear una instancia del objeto Monitor y permite el acceso a los datos almacenados en el diccionario. Los siguientes parámetros serían los siguientes:

  • type_monitor: El código del monitor del cual se desea obtener información. Por defecto es None.
  • property: El nombre de la propiedad específica del diccionario de la información del monitor extraído que se desea obtener. Por defecto es None.
  • prettify: Muestra los precios en formato de moneda con el símbolo de Bolívares. Por defecto es False.
from pyDolarVenezuela.pages import AlCambio, BCV, CriptoDolar, DolarToday, ExchangeMonitor, Italcambio
from pyDolarVenezuela import Monitor

monitor = Monitor(ExchangeMonitor, 'USD')

# Obtener los valores de todos los monitores
valores_dolar = monitor.get_all_monitors()

# Obtener el valor del dólar en EnParaleloVzla
valor_dolar = monitor.get_value_monitors("enparalelovzla", "price", prettify=True)

print(valor_dolar)

La función currency_converter convierte una cantidad de dinero de una moneda a otra utilizando los datos de un monitor específico.

from pyDolarVenezuela.pages import AlCambio, BCV, CriptoDolar, DolarToday, ExchangeMonitor, Italcambio
from pyDolarVenezuela import Monitor
from pyDolarVenezuela import currency_converter

monitor = Monitor(ExchangeMonitor, 'USD')

information_dolar = monitor.get_value_monitors("enparalelovzla")
price_in_dolares = currency_converter(
    type='VES', # VES | USD | EUR
    value=1000, # Bs. 1000
    monitor=information_dolar # Datos del dolar
)

print(price_in_dolares)  # Imprime algo como 28.22466836014677

Contributores

pydolarvenezuela's People

Contributors

arezg avatar fcoagz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

pydolarvenezuela's Issues

Agregar la fecha de vigencia de los datos.

Sería útil agregar a la respuesta de la API el dato "Fecha Valor" de la sección tasa de cambio oficial.

<div class="pull-right dinpro center">Fecha Valor: <span class="date-display-single" property="dc:date" datatype="xsd:dateTime" content="2024-05-14T00:00:00-04:00">Martes, 14 Mayo 2024</span></div>

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.