Foreign exchange rates, Bitcoin price index and currency conversion using ratesapi.io

Overview

forex-python

travis-ci coveralls Code Health

Forex Python is a Free Foreign exchange rates and currency conversion.

Note: Install latest forex-python==1.1 to avoid RatesNotAvailableError

Features:

  • List all currency rates.
  • BitCoin price for all currencies.
  • Converting amount to BitCoins.
  • Get historical rates for any day since 1999.
  • Conversion rate for one currency(ex; USD to INR).
  • Convert amount from one currency to other.('USD 10$' to INR).
  • Currency symbols.
  • Currency names.

Currency Source:

https://ratesapi.io is a free API for current and historical foreign exchange rates published by European Central Bank. The rates are updated daily 3PM CET.

BitCoin Price Source:

Bitcoin prices calculated every minute. For more information visit [CoinDesk API](http://www.coindesk.com/api/).

Installation

  • Install using python package

    pip install forex-python
    
            Or directly cloning the repo:
    
    python setup.py install

Usage Examples:

  • Initialize class

    python
    >>> from forex_python.converter import CurrencyRates
    >>> c = CurrencyRates()
  • list all latest currency rates for "USD"

    python
    >>> c.get_rates('USD')
    {u'IDR': 13625.0, u'BGN': 1.7433, u'ILS': 3.8794, u'GBP': 0.68641, u'DKK': 6.6289, u'CAD': 1.3106, u'JPY': 110.36, u'HUF': 282.36, u'RON': 4.0162, u'MYR': 4.081, u'SEK': 8.3419, u'SGD': 1.3815, u'HKD': 7.7673, u'AUD': 1.3833, u'CHF': 0.99144, u'KRW': 1187.3, u'CNY': 6.5475, u'TRY': 2.9839, u'HRK': 6.6731, u'NZD': 1.4777, u'THB': 35.73, u'EUR': 0.89135, u'NOK': 8.3212, u'RUB': 66.774, u'INR': 67.473, u'MXN': 18.41, u'CZK': 24.089, u'BRL': 3.5473, u'PLN': 3.94, u'PHP': 46.775, u'ZAR': 15.747}
  • Get conversion rate from USD to INR

    python
    >>> c.get_rate('USD', 'INR')
    67.473
  • Convert amount from USD to INR

    python
    >>> c.convert('USD', 'INR', 10)
    674.73
  • Force use of Decimal

    python
    >>> from forex_python.converter import CurrencyRates
    >>> c = CurrencyRates(force_decimal=True)
    >>> c.convert('USD', 'INR', Decimal('10.45'))
    705.09
    >>> c.convert('USD', 'INR', 10)
    DecimalFloatMismatchError: convert requires amount parameter is of type Decimal when use_decimal=True
  • Detect use of Decimal

    python
    >>> from forex_python.converter import CurrencyRates
    >>> c = CurrencyRates()
    >>> c.convert('USD', 'INR', Decimal('10.45'))
    705.09
    >>> c.convert('USD', 'INR', 10)
    674.73
  • Get latest Bitcoin price.

    python
    >>> from forex_python.bitcoin import BtcConverter
    >>> b = BtcConverter() # force_decimal=True to get Decimal rates
    >>> b.get_latest_price('USD')
    533.913
  • Convert Amount to Bitcoins based on latest exchange price.

    python
    >>> b.convert_to_btc(400, 'USD')
    0.7492699301118473
  • Get currency symbol using currency code

    python
    >>> from forex_python.converter import CurrencyCodes
    >>> c = CurrencyCodes()
    >>> print c.get_symbol('GBP')
    £

You can view the complete Documentation Here

Visit our Python Development page Here

We welcome your feedback and support, raise github ticket if you want to report a bug. Need new features? Contact us here

Comments
  • Currency Rates Source Not Ready

    Currency Rates Source Not Ready

    Requirement already satisfied: forex-python in c:\python36\lib\site-packages (1.1)

    File "C:\Python36\lib\site-packages\forex_python\converter.py", line 73, in get_rate raise RatesNotAvailableError("Currency Rates Source Not Ready") forex_python.converter.RatesNotAvailableError: Currency Rates Source Not Ready

    opened by mrx23dot 17
  • Made compatible with new exchange rate api

    Made compatible with new exchange rate api

    Note: This is not an optimal change just a hotfix to make the code work

    You will need your own access_key which you can get for free after registering with 1000 request limit per month, please provide this key when you create CurrencyCodes as an argument CurrencyCodes(access_key)

    Also note that with free tier they don't support HTTPS currently all request will be HTTP based by default

    opened by DaBors 15
  • Historic rates not available for several dates

    Historic rates not available for several dates

    For example https://ratesapi.io/api/2018-05-20?base=USD

    Full list of dates not working in the last 365 days: 2018-06-05 2018-06-03 2018-06-02 2018-05-27 2018-05-26 2018-05-20 2018-05-19 2018-05-13 2018-05-12 2018-05-06 2018-05-05 2018-05-01 2018-04-29 2018-04-28 2018-04-22 2018-04-21 2018-04-15 2018-04-14 2018-04-08 2018-04-07 2018-04-02 2018-04-01 2018-03-31 2018-03-30 2018-03-25 2018-03-24 2018-03-18 2018-03-17 2018-03-11 2018-03-10 2018-03-04 2018-03-03 2018-02-25 2018-02-24 2018-02-18 2018-02-17 2018-02-11 2018-02-10 2018-02-04 2018-02-03 2018-01-28 2018-01-27 2018-01-21 2018-01-20 2018-01-14 2018-01-13 2018-01-07 2018-01-06 2018-01-01 2017-12-31 2017-12-30 2017-12-26 2017-12-25 2017-12-24 2017-12-23 2017-12-17 2017-12-16 2017-12-10 2017-12-09 2017-12-03 2017-12-02 2017-11-26 2017-11-25 2017-11-19 2017-11-18 2017-11-12 2017-11-11 2017-11-05 2017-11-04 2017-10-29 2017-10-28 2017-10-22 2017-10-21 2017-10-15 2017-10-14 2017-10-08 2017-10-07 2017-10-01 2017-09-30 2017-09-24 2017-09-23 2017-09-17 2017-09-16 2017-09-10 2017-09-09 2017-09-03 2017-09-02 2017-08-27 2017-08-26 2017-08-20 2017-08-19 2017-08-13 2017-08-12 2017-08-06 2017-08-05 2017-07-30 2017-07-29 2017-07-23 2017-07-22 2017-07-16 2017-07-15 2017-07-09 2017-07-08 2017-07-02 2017-07-01 2017-06-25 2017-06-24 2017-06-18 2017-06-17 2017-06-11 2017-06-10

    high priority 
    opened by EamonnONeill 8
  • The new Web-Service is very unreliable

    The new Web-Service is very unreliable

    Hi,

    I am working in a project which uses forex-python regularly. But lately the webservice changed. We updated to 1.6. Since than, we got many troubles.

    At first we got the error

    RatesNotAvailableError("Currency Rates Source Not Ready")
    

    So I incoporated the change, that was in one commit after the 1.6 release to prevent this error.

    But after that, I still got some errors like that:

     RatesNotAvailableError("Currency Rate {0} => {1} not available for Date {2}")
    

    We always access past rates with a date.

    I was curious, what the reason was, so I tried to access the API myself. I got some very strange results. Everything seems to be Ok, with latest rates and also at business days. But when I try a non-Business date, it really gets strange.

    Here some examples, I got:

    4.4.:

     curl "https://theforexapi.com/api/2021-04-04/?base=GBP&symbols=EUR&rtype=fpy"
    
     Result: {"date":"2021-09-09","base":"EUR","rates":{}}
    

    Particularly be aware here, that the base should be GBP, but is not!

    5.4.:

     curl "https://theforexapi.com/api/2021-04-05/?base=GBP&symbols=EUR&rtype=fpy"
     
     Result: {"rates":{"USD":"1.1746"},"date":"2021-04-01","base":"EUR"}
    

    Why do we get here USD? I tried the same call again, and was totally astonished.

    5.4 Second Try:

     curl "https://theforexapi.com/api/2021-04-05/?base=GBP&symbols=EUR&rtype=fpy"
    
     Result: {"rates":{"GBP":"0.85195"},"date":"2021-04-01","base":"EUR"}
    

    So the results are not even stable and I am not sure, if errors due to this unstable results can not lead to wrong rate results, since rates are exchanged and also dates can be wrong (and even more?).

    I even tried to use the API without base and symbols, but even than I got wrong results eventually.

    So in my opinion this web service is not usable at all in this state. Even when it would not be unstable, on non-working days, this service can not provide results. Working around this would be very cumbersome. But with the instability, even a workaround would be error-prone.

    My question here: Why do you use particularly this service and would it be feasible to use a different one?

    opened by novak-services 5
  • Update pip package and module name

    Update pip package and module name

    I found out that you don't have your changes about getting currency code from symbol, when you download the package via pip pip install forex-python . Moreover I think you are missing this lane

    get_currency_code_from_symbol = _CURRENCY_CODES.get_currency_code_from_symbol

    Sorry if I am mistaken, I am still new to python

    opened by Ajuska 4
  • Add basic CLI

    Add basic CLI

    ❯❯❯ forex-python --help                                                     (forex-python-GSe5K8uD) 
    usage: forex-python [-h] [-b BASE] [-d DEST] [-a AMOUNT] [-n]
    
    optional arguments:
      -h, --help            show this help message and exit
      -b BASE, --base BASE  Currency you are converting from. (default: USD)
      -d DEST, --dest DEST  Currency you are converting to. (default: INR)
      -a AMOUNT, --amount AMOUNT
                            Amount to convert. (default: 1.0)
      -n, --notify          Display desktop alerts. (default: False)
    
    opened by ashwinvis 4
  • Getting error on getting the rates-> c.get_rates('USD')

    Getting error on getting the rates-> c.get_rates('USD')

    
    ---------------------------------------------------------------------------
    JSONDecodeError                           Traceback (most recent call last)
    File ~\PythonEnv\EDT_OCR\lib\site-packages\requests\models.py:910, in Response.json(self, **kwargs)
        909 try:
    --> 910     return complexjson.loads(self.text, **kwargs)
        911 except JSONDecodeError as e:
        912     # Catch JSON-related errors and raise as requests.JSONDecodeError
        913     # This aliases json.JSONDecodeError and simplejson.JSONDecodeError
    
    File ~\PythonEnv\EDT_OCR\lib\site-packages\simplejson\__init__.py:525, in loads(s, encoding, cls, object_hook, parse_float, parse_int, parse_constant, object_pairs_hook, use_decimal, **kw)
        521 if (cls is None and encoding is None and object_hook is None and
        522         parse_int is None and parse_float is None and
        523         parse_constant is None and object_pairs_hook is None
        524         and not use_decimal and not kw):
    --> 525     return _default_decoder.decode(s)
        526 if cls is None:
    
    File ~\PythonEnv\EDT_OCR\lib\site-packages\simplejson\decoder.py:370, in JSONDecoder.decode(self, s, _w, _PY3)
        369     s = str(s, self.encoding)
    --> 370 obj, end = self.raw_decode(s)
        371 end = _w(s, end).end()
    
    File ~\PythonEnv\EDT_OCR\lib\site-packages\simplejson\decoder.py:400, in JSONDecoder.raw_decode(self, s, idx, _w, _PY3)
        399         idx += 3
    --> 400 return self.scan_once(s, idx=_w(s, idx).end())
    
    JSONDecodeError: Expecting value: line 1 column 1 (char 0)
    
    During handling of the above exception, another exception occurred:
    
    JSONDecodeError                           Traceback (most recent call last)
    Input In [191], in <cell line: 1>()
    ----> 1 c.get_rates('CAD')
    
    File ~\PythonEnv\EDT_OCR\lib\site-packages\forex_python\converter.py:60, in CurrencyRates.get_rates(self, base_cur, date_obj)
         58 response = requests.get(source_url, params=payload)
         59 if response.status_code == 200:
    ---> 60     rates = self._decode_rates(response, date_str=date_str)
         61     return rates
         62 raise RatesNotAvailableError("Currency Rates Source Not Ready")
    
    File ~\PythonEnv\EDT_OCR\lib\site-packages\forex_python\converter.py:40, in Common._decode_rates(self, response, use_decimal, date_str)
         38     decoded_data = json.loads(response.text, use_decimal=True)
         39 else:
    ---> 40     decoded_data = response.json()
         41 # if (date_str and date_str != 'latest' and date_str != decoded_data.get('date')):
         42 #     raise RatesNotAvailableError("Currency Rates Source Not Ready")
         43 return decoded_data.get('rates', {})
    
    File ~\PythonEnv\EDT_OCR\lib\site-packages\requests\models.py:917, in Response.json(self, **kwargs)
        915     raise RequestsJSONDecodeError(e.message)
        916 else:
    --> 917     raise RequestsJSONDecodeError(e.msg, e.doc, e.pos)
    
    JSONDecodeError: [Errno Expecting value] a: 0
    
    opened by khurramshafiq07 3
  • get_rate missing 'dest_cur'

    get_rate missing 'dest_cur'

    Im try to use forex-python and recive an error: TypeError: get_rate() missing 1 required positional argument: 'dest_cur' CODE: `from forex_python.converter import CurrencyRates c = CurrencyRates

    print(c.get_rate('USD', 'GBP'))`

    opened by fornakter 3
  • Converting to EUR

    Converting to EUR

    from forex_python.converter import CurrencyRates

    amount = 5 c = CurrencyRates()

    eur = c.get_rate("EUR", "PHP") amount_eur = eur * amount

    print(type(amount_eur)) print(amount_eur)

    output - <class 'str'> 59.34259.34259.34259.34259.342

    it returns a string not a float

    opened by midnightkali 3
  • Error

    Error

    Traceback (most recent call last): File "C:\Users\pooop\AppData\Local\Programs\Python\Python38-32\lib\site-packages\urllib3\connection.py", line 169, in _new_conn conn = connection.create_connection( File "C:\Users\pooop\AppData\Local\Programs\Python\Python38-32\lib\site-packages\urllib3\util\connection.py", line 73, in create_connection for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): File "C:\Users\pooop\AppData\Local\Programs\Python\Python38-32\lib\socket.py", line 918, in getaddrinfo for res in _socket.getaddrinfo(host, port, family, type, proto, flags): socket.gaierror: [Errno 11004] getaddrinfo failed

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last): File "C:\Users\pooop\AppData\Local\Programs\Python\Python38-32\lib\site-packages\urllib3\connectionpool.py", line 699, in urlopen httplib_response = self._make_request( File "C:\Users\pooop\AppData\Local\Programs\Python\Python38-32\lib\site-packages\urllib3\connectionpool.py", line 382, in _make_request self._validate_conn(conn) File "C:\Users\pooop\AppData\Local\Programs\Python\Python38-32\lib\site-packages\urllib3\connectionpool.py", line 1010, in _validate_conn conn.connect() File "C:\Users\pooop\AppData\Local\Programs\Python\Python38-32\lib\site-packages\urllib3\connection.py", line 353, in connect conn = self._new_conn() File "C:\Users\pooop\AppData\Local\Programs\Python\Python38-32\lib\site-packages\urllib3\connection.py", line 181, in _new_conn raise NewConnectionError( urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPSConnection object at 0x022C7388>: Failed to establish a new connection: [Errno 11004] getaddrinfo failed

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last): File "C:\Users\pooop\AppData\Local\Programs\Python\Python38-32\lib\site-packages\requests\adapters.py", line 439, in send resp = conn.urlopen( File "C:\Users\pooop\AppData\Local\Programs\Python\Python38-32\lib\site-packages\urllib3\connectionpool.py", line 755, in urlopen retries = retries.increment( File "C:\Users\pooop\AppData\Local\Programs\Python\Python38-32\lib\site-packages\urllib3\util\retry.py", line 574, in increment raise MaxRetryError(_pool, url, error or ResponseError(cause)) urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='api.ratesapi.io', port=443): Max retries exceeded with url: /api/latest?base=USD&symbols=INR&rtype=fpy (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x022C7388>: Failed to establish a new connection: [Errno 11004] getaddrinfo failed'))

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last): File "C:\Users\pooop\Desktop\Rock Paper Scissors\main.py", line 44, in C.convert('USD','INR',1) File "C:\Users\pooop\AppData\Local\Programs\Python\Python38-32\lib\site-packages\forex_python\converter.py", line 89, in convert response = requests.get(source_url, params=payload) File "C:\Users\pooop\AppData\Local\Programs\Python\Python38-32\lib\site-packages\requests\api.py", line 76, in get return request('get', url, params=params, **kwargs) File "C:\Users\pooop\AppData\Local\Programs\Python\Python38-32\lib\site-packages\requests\api.py", line 61, in request return session.request(method=method, url=url, **kwargs) File "C:\Users\pooop\AppData\Local\Programs\Python\Python38-32\lib\site-packages\requests\sessions.py", line 542, in request resp = self.send(prep, **send_kwargs) File "C:\Users\pooop\AppData\Local\Programs\Python\Python38-32\lib\site-packages\requests\sessions.py", line 655, in send r = adapter.send(request, **kwargs) File "C:\Users\pooop\AppData\Local\Programs\Python\Python38-32\lib\site-packages\requests\adapters.py", line 516, in send raise ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPSConnectionPool(host='api.ratesapi.io', port=443): Max retries exceeded with url: /api/latest?base=USD&symbols=INR&rtype=fpy (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x022C7388>: Failed to establish a new connection: [Errno 11004] getaddrinfo failed')) that a error

    opened by RishiRatanPandey 3
  • use new API URL

    use new API URL

    Old API URL (apiratesapi.io) seems to have been decommissioned and can no longer be resolved. A GET on the top level returns an address which works: https://exchangeratesapi.io

    opened by adiabuk 3
  • get_rate doesnt return correct rates

    get_rate doesnt return correct rates

    I'm trying to get rates of a day, I need to storage them in a list by 5min perioid but the problem is, even tho it takes hour-minute-second arguments, it doesnt give me the rate from the exact hour-minute-second that i want. Here's my example code:

    from datetime import datetime
    from forex_python.converter import CurrencyRates
    c = CurrencyRates()
    rates = []
    for val in range(1):
        dt = datetime.strptime("2022-11-30 23:59:59", '%Y-%m-%d %H:%M:%S')
        rate = c.get_rate('USD', 'TRY', dt)
        rates.append(rate)
    
    
    dt = datetime.strptime("2022-11-30 21:59:59", '%Y-%m-%d %H:%M:%S')
    rate = c.get_rate('USD', 'TRY', dt)
    rates.append(rate)
    print(rates[1], "\n")
    print(rates[0], "\n")
    

    Doesn't matter which time i change, it always returns same value, which is 18.632710100231304

    opened by erkan612 0
  • Getting error on getting the rates-> c.get_rates('USD')

    Getting error on getting the rates-> c.get_rates('USD')

    forex_python\converter.py", line 62, in get_rates raise RatesNotAvailableError("Currency Rates Source Not Ready") forex_python.converter.RatesNotAvailableError: Currency Rates Source Not Ready

    opened by JohnZhang92 8
  • Rate returned as string crashes forex currency conversion

    Rate returned as string crashes forex currency conversion

    In the currency conversion,rate is usually returned from _get_decoded_rate asfloat. But sometimes it returns astring instead, and then it crashes on the highlighted line because it cant multiply string. The values I used to get string are included in the picture.

    forex-error

    opened by Shavril 0
  • Specify utf-8 as the encoding for currencies.json

    Specify utf-8 as the encoding for currencies.json

    This is a fix for issue: "Attempt to read /raw_data/currencies.json as ascii instead of utf-8 breaks get_symbol()" - https://github.com/MicroPyramid/forex-python/issues/109

    We tell the file reader the encoding of /raw_data/currencies.json instead of using python auto detection.

    opened by cgeorgelee 0
  • Attempt to read /raw_data/currencies.json as ascii instead of utf-8 breaks get_symbol()

    Attempt to read /raw_data/currencies.json as ascii instead of utf-8 breaks get_symbol()

    Under certain conditions, python tries to read /raw_data/currencies.json as ascii instead of utf-8 and it cannot read the file. See the stacktrace below.

    Traceback (most recent call last):
      File "/corp/views/current/project/business/display.py", line 160, in get_currency_symbol
        currency_symbol = cc.get_symbol("USD")
      File "/corp/virtualenvs/corpweb/lib/python3.8/site-packages/forex_python/converter.py", line 140, in get_symbol
        currency_dict = self._get_data(currency_code)
      File "/corp/virtualenvs/corpweb/lib/python3.8/site-packages/forex_python/converter.py", line 132, in _get_data
        currency_dict = next((item for item in self._currency_data if item["cc"] == currency_code), None)
      File "/corp/virtualenvs/corpweb/lib/python3.8/site-packages/forex_python/converter.py", line 128, in _currency_data
        self.__currency_data = json.loads(f.read())
      File "/usr/lib64/python3.8/encodings/ascii.py", line 26, in decode
        return codecs.ascii_decode(input, self.errors)[0]
    UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 7400: ordinal not in range(128)
    2022-05-26 00:35:53,423 ERROR display(165): get_currency_symbol: Could not decode currency_code: USD
    
    opened by cgeorgelee 1
Releases(v1.8)
Owner
MicroPyramid
Python, django, AWS, devops, reactjs, Salesforce consulting company.
MicroPyramid
Currency Conversion in Python

CurrencyConversion connect to an API to do currency conversions, save as json text or screen output exchangeratesAPI.py -h Exchange Rates via 'api.cur

soup-works 1 Jan 29, 2022
A web application to search for input products across several supermarkets' e-commerce to return price, detail of products running on Python.

Price Checker A web application to search for input products across several supermarkets' e-commerce to return price, detail of products. Requirements

null 3 Jun 28, 2022
Ecommerce app using Django, Rest API and ElasticSearch

e-commerce-app Ecommerce app using Django, Rest API, Docker and ElasticSearch Sort pipfile pipfile-sort Runserver with Werkzeug (django-extensions) .

Nhat Tai NGUYEN 1 Jan 31, 2022
Fully functional ecommerce website with user and guest checkout capabilities and Paypal payment integration.

ecommerce_website Fully functional ecommerce website with user and guest checkout capabilities and Paypal payment integration. pip install django pyth

null 2 Jan 5, 2022
Portfolio and E-commerce site built on Python-Django and Stripe checkout

StripeMe Introduction Stripe Me is an e-commerce and portfolio website offering communication services, including web-development, graphic design and

null 3 Jul 5, 2022
Display money format and its filthy currencies, for all money lovers out there.

Python Currencies Display money format and its filthy currencies, for all money lovers out there. Installation currencies is available on PyPi http://

Alireza Savand 64 Dec 28, 2022
A modular, high performance, headless e-commerce platform built with Python, GraphQL, Django, and React.

Saleor Commerce Customer-centric e-commerce on a modern stack A headless, GraphQL-first e-commerce platform delivering ultra-fast, dynamic, personaliz

Mirumee Labs 17.7k Dec 31, 2022
PVE with tcaledger app for payments and simulation of payment requests

tcaledger PVE with tcaledger app for payments and simulation of payment requests. The purpose of this API is to empower users to accept cryptocurrenci

null 3 Jan 29, 2022
An eBay-like e-commerce auction site that will allow users to post auction listings, place bids on listings, comment on those listings, and add listings to a watchlist.

e-commerce-auction-site This repository is my solution to Commerce project of CS50’s Web Programming with Python and JavaScript course by Harvard. ??

null 3 Sep 3, 2022
A foreign language learning aid using a neural network to predict probability of translating foreign words

Langy Langy is a reading-focused foreign language learning aid orientated towards young children. Reading is an activity that every child knows. It is

Shona Lowden 6 Nov 17, 2021
This python code will get requests from SET (The Stock Exchange of Thailand) a previously-close stock price and return it in Thai Baht currency using beautiful soup 4 HTML scrapper.

This python code will get requests from SET (The Stock Exchange of Thailand) a previously-close stock price and return it in Thai Baht currency using beautiful soup 4 HTML scrapper.

Andre 1 Oct 24, 2022
null 471 Dec 24, 2022
A python graphql api, which serves ECB currency rates from last 90 days.

Exchange Rate Api using GraphQL Get Code git pull https://github.com/alaturqua/exchangerate-graphql.git Create .env file with following content and s

Isa 1 Nov 4, 2021
Currency And Gold Prices - Currency And Gold Prices For Python

Currency_And_Gold_Prices Photos from the app New Update Show range Change better

Ali HemmatNia 4 Sep 19, 2022
Comparing USD and GBP Exchange Rates

Currency Data Visualization Comparing USD and GBP Exchange Rates This is a bar graph comparing GBP and USD exchange rates. I chose blue for the UK bec

null 5 Oct 28, 2021
Python money class with optional CLDR-backed locale-aware formatting and an extensible currency exchange solution.

Python Money Money class with optional CLDR-backed locale-aware formatting and an extensible currency exchange solution. This is version 1.4.0-dev. De

Carlos Palol 214 Dec 22, 2022
🧮A simple calculator written in python allows you to make simple calculations, write charts, calculate the dates, and exchange currency.

Calculator ?? A simple calculator written in python allows you to make simple calculations, write charts, calculate the dates, and exchange currency.

Jan Kupczyk 1 Jan 15, 2022
A ULauncher/Albert extension that supports currency, units and date time conversion, as well as a calculator that supports complex numbers and functions.

Ulauncher/Albert Calculate Anything Ulauncher/Albert Calculate Anything is an extension for Ulauncher and Albert to calculate things like currency, ti

tchar 67 Jan 1, 2023
Currency Conversion in Python

CurrencyConversion connect to an API to do currency conversions, save as json text or screen output exchangeratesAPI.py -h Exchange Rates via 'api.cur

soup-works 1 Jan 29, 2022