%global _empty_manifest_terminate_build 0 Name: python-iso-4217 Version: 0.5.230101 Release: 1 Summary: ISO 4217 currency code library License: MIT URL: https://pypi.org/project/iso-4217/ Source0: https://mirrors.nju.edu.cn/pypi/web/packages/a3/51/d064ebfe5840c94a3303357ad1c143e44703ed72d0f940bca25181162287/iso_4217-0.5.230101.tar.gz BuildArch: noarch Requires: python3-Pint Requires: python3-pytest %description This package contains ISO 4217 *active* and *historical* currency data. Written and tested for Python 3.6 and above. Supports `pint`_ for operations with currency units. >>> from iso_4217 import Currency >>> Currency.USD >>> Currency.USD.value 'US Dollar' >>> Currency.USD.number 840 >>> Currency('US Dollar') >>> Currency.JPY.entities frozenset({'JAPAN'}) >>> Currency.ZWR >>> Currency.ZWR.entities frozenset() >>> Currency.ZWR.withdrew_entities (Historic(entity='ZIMBABWE', name='Zimbabwe Dollar'...2009, month=6), begin=None)),) >>> Currency.VED Pint units and subunits are available with convenient :code:`unit` and :code:`subunit` properties on Currency. Accessing these properties requires `pint` package installed and automatically defines currency units in application default registry. >>> Currency.USD.unit * 5 + Currency.USD.subunit * 5 Currency units can be defined in any UnitRegistry manually >>> import pint >>> from decimal import Decimal >>> from iso_4217 import define_currency_units >>> reg = define_currency_units(pint.UnitRegistry(non_int_type=Decimal)) >>> 5 * reg.USD But units from separate registries should not be mixed >>> Currency.USD.unit == reg.USD Traceback (most recent call last): ValueError: Cannot operate with Unit and Unit of different registries. If you want to replace registry used by Currency just replace the application registry: >>> pint.set_application_registry(reg) >>> Currency.USD.unit == reg.USD True Subunits are defined with `s` suffix: >>> 5 * reg.USDs >>> (5 * reg.USDs).to("USD") >>> (5 * reg.BHDs).to_base_units() Each currency is defined within it's own dimension: >>> (5 * reg.USD).to('EUR') Traceback (most recent call last): pint.errors.DimensionalityError: Cannot convert from 'USD' ([currency_USD]) to 'EUR' ([currency_EUR]) But automatic currency conversion can be made via pint Contexts >>> context = pint.Context() >>> eur_to_usd = lambda r, eur: eur * r("1.2 USD/EUR") >>> context.add_transformation("[currency_EUR]", "[currency_USD]", eur_to_usd) >>> (Currency.EUR.unit * 5).to('USD', context) Inspired by `iso4217`_ package by Hong Minhee. %package -n python3-iso-4217 Summary: ISO 4217 currency code library Provides: python-iso-4217 BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-iso-4217 This package contains ISO 4217 *active* and *historical* currency data. Written and tested for Python 3.6 and above. Supports `pint`_ for operations with currency units. >>> from iso_4217 import Currency >>> Currency.USD >>> Currency.USD.value 'US Dollar' >>> Currency.USD.number 840 >>> Currency('US Dollar') >>> Currency.JPY.entities frozenset({'JAPAN'}) >>> Currency.ZWR >>> Currency.ZWR.entities frozenset() >>> Currency.ZWR.withdrew_entities (Historic(entity='ZIMBABWE', name='Zimbabwe Dollar'...2009, month=6), begin=None)),) >>> Currency.VED Pint units and subunits are available with convenient :code:`unit` and :code:`subunit` properties on Currency. Accessing these properties requires `pint` package installed and automatically defines currency units in application default registry. >>> Currency.USD.unit * 5 + Currency.USD.subunit * 5 Currency units can be defined in any UnitRegistry manually >>> import pint >>> from decimal import Decimal >>> from iso_4217 import define_currency_units >>> reg = define_currency_units(pint.UnitRegistry(non_int_type=Decimal)) >>> 5 * reg.USD But units from separate registries should not be mixed >>> Currency.USD.unit == reg.USD Traceback (most recent call last): ValueError: Cannot operate with Unit and Unit of different registries. If you want to replace registry used by Currency just replace the application registry: >>> pint.set_application_registry(reg) >>> Currency.USD.unit == reg.USD True Subunits are defined with `s` suffix: >>> 5 * reg.USDs >>> (5 * reg.USDs).to("USD") >>> (5 * reg.BHDs).to_base_units() Each currency is defined within it's own dimension: >>> (5 * reg.USD).to('EUR') Traceback (most recent call last): pint.errors.DimensionalityError: Cannot convert from 'USD' ([currency_USD]) to 'EUR' ([currency_EUR]) But automatic currency conversion can be made via pint Contexts >>> context = pint.Context() >>> eur_to_usd = lambda r, eur: eur * r("1.2 USD/EUR") >>> context.add_transformation("[currency_EUR]", "[currency_USD]", eur_to_usd) >>> (Currency.EUR.unit * 5).to('USD', context) Inspired by `iso4217`_ package by Hong Minhee. %package help Summary: Development documents and examples for iso-4217 Provides: python3-iso-4217-doc %description help This package contains ISO 4217 *active* and *historical* currency data. Written and tested for Python 3.6 and above. Supports `pint`_ for operations with currency units. >>> from iso_4217 import Currency >>> Currency.USD >>> Currency.USD.value 'US Dollar' >>> Currency.USD.number 840 >>> Currency('US Dollar') >>> Currency.JPY.entities frozenset({'JAPAN'}) >>> Currency.ZWR >>> Currency.ZWR.entities frozenset() >>> Currency.ZWR.withdrew_entities (Historic(entity='ZIMBABWE', name='Zimbabwe Dollar'...2009, month=6), begin=None)),) >>> Currency.VED Pint units and subunits are available with convenient :code:`unit` and :code:`subunit` properties on Currency. Accessing these properties requires `pint` package installed and automatically defines currency units in application default registry. >>> Currency.USD.unit * 5 + Currency.USD.subunit * 5 Currency units can be defined in any UnitRegistry manually >>> import pint >>> from decimal import Decimal >>> from iso_4217 import define_currency_units >>> reg = define_currency_units(pint.UnitRegistry(non_int_type=Decimal)) >>> 5 * reg.USD But units from separate registries should not be mixed >>> Currency.USD.unit == reg.USD Traceback (most recent call last): ValueError: Cannot operate with Unit and Unit of different registries. If you want to replace registry used by Currency just replace the application registry: >>> pint.set_application_registry(reg) >>> Currency.USD.unit == reg.USD True Subunits are defined with `s` suffix: >>> 5 * reg.USDs >>> (5 * reg.USDs).to("USD") >>> (5 * reg.BHDs).to_base_units() Each currency is defined within it's own dimension: >>> (5 * reg.USD).to('EUR') Traceback (most recent call last): pint.errors.DimensionalityError: Cannot convert from 'USD' ([currency_USD]) to 'EUR' ([currency_EUR]) But automatic currency conversion can be made via pint Contexts >>> context = pint.Context() >>> eur_to_usd = lambda r, eur: eur * r("1.2 USD/EUR") >>> context.add_transformation("[currency_EUR]", "[currency_USD]", eur_to_usd) >>> (Currency.EUR.unit * 5).to('USD', context) Inspired by `iso4217`_ package by Hong Minhee. %prep %autosetup -n iso-4217-0.5.230101 %build %py3_build %install %py3_install install -d -m755 %{buildroot}/%{_pkgdocdir} if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi pushd %{buildroot} if [ -d usr/lib ]; then find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/lib64 ]; then find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/bin ]; then find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/sbin ]; then find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst fi touch doclist.lst if [ -d usr/share/man ]; then find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst fi popd mv %{buildroot}/filelist.lst . mv %{buildroot}/doclist.lst . %files -n python3-iso-4217 -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Wed May 31 2023 Python_Bot - 0.5.230101-1 - Package Spec generated