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
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
EasyShop User Interface - a shopping program we created for people who want to buy specific cloth wear

EasyShop-User-Interface Welcome to the EasyShop User Interface! This program fetches images from urls as per choices of clothes made by you and displa

Adit Sinha 1 Apr 23, 2022
Django_E-commerce - an open-source ecommerce platform built on the Django Web Framework.

Django E-commerce Django-ecommerce is an open-source ecommerce platform built on the Django Web Framework. Demo Homepage Cartpage Orderpage Features I

Biswajit Paloi 6 Nov 06, 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

3 Jan 29, 2022
imager is a modern ecommerce & social network platform that helps users to find the most matching products

imager is a modern ecommerce & social network platform that helps users to find the most matching products. Users can follow their favourite brands and to be aware of friends' actions. If you have se

Sardor 1 Jan 11, 2022
A Django e-commerce website

BRIKKHO.com E-commerce website created with Django Run It: Clone the project or download as zip: $ git clone https://github.com/FahadulShadhin/brikkho

Shadhin 1 Dec 17, 2021
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. 🚀

3 Sep 03, 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
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

3 Jul 05, 2022
Storefront - An E-commerce StoreFront Application Built With Python

An E-commerce StoreFront Application A very robust storefront project. This is a

Fachii Felix Zasha 1 Apr 04, 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 commerce platform delivering ultra-fast, dynamic, personalized shopp

Saleor Commerce 17.7k Jan 01, 2023
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
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

3 Jun 28, 2022
Ecommerce for Mezzanine

Created by Stephen McDonald Overview Cartridge is a shopping cart application built using the Django framework. It is BSD licensed, and designed to pr

Stephen McDonald 680 Jan 03, 2023
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

2 Jan 05, 2022
A Django based shop system

django-SHOP Django-SHOP aims to be a the easy, fun and fast e-commerce counterpart to django-CMS. Here you can find the full documentation for django-

Awesto 2.9k Jan 02, 2023
An Unofficial Alipay API for Python

An Unofficial Alipay API for Python Overview An Unofficial Alipay API for Python, It Contain these API: Generate direct payment url Generate partner t

Eric Lo 321 Dec 24, 2022
Re-write of floppshop e-commerce site

Floppshop V2 Python: 3.9.5 FastAPI: 0.68 Tortoise-orm: 0.17.8 pytest: 5.2 PostgreSQL: 13.4 Setup Srak jak nie wiesz jak Clone repository $ git clone

jakub-figat 3 Nov 30, 2022
Domain-driven e-commerce for Django

Domain-driven e-commerce for Django Oscar is an e-commerce framework for Django designed for building domain-driven sites. It is structured such that

Oscar 5.6k Dec 30, 2022
Foreign exchange rates, Bitcoin price index and currency conversion using ratesapi.io

forex-python Forex Python is a Free Foreign exchange rates and currency conversion. Note: Install latest forex-python==1.1 to avoid RatesNotAvailableE

MicroPyramid 540 Jan 05, 2023