Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Python price handling for humans
Python
branch: master

Merge pull request #15 from artursmet/add-verbose-error

Add verbose error message for prices multiplication
latest commit 70c56f15b3
@patrys patrys authored
Failed to load latest commit information.
prices Fix error message
.coveragerc Rename AuditTrail to History, better coverage
.gitignore 0.4.2
.travis.yml Test in 3.3
README.md Update README.md
setup.py 0.5.4

README.md

Prices: Python price handling for humans

Build Status Coverage


from prices import Price, PriceRange, LinearTax
p = Price('1.99')
p += Price(50)
p |= LinearTax('0.23', '23% VAT')
print p.quantize('0.01').gross
# Decimal('63.95')
pr = PriceRange(Price(50), Price(100))
print p in pr
# True

While protecting you from all sorts of mistakes:

Price(10, currency='USD') < Price(15, currency='GBP')
# ValueError: Cannot compare prices in 'USD' and 'GBP'
Price(5, currency='BTC') + Price(7, currency='INR')
# ValueError: Cannot add price in 'BTC' to 'INR'

And being helpful:

from prices import Price, LinearTax, inspect_price
p = Price('1.99')
p += Price(50)
p |= LinearTax('0.23', '23% VAT')
print inspect_price(p)
# "Price('1.99', currency=None) + Price('50', currency=None) | LinearTax('0.23', name='23% VAT')"
Something went wrong with that request. Please try again.