chore(deps): update dependency py-moneyed to v1
This MR contains the following updates:
Package | Update | Change |
---|---|---|
py-moneyed | major |
==0.8.0 -> ==1.2
|
Release Notes
py-moneyed/py-moneyed
v1.2
-
Money.__add__
returnsNotImplemented
instead of raising an exception when another operand has unsupported type.
v1.1
- Changed the
numeric
attribute values toNone
for currencies that don't have assigned ISO numeric codes:IMP
,TVD
,XFO
,XFU
. - Restored the previous definition for the
XXX
currency, including itsname
andcountries
attributes. - Fixed
get_currency
returning obsolete currencies.
v1.0
-
Dropped official support for Python 2.6, 3.2, 3.3, 3.4 (mainly because our test tools don't support them any more).
-
Added support for getting amount in sub units (fixed point)
-
Format
Money
instances using CLDR and Babel. This is a large change with lots of parts. Many thanks to @pooyamb for all the hard work that went into this and other related changes.-
Added new
moneyed.l10n
module, containing a newformat_money
function. This is a very thin wrapper aroundbabel.numbers.format_currency <http://babel.pocoo.org/en/latest/api/numbers.html#babel.numbers.format_currency>
_ and has all the same options. This allows us to get the official CLDR formats for currencies, in all the different locales.See docs in README.
Note especially that you need to specify
locale
(e.g.locale="en_US"
), or you will get theLC_NUMERIC
default. -
Deprecated the
format_money
function inmoneyed.localization
. There is no immediate plan to remove, but it should not be relied on. Also, this function relies on our own manually entered data for formatting of currencies in different locales. This data is very incomplete and will not be updated any more.So you need to use
moneyed.l10n.format_money
instead now.If you were relying on the
decimal_places
argument to the old function, there is no exact equivalent in the newformat_money
function, but see thedecimal_quantization
option (documented inbabel.numbers.format_currency <http://babel.pocoo.org/en/latest/api/numbers.html#babel.numbers.format_currency>
_) -
Money.__str__
(Money.__unicode__
on Python 2) now uses newformat_money
with the default localeLC_NUMERIC
, which can produce different results from the old function. Use the newformat_money
to control output. -
On Python 2,
Money.__str__
(bytestring) output has changed to be more basic. You should use the newformat_money
function to control output.
-
-
Get currency names from Babel data. Several changes, including:
-
For all built-in currencies,
Currency.name
now comes from Babel ("en_US" locale). This means there have been various corrections to currency names.If you pass a non-None
name
to theCurrency
constructor, you can still specify any name you want. -
Currency.get_name(locale)
has been added.
-
-
Get currency 'countries' from Babel data. Several changes, including:
-
Currency.countries
now sources from Babel, so some names may be different. -
Currency.country_codes
has been added. -
Currency.countries
is deprecated, because it is not the most useful form for the data (e.g. upper cased strings, and names in US English only). It is recommended to useCurrency.country_codes
and convert to names usingget_country_name
.
-
-
Changed the repr of
Money
so thateval(repr(money_object) == money_object
(at least in some environments, and most of the typical ones). SeePython docs on __repr__ <https://docs.python.org/3/reference/datamodel.html?highlight=__repr__#object.__repr__>
_ for rationale. Thanks@davidtvs <https://github.com/davidtvs>
_. This could be backwards incompatible if you were relying on the old output ofrepr()
. -
Added
list_all_currencies()
utility function.
Configuration
-
If you want to rebase/retry this MR, check this box.
This MR has been generated by Renovate Bot.