Prices
Python price handling for humans.
Prices: Python price handling for humans ======================================== The project is written primarily in Python, distributed under the Other license, first published in 2012. Key topics include: currencies, currency, e-commerce, gross, money.
Latest release: 1.1.1— Allow to choose rounding type for discounts calculations
October 7, 2022View Changelog →
Prices: Python price handling for humans
Money:
pythonfrom prices import Money a = Money(10, 'USD') a += Money(20, 'USD') a.value # Decimal('30') a = a.quantize() a.value # Decimal('30.00') a = Money('5.00', 'JPY') a.quantize() a.value # Decimal('5')
Taxed money:
pythonfrom prices import Money, TaxedMoney p = TaxedMoney(net=Money(20, 'EUR'), gross=Money(30, 'EUR')) p.net # Money('20', 'EUR') p.gross # Money('30', 'EUR') p.tax # Money('10', 'EUR') p = p.quantize() p.net # Money('20.00', 'EUR')
Taxed ranges:
pythonfrom prices import Money, TaxedMoney, TaxedMoneyRange price1 = TaxedMoney(Money(1, 'USD'), Money(1, 'USD')) price2 = TaxedMoney(Money(10, 'USD'), Money(10, 'USD')) pr = TaxedMoneyRange(price1, price2) pr.min_price # TaxedMoney(net=Money('1', 'USD'), gross=Money('1', 'USD')) pr.max_price # TaxedMoney(net=Money('10', 'USD'), gross=Money('10', 'USD')) price3 = TaxedMoney(net=Money(5, 'USD'), gross=Money(5, 'USD')) price3 in pr # True pr = pr.quantize() pr.min_price.net # Money('1.00', 'USD')
Taxes:
pythonfrom decimal import Decimal from prices import Money, TaxedMoney, TaxedMoneyRange, flat_tax p = TaxedMoney(Money('1.99', 'GBP'), Money('1.99', 'GBP')) p = flat_tax(p, Decimal('0.23')) p = p.quantize() p.gross # Money('2.45', 'GBP')
While protecting you from all sorts of mistakes:
pythonfrom prices import Money Money(10, 'USD') < Money(15, 'GBP') # ValueError: Cannot compare amounts in 'USD' and 'GBP'
pythonfrom prices import Money, TaxedMoney price1 = TaxedMoney(Money(5, 'BTC'), Money(5, 'BTC')) price2 = TaxedMoney(Money(7, 'INR'), Money(7, 'INR')) price1 + price2 # ValueError: Cannot add amount in 'BTC' to 'INR'
Contributors
Showing top 9 contributors by commit count.
This article is auto-generated from mirumee/prices via the GitHub API.Last fetched: 6/25/2026

