valuta

Currencies done right

In most payment systems that went international, amounts are represented in integers, instead of decimals, as they are represented in minor currency units (smallest units possible).

For EUR it is cent, which is 1/100 of a single Euro. For MRU it is khoums, which is 1/5 of a single Ouguiya.

List of currencies is generated from a single CSV dump obtained from the list of circulating currencies Wikipedia page using the awesome wikitable2csv.

PyPI Version Supported Python versions Build Status Documentation Status GPL-2.0-only OR LGPL-2.1-or-later Coverage

Prerequisites

  • Core package requires Python 3.6, 3.7, 3.8 or 3.9.

  • Django integration package (valuta.contrib.django_integration) requires Django 2.2, 3.0, 3.1 or 3.2.

  • SQLAlchemy integration package (valuta.contrib.sqlalchemy_integration) has been tested with SQLAlchemy 1.4.x.

Documentation

Documentation is available on Read the Docs.

Installation

Latest stable version on PyPI:

pip install valuta

Or development version from GitHub:

pip install https://github.com/barseghyanartur/valuta/archive/master.tar.gz

Usage examples

Pure Python

Using currency classes directly

If you need numbers back for further calculations
import valuta

valuta.EUR.convert_to_currency_units(1_000)
# 10.0

valuta.UGX.convert_to_currency_units(1_000)
# 1000.0

valuta.MRU.convert_to_currency_units(1_000)
# 200.0

valuta.VND.convert_to_currency_units(1_000)
# 100.0

valuta.TND.convert_to_currency_units(1_000)
# 1.0

valuta.JPY.convert_to_currency_units(1_000)
# 10.0
If you need to display the values and want a nice string back
import valuta

valuta.EUR.display_in_currency_units(1_000)
# '€10.00'

valuta.UGX.display_in_currency_units(1_000)
# 'UGX1,000'

valuta.MRU.display_in_currency_units(1_000)
# 'MRU200.00'

valuta.VND.display_in_currency_units(1_000)
# '₫100'

valuta.TND.display_in_currency_units(1_000)
# 'TND1.000'

valuta.JPY.display_in_currency_units(1_000)
# '¥10'
Custom string formatting

Based on the specifics of the given currency, displayed numbers may have or not may have decimal points.

The display_in_currency_units method accepts optional format, locale and decimal_quantization arguments. Most common values for format are listed in the valuta.constants.

format

DISPLAY_FORMAT_NUMBER

Example values: '10000' or '10000.00'.

DISPLAY_FORMAT_HUMAN_READABLE

Displays a human readable number.

Example values: '10,000' or '10,000.00'.

DISPLAY_FORMAT_HUMAN_READABLE_WITH_CURRENCY_CODE

Displays a human readable number with currency code.

Example values: 'JPY 10,000' or 'EUR 10,000.00'.

DISPLAY_FORMAT_HUMAN_READABLE_WITH_CURRENCY_SYMBOL

Displays a human readable number with currency symbol.

Example values: 10,000' or '€ 10,000.00'.

A couple of examples:

from valuta.constants import *

valuta.JPY.display_in_currency_units(
    1_000_000,
    format=DISPLAY_FORMAT_HUMAN_READABLE
)
# '10,000'

valuta.JPY.display_in_currency_units(
    1_000_000,
    format=DISPLAY_FORMAT_HUMAN_READABLE_WITH_CURRENCY_CODE
)
# 'JPY 10,000'

valuta.JPY.display_in_currency_units(
    1_000_000,
    format=DISPLAY_FORMAT_HUMAN_READABLE_WITH_CURRENCY_SYMBOL
)
# '¥ 10,000'

valuta.EUR.display_in_currency_units(
    1_000_000,
    format=DISPLAY_FORMAT_HUMAN_READABLE
)
# '10,000.00'

valuta.EUR.display_in_currency_units(
    1_000_000,
    format=DISPLAY_FORMAT_HUMAN_READABLE_WITH_CURRENCY_CODE
)
# 'EUR 10,000.00'

valuta.EUR.display_in_currency_units(
    1_000_000,
    format=DISPLAY_FORMAT_HUMAN_READABLE_WITH_CURRENCY_SYMBOL
)
# '€ 10,000.00'
locale
 valuta.JPY.display_in_currency_units(1_000_000_000, locale="nl_NL")
 # 'JP¥\xa010.000.000'

 valuta.JPY.display_in_currency_units(1_000_000_000, locale="en_US")
 # '¥10,000,000'

 valuta.EUR.display_in_currency_units(1_000_000_000, locale="nl_NL")
 # '€\xa010.000.000,00'

valuta.EUR.display_in_currency_units(1_000_000_000, locale="en_US")
#  '€10,000,000.00'

valuta.AMD.display_in_currency_units(1_000_000_000, locale="en_US")
# 'AMD10,000,000.00'

valuta.AMD.display_in_currency_units(1_000_000_000, locale="hy_AM")
# '10 000 000,00 ֏'

Working with string representations of the (ISO-4217) currency codes

If you need numbers back for further calculations
from valuta.shortcuts import convert_to_currency_units

convert_to_currency_units("EUR", 1_000)
# 10.0

convert_to_currency_units("UGX", 1_000)
# 1000.0

convert_to_currency_units("MRU", 1_000)
# 200.0

convert_to_currency_units("VND", 1_000)
# 100.0

convert_to_currency_units("TND", 1_000)
# 1.0

convert_to_currency_units("JPY", 1_000)
# 10.0
If you need to display the values and want a nice string back
from valuta.shortcuts import display_in_currency_units

display_in_currency_units("EUR", 1_000)
# '€10.00'

display_in_currency_units("UGX", 1_000)
# 'UGX1,000'

display_in_currency_units("MRU", 1_000)
# 'MRU200.00'

display_in_currency_units("VND", 1_000)
# '₫100'

display_in_currency_units("TND", 1_000)
# 'TND1.000'

display_in_currency_units("JPY", 1_000)
# '¥10'

By default, exceptions arising from invalid currency codes are suppressed (None will be returned on invalid currency codes).

If you want to throw exception on invalid currency codes, set fail_silently to False. The following example will throw a valuta.exceptions.InvalidCurrency exception.

convert_to_currency_units("i-dont-exist", 1_000, fail_silently=False)

The display_in_currency_units shortcut function also accepts optional format argument.

Django integration

In its basis, Django integration package is a CurrencyField representing the ISO-4217 codes of the currencies. If bound to certain number fields (SmallIntegerField, IntegerField, BigIntegerField) holding the amount in minor currency units, it adds up (magic) methods to the model class for converting field amounts to major currency units (often simply called currency units).

There are also template tags and filters for when you need to render non-model data (for instance, JSON) in templates without prior pre-processing.

Model field

Model definition

Sample model

product/models.py

from django.db import models
from valuta.contrib.django_integration.models import CurrencyField

class Product(models.Model):

    name = models.CharField(max_length=255)
    price = models.IntegerField()  # Amount in minor currency units
    price_with_tax = models.IntegerField()  # Amount in minor currency units
    currency = CurrencyField(amount_fields=["price", "price_with_tax"])

Sample data

import valuta
from product.models import Product
product = Product.objects.create(
    name="My test product",
    price=100,
    price_with_tax=120,
    currency=valuta.AMD.uid,
)
Converting amounts using magic methods

You could then refer to the price and price_with_tax as follows:

product.price_in_currency_units()
# 1.0
product.price_with_tax_in_currency_units()
# 1.2

Note, that every field listed in the amount_fields gets a correspondent model method with suffix _in_currency_units for converting the field amounts to (major) currency units.

Converting amounts for display using magic methods

You could then refer to the price and price_with_tax as follows:

product.price_display_in_currency_units()
# 'AMD1.00'
product.price_with_tax_display_in_currency_units()
# 'AMD1.20'

Note, that every field listed in the amount_fields gets a correspondent model method with suffix _display_in_currency_units for converting the field amounts to (major) currency units.

Magic methods also accept optional format argument.

product = Product.objects.create(
    name="My test product",
    price=100_000,
    price_with_tax=120_000,
    currency=valuta.EUR.uid,
)

product.price_display_in_currency_units(
    format=DISPLAY_FORMAT_HUMAN_READABLE_WITH_CURRENCY_SYMBOL
)
# '€ 1,000.00'
product.price_with_tax_display_in_currency_units(
    format=DISPLAY_FORMAT_HUMAN_READABLE_WITH_CURRENCY_CODE
)
# 'EUR 1,200.00'

Combining format and locale arguments.

product.price_display_in_currency_units(
    format=DISPLAY_FORMAT_HUMAN_READABLE_WITH_CURRENCY_SYMBOL,
    locale="nl_NL"
)
# '€ 1.000,00'
product.price_with_tax_display_in_currency_units(
    format=DISPLAY_FORMAT_HUMAN_READABLE_WITH_CURRENCY_CODE,
    locale="nl_NL"
)
# 'EUR 1.200,00'
Limiting the currency choices
On the field level

You could limit the currency choices as follows:

currency = CurrencyField(
    amount_fields=["price", "price_with_tax"],
    limit_choices_to=[valuta.AMD.uid, valuta.EUR.uid],
)
Globally

You could also override the CurrencyField choices in the Django settings:

settings.py

VALUTA_FIELD_LIMIT_CHOICES_TO=(
    valuta.AMD.uid,
    valuta.EUR.uid,
)
Casting the converted values

If you want to explicitly cast the result value to a certain type, provide a callable cast_to for the CurrencyField.

For int it would be
currency = CurrencyField(
    amount_fields=("price", "price_with_tax",),
    cast_to=int,
)
For float it would be
currency = CurrencyField(
    amount_fields=("price", "price_with_tax",),
    cast_to=float,
)
For decimal.Decimal it would be
currency = CurrencyField(
    amount_fields=("price", "price_with_tax",),
    cast_to=lambda __v: Decimal(str(__v)),
)
Customize the choices display format

By default, the following format is used (valuta.utils.get_currency_choices_with_code):

[
    ("AMD", "Armenian Dram (AMD)"),
    ("EUR", "Euro (EUR)"),
]

If you want to customize that, provide a callable get_choices_func along:

from valuta.utils import get_currency_choices

currency = CurrencyField(
    amount_fields=("price", "price_with_tax",),
    get_choices_func=get_currency_choices,
)

It would then have the following format:

[
    ("AMD", "Armenian Dram"),
    ("EUR", "Euro"),
]

Take both valuta.utils.get_currency_choices and valuta.utils.get_currency_choices_with_code as a good example of how to customize. You could for instance do something like this:

import operator
from typing import List, Tuple, Set, Union

from babel.numbers import get_currency_symbol
from valuta.base import Registry

def get_currency_choices_with_sign(
        limit_choices_to: Union[Tuple[str, ...], List[str], Set[str]] = None,
        sort_by_key: bool = False,
) -> List[Tuple[str, str]]:
    """Get currency choices with code.

    List of choices in the following format::

        [
            ("AMD", "AMD - Armenian Dram"),
            ("EUR", "€ - Euro"),
            ("USD", "$ - US Dollar"),
        ]
    """
    if limit_choices_to is None:
        values = [
            (__key, f"{get_currency_symbol(__key)} - {__value.name}")
            for __key, __value in Registry.REGISTRY.items()
        ]
    else:
        values = [
            (__key, f"{get_currency_symbol(__key)} - {__value.name}")
            for __key, __value in Registry.REGISTRY.items()
            if __key in limit_choices_to
        ]
    if sort_by_key:
        values.sort(key=operator.itemgetter(0))
    else:
        values.sort(key=operator.itemgetter(1))
    return values

And then use it as follows:

currency = CurrencyField(
    amount_fields=("price", "price_with_tax",),
    get_choices_func=get_currency_choices_with_sign,
)

Template tags and filters

Most of the cases would be covered by the Model field, but it could be that you will have non-model data (for instance, JSON) that you need to properly render in the templates (without prior pre-processing). In that case valuta_tags template tags/filters library might help.

Template tags prerequisites

If you want to use templatetags library, you need to add valuta.contrib.django_integration to your INSTALLED_APPS:

INSTALLED_APPS = (
    # ...
    "valuta.contrib.django_integration",
    # ...
)

If you want to make use of pre-defined rendering formats, it might be useful to add valuta.contrib.django_integration.context_processors.constants to the context_processors.

TEMPLATES = [{
    # ...
    "OPTIONS": {
        # ...
        "context_processors": [
            "django.template.context_processors.debug",
            "django.template.context_processors.request",
            "django.contrib.auth.context_processors.auth",
            "django.contrib.messages.context_processors.messages",
            "valuta.contrib.django_integration.context_processors.constants",
        ],
        # ...
    },
    # ...
}]
Sample data
instance = {
    "price": 1_000,
    "price_with_tax": 1_200,
    "currency_code": "EUR",
}
Without formatting
Sample template filters template

template_filter_price_in_currency_units.html

{% load valuta_tags %}

{{ instance.price|convert_to_currency_units:instance.currency_code }}
Sample template filters renderer
from django.template.loader import render_to_string

render_to_string(
    "template_filter_price_in_currency_units.html", {"instance": instance}
)
Sample template tags template

template_tag_price_in_currency_units.html

{% load valuta_tags %}

{% convert_to_currency_units instance.price instance.currency_code %}
Sample template tags renderer
from django.template.loader import render_to_string

render_to_string(
    "template_tag_price_in_currency_units.html", {"instance": instance}
)
With formatting
Sample template filters template

template_filter_price_display_in_currency_units.html

{% load valuta_tags %}

{{ instance.price|display_in_currency_units:instance.currency_code }}
Sample template filters renderer
from django.template.loader import render_to_string

render_to_string(
    "template_filter_price_display_in_currency_units.html", {"instance": instance}
)
Sample template tags template

template_tag_price_display_in_currency_units.html

{% load valuta_tags %}

{% display_in_currency_units instance.price instance.currency_code %}

You can also display units in specific format (including the currency symbol). Most common use-cases are pre-defined in valuta.constants and if you have included the correspondent context processor as instructed above, you could use it as follows:

{% load valuta_tags %}

{% display_in_currency_units instance.price instance.currency_code DISPLAY_FORMAT_HUMAN_READABLE_WITH_CURRENCY_CODE %}

For the full list of options, see Custom string formatting.

Sample template tags renderer
from django.template.loader import render_to_string

render_to_string(
    "template_tag_price_display_in_currency_units.html", {"instance": instance}
)

SQLAlchemy integration

Similarly to Django integration package, the SQLAlchemy integration package is a simple CurrencyType representing the ISO-4217 codes of the currencies.

No magic methods are implemented yet (although planned to). What you get is a simple SQLAlchemy type for storing the data. For the rest you will have to make use of the valuta.shortcuts.

See examples/sqlalchemy_example/valuta_admin/models.py as a good example.

Model definition

Sample model

product/models.py

from valuta.contrib.sqlalchemy_integration.types import CurrencyType
from . import db  # Standard SQLAlchemy way

class Product(db.Model):

    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.Unicode(64), unique=True)
    price = db.Column(db.Integer())
    price_with_tax = db.Column(db.Integer())
    currency = db.Column(CurrencyType())

Sample data

import valuta
from product.models import Product
product = Product(
    name="My test product",
    price=100,
    price_with_tax=120,
    currency=valuta.AMD.uid,
)

Supported currencies

Currencies marked with (*) are custom (added manually). The rest is obtained from the already mentioned list of circulating currencies.

┌───────────┬──────────────────────────────────────────┐
│ ISO code  │ Currency                                 │
├───────────┼──────────────────────────────────────────┤
│ AED       │ United Arab Emirates Dirham              │
├───────────┼──────────────────────────────────────────┤
│ AFN       │ Afghan Afghani                           │
├───────────┼──────────────────────────────────────────┤
│ ALL       │ Albanian Lek                             │
├───────────┼──────────────────────────────────────────┤
│ AMD       │ Armenian Dram                            │
├───────────┼──────────────────────────────────────────┤
│ ANG       │ Netherlands Antillean Guilder            │
├───────────┼──────────────────────────────────────────┤
│ AOA       │ Angolan Kwanza                           │
├───────────┼──────────────────────────────────────────┤
│ ARS       │ Argentine Peso                           │
├───────────┼──────────────────────────────────────────┤
│ AUD       │ Australian Dollar                        │
├───────────┼──────────────────────────────────────────┤
│ AWG       │ Aruban Florin                            │
├───────────┼──────────────────────────────────────────┤
│ AZN       │ Azerbaijani Manat                        │
├───────────┼──────────────────────────────────────────┤
│ BAM       │ Bosnia-Herzegovina Convertible Mark      │
├───────────┼──────────────────────────────────────────┤
│ BBD       │ Barbadian Dollar                         │
├───────────┼──────────────────────────────────────────┤
│ BDT       │ Bangladeshi Taka                         │
├───────────┼──────────────────────────────────────────┤
│ BGN       │ Bulgarian Lev                            │
├───────────┼──────────────────────────────────────────┤
│ BHD       │ Bahraini Dinar                           │
├───────────┼──────────────────────────────────────────┤
│ BIF       │ Burundian Franc                          │
├───────────┼──────────────────────────────────────────┤
│ BMD       │ Bermudan Dollar                          │
├───────────┼──────────────────────────────────────────┤
│ BND       │ Brunei Dollar                            │
├───────────┼──────────────────────────────────────────┤
│ BOB       │ Bolivian Boliviano                       │
├───────────┼──────────────────────────────────────────┤
│ BRL       │ Brazilian Real                           │
├───────────┼──────────────────────────────────────────┤
│ BSD       │ Bahamian Dollar                          │
├───────────┼──────────────────────────────────────────┤
│ BTC       │ Bitcoin (*)                              │
├───────────┼──────────────────────────────────────────┤
│ BTN       │ Bhutanese Ngultrum                       │
├───────────┼──────────────────────────────────────────┤
│ BWP       │ Botswanan Pula                           │
├───────────┼──────────────────────────────────────────┤
│ BYN       │ Belarusian Ruble                         │
├───────────┼──────────────────────────────────────────┤
│ BZD       │ Belize Dollar                            │
├───────────┼──────────────────────────────────────────┤
│ CAD       │ Canadian Dollar                          │
├───────────┼──────────────────────────────────────────┤
│ CDF       │ Congolese Franc                          │
├───────────┼──────────────────────────────────────────┤
│ CHF       │ Swiss Franc                              │
├───────────┼──────────────────────────────────────────┤
│ CKD       │ CKD                                      │
├───────────┼──────────────────────────────────────────┤
│ CLP       │ Chilean Peso                             │
├───────────┼──────────────────────────────────────────┤
│ CNY       │ Chinese Yuan                             │
├───────────┼──────────────────────────────────────────┤
│ COP       │ Colombian Peso                           │
├───────────┼──────────────────────────────────────────┤
│ CRC       │ Costa Rican Colón                        │
├───────────┼──────────────────────────────────────────┤
│ CUP       │ Cuban Peso                               │
├───────────┼──────────────────────────────────────────┤
│ CVE       │ Cape Verdean Escudo                      │
├───────────┼──────────────────────────────────────────┤
│ CZK       │ Czech Koruna                             │
├───────────┼──────────────────────────────────────────┤
│ DJF       │ Djiboutian Franc                         │
├───────────┼──────────────────────────────────────────┤
│ DKK       │ Danish Krone                             │
├───────────┼──────────────────────────────────────────┤
│ DOP       │ Dominican Peso                           │
├───────────┼──────────────────────────────────────────┤
│ DZD       │ Algerian Dinar                           │
├───────────┼──────────────────────────────────────────┤
│ EGP       │ Egyptian Pound                           │
├───────────┼──────────────────────────────────────────┤
│ ERN       │ Eritrean Nakfa                           │
├───────────┼──────────────────────────────────────────┤
│ ETB       │ Ethiopian Birr                           │
├───────────┼──────────────────────────────────────────┤
│ EUR       │ Euro                                     │
├───────────┼──────────────────────────────────────────┤
│ FJD       │ Fijian Dollar                            │
├───────────┼──────────────────────────────────────────┤
│ FKP       │ Falkland Islands Pound                   │
├───────────┼──────────────────────────────────────────┤
│ FOK       │ FOK                                      │
├───────────┼──────────────────────────────────────────┤
│ GBP       │ British Pound                            │
├───────────┼──────────────────────────────────────────┤
│ GEL       │ Georgian Lari                            │
├───────────┼──────────────────────────────────────────┤
│ GGP       │ GGP                                      │
├───────────┼──────────────────────────────────────────┤
│ GHS       │ Ghanaian Cedi                            │
├───────────┼──────────────────────────────────────────┤
│ GIP       │ Gibraltar Pound                          │
├───────────┼──────────────────────────────────────────┤
│ GMD       │ Gambian Dalasi                           │
├───────────┼──────────────────────────────────────────┤
│ GNF       │ Guinean Franc                            │
├───────────┼──────────────────────────────────────────┤
│ GTQ       │ Guatemalan Quetzal                       │
├───────────┼──────────────────────────────────────────┤
│ GYD       │ Guyanaese Dollar                         │
├───────────┼──────────────────────────────────────────┤
│ HKD       │ Hong Kong Dollar                         │
├───────────┼──────────────────────────────────────────┤
│ HNL       │ Honduran Lempira                         │
├───────────┼──────────────────────────────────────────┤
│ HRK       │ Croatian Kuna                            │
├───────────┼──────────────────────────────────────────┤
│ HTG       │ Haitian Gourde                           │
├───────────┼──────────────────────────────────────────┤
│ HUF       │ Hungarian Forint                         │
├───────────┼──────────────────────────────────────────┤
│ IDR       │ Indonesian Rupiah                        │
├───────────┼──────────────────────────────────────────┤
│ ILS       │ Israeli New Shekel                       │
├───────────┼──────────────────────────────────────────┤
│ IMP       │ IMP                                      │
├───────────┼──────────────────────────────────────────┤
│ INR       │ Indian Rupee                             │
├───────────┼──────────────────────────────────────────┤
│ IQD       │ Iraqi Dinar                              │
├───────────┼──────────────────────────────────────────┤
│ IRR       │ Iranian Rial                             │
├───────────┼──────────────────────────────────────────┤
│ ISK       │ Icelandic Króna                          │
├───────────┼──────────────────────────────────────────┤
│ JEP       │ JEP                                      │
├───────────┼──────────────────────────────────────────┤
│ JMD       │ Jamaican Dollar                          │
├───────────┼──────────────────────────────────────────┤
│ JOD       │ Jordanian Dinar                          │
├───────────┼──────────────────────────────────────────┤
│ JPY       │ Japanese Yen                             │
├───────────┼──────────────────────────────────────────┤
│ KES       │ Kenyan Shilling                          │
├───────────┼──────────────────────────────────────────┤
│ KGS       │ Kyrgystani Som                           │
├───────────┼──────────────────────────────────────────┤
│ KHR       │ Cambodian Riel                           │
├───────────┼──────────────────────────────────────────┤
│ KID       │ KID                                      │
├───────────┼──────────────────────────────────────────┤
│ KMF       │ Comorian Franc                           │
├───────────┼──────────────────────────────────────────┤
│ KPW       │ North Korean Won                         │
├───────────┼──────────────────────────────────────────┤
│ KRW       │ South Korean Won                         │
├───────────┼──────────────────────────────────────────┤
│ KWD       │ Kuwaiti Dinar                            │
├───────────┼──────────────────────────────────────────┤
│ KYD       │ Cayman Islands Dollar                    │
├───────────┼──────────────────────────────────────────┤
│ KZT       │ Kazakhstani Tenge                        │
├───────────┼──────────────────────────────────────────┤
│ LAK       │ Laotian Kip                              │
├───────────┼──────────────────────────────────────────┤
│ LBP       │ Lebanese Pound                           │
├───────────┼──────────────────────────────────────────┤
│ LKR       │ Sri Lankan Rupee                         │
├───────────┼──────────────────────────────────────────┤
│ LRD       │ Liberian Dollar                          │
├───────────┼──────────────────────────────────────────┤
│ LSL       │ Lesotho Loti                             │
├───────────┼──────────────────────────────────────────┤
│ LYD       │ Libyan Dinar                             │
├───────────┼──────────────────────────────────────────┤
│ MAD       │ Moroccan Dirham                          │
├───────────┼──────────────────────────────────────────┤
│ MDL       │ Moldovan Leu                             │
├───────────┼──────────────────────────────────────────┤
│ MGA       │ Malagasy Ariary                          │
├───────────┼──────────────────────────────────────────┤
│ MKD       │ Macedonian Denar                         │
├───────────┼──────────────────────────────────────────┤
│ MMK       │ Myanmar Kyat                             │
├───────────┼──────────────────────────────────────────┤
│ MNT       │ Mongolian Tugrik                         │
├───────────┼──────────────────────────────────────────┤
│ MOP       │ Macanese Pataca                          │
├───────────┼──────────────────────────────────────────┤
│ MRU       │ Mauritanian Ouguiya                      │
├───────────┼──────────────────────────────────────────┤
│ MUR       │ Mauritian Rupee                          │
├───────────┼──────────────────────────────────────────┤
│ MVR       │ Maldivian Rufiyaa                        │
├───────────┼──────────────────────────────────────────┤
│ MWK       │ Malawian Kwacha                          │
├───────────┼──────────────────────────────────────────┤
│ MXN       │ Mexican Peso                             │
├───────────┼──────────────────────────────────────────┤
│ MYR       │ Malaysian Ringgit                        │
├───────────┼──────────────────────────────────────────┤
│ MZN       │ Mozambican Metical                       │
├───────────┼──────────────────────────────────────────┤
│ NAD       │ Namibian Dollar                          │
├───────────┼──────────────────────────────────────────┤
│ NGN       │ Nigerian Naira                           │
├───────────┼──────────────────────────────────────────┤
│ NIO       │ Nicaraguan Córdoba                       │
├───────────┼──────────────────────────────────────────┤
│ NOK       │ Norwegian Krone                          │
├───────────┼──────────────────────────────────────────┤
│ NPR       │ Nepalese Rupee                           │
├───────────┼──────────────────────────────────────────┤
│ NZD       │ New Zealand Dollar                       │
├───────────┼──────────────────────────────────────────┤
│ OMR       │ Omani Rial                               │
├───────────┼──────────────────────────────────────────┤
│ PAB       │ Panamanian Balboa                        │
├───────────┼──────────────────────────────────────────┤
│ PEN       │ Peruvian Sol                             │
├───────────┼──────────────────────────────────────────┤
│ PGK       │ Papua New Guinean Kina                   │
├───────────┼──────────────────────────────────────────┤
│ PHP       │ Philippine Piso                          │
├───────────┼──────────────────────────────────────────┤
│ PKR       │ Pakistani Rupee                          │
├───────────┼──────────────────────────────────────────┤
│ PLN       │ Polish Zloty                             │
├───────────┼──────────────────────────────────────────┤
│ PND       │ PND                                      │
├───────────┼──────────────────────────────────────────┤
│ PRB       │ PRB                                      │
├───────────┼──────────────────────────────────────────┤
│ PYG       │ Paraguayan Guarani                       │
├───────────┼──────────────────────────────────────────┤
│ QAR       │ Qatari Rial                              │
├───────────┼──────────────────────────────────────────┤
│ RON       │ Romanian Leu                             │
├───────────┼──────────────────────────────────────────┤
│ RSD       │ Serbian Dinar                            │
├───────────┼──────────────────────────────────────────┤
│ RUB       │ Russian Ruble                            │
├───────────┼──────────────────────────────────────────┤
│ RWF       │ Rwandan Franc                            │
├───────────┼──────────────────────────────────────────┤
│ SAR       │ Saudi Riyal                              │
├───────────┼──────────────────────────────────────────┤
│ SBD       │ Solomon Islands Dollar                   │
├───────────┼──────────────────────────────────────────┤
│ SCR       │ Seychellois Rupee                        │
├───────────┼──────────────────────────────────────────┤
│ SDG       │ Sudanese Pound                           │
├───────────┼──────────────────────────────────────────┤
│ SEK       │ Swedish Krona                            │
├───────────┼──────────────────────────────────────────┤
│ SGD       │ Singapore Dollar                         │
├───────────┼──────────────────────────────────────────┤
│ SHP       │ St. Helena Pound                         │
├───────────┼──────────────────────────────────────────┤
│ SLL       │ Sierra Leonean Leone                     │
├───────────┼──────────────────────────────────────────┤
│ SLS       │ SLS                                      │
├───────────┼──────────────────────────────────────────┤
│ SOS       │ Somali Shilling                          │
├───────────┼──────────────────────────────────────────┤
│ SRD       │ Surinamese Dollar                        │
├───────────┼──────────────────────────────────────────┤
│ SSP       │ South Sudanese Pound                     │
├───────────┼──────────────────────────────────────────┤
│ STN       │ São Tomé & Príncipe Dobra                │
├───────────┼──────────────────────────────────────────┤
│ SYP       │ Syrian Pound                             │
├───────────┼──────────────────────────────────────────┤
│ SZL       │ Swazi Lilangeni                          │
├───────────┼──────────────────────────────────────────┤
│ THB       │ Thai Baht                                │
├───────────┼──────────────────────────────────────────┤
│ TJS       │ Tajikistani Somoni                       │
├───────────┼──────────────────────────────────────────┤
│ TMT       │ Turkmenistani Manat                      │
├───────────┼──────────────────────────────────────────┤
│ TND       │ Tunisian Dinar                           │
├───────────┼──────────────────────────────────────────┤
│ TOP       │ Tongan Paʻanga                           │
├───────────┼──────────────────────────────────────────┤
│ TRY       │ Turkish Lira                             │
├───────────┼──────────────────────────────────────────┤
│ TTD       │ Trinidad & Tobago Dollar                 │
├───────────┼──────────────────────────────────────────┤
│ TVD       │ TVD                                      │
├───────────┼──────────────────────────────────────────┤
│ TWD       │ New Taiwan Dollar                        │
├───────────┼──────────────────────────────────────────┤
│ TZS       │ Tanzanian Shilling                       │
├───────────┼──────────────────────────────────────────┤
│ UAH       │ Ukrainian Hryvnia                        │
├───────────┼──────────────────────────────────────────┤
│ UGX       │ Ugandan Shilling                         │
├───────────┼──────────────────────────────────────────┤
│ USD       │ US Dollar                                │
├───────────┼──────────────────────────────────────────┤
│ UYU       │ Uruguayan Peso                           │
├───────────┼──────────────────────────────────────────┤
│ UZS       │ Uzbekistani Som                          │
├───────────┼──────────────────────────────────────────┤
│ VES       │ Venezuelan Bolívar                       │
├───────────┼──────────────────────────────────────────┤
│ VND       │ Vietnamese Dong                          │
├───────────┼──────────────────────────────────────────┤
│ VUV       │ Vanuatu Vatu                             │
├───────────┼──────────────────────────────────────────┤
│ WST       │ Samoan Tala                              │
├───────────┼──────────────────────────────────────────┤
│ XAF       │ Central African CFA Franc                │
├───────────┼──────────────────────────────────────────┤
│ XCD       │ East Caribbean Dollar                    │
├───────────┼──────────────────────────────────────────┤
│ XOF       │ West African CFA Franc                   │
├───────────┼──────────────────────────────────────────┤
│ XPF       │ CFP Franc                                │
├───────────┼──────────────────────────────────────────┤
│ YER       │ Yemeni Rial                              │
├───────────┼──────────────────────────────────────────┤
│ ZAR       │ South African Rand                       │
├───────────┼──────────────────────────────────────────┤
│ ZMW       │ Zambian Kwacha                           │
├───────────┼──────────────────────────────────────────┤
│ ZWB       │ ZWB                                      │
└───────────┴──────────────────────────────────────────┘

Run the following command in terminal to list all available currencies:

valuta-list-currencies

Custom currencies

To register a new custom currency, do as follows:

from valuta.base import BaseCurrency

class XYZ(BaseCurrency):
    """XYZ - The XYZ currency."""

    uid: str = "XYZ"
    rate: int = 100_000_000

Generating currencies from a CSV dump

If list of circulating currencies is ever updated, grab it the same way, save as list_of_circulating_currencies.csv in the source and run the following command:

valuta-generate-currencies --skip-first-line

Testing

Simply type:

pytest -vvv

Or use tox:

tox

Or use tox to check specific env:

tox -e py39-django32

Writing documentation

Keep the following hierarchy.

=====
title
=====

header
======

sub-header
----------

sub-sub-header
~~~~~~~~~~~~~~

sub-sub-sub-header
^^^^^^^^^^^^^^^^^^

sub-sub-sub-sub-header
++++++++++++++++++++++

sub-sub-sub-sub-sub-header
**************************

License

GPL-2.0-only OR LGPL-2.1-or-later

Support

For any issues contact me at the e-mail given in the Author section.

Author

Artur Barseghyan <artur.barseghyan@gmail.com>

Project documentation

Contents:

Release history and notes

Sequence based identifiers are used for versioning (schema follows below):

major.minor[.revision]
  • It’s always safe to upgrade within the same minor version (for example, from 0.3 to 0.3.4).

  • Minor version changes might be backwards incompatible. Read the release notes carefully before upgrading (for example, when upgrading from 0.3.4 to 0.4).

  • All backwards incompatible changes are mentioned in this document.

0.3.2

2021-07-13

  • Add basic SQLAlchemy support.

0.3.1

2021-07-01

  • Suppress weirdest bug with a strange character \xa0 appearing when using template tags without providing a locale on GitHub actions (locally everything passes without the bug).

0.3

2021-06-29

Note

This release is somewhat incompatible with previous versions for what’s related to the displaying value in currency units (using any display_in_currency_units or shortcuts). If you want old behaviour, add format=DISPLAY_FORMAT_NUMBER to places where you used display_in_currency_units method or a correspondent shortcut function.

  • Add locale and decimal_quantization args to the format_currency everywhere.

  • Do not provide a default value for format (follow the babel defaults approach).

0.2.1

2021-06-25

  • Added valuta.contrib.django_integration.context_processors.constants context processor module.

  • Documentation improvements.

0.2

2021-06-24

  • Added display_in_currency_units method, shortcuts module function and a magic method to the Django integration package, as well as the template tags library.

0.1.9

2021-06-15

  • Minor fixes in the Django app (for Django 2.2).

0.1.8

2021-06-15

  • Added templatetags library for Django integration app.

0.1.7

2021-06-05

  • Replace all imports from valuta.registry with imports from valuta.base.

  • Documentation improvements.

0.1.6

2021-06-04

  • Move Registry class from valuta.registry to valuta.base.

  • Add valuta.shortcuts module as shorthand for when you have a string representation of the currency code and the value to convert and don’t want to handle possible exceptions.

0.1.5

2021-05-23

  • Add more tests.

  • Add an argument --sort-by-value for valuta-list-ccurrencies command.

0.1.4

2021-05-20

  • Add more tests.

0.1.3

2021-05-19

  • Minor fixes.

0.1.2

2021-05-19

  • Change of the default display format in the Django integration app.

  • Allow customization of the display format in the Django integration app.

0.1.1

2021-05-19

  • Improve docs.

  • Clean up.

  • Minor fixes.

0.1

2021-05-17

  • Initial beta release.

valuta package

Subpackages

valuta.contrib package
Subpackages
valuta.contrib.django_integration package
Subpackages
valuta.contrib.django_integration.tests package
Submodules
valuta.contrib.django_integration.tests.test_models module
class valuta.contrib.django_integration.tests.test_models.DjangoIntegrationTestCase(methodName='runTest')[source]

Bases: django.test.testcases.TestCase

test_1()[source]
test_10()[source]
test_100()[source]
test_1000()[source]
test_5()[source]
test_cast_to_decimal()[source]
test_cast_to_float()[source]
test_cast_to_int()[source]
test_display_1000_format_number()[source]
test_display_100_format_number()[source]
test_display_10_format_number()[source]
test_display_1_format_number()[source]
test_display_5_format_number()[source]
test_display_empty_currency_value()[source]
test_display_invalid_currency_value()[source]
test_display_jpy_format_number()[source]
test_empty_currency_value()[source]
test_get_choices_func_is_none()[source]
test_get_currency_cls()[source]
test_get_currency_cls_empty_currency_value()[source]
test_get_currency_cls_invalid_currency_value()[source]
test_invalid_currency_value()[source]
test_limit_choices_to()[source]
test_limit_choices_to_from_django_settings()[source]
test_no_cast()[source]
Module contents
Submodules
valuta.contrib.django_integration.models module
class valuta.contrib.django_integration.models.CurrencyField(*args, amount_fields: Optional[Union[List[str], Tuple[str, ...], Set[str]]] = None, limit_choices_to: Optional[Union[List[str], Tuple[str, ...], Set[str]]] = None, get_choices_func: Callable = <function get_currency_choices_with_code>, cast_to: Optional[Callable] = None, **kwargs)[source]

Bases: django.db.models.fields.CharField

Currency field.

contribute_to_class(cls, name, **kwargs)[source]

Register the field with the model class it belongs to.

If private_only is True, create a separate instance of this field for every subclass of cls, even if cls is not an abstract model.

Module contents
Module contents
valuta.currencies package
Submodules
valuta.currencies.aed module
class valuta.currencies.aed.AED[source]

Bases: valuta.base.BaseCurrency

AED - United Arab Emirates dirham.

rate: int = 100
uid: str = 'AED'
valuta.currencies.afn module
class valuta.currencies.afn.AFN[source]

Bases: valuta.base.BaseCurrency

AFN - Afghan afghani.

rate: int = 100
uid: str = 'AFN'
valuta.currencies.all module
class valuta.currencies.all.ALL[source]

Bases: valuta.base.BaseCurrency

ALL - Albanian lek.

rate: int = 100
uid: str = 'ALL'
valuta.currencies.amd module
class valuta.currencies.amd.AMD[source]

Bases: valuta.base.BaseCurrency

AMD - Armenian dram.

rate: int = 100
uid: str = 'AMD'
valuta.currencies.ang module
class valuta.currencies.ang.ANG[source]

Bases: valuta.base.BaseCurrency

ANG - Netherlands Antillean guilder.

rate: int = 100
uid: str = 'ANG'
valuta.currencies.aoa module
class valuta.currencies.aoa.AOA[source]

Bases: valuta.base.BaseCurrency

AOA - Angolan kwanza.

rate: int = 100
uid: str = 'AOA'
valuta.currencies.ars module
class valuta.currencies.ars.ARS[source]

Bases: valuta.base.BaseCurrency

ARS - Argentine peso.

rate: int = 100
uid: str = 'ARS'
valuta.currencies.aud module
class valuta.currencies.aud.AUD[source]

Bases: valuta.base.BaseCurrency

AUD - Australian dollar.

rate: int = 100
uid: str = 'AUD'
valuta.currencies.awg module
class valuta.currencies.awg.AWG[source]

Bases: valuta.base.BaseCurrency

AWG - Aruban florin.

rate: int = 100
uid: str = 'AWG'
valuta.currencies.azn module
class valuta.currencies.azn.AZN[source]

Bases: valuta.base.BaseCurrency

AZN - Azerbaijani manat.

rate: int = 100
uid: str = 'AZN'
valuta.currencies.bam module
class valuta.currencies.bam.BAM[source]

Bases: valuta.base.BaseCurrency

BAM - Bosnia and Herzegovina convertible mark.

rate: int = 100
uid: str = 'BAM'
valuta.currencies.bbd module
class valuta.currencies.bbd.BBD[source]

Bases: valuta.base.BaseCurrency

BBD - Barbadian dollar.

rate: int = 100
uid: str = 'BBD'
valuta.currencies.bdt module
class valuta.currencies.bdt.BDT[source]

Bases: valuta.base.BaseCurrency

BDT - Bangladeshi taka.

rate: int = 100
uid: str = 'BDT'
valuta.currencies.bgn module
class valuta.currencies.bgn.BGN[source]

Bases: valuta.base.BaseCurrency

BGN - Bulgarian lev.

rate: int = 100
uid: str = 'BGN'
valuta.currencies.bhd module
class valuta.currencies.bhd.BHD[source]

Bases: valuta.base.BaseCurrency

BHD - Bahraini dinar.

rate: int = 1000
uid: str = 'BHD'
valuta.currencies.bif module
class valuta.currencies.bif.BIF[source]

Bases: valuta.base.BaseCurrency

BIF - Burundian franc.

rate: int = 100
uid: str = 'BIF'
valuta.currencies.bmd module
class valuta.currencies.bmd.BMD[source]

Bases: valuta.base.BaseCurrency

BMD - Bermudian dollar.

rate: int = 100
uid: str = 'BMD'
valuta.currencies.bnd module
class valuta.currencies.bnd.BND[source]

Bases: valuta.base.BaseCurrency

BND - Brunei dollar.

rate: int = 100
uid: str = 'BND'
valuta.currencies.bob module
class valuta.currencies.bob.BOB[source]

Bases: valuta.base.BaseCurrency

BOB - Bolivian boliviano.

rate: int = 100
uid: str = 'BOB'
valuta.currencies.brl module
class valuta.currencies.brl.BRL[source]

Bases: valuta.base.BaseCurrency

BRL - Brazilian real.

rate: int = 100
uid: str = 'BRL'
valuta.currencies.bsd module
class valuta.currencies.bsd.BSD[source]

Bases: valuta.base.BaseCurrency

BSD - Bahamian dollar.

rate: int = 100
uid: str = 'BSD'
valuta.currencies.btc module
class valuta.currencies.btc.BTC[source]

Bases: valuta.base.BaseCurrency

BTC - Bitcoin.

name: str = 'Bitcoin'
rate: int = 100000000
uid: str = 'BTC'
valuta.currencies.btn module
class valuta.currencies.btn.BTN[source]

Bases: valuta.base.BaseCurrency

BTN - Bhutanese ngultrum.

rate: int = 100
uid: str = 'BTN'
valuta.currencies.bwp module
class valuta.currencies.bwp.BWP[source]

Bases: valuta.base.BaseCurrency

BWP - Botswana pula.

rate: int = 100
uid: str = 'BWP'
valuta.currencies.byn module
class valuta.currencies.byn.BYN[source]

Bases: valuta.base.BaseCurrency

BYN - Belarusian ruble.

rate: int = 100
uid: str = 'BYN'
valuta.currencies.bzd module
class valuta.currencies.bzd.BZD[source]

Bases: valuta.base.BaseCurrency

BZD - Belize dollar.

rate: int = 100
uid: str = 'BZD'
valuta.currencies.cad module
class valuta.currencies.cad.CAD[source]

Bases: valuta.base.BaseCurrency

CAD - Canadian dollar.

rate: int = 100
uid: str = 'CAD'
valuta.currencies.cdf module
class valuta.currencies.cdf.CDF[source]

Bases: valuta.base.BaseCurrency

CDF - Congolese franc.

rate: int = 100
uid: str = 'CDF'
valuta.currencies.chf module
class valuta.currencies.chf.CHF[source]

Bases: valuta.base.BaseCurrency

CHF - Swiss franc.

rate: int = 100
uid: str = 'CHF'
valuta.currencies.ckd module
class valuta.currencies.ckd.CKD[source]

Bases: valuta.base.BaseCurrency

CKD - Cook Islands dollar.

rate: int = 100
uid: str = 'CKD'
valuta.currencies.clp module
class valuta.currencies.clp.CLP[source]

Bases: valuta.base.BaseCurrency

CLP - Chilean peso.

rate: int = 100
uid: str = 'CLP'
valuta.currencies.cny module
class valuta.currencies.cny.CNY[source]

Bases: valuta.base.BaseCurrency

CNY - Chinese yuan.

rate: int = 10
uid: str = 'CNY'
valuta.currencies.cop module
class valuta.currencies.cop.COP[source]

Bases: valuta.base.BaseCurrency

COP - Colombian peso.

rate: int = 100
uid: str = 'COP'
valuta.currencies.crc module
class valuta.currencies.crc.CRC[source]

Bases: valuta.base.BaseCurrency

CRC - Costa Rican colón.

rate: int = 100
uid: str = 'CRC'
valuta.currencies.cup module
class valuta.currencies.cup.CUP[source]

Bases: valuta.base.BaseCurrency

CUP - Cuban peso.

rate: int = 100
uid: str = 'CUP'
valuta.currencies.cve module
class valuta.currencies.cve.CVE[source]

Bases: valuta.base.BaseCurrency

CVE - Cape Verdean escudo.

rate: int = 100
uid: str = 'CVE'
valuta.currencies.czk module
class valuta.currencies.czk.CZK[source]

Bases: valuta.base.BaseCurrency

CZK - Czech koruna.

rate: int = 100
uid: str = 'CZK'
valuta.currencies.djf module
class valuta.currencies.djf.DJF[source]

Bases: valuta.base.BaseCurrency

DJF - Djiboutian franc.

rate: int = 100
uid: str = 'DJF'
valuta.currencies.dkk module
class valuta.currencies.dkk.DKK[source]

Bases: valuta.base.BaseCurrency

DKK - Danish krone.

rate: int = 100
uid: str = 'DKK'
valuta.currencies.dop module
class valuta.currencies.dop.DOP[source]

Bases: valuta.base.BaseCurrency

DOP - Dominican peso.

rate: int = 100
uid: str = 'DOP'
valuta.currencies.dzd module
class valuta.currencies.dzd.DZD[source]

Bases: valuta.base.BaseCurrency

DZD - Algerian dinar.

rate: int = 100
uid: str = 'DZD'
valuta.currencies.egp module
class valuta.currencies.egp.EGP[source]

Bases: valuta.base.BaseCurrency

EGP - Egyptian pound.

rate: int = 100
uid: str = 'EGP'
valuta.currencies.ern module
class valuta.currencies.ern.ERN[source]

Bases: valuta.base.BaseCurrency

ERN - Eritrean nakfa.

rate: int = 100
uid: str = 'ERN'
valuta.currencies.etb module
class valuta.currencies.etb.ETB[source]

Bases: valuta.base.BaseCurrency

ETB - Ethiopian birr.

rate: int = 100
uid: str = 'ETB'
valuta.currencies.eur module
class valuta.currencies.eur.EUR[source]

Bases: valuta.base.BaseCurrency

EUR - Euro.

rate: int = 100
uid: str = 'EUR'
valuta.currencies.fjd module
class valuta.currencies.fjd.FJD[source]

Bases: valuta.base.BaseCurrency

FJD - Fijian dollar.

rate: int = 100
uid: str = 'FJD'
valuta.currencies.fkp module
class valuta.currencies.fkp.FKP[source]

Bases: valuta.base.BaseCurrency

FKP - Falkland Islands pound.

rate: int = 100
uid: str = 'FKP'
valuta.currencies.fok module
class valuta.currencies.fok.FOK[source]

Bases: valuta.base.BaseCurrency

FOK - Faroese króna.

rate: int = 100
uid: str = 'FOK'
valuta.currencies.gbp module
class valuta.currencies.gbp.GBP[source]

Bases: valuta.base.BaseCurrency

GBP - British pound[F].

rate: int = 100
uid: str = 'GBP'
valuta.currencies.gel module
class valuta.currencies.gel.GEL[source]

Bases: valuta.base.BaseCurrency

GEL - Georgian lari.

rate: int = 100
uid: str = 'GEL'
valuta.currencies.ggp module
class valuta.currencies.ggp.GGP[source]

Bases: valuta.base.BaseCurrency

GGP - Guernsey pound.

rate: int = 100
uid: str = 'GGP'
valuta.currencies.ghs module
class valuta.currencies.ghs.GHS[source]

Bases: valuta.base.BaseCurrency

GHS - Ghanaian cedi.

rate: int = 100
uid: str = 'GHS'
valuta.currencies.gip module
class valuta.currencies.gip.GIP[source]

Bases: valuta.base.BaseCurrency

GIP - Gibraltar pound.

rate: int = 100
uid: str = 'GIP'
valuta.currencies.gmd module
class valuta.currencies.gmd.GMD[source]

Bases: valuta.base.BaseCurrency

GMD - Gambian dalasi.

rate: int = 100
uid: str = 'GMD'
valuta.currencies.gnf module
class valuta.currencies.gnf.GNF[source]

Bases: valuta.base.BaseCurrency

GNF - Guinean franc.

rate: int = 100
uid: str = 'GNF'
valuta.currencies.gtq module
class valuta.currencies.gtq.GTQ[source]

Bases: valuta.base.BaseCurrency

GTQ - Guatemalan quetzal.

rate: int = 100
uid: str = 'GTQ'
valuta.currencies.gyd module
class valuta.currencies.gyd.GYD[source]

Bases: valuta.base.BaseCurrency

GYD - Guyanese dollar.

rate: int = 100
uid: str = 'GYD'
valuta.currencies.hkd module
class valuta.currencies.hkd.HKD[source]

Bases: valuta.base.BaseCurrency

HKD - Hong Kong dollar.

rate: int = 100
uid: str = 'HKD'
valuta.currencies.hnl module
class valuta.currencies.hnl.HNL[source]

Bases: valuta.base.BaseCurrency

HNL - Honduran lempira.

rate: int = 100
uid: str = 'HNL'
valuta.currencies.hrk module
class valuta.currencies.hrk.HRK[source]

Bases: valuta.base.BaseCurrency

HRK - Croatian kuna.

rate: int = 100
uid: str = 'HRK'
valuta.currencies.htg module
class valuta.currencies.htg.HTG[source]

Bases: valuta.base.BaseCurrency

HTG - Haitian gourde.

rate: int = 100
uid: str = 'HTG'
valuta.currencies.huf module
class valuta.currencies.huf.HUF[source]

Bases: valuta.base.BaseCurrency

HUF - Hungarian forint.

rate: int = 100
uid: str = 'HUF'
valuta.currencies.idr module
class valuta.currencies.idr.IDR[source]

Bases: valuta.base.BaseCurrency

IDR - Indonesian rupiah.

rate: int = 100
uid: str = 'IDR'
valuta.currencies.ils module
class valuta.currencies.ils.ILS[source]

Bases: valuta.base.BaseCurrency

ILS - Israeli new shekel.

rate: int = 100
uid: str = 'ILS'
valuta.currencies.imp module
class valuta.currencies.imp.IMP[source]

Bases: valuta.base.BaseCurrency

IMP - Manx pound.

rate: int = 100
uid: str = 'IMP'
valuta.currencies.inr module
class valuta.currencies.inr.INR[source]

Bases: valuta.base.BaseCurrency

INR - Indian rupee.

rate: int = 100
uid: str = 'INR'
valuta.currencies.iqd module
class valuta.currencies.iqd.IQD[source]

Bases: valuta.base.BaseCurrency

IQD - Iraqi dinar.

rate: int = 1000
uid: str = 'IQD'
valuta.currencies.irr module
class valuta.currencies.irr.IRR[source]

Bases: valuta.base.BaseCurrency

IRR - Iranian rial.

rate: int = 100
uid: str = 'IRR'
valuta.currencies.isk module
class valuta.currencies.isk.ISK[source]

Bases: valuta.base.BaseCurrency

ISK - Icelandic króna.

rate: int = 100
uid: str = 'ISK'
valuta.currencies.jep module
class valuta.currencies.jep.JEP[source]

Bases: valuta.base.BaseCurrency

JEP - Jersey pound.

rate: int = 100
uid: str = 'JEP'
valuta.currencies.jmd module
class valuta.currencies.jmd.JMD[source]

Bases: valuta.base.BaseCurrency

JMD - Jamaican dollar.

rate: int = 100
uid: str = 'JMD'
valuta.currencies.jod module
class valuta.currencies.jod.JOD[source]

Bases: valuta.base.BaseCurrency

JOD - Jordanian dinar.

rate: int = 100
uid: str = 'JOD'
valuta.currencies.jpy module
class valuta.currencies.jpy.JPY[source]

Bases: valuta.base.BaseCurrency

JPY - Japanese yen.

rate: int = 100
uid: str = 'JPY'
valuta.currencies.kes module
class valuta.currencies.kes.KES[source]

Bases: valuta.base.BaseCurrency

KES - Kenyan shilling.

rate: int = 100
uid: str = 'KES'
valuta.currencies.kgs module
class valuta.currencies.kgs.KGS[source]

Bases: valuta.base.BaseCurrency

KGS - Kyrgyzstani som.

rate: int = 100
uid: str = 'KGS'
valuta.currencies.khr module
class valuta.currencies.khr.KHR[source]

Bases: valuta.base.BaseCurrency

KHR - Cambodian riel.

rate: int = 100
uid: str = 'KHR'
valuta.currencies.kid module
class valuta.currencies.kid.KID[source]

Bases: valuta.base.BaseCurrency

KID - Kiribati dollar[E].

rate: int = 100
uid: str = 'KID'
valuta.currencies.kmf module
class valuta.currencies.kmf.KMF[source]

Bases: valuta.base.BaseCurrency

KMF - Comorian franc.

rate: int = 100
uid: str = 'KMF'
valuta.currencies.kpw module
class valuta.currencies.kpw.KPW[source]

Bases: valuta.base.BaseCurrency

KPW - North Korean won.

rate: int = 100
uid: str = 'KPW'
valuta.currencies.krw module
class valuta.currencies.krw.KRW[source]

Bases: valuta.base.BaseCurrency

KRW - South Korean won.

rate: int = 100
uid: str = 'KRW'
valuta.currencies.kwd module
class valuta.currencies.kwd.KWD[source]

Bases: valuta.base.BaseCurrency

KWD - Kuwaiti dinar.

rate: int = 1000
uid: str = 'KWD'
valuta.currencies.kyd module
class valuta.currencies.kyd.KYD[source]

Bases: valuta.base.BaseCurrency

KYD - Cayman Islands dollar.

rate: int = 100
uid: str = 'KYD'
valuta.currencies.kzt module
class valuta.currencies.kzt.KZT[source]

Bases: valuta.base.BaseCurrency

KZT - Kazakhstani tenge.

rate: int = 100
uid: str = 'KZT'
valuta.currencies.lak module
class valuta.currencies.lak.LAK[source]

Bases: valuta.base.BaseCurrency

LAK - Lao kip.

rate: int = 100
uid: str = 'LAK'
valuta.currencies.lbp module
class valuta.currencies.lbp.LBP[source]

Bases: valuta.base.BaseCurrency

LBP - Lebanese pound.

rate: int = 100
uid: str = 'LBP'
valuta.currencies.lkr module
class valuta.currencies.lkr.LKR[source]

Bases: valuta.base.BaseCurrency

LKR - Sri Lankan rupee.

rate: int = 100
uid: str = 'LKR'
valuta.currencies.lrd module
class valuta.currencies.lrd.LRD[source]

Bases: valuta.base.BaseCurrency

LRD - Liberian dollar.

rate: int = 100
uid: str = 'LRD'
valuta.currencies.lsl module
class valuta.currencies.lsl.LSL[source]

Bases: valuta.base.BaseCurrency

LSL - Lesotho loti.

rate: int = 100
uid: str = 'LSL'
valuta.currencies.lyd module
class valuta.currencies.lyd.LYD[source]

Bases: valuta.base.BaseCurrency

LYD - Libyan dinar.

rate: int = 1000
uid: str = 'LYD'
valuta.currencies.mad module
class valuta.currencies.mad.MAD[source]

Bases: valuta.base.BaseCurrency

MAD - Moroccan dirham.

rate: int = 100
uid: str = 'MAD'
valuta.currencies.mdl module
class valuta.currencies.mdl.MDL[source]

Bases: valuta.base.BaseCurrency

MDL - Moldovan leu.

rate: int = 100
uid: str = 'MDL'
valuta.currencies.mga module
class valuta.currencies.mga.MGA[source]

Bases: valuta.base.BaseCurrency

MGA - Malagasy ariary.

rate: int = 5
uid: str = 'MGA'
valuta.currencies.mkd module
class valuta.currencies.mkd.MKD[source]

Bases: valuta.base.BaseCurrency

MKD - Macedonian denar.

rate: int = 100
uid: str = 'MKD'
valuta.currencies.mmk module
class valuta.currencies.mmk.MMK[source]

Bases: valuta.base.BaseCurrency

MMK - Burmese kyat.

rate: int = 100
uid: str = 'MMK'
valuta.currencies.mnt module
class valuta.currencies.mnt.MNT[source]

Bases: valuta.base.BaseCurrency

MNT - Mongolian tögrög.

rate: int = 100
uid: str = 'MNT'
valuta.currencies.mop module
class valuta.currencies.mop.MOP[source]

Bases: valuta.base.BaseCurrency

MOP - Macanese pataca.

rate: int = 100
uid: str = 'MOP'
valuta.currencies.mru module
class valuta.currencies.mru.MRU[source]

Bases: valuta.base.BaseCurrency

MRU - Mauritanian ouguiya.

rate: int = 5
uid: str = 'MRU'
valuta.currencies.mur module
class valuta.currencies.mur.MUR[source]

Bases: valuta.base.BaseCurrency

MUR - Mauritian rupee.

rate: int = 100
uid: str = 'MUR'
valuta.currencies.mvr module
class valuta.currencies.mvr.MVR[source]

Bases: valuta.base.BaseCurrency

MVR - Maldivian rufiyaa.

rate: int = 100
uid: str = 'MVR'
valuta.currencies.mwk module
class valuta.currencies.mwk.MWK[source]

Bases: valuta.base.BaseCurrency

MWK - Malawian kwacha.

rate: int = 100
uid: str = 'MWK'
valuta.currencies.mxn module
class valuta.currencies.mxn.MXN[source]

Bases: valuta.base.BaseCurrency

MXN - Mexican peso.

rate: int = 100
uid: str = 'MXN'
valuta.currencies.myr module
class valuta.currencies.myr.MYR[source]

Bases: valuta.base.BaseCurrency

MYR - Malaysian ringgit.

rate: int = 100
uid: str = 'MYR'
valuta.currencies.mzn module
class valuta.currencies.mzn.MZN[source]

Bases: valuta.base.BaseCurrency

MZN - Mozambican metical.

rate: int = 100
uid: str = 'MZN'
valuta.currencies.nad module
class valuta.currencies.nad.NAD[source]

Bases: valuta.base.BaseCurrency

NAD - Namibian dollar.

rate: int = 100
uid: str = 'NAD'
valuta.currencies.ngn module
class valuta.currencies.ngn.NGN[source]

Bases: valuta.base.BaseCurrency

NGN - Nigerian naira.

rate: int = 100
uid: str = 'NGN'
valuta.currencies.nio module
class valuta.currencies.nio.NIO[source]

Bases: valuta.base.BaseCurrency

NIO - Nicaraguan córdoba.

rate: int = 100
uid: str = 'NIO'
valuta.currencies.nok module
class valuta.currencies.nok.NOK[source]

Bases: valuta.base.BaseCurrency

NOK - Norwegian krone.

rate: int = 100
uid: str = 'NOK'
valuta.currencies.npr module
class valuta.currencies.npr.NPR[source]

Bases: valuta.base.BaseCurrency

NPR - Nepalese rupee.

rate: int = 100
uid: str = 'NPR'
valuta.currencies.nzd module
class valuta.currencies.nzd.NZD[source]

Bases: valuta.base.BaseCurrency

NZD - New Zealand dollar.

rate: int = 100
uid: str = 'NZD'
valuta.currencies.omr module
class valuta.currencies.omr.OMR[source]

Bases: valuta.base.BaseCurrency

OMR - Omani rial.

rate: int = 1000
uid: str = 'OMR'
valuta.currencies.pab module
class valuta.currencies.pab.PAB[source]

Bases: valuta.base.BaseCurrency

PAB - Panamanian balboa.

rate: int = 100
uid: str = 'PAB'
valuta.currencies.pen module
class valuta.currencies.pen.PEN[source]

Bases: valuta.base.BaseCurrency

PEN - Peruvian sol.

rate: int = 100
uid: str = 'PEN'
valuta.currencies.pgk module
class valuta.currencies.pgk.PGK[source]

Bases: valuta.base.BaseCurrency

PGK - Papua New Guinean kina.

rate: int = 100
uid: str = 'PGK'
valuta.currencies.php module
class valuta.currencies.php.PHP[source]

Bases: valuta.base.BaseCurrency

PHP - Philippine peso.

rate: int = 100
uid: str = 'PHP'
valuta.currencies.pkr module
class valuta.currencies.pkr.PKR[source]

Bases: valuta.base.BaseCurrency

PKR - Pakistani rupee.

rate: int = 100
uid: str = 'PKR'
valuta.currencies.pln module
class valuta.currencies.pln.PLN[source]

Bases: valuta.base.BaseCurrency

PLN - Polish złoty.

rate: int = 100
uid: str = 'PLN'
valuta.currencies.pnd module
class valuta.currencies.pnd.PND[source]

Bases: valuta.base.BaseCurrency

PND - Pitcairn Islands dollar[E].

rate: int = 100
uid: str = 'PND'
valuta.currencies.prb module
class valuta.currencies.prb.PRB[source]

Bases: valuta.base.BaseCurrency

PRB - Transnistrian ruble.

rate: int = 100
uid: str = 'PRB'
valuta.currencies.pyg module
class valuta.currencies.pyg.PYG[source]

Bases: valuta.base.BaseCurrency

PYG - Paraguayan guaraní.

rate: int = 100
uid: str = 'PYG'
valuta.currencies.qar module
class valuta.currencies.qar.QAR[source]

Bases: valuta.base.BaseCurrency

QAR - Qatari riyal.

rate: int = 100
uid: str = 'QAR'
valuta.currencies.ron module
class valuta.currencies.ron.RON[source]

Bases: valuta.base.BaseCurrency

RON - Romanian leu.

rate: int = 100
uid: str = 'RON'
valuta.currencies.rsd module
class valuta.currencies.rsd.RSD[source]

Bases: valuta.base.BaseCurrency

RSD - Serbian dinar.

rate: int = 100
uid: str = 'RSD'
valuta.currencies.rub module
class valuta.currencies.rub.RUB[source]

Bases: valuta.base.BaseCurrency

RUB - Russian ruble.

rate: int = 100
uid: str = 'RUB'
valuta.currencies.rwf module
class valuta.currencies.rwf.RWF[source]

Bases: valuta.base.BaseCurrency

RWF - Rwandan franc.

rate: int = 100
uid: str = 'RWF'
valuta.currencies.sar module
class valuta.currencies.sar.SAR[source]

Bases: valuta.base.BaseCurrency

SAR - Saudi riyal.

rate: int = 100
uid: str = 'SAR'
valuta.currencies.sbd module
class valuta.currencies.sbd.SBD[source]

Bases: valuta.base.BaseCurrency

SBD - Solomon Islands dollar.

rate: int = 100
uid: str = 'SBD'
valuta.currencies.scr module
class valuta.currencies.scr.SCR[source]

Bases: valuta.base.BaseCurrency

SCR - Seychellois rupee.

rate: int = 100
uid: str = 'SCR'
valuta.currencies.sdg module
class valuta.currencies.sdg.SDG[source]

Bases: valuta.base.BaseCurrency

SDG - Sudanese pound.

rate: int = 100
uid: str = 'SDG'
valuta.currencies.sek module
class valuta.currencies.sek.SEK[source]

Bases: valuta.base.BaseCurrency

SEK - Swedish krona.

rate: int = 100
uid: str = 'SEK'
valuta.currencies.sgd module
class valuta.currencies.sgd.SGD[source]

Bases: valuta.base.BaseCurrency

SGD - Singapore dollar.

rate: int = 100
uid: str = 'SGD'
valuta.currencies.shp module
class valuta.currencies.shp.SHP[source]

Bases: valuta.base.BaseCurrency

SHP - Saint Helena pound.

rate: int = 100
uid: str = 'SHP'
valuta.currencies.sll module
class valuta.currencies.sll.SLL[source]

Bases: valuta.base.BaseCurrency

SLL - Sierra Leonean leone.

rate: int = 100
uid: str = 'SLL'
valuta.currencies.sls module
class valuta.currencies.sls.SLS[source]

Bases: valuta.base.BaseCurrency

SLS - Somaliland shilling.

rate: int = 100
uid: str = 'SLS'
valuta.currencies.sos module
class valuta.currencies.sos.SOS[source]

Bases: valuta.base.BaseCurrency

SOS - Somali shilling.

rate: int = 100
uid: str = 'SOS'
valuta.currencies.srd module
class valuta.currencies.srd.SRD[source]

Bases: valuta.base.BaseCurrency

SRD - Surinamese dollar.

rate: int = 100
uid: str = 'SRD'
valuta.currencies.ssp module
class valuta.currencies.ssp.SSP[source]

Bases: valuta.base.BaseCurrency

SSP - South Sudanese pound.

rate: int = 100
uid: str = 'SSP'
valuta.currencies.stn module
class valuta.currencies.stn.STN[source]

Bases: valuta.base.BaseCurrency

STN - São Tomé and Príncipe dobra.

rate: int = 100
uid: str = 'STN'
valuta.currencies.syp module
class valuta.currencies.syp.SYP[source]

Bases: valuta.base.BaseCurrency

SYP - Syrian pound.

rate: int = 100
uid: str = 'SYP'
valuta.currencies.szl module
class valuta.currencies.szl.SZL[source]

Bases: valuta.base.BaseCurrency

SZL - Swazi lilangeni.

rate: int = 100
uid: str = 'SZL'
valuta.currencies.thb module
class valuta.currencies.thb.THB[source]

Bases: valuta.base.BaseCurrency

THB - Thai baht.

rate: int = 100
uid: str = 'THB'
valuta.currencies.tjs module
class valuta.currencies.tjs.TJS[source]

Bases: valuta.base.BaseCurrency

TJS - Tajikistani somoni.

rate: int = 100
uid: str = 'TJS'
valuta.currencies.tmt module
class valuta.currencies.tmt.TMT[source]

Bases: valuta.base.BaseCurrency

TMT - Turkmenistan manat.

rate: int = 100
uid: str = 'TMT'
valuta.currencies.tnd module
class valuta.currencies.tnd.TND[source]

Bases: valuta.base.BaseCurrency

TND - Tunisian dinar.

rate: int = 1000
uid: str = 'TND'
valuta.currencies.top module
class valuta.currencies.top.TOP[source]

Bases: valuta.base.BaseCurrency

TOP - Tongan paʻanga[P].

rate: int = 100
uid: str = 'TOP'
valuta.currencies.try module
class valuta.currencies.try.TRY[source]

Bases: valuta.base.BaseCurrency

TRY - Turkish lira.

rate: int = 100
uid: str = 'TRY'
valuta.currencies.ttd module
class valuta.currencies.ttd.TTD[source]

Bases: valuta.base.BaseCurrency

TTD - Trinidad and Tobago dollar.

rate: int = 100
uid: str = 'TTD'
valuta.currencies.tvd module
class valuta.currencies.tvd.TVD[source]

Bases: valuta.base.BaseCurrency

TVD - Tuvaluan dollar.

rate: int = 100
uid: str = 'TVD'
valuta.currencies.twd module
class valuta.currencies.twd.TWD[source]

Bases: valuta.base.BaseCurrency

TWD - New Taiwan dollar.

rate: int = 100
uid: str = 'TWD'
valuta.currencies.tzs module
class valuta.currencies.tzs.TZS[source]

Bases: valuta.base.BaseCurrency

TZS - Tanzanian shilling.

rate: int = 100
uid: str = 'TZS'
valuta.currencies.uah module
class valuta.currencies.uah.UAH[source]

Bases: valuta.base.BaseCurrency

UAH - Ukrainian hryvnia.

rate: int = 100
uid: str = 'UAH'
valuta.currencies.ugx module
class valuta.currencies.ugx.UGX[source]

Bases: valuta.base.BaseCurrency

UGX - Ugandan shilling.

rate: int = 1
uid: str = 'UGX'
valuta.currencies.usd module
class valuta.currencies.usd.USD[source]

Bases: valuta.base.BaseCurrency

USD - United States dollar[H].

rate: int = 100
uid: str = 'USD'
valuta.currencies.uyu module
class valuta.currencies.uyu.UYU[source]

Bases: valuta.base.BaseCurrency

UYU - Uruguayan peso.

rate: int = 100
uid: str = 'UYU'
valuta.currencies.uzs module
class valuta.currencies.uzs.UZS[source]

Bases: valuta.base.BaseCurrency

UZS - Uzbekistani soʻm.

rate: int = 100
uid: str = 'UZS'
valuta.currencies.ves module
class valuta.currencies.ves.VES[source]

Bases: valuta.base.BaseCurrency

VES - Venezuelan bolívar soberano.

rate: int = 100
uid: str = 'VES'
valuta.currencies.vnd module
class valuta.currencies.vnd.VND[source]

Bases: valuta.base.BaseCurrency

VND - Vietnamese đồng.

rate: int = 10
uid: str = 'VND'
valuta.currencies.vuv module
class valuta.currencies.vuv.VUV[source]

Bases: valuta.base.BaseCurrency

VUV - Vanuatu vatu.

rate: int = 1
uid: str = 'VUV'
valuta.currencies.wst module
class valuta.currencies.wst.WST[source]

Bases: valuta.base.BaseCurrency

WST - Samoan tālā.

rate: int = 100
uid: str = 'WST'
valuta.currencies.xaf module
class valuta.currencies.xaf.XAF[source]

Bases: valuta.base.BaseCurrency

XAF - Central African CFA franc.

rate: int = 100
uid: str = 'XAF'
valuta.currencies.xcd module
class valuta.currencies.xcd.XCD[source]

Bases: valuta.base.BaseCurrency

XCD - Eastern Caribbean dollar.

rate: int = 100
uid: str = 'XCD'
valuta.currencies.xof module
class valuta.currencies.xof.XOF[source]

Bases: valuta.base.BaseCurrency

XOF - West African CFA franc.

rate: int = 100
uid: str = 'XOF'
valuta.currencies.xpf module
class valuta.currencies.xpf.XPF[source]

Bases: valuta.base.BaseCurrency

XPF - CFP franc.

rate: int = 100
uid: str = 'XPF'
valuta.currencies.yer module
class valuta.currencies.yer.YER[source]

Bases: valuta.base.BaseCurrency

YER - Yemeni rial.

rate: int = 100
uid: str = 'YER'
valuta.currencies.zar module
class valuta.currencies.zar.ZAR[source]

Bases: valuta.base.BaseCurrency

ZAR - South African rand.

rate: int = 100
uid: str = 'ZAR'
valuta.currencies.zmw module
class valuta.currencies.zmw.ZMW[source]

Bases: valuta.base.BaseCurrency

ZMW - Zambian kwacha.

rate: int = 100
uid: str = 'ZMW'
valuta.currencies.zwb module
class valuta.currencies.zwb.ZWB[source]

Bases: valuta.base.BaseCurrency

ZWB - RTGS dollar[5].

rate: int = 1
uid: str = 'ZWB'
Module contents
class valuta.currencies.AED[source]

Bases: valuta.base.BaseCurrency

AED - United Arab Emirates dirham.

rate: int = 100
uid: str = 'AED'
class valuta.currencies.AFN[source]

Bases: valuta.base.BaseCurrency

AFN - Afghan afghani.

rate: int = 100
uid: str = 'AFN'
class valuta.currencies.ALL[source]

Bases: valuta.base.BaseCurrency

ALL - Albanian lek.

rate: int = 100
uid: str = 'ALL'
class valuta.currencies.AMD[source]

Bases: valuta.base.BaseCurrency

AMD - Armenian dram.

rate: int = 100
uid: str = 'AMD'
class valuta.currencies.ANG[source]

Bases: valuta.base.BaseCurrency

ANG - Netherlands Antillean guilder.

rate: int = 100
uid: str = 'ANG'
class valuta.currencies.AOA[source]

Bases: valuta.base.BaseCurrency

AOA - Angolan kwanza.

rate: int = 100
uid: str = 'AOA'
class valuta.currencies.ARS[source]

Bases: valuta.base.BaseCurrency

ARS - Argentine peso.

rate: int = 100
uid: str = 'ARS'
class valuta.currencies.AUD[source]

Bases: valuta.base.BaseCurrency

AUD - Australian dollar.

rate: int = 100
uid: str = 'AUD'
class valuta.currencies.AWG[source]

Bases: valuta.base.BaseCurrency

AWG - Aruban florin.

rate: int = 100
uid: str = 'AWG'
class valuta.currencies.AZN[source]

Bases: valuta.base.BaseCurrency

AZN - Azerbaijani manat.

rate: int = 100
uid: str = 'AZN'
class valuta.currencies.BAM[source]

Bases: valuta.base.BaseCurrency

BAM - Bosnia and Herzegovina convertible mark.

rate: int = 100
uid: str = 'BAM'
class valuta.currencies.BBD[source]

Bases: valuta.base.BaseCurrency

BBD - Barbadian dollar.

rate: int = 100
uid: str = 'BBD'
class valuta.currencies.BDT[source]

Bases: valuta.base.BaseCurrency

BDT - Bangladeshi taka.

rate: int = 100
uid: str = 'BDT'
class valuta.currencies.BGN[source]

Bases: valuta.base.BaseCurrency

BGN - Bulgarian lev.

rate: int = 100
uid: str = 'BGN'
class valuta.currencies.BHD[source]

Bases: valuta.base.BaseCurrency

BHD - Bahraini dinar.

rate: int = 1000
uid: str = 'BHD'
class valuta.currencies.BIF[source]

Bases: valuta.base.BaseCurrency

BIF - Burundian franc.

rate: int = 100
uid: str = 'BIF'
class valuta.currencies.BMD[source]

Bases: valuta.base.BaseCurrency

BMD - Bermudian dollar.

rate: int = 100
uid: str = 'BMD'
class valuta.currencies.BND[source]

Bases: valuta.base.BaseCurrency

BND - Brunei dollar.

rate: int = 100
uid: str = 'BND'
class valuta.currencies.BOB[source]

Bases: valuta.base.BaseCurrency

BOB - Bolivian boliviano.

rate: int = 100
uid: str = 'BOB'
class valuta.currencies.BRL[source]

Bases: valuta.base.BaseCurrency

BRL - Brazilian real.

rate: int = 100
uid: str = 'BRL'
class valuta.currencies.BSD[source]

Bases: valuta.base.BaseCurrency

BSD - Bahamian dollar.

rate: int = 100
uid: str = 'BSD'
class valuta.currencies.BTC[source]

Bases: valuta.base.BaseCurrency

BTC - Bitcoin.

name: str = 'Bitcoin'
rate: int = 100000000
uid: str = 'BTC'
class valuta.currencies.BTN[source]

Bases: valuta.base.BaseCurrency

BTN - Bhutanese ngultrum.

rate: int = 100
uid: str = 'BTN'
class valuta.currencies.BWP[source]

Bases: valuta.base.BaseCurrency

BWP - Botswana pula.

rate: int = 100
uid: str = 'BWP'
class valuta.currencies.BYN[source]

Bases: valuta.base.BaseCurrency

BYN - Belarusian ruble.

rate: int = 100
uid: str = 'BYN'
class valuta.currencies.BZD[source]

Bases: valuta.base.BaseCurrency

BZD - Belize dollar.

rate: int = 100
uid: str = 'BZD'
class valuta.currencies.CAD[source]

Bases: valuta.base.BaseCurrency

CAD - Canadian dollar.

rate: int = 100
uid: str = 'CAD'
class valuta.currencies.CDF[source]

Bases: valuta.base.BaseCurrency

CDF - Congolese franc.

rate: int = 100
uid: str = 'CDF'
class valuta.currencies.CHF[source]

Bases: valuta.base.BaseCurrency

CHF - Swiss franc.

rate: int = 100
uid: str = 'CHF'
class valuta.currencies.CKD[source]

Bases: valuta.base.BaseCurrency

CKD - Cook Islands dollar.

rate: int = 100
uid: str = 'CKD'
class valuta.currencies.CLP[source]

Bases: valuta.base.BaseCurrency

CLP - Chilean peso.

rate: int = 100
uid: str = 'CLP'
class valuta.currencies.CNY[source]

Bases: valuta.base.BaseCurrency

CNY - Chinese yuan.

rate: int = 10
uid: str = 'CNY'
class valuta.currencies.COP[source]

Bases: valuta.base.BaseCurrency

COP - Colombian peso.

rate: int = 100
uid: str = 'COP'
class valuta.currencies.CRC[source]

Bases: valuta.base.BaseCurrency

CRC - Costa Rican colón.

rate: int = 100
uid: str = 'CRC'
class valuta.currencies.CUP[source]

Bases: valuta.base.BaseCurrency

CUP - Cuban peso.

rate: int = 100
uid: str = 'CUP'
class valuta.currencies.CVE[source]

Bases: valuta.base.BaseCurrency

CVE - Cape Verdean escudo.

rate: int = 100
uid: str = 'CVE'
class valuta.currencies.CZK[source]

Bases: valuta.base.BaseCurrency

CZK - Czech koruna.

rate: int = 100
uid: str = 'CZK'
class valuta.currencies.DJF[source]

Bases: valuta.base.BaseCurrency

DJF - Djiboutian franc.

rate: int = 100
uid: str = 'DJF'
class valuta.currencies.DKK[source]

Bases: valuta.base.BaseCurrency

DKK - Danish krone.

rate: int = 100
uid: str = 'DKK'
class valuta.currencies.DOP[source]

Bases: valuta.base.BaseCurrency

DOP - Dominican peso.

rate: int = 100
uid: str = 'DOP'
class valuta.currencies.DZD[source]

Bases: valuta.base.BaseCurrency

DZD - Algerian dinar.

rate: int = 100
uid: str = 'DZD'
class valuta.currencies.EGP[source]

Bases: valuta.base.BaseCurrency

EGP - Egyptian pound.

rate: int = 100
uid: str = 'EGP'
class valuta.currencies.ERN[source]

Bases: valuta.base.BaseCurrency

ERN - Eritrean nakfa.

rate: int = 100
uid: str = 'ERN'
class valuta.currencies.ETB[source]

Bases: valuta.base.BaseCurrency

ETB - Ethiopian birr.

rate: int = 100
uid: str = 'ETB'
class valuta.currencies.EUR[source]

Bases: valuta.base.BaseCurrency

EUR - Euro.

rate: int = 100
uid: str = 'EUR'
class valuta.currencies.FJD[source]

Bases: valuta.base.BaseCurrency

FJD - Fijian dollar.

rate: int = 100
uid: str = 'FJD'
class valuta.currencies.FKP[source]

Bases: valuta.base.BaseCurrency

FKP - Falkland Islands pound.

rate: int = 100
uid: str = 'FKP'
class valuta.currencies.FOK[source]

Bases: valuta.base.BaseCurrency

FOK - Faroese króna.

rate: int = 100
uid: str = 'FOK'
class valuta.currencies.GBP[source]

Bases: valuta.base.BaseCurrency

GBP - British pound[F].

rate: int = 100
uid: str = 'GBP'
class valuta.currencies.GEL[source]

Bases: valuta.base.BaseCurrency

GEL - Georgian lari.

rate: int = 100
uid: str = 'GEL'
class valuta.currencies.GGP[source]

Bases: valuta.base.BaseCurrency

GGP - Guernsey pound.

rate: int = 100
uid: str = 'GGP'
class valuta.currencies.GHS[source]

Bases: valuta.base.BaseCurrency

GHS - Ghanaian cedi.

rate: int = 100
uid: str = 'GHS'
class valuta.currencies.GIP[source]

Bases: valuta.base.BaseCurrency

GIP - Gibraltar pound.

rate: int = 100
uid: str = 'GIP'
class valuta.currencies.GMD[source]

Bases: valuta.base.BaseCurrency

GMD - Gambian dalasi.

rate: int = 100
uid: str = 'GMD'
class valuta.currencies.GNF[source]

Bases: valuta.base.BaseCurrency

GNF - Guinean franc.

rate: int = 100
uid: str = 'GNF'
class valuta.currencies.GTQ[source]

Bases: valuta.base.BaseCurrency

GTQ - Guatemalan quetzal.

rate: int = 100
uid: str = 'GTQ'
class valuta.currencies.GYD[source]

Bases: valuta.base.BaseCurrency

GYD - Guyanese dollar.

rate: int = 100
uid: str = 'GYD'
class valuta.currencies.HKD[source]

Bases: valuta.base.BaseCurrency

HKD - Hong Kong dollar.

rate: int = 100
uid: str = 'HKD'
class valuta.currencies.HNL[source]

Bases: valuta.base.BaseCurrency

HNL - Honduran lempira.

rate: int = 100
uid: str = 'HNL'
class valuta.currencies.HRK[source]

Bases: valuta.base.BaseCurrency

HRK - Croatian kuna.

rate: int = 100
uid: str = 'HRK'
class valuta.currencies.HTG[source]

Bases: valuta.base.BaseCurrency

HTG - Haitian gourde.

rate: int = 100
uid: str = 'HTG'
class valuta.currencies.HUF[source]

Bases: valuta.base.BaseCurrency

HUF - Hungarian forint.

rate: int = 100
uid: str = 'HUF'
class valuta.currencies.IDR[source]

Bases: valuta.base.BaseCurrency

IDR - Indonesian rupiah.

rate: int = 100
uid: str = 'IDR'
class valuta.currencies.ILS[source]

Bases: valuta.base.BaseCurrency

ILS - Israeli new shekel.

rate: int = 100
uid: str = 'ILS'
class valuta.currencies.IMP[source]

Bases: valuta.base.BaseCurrency

IMP - Manx pound.

rate: int = 100
uid: str = 'IMP'
class valuta.currencies.INR[source]

Bases: valuta.base.BaseCurrency

INR - Indian rupee.

rate: int = 100
uid: str = 'INR'
class valuta.currencies.IQD[source]

Bases: valuta.base.BaseCurrency

IQD - Iraqi dinar.

rate: int = 1000
uid: str = 'IQD'
class valuta.currencies.IRR[source]

Bases: valuta.base.BaseCurrency

IRR - Iranian rial.

rate: int = 100
uid: str = 'IRR'
class valuta.currencies.ISK[source]

Bases: valuta.base.BaseCurrency

ISK - Icelandic króna.

rate: int = 100
uid: str = 'ISK'
class valuta.currencies.JEP[source]

Bases: valuta.base.BaseCurrency

JEP - Jersey pound.

rate: int = 100
uid: str = 'JEP'
class valuta.currencies.JMD[source]

Bases: valuta.base.BaseCurrency

JMD - Jamaican dollar.

rate: int = 100
uid: str = 'JMD'
class valuta.currencies.JOD[source]

Bases: valuta.base.BaseCurrency

JOD - Jordanian dinar.

rate: int = 100
uid: str = 'JOD'
class valuta.currencies.JPY[source]

Bases: valuta.base.BaseCurrency

JPY - Japanese yen.

rate: int = 100
uid: str = 'JPY'
class valuta.currencies.KES[source]

Bases: valuta.base.BaseCurrency

KES - Kenyan shilling.

rate: int = 100
uid: str = 'KES'
class valuta.currencies.KGS[source]

Bases: valuta.base.BaseCurrency

KGS - Kyrgyzstani som.

rate: int = 100
uid: str = 'KGS'
class valuta.currencies.KHR[source]

Bases: valuta.base.BaseCurrency

KHR - Cambodian riel.

rate: int = 100
uid: str = 'KHR'
class valuta.currencies.KID[source]

Bases: valuta.base.BaseCurrency

KID - Kiribati dollar[E].

rate: int = 100
uid: str = 'KID'
class valuta.currencies.KMF[source]

Bases: valuta.base.BaseCurrency

KMF - Comorian franc.

rate: int = 100
uid: str = 'KMF'
class valuta.currencies.KPW[source]

Bases: valuta.base.BaseCurrency

KPW - North Korean won.

rate: int = 100
uid: str = 'KPW'
class valuta.currencies.KRW[source]

Bases: valuta.base.BaseCurrency

KRW - South Korean won.

rate: int = 100
uid: str = 'KRW'
class valuta.currencies.KWD[source]

Bases: valuta.base.BaseCurrency

KWD - Kuwaiti dinar.

rate: int = 1000
uid: str = 'KWD'
class valuta.currencies.KYD[source]

Bases: valuta.base.BaseCurrency

KYD - Cayman Islands dollar.

rate: int = 100
uid: str = 'KYD'
class valuta.currencies.KZT[source]

Bases: valuta.base.BaseCurrency

KZT - Kazakhstani tenge.

rate: int = 100
uid: str = 'KZT'
class valuta.currencies.LAK[source]

Bases: valuta.base.BaseCurrency

LAK - Lao kip.

rate: int = 100
uid: str = 'LAK'
class valuta.currencies.LBP[source]

Bases: valuta.base.BaseCurrency

LBP - Lebanese pound.

rate: int = 100
uid: str = 'LBP'
class valuta.currencies.LKR[source]

Bases: valuta.base.BaseCurrency

LKR - Sri Lankan rupee.

rate: int = 100
uid: str = 'LKR'
class valuta.currencies.LRD[source]

Bases: valuta.base.BaseCurrency

LRD - Liberian dollar.

rate: int = 100
uid: str = 'LRD'
class valuta.currencies.LSL[source]

Bases: valuta.base.BaseCurrency

LSL - Lesotho loti.

rate: int = 100
uid: str = 'LSL'
class valuta.currencies.LYD[source]

Bases: valuta.base.BaseCurrency

LYD - Libyan dinar.

rate: int = 1000
uid: str = 'LYD'
class valuta.currencies.MAD[source]

Bases: valuta.base.BaseCurrency

MAD - Moroccan dirham.

rate: int = 100
uid: str = 'MAD'
class valuta.currencies.MDL[source]

Bases: valuta.base.BaseCurrency

MDL - Moldovan leu.

rate: int = 100
uid: str = 'MDL'
class valuta.currencies.MGA[source]

Bases: valuta.base.BaseCurrency

MGA - Malagasy ariary.

rate: int = 5
uid: str = 'MGA'
class valuta.currencies.MKD[source]

Bases: valuta.base.BaseCurrency

MKD - Macedonian denar.

rate: int = 100
uid: str = 'MKD'
class valuta.currencies.MMK[source]

Bases: valuta.base.BaseCurrency

MMK - Burmese kyat.

rate: int = 100
uid: str = 'MMK'
class valuta.currencies.MNT[source]

Bases: valuta.base.BaseCurrency

MNT - Mongolian tögrög.

rate: int = 100
uid: str = 'MNT'
class valuta.currencies.MOP[source]

Bases: valuta.base.BaseCurrency

MOP - Macanese pataca.

rate: int = 100
uid: str = 'MOP'
class valuta.currencies.MRU[source]

Bases: valuta.base.BaseCurrency

MRU - Mauritanian ouguiya.

rate: int = 5
uid: str = 'MRU'
class valuta.currencies.MUR[source]

Bases: valuta.base.BaseCurrency

MUR - Mauritian rupee.

rate: int = 100
uid: str = 'MUR'
class valuta.currencies.MVR[source]

Bases: valuta.base.BaseCurrency

MVR - Maldivian rufiyaa.

rate: int = 100
uid: str = 'MVR'
class valuta.currencies.MWK[source]

Bases: valuta.base.BaseCurrency

MWK - Malawian kwacha.

rate: int = 100
uid: str = 'MWK'
class valuta.currencies.MXN[source]

Bases: valuta.base.BaseCurrency

MXN - Mexican peso.

rate: int = 100
uid: str = 'MXN'
class valuta.currencies.MYR[source]

Bases: valuta.base.BaseCurrency

MYR - Malaysian ringgit.

rate: int = 100
uid: str = 'MYR'
class valuta.currencies.MZN[source]

Bases: valuta.base.BaseCurrency

MZN - Mozambican metical.

rate: int = 100
uid: str = 'MZN'
class valuta.currencies.NAD[source]

Bases: valuta.base.BaseCurrency

NAD - Namibian dollar.

rate: int = 100
uid: str = 'NAD'
class valuta.currencies.NGN[source]

Bases: valuta.base.BaseCurrency

NGN - Nigerian naira.

rate: int = 100
uid: str = 'NGN'
class valuta.currencies.NIO[source]

Bases: valuta.base.BaseCurrency

NIO - Nicaraguan córdoba.

rate: int = 100
uid: str = 'NIO'
class valuta.currencies.NOK[source]

Bases: valuta.base.BaseCurrency

NOK - Norwegian krone.

rate: int = 100
uid: str = 'NOK'
class valuta.currencies.NPR[source]

Bases: valuta.base.BaseCurrency

NPR - Nepalese rupee.

rate: int = 100
uid: str = 'NPR'
class valuta.currencies.NZD[source]

Bases: valuta.base.BaseCurrency

NZD - New Zealand dollar.

rate: int = 100
uid: str = 'NZD'
class valuta.currencies.OMR[source]

Bases: valuta.base.BaseCurrency

OMR - Omani rial.

rate: int = 1000
uid: str = 'OMR'
class valuta.currencies.PAB[source]

Bases: valuta.base.BaseCurrency

PAB - Panamanian balboa.

rate: int = 100
uid: str = 'PAB'
class valuta.currencies.PEN[source]

Bases: valuta.base.BaseCurrency

PEN - Peruvian sol.

rate: int = 100
uid: str = 'PEN'
class valuta.currencies.PGK[source]

Bases: valuta.base.BaseCurrency

PGK - Papua New Guinean kina.

rate: int = 100
uid: str = 'PGK'
class valuta.currencies.PHP[source]

Bases: valuta.base.BaseCurrency

PHP - Philippine peso.

rate: int = 100
uid: str = 'PHP'
class valuta.currencies.PKR[source]

Bases: valuta.base.BaseCurrency

PKR - Pakistani rupee.

rate: int = 100
uid: str = 'PKR'
class valuta.currencies.PLN[source]

Bases: valuta.base.BaseCurrency

PLN - Polish złoty.

rate: int = 100
uid: str = 'PLN'
class valuta.currencies.PND[source]

Bases: valuta.base.BaseCurrency

PND - Pitcairn Islands dollar[E].

rate: int = 100
uid: str = 'PND'
class valuta.currencies.PRB[source]

Bases: valuta.base.BaseCurrency

PRB - Transnistrian ruble.

rate: int = 100
uid: str = 'PRB'
class valuta.currencies.PYG[source]

Bases: valuta.base.BaseCurrency

PYG - Paraguayan guaraní.

rate: int = 100
uid: str = 'PYG'
class valuta.currencies.QAR[source]

Bases: valuta.base.BaseCurrency

QAR - Qatari riyal.

rate: int = 100
uid: str = 'QAR'
class valuta.currencies.RON[source]

Bases: valuta.base.BaseCurrency

RON - Romanian leu.

rate: int = 100
uid: str = 'RON'
class valuta.currencies.RSD[source]

Bases: valuta.base.BaseCurrency

RSD - Serbian dinar.

rate: int = 100
uid: str = 'RSD'
class valuta.currencies.RUB[source]

Bases: valuta.base.BaseCurrency

RUB - Russian ruble.

rate: int = 100
uid: str = 'RUB'
class valuta.currencies.RWF[source]

Bases: valuta.base.BaseCurrency

RWF - Rwandan franc.

rate: int = 100
uid: str = 'RWF'
class valuta.currencies.SAR[source]

Bases: valuta.base.BaseCurrency

SAR - Saudi riyal.

rate: int = 100
uid: str = 'SAR'
class valuta.currencies.SBD[source]

Bases: valuta.base.BaseCurrency

SBD - Solomon Islands dollar.

rate: int = 100
uid: str = 'SBD'
class valuta.currencies.SCR[source]

Bases: valuta.base.BaseCurrency

SCR - Seychellois rupee.

rate: int = 100
uid: str = 'SCR'
class valuta.currencies.SDG[source]

Bases: valuta.base.BaseCurrency

SDG - Sudanese pound.

rate: int = 100
uid: str = 'SDG'
class valuta.currencies.SEK[source]

Bases: valuta.base.BaseCurrency

SEK - Swedish krona.

rate: int = 100
uid: str = 'SEK'
class valuta.currencies.SGD[source]

Bases: valuta.base.BaseCurrency

SGD - Singapore dollar.

rate: int = 100
uid: str = 'SGD'
class valuta.currencies.SHP[source]

Bases: valuta.base.BaseCurrency

SHP - Saint Helena pound.

rate: int = 100
uid: str = 'SHP'
class valuta.currencies.SLL[source]

Bases: valuta.base.BaseCurrency

SLL - Sierra Leonean leone.

rate: int = 100
uid: str = 'SLL'
class valuta.currencies.SLS[source]

Bases: valuta.base.BaseCurrency

SLS - Somaliland shilling.

rate: int = 100
uid: str = 'SLS'
class valuta.currencies.SOS[source]

Bases: valuta.base.BaseCurrency

SOS - Somali shilling.

rate: int = 100
uid: str = 'SOS'
class valuta.currencies.SRD[source]

Bases: valuta.base.BaseCurrency

SRD - Surinamese dollar.

rate: int = 100
uid: str = 'SRD'
class valuta.currencies.SSP[source]

Bases: valuta.base.BaseCurrency

SSP - South Sudanese pound.

rate: int = 100
uid: str = 'SSP'
class valuta.currencies.STN[source]

Bases: valuta.base.BaseCurrency

STN - São Tomé and Príncipe dobra.

rate: int = 100
uid: str = 'STN'
class valuta.currencies.SYP[source]

Bases: valuta.base.BaseCurrency

SYP - Syrian pound.

rate: int = 100
uid: str = 'SYP'
class valuta.currencies.SZL[source]

Bases: valuta.base.BaseCurrency

SZL - Swazi lilangeni.

rate: int = 100
uid: str = 'SZL'
class valuta.currencies.THB[source]

Bases: valuta.base.BaseCurrency

THB - Thai baht.

rate: int = 100
uid: str = 'THB'
class valuta.currencies.TJS[source]

Bases: valuta.base.BaseCurrency

TJS - Tajikistani somoni.

rate: int = 100
uid: str = 'TJS'
class valuta.currencies.TMT[source]

Bases: valuta.base.BaseCurrency

TMT - Turkmenistan manat.

rate: int = 100
uid: str = 'TMT'
class valuta.currencies.TND[source]

Bases: valuta.base.BaseCurrency

TND - Tunisian dinar.

rate: int = 1000
uid: str = 'TND'
class valuta.currencies.TOP[source]

Bases: valuta.base.BaseCurrency

TOP - Tongan paʻanga[P].

rate: int = 100
uid: str = 'TOP'
class valuta.currencies.TRY[source]

Bases: valuta.base.BaseCurrency

TRY - Turkish lira.

rate: int = 100
uid: str = 'TRY'
class valuta.currencies.TTD[source]

Bases: valuta.base.BaseCurrency

TTD - Trinidad and Tobago dollar.

rate: int = 100
uid: str = 'TTD'
class valuta.currencies.TVD[source]

Bases: valuta.base.BaseCurrency

TVD - Tuvaluan dollar.

rate: int = 100
uid: str = 'TVD'
class valuta.currencies.TWD[source]

Bases: valuta.base.BaseCurrency

TWD - New Taiwan dollar.

rate: int = 100
uid: str = 'TWD'
class valuta.currencies.TZS[source]

Bases: valuta.base.BaseCurrency

TZS - Tanzanian shilling.

rate: int = 100
uid: str = 'TZS'
class valuta.currencies.UAH[source]

Bases: valuta.base.BaseCurrency

UAH - Ukrainian hryvnia.

rate: int = 100
uid: str = 'UAH'
class valuta.currencies.UGX[source]

Bases: valuta.base.BaseCurrency

UGX - Ugandan shilling.

rate: int = 1
uid: str = 'UGX'
class valuta.currencies.USD[source]

Bases: valuta.base.BaseCurrency

USD - United States dollar[H].

rate: int = 100
uid: str = 'USD'
class valuta.currencies.UYU[source]

Bases: valuta.base.BaseCurrency

UYU - Uruguayan peso.

rate: int = 100
uid: str = 'UYU'
class valuta.currencies.UZS[source]

Bases: valuta.base.BaseCurrency

UZS - Uzbekistani soʻm.

rate: int = 100
uid: str = 'UZS'
class valuta.currencies.VES[source]

Bases: valuta.base.BaseCurrency

VES - Venezuelan bolívar soberano.

rate: int = 100
uid: str = 'VES'
class valuta.currencies.VND[source]

Bases: valuta.base.BaseCurrency

VND - Vietnamese đồng.

rate: int = 10
uid: str = 'VND'
class valuta.currencies.VUV[source]

Bases: valuta.base.BaseCurrency

VUV - Vanuatu vatu.

rate: int = 1
uid: str = 'VUV'
class valuta.currencies.WST[source]

Bases: valuta.base.BaseCurrency

WST - Samoan tālā.

rate: int = 100
uid: str = 'WST'
class valuta.currencies.XAF[source]

Bases: valuta.base.BaseCurrency

XAF - Central African CFA franc.

rate: int = 100
uid: str = 'XAF'
class valuta.currencies.XCD[source]

Bases: valuta.base.BaseCurrency

XCD - Eastern Caribbean dollar.

rate: int = 100
uid: str = 'XCD'
class valuta.currencies.XOF[source]

Bases: valuta.base.BaseCurrency

XOF - West African CFA franc.

rate: int = 100
uid: str = 'XOF'
class valuta.currencies.XPF[source]

Bases: valuta.base.BaseCurrency

XPF - CFP franc.

rate: int = 100
uid: str = 'XPF'
class valuta.currencies.YER[source]

Bases: valuta.base.BaseCurrency

YER - Yemeni rial.

rate: int = 100
uid: str = 'YER'
class valuta.currencies.ZAR[source]

Bases: valuta.base.BaseCurrency

ZAR - South African rand.

rate: int = 100
uid: str = 'ZAR'
class valuta.currencies.ZMW[source]

Bases: valuta.base.BaseCurrency

ZMW - Zambian kwacha.

rate: int = 100
uid: str = 'ZMW'
class valuta.currencies.ZWB[source]

Bases: valuta.base.BaseCurrency

ZWB - RTGS dollar[5].

rate: int = 1
uid: str = 'ZWB'
valuta.tests package
Submodules
valuta.tests.data module
valuta.tests.test_base module
class valuta.tests.test_base.TestBase(methodName='runTest')[source]

Bases: unittest.case.TestCase

Base tests.

setUp()None[source]

Hook method for setting up the test fixture before exercising it.

tearDown()None[source]

Hook method for deconstructing the test fixture after testing it.

test_1()[source]
test_10()[source]
test_100()[source]
test_1000()[source]
test_5()[source]
test_subclass()[source]

Test subclass.

test_subclass_no_rate()[source]

Test subclass no rate.

test_symbol()[source]

Test symbol.

valuta.tests.test_cli module
class valuta.tests.test_cli.TestCLI(methodName='runTest')[source]

Bases: unittest.case.TestCase

CLI tests.

test_generate_currencies()[source]

Test generate currencies CLI.

test_list_currencies()[source]

Test list currencies CLI.

test_list_currencies_sort_by_value()[source]

Test list currencies CLI, sorted byvalue.

valuta.tests.test_registry module
class valuta.tests.test_registry.TestRegistry(methodName='runTest')[source]

Bases: unittest.case.TestCase

Test registry.

test_import_from_registry()[source]

Test import from deprecated valuta.registry module.

valuta.tests.test_scaffolding module
class valuta.tests.test_scaffolding.TestScaffolding(methodName='runTest')[source]

Bases: unittest.case.TestCase

Scaffolding tests.

test_generate_currencies()[source]

Test generate currency modules.

test_generate_currencies_rel_path()[source]

Test generate currency modules relative paths.

valuta.tests.test_shortcuts module
class valuta.tests.test_shortcuts.TestShortcuts(methodName='runTest')[source]

Bases: unittest.case.TestCase

Test shortcuts.

test_convert_to_currency_units()[source]

Test convert_to_currency_units with valid codes.

test_display_in_currency_units()[source]

Test display_in_currency_units with valid codes.

test_display_in_currency_units_with_locale()[source]

Test display_in_currency_units with valid codes and locale.

test_test_convert_to_currency_units_invalid_currency_code()[source]

Test convert_to_currency_units with invalid codes.

test_test_display_in_currency_units_invalid_currency_code()[source]

Test convert_to_currency_units with invalid codes.

valuta.tests.test_utils module
class valuta.tests.test_utils.TestUtils(methodName='runTest')[source]

Bases: unittest.case.TestCase

Test utils.

setUp()[source]

Set up.

test_get_currency_choices()[source]

Test get_currency_choices.

test_get_currency_choices_sort_by_key()[source]

Test get_currency_choices sort_by_key=True.

test_get_currency_choices_with_code()[source]

Test get_currency_choices_with_code.

test_get_currency_choices_with_code_sort_by_key()[source]

Test get_currency_choices_with_code sort_by_key=True.

Module contents

Submodules

valuta.base module

class valuta.base.BaseCurrency[source]

Bases: object

Base currency.

Each currency typically has a main currency unit (the dollar, for example, or the euro) and a fractional unit, often defined as 1⁄100 of the main unit: 100 cents = 1 dollar, 100 centimes = 1 franc, 100 pence = 1 pound, although units of 1⁄10 or 1⁄1000 occasionally also occur. Some currencies do not have any smaller units at all, such as the Icelandic krona.

https://en.wikipedia.org/wiki/Currency

classmethod convert_to_currency_units(value: int)Union[int, float, decimal.Decimal][source]

Convert to amount in currency units.

classmethod display_in_currency_units(value: int, format: Optional[str] = None, locale: Optional[str] = None, decimal_quantization: bool = True)str[source]

Convert to amount in currency units.

name = None
rate: Union[int, float, decimal.Decimal]
symbol = None
uid: Optional[str] = None
classmethod validate()[source]

Constructor.

class valuta.base.Registry(name, bases, attrs)[source]

Bases: type

REGISTRY: Dict[str, valuta.base.BaseCurrency] = {'AED': <class 'valuta.currencies.aed.AED'>, 'AFN': <class 'valuta.currencies.afn.AFN'>, 'ALL': <class 'valuta.currencies.all.ALL'>, 'AMD': <class 'valuta.currencies.amd.AMD'>, 'ANG': <class 'valuta.currencies.ang.ANG'>, 'AOA': <class 'valuta.currencies.aoa.AOA'>, 'ARS': <class 'valuta.currencies.ars.ARS'>, 'AUD': <class 'valuta.currencies.aud.AUD'>, 'AWG': <class 'valuta.currencies.awg.AWG'>, 'AZN': <class 'valuta.currencies.azn.AZN'>, 'BAM': <class 'valuta.currencies.bam.BAM'>, 'BBD': <class 'valuta.currencies.bbd.BBD'>, 'BDT': <class 'valuta.currencies.bdt.BDT'>, 'BGN': <class 'valuta.currencies.bgn.BGN'>, 'BHD': <class 'valuta.currencies.bhd.BHD'>, 'BIF': <class 'valuta.currencies.bif.BIF'>, 'BMD': <class 'valuta.currencies.bmd.BMD'>, 'BND': <class 'valuta.currencies.bnd.BND'>, 'BOB': <class 'valuta.currencies.bob.BOB'>, 'BRL': <class 'valuta.currencies.brl.BRL'>, 'BSD': <class 'valuta.currencies.bsd.BSD'>, 'BTC': <class 'valuta.currencies.btc.BTC'>, 'BTN': <class 'valuta.currencies.btn.BTN'>, 'BWP': <class 'valuta.currencies.bwp.BWP'>, 'BYN': <class 'valuta.currencies.byn.BYN'>, 'BZD': <class 'valuta.currencies.bzd.BZD'>, 'CAD': <class 'valuta.currencies.cad.CAD'>, 'CDF': <class 'valuta.currencies.cdf.CDF'>, 'CHF': <class 'valuta.currencies.chf.CHF'>, 'CKD': <class 'valuta.currencies.ckd.CKD'>, 'CLP': <class 'valuta.currencies.clp.CLP'>, 'CNY': <class 'valuta.currencies.cny.CNY'>, 'COP': <class 'valuta.currencies.cop.COP'>, 'CRC': <class 'valuta.currencies.crc.CRC'>, 'CUP': <class 'valuta.currencies.cup.CUP'>, 'CVE': <class 'valuta.currencies.cve.CVE'>, 'CZK': <class 'valuta.currencies.czk.CZK'>, 'DJF': <class 'valuta.currencies.djf.DJF'>, 'DKK': <class 'valuta.currencies.dkk.DKK'>, 'DOP': <class 'valuta.currencies.dop.DOP'>, 'DZD': <class 'valuta.currencies.dzd.DZD'>, 'EGP': <class 'valuta.currencies.egp.EGP'>, 'ERN': <class 'valuta.currencies.ern.ERN'>, 'ETB': <class 'valuta.currencies.etb.ETB'>, 'EUR': <class 'valuta.currencies.eur.EUR'>, 'FJD': <class 'valuta.currencies.fjd.FJD'>, 'FKP': <class 'valuta.currencies.fkp.FKP'>, 'FOK': <class 'valuta.currencies.fok.FOK'>, 'GBP': <class 'valuta.currencies.gbp.GBP'>, 'GEL': <class 'valuta.currencies.gel.GEL'>, 'GGP': <class 'valuta.currencies.ggp.GGP'>, 'GHS': <class 'valuta.currencies.ghs.GHS'>, 'GIP': <class 'valuta.currencies.gip.GIP'>, 'GMD': <class 'valuta.currencies.gmd.GMD'>, 'GNF': <class 'valuta.currencies.gnf.GNF'>, 'GTQ': <class 'valuta.currencies.gtq.GTQ'>, 'GYD': <class 'valuta.currencies.gyd.GYD'>, 'HKD': <class 'valuta.currencies.hkd.HKD'>, 'HNL': <class 'valuta.currencies.hnl.HNL'>, 'HRK': <class 'valuta.currencies.hrk.HRK'>, 'HTG': <class 'valuta.currencies.htg.HTG'>, 'HUF': <class 'valuta.currencies.huf.HUF'>, 'IDR': <class 'valuta.currencies.idr.IDR'>, 'ILS': <class 'valuta.currencies.ils.ILS'>, 'IMP': <class 'valuta.currencies.imp.IMP'>, 'INR': <class 'valuta.currencies.inr.INR'>, 'IQD': <class 'valuta.currencies.iqd.IQD'>, 'IRR': <class 'valuta.currencies.irr.IRR'>, 'ISK': <class 'valuta.currencies.isk.ISK'>, 'JEP': <class 'valuta.currencies.jep.JEP'>, 'JMD': <class 'valuta.currencies.jmd.JMD'>, 'JOD': <class 'valuta.currencies.jod.JOD'>, 'JPY': <class 'valuta.currencies.jpy.JPY'>, 'KES': <class 'valuta.currencies.kes.KES'>, 'KGS': <class 'valuta.currencies.kgs.KGS'>, 'KHR': <class 'valuta.currencies.khr.KHR'>, 'KID': <class 'valuta.currencies.kid.KID'>, 'KMF': <class 'valuta.currencies.kmf.KMF'>, 'KPW': <class 'valuta.currencies.kpw.KPW'>, 'KRW': <class 'valuta.currencies.krw.KRW'>, 'KWD': <class 'valuta.currencies.kwd.KWD'>, 'KYD': <class 'valuta.currencies.kyd.KYD'>, 'KZT': <class 'valuta.currencies.kzt.KZT'>, 'LAK': <class 'valuta.currencies.lak.LAK'>, 'LBP': <class 'valuta.currencies.lbp.LBP'>, 'LKR': <class 'valuta.currencies.lkr.LKR'>, 'LRD': <class 'valuta.currencies.lrd.LRD'>, 'LSL': <class 'valuta.currencies.lsl.LSL'>, 'LYD': <class 'valuta.currencies.lyd.LYD'>, 'MAD': <class 'valuta.currencies.mad.MAD'>, 'MDL': <class 'valuta.currencies.mdl.MDL'>, 'MGA': <class 'valuta.currencies.mga.MGA'>, 'MKD': <class 'valuta.currencies.mkd.MKD'>, 'MMK': <class 'valuta.currencies.mmk.MMK'>, 'MNT': <class 'valuta.currencies.mnt.MNT'>, 'MOP': <class 'valuta.currencies.mop.MOP'>, 'MRU': <class 'valuta.currencies.mru.MRU'>, 'MUR': <class 'valuta.currencies.mur.MUR'>, 'MVR': <class 'valuta.currencies.mvr.MVR'>, 'MWK': <class 'valuta.currencies.mwk.MWK'>, 'MXN': <class 'valuta.currencies.mxn.MXN'>, 'MYR': <class 'valuta.currencies.myr.MYR'>, 'MZN': <class 'valuta.currencies.mzn.MZN'>, 'NAD': <class 'valuta.currencies.nad.NAD'>, 'NGN': <class 'valuta.currencies.ngn.NGN'>, 'NIO': <class 'valuta.currencies.nio.NIO'>, 'NOK': <class 'valuta.currencies.nok.NOK'>, 'NPR': <class 'valuta.currencies.npr.NPR'>, 'NZD': <class 'valuta.currencies.nzd.NZD'>, 'OMR': <class 'valuta.currencies.omr.OMR'>, 'PAB': <class 'valuta.currencies.pab.PAB'>, 'PEN': <class 'valuta.currencies.pen.PEN'>, 'PGK': <class 'valuta.currencies.pgk.PGK'>, 'PHP': <class 'valuta.currencies.php.PHP'>, 'PKR': <class 'valuta.currencies.pkr.PKR'>, 'PLN': <class 'valuta.currencies.pln.PLN'>, 'PND': <class 'valuta.currencies.pnd.PND'>, 'PRB': <class 'valuta.currencies.prb.PRB'>, 'PYG': <class 'valuta.currencies.pyg.PYG'>, 'QAR': <class 'valuta.currencies.qar.QAR'>, 'RON': <class 'valuta.currencies.ron.RON'>, 'RSD': <class 'valuta.currencies.rsd.RSD'>, 'RUB': <class 'valuta.currencies.rub.RUB'>, 'RWF': <class 'valuta.currencies.rwf.RWF'>, 'SAR': <class 'valuta.currencies.sar.SAR'>, 'SBD': <class 'valuta.currencies.sbd.SBD'>, 'SCR': <class 'valuta.currencies.scr.SCR'>, 'SDG': <class 'valuta.currencies.sdg.SDG'>, 'SEK': <class 'valuta.currencies.sek.SEK'>, 'SGD': <class 'valuta.currencies.sgd.SGD'>, 'SHP': <class 'valuta.currencies.shp.SHP'>, 'SLL': <class 'valuta.currencies.sll.SLL'>, 'SLS': <class 'valuta.currencies.sls.SLS'>, 'SOS': <class 'valuta.currencies.sos.SOS'>, 'SRD': <class 'valuta.currencies.srd.SRD'>, 'SSP': <class 'valuta.currencies.ssp.SSP'>, 'STN': <class 'valuta.currencies.stn.STN'>, 'SYP': <class 'valuta.currencies.syp.SYP'>, 'SZL': <class 'valuta.currencies.szl.SZL'>, 'THB': <class 'valuta.currencies.thb.THB'>, 'TJS': <class 'valuta.currencies.tjs.TJS'>, 'TMT': <class 'valuta.currencies.tmt.TMT'>, 'TND': <class 'valuta.currencies.tnd.TND'>, 'TOP': <class 'valuta.currencies.top.TOP'>, 'TRY': <class 'valuta.currencies.try.TRY'>, 'TTD': <class 'valuta.currencies.ttd.TTD'>, 'TVD': <class 'valuta.currencies.tvd.TVD'>, 'TWD': <class 'valuta.currencies.twd.TWD'>, 'TZS': <class 'valuta.currencies.tzs.TZS'>, 'UAH': <class 'valuta.currencies.uah.UAH'>, 'UGX': <class 'valuta.currencies.ugx.UGX'>, 'USD': <class 'valuta.currencies.usd.USD'>, 'UYU': <class 'valuta.currencies.uyu.UYU'>, 'UZS': <class 'valuta.currencies.uzs.UZS'>, 'VES': <class 'valuta.currencies.ves.VES'>, 'VND': <class 'valuta.currencies.vnd.VND'>, 'VUV': <class 'valuta.currencies.vuv.VUV'>, 'WST': <class 'valuta.currencies.wst.WST'>, 'XAF': <class 'valuta.currencies.xaf.XAF'>, 'XCD': <class 'valuta.currencies.xcd.XCD'>, 'XOF': <class 'valuta.currencies.xof.XOF'>, 'XPF': <class 'valuta.currencies.xpf.XPF'>, 'YER': <class 'valuta.currencies.yer.YER'>, 'ZAR': <class 'valuta.currencies.zar.ZAR'>, 'ZMW': <class 'valuta.currencies.zmw.ZMW'>, 'ZWB': <class 'valuta.currencies.zwb.ZWB'>}
classmethod get(key: str, default: Optional[valuta.base.BaseCurrency] = None)Optional[valuta.base.BaseCurrency][source]
classmethod items()ItemsView[str, valuta.base.BaseCurrency][source]
classmethod reset()None[source]
classmethod values(limit_choices_to: Optional[Union[List[str], Tuple[str, ...], Set[str]]] = None, sort_by_key: bool = False)List[Tuple[str, str]][source]
classmethod values_with_code(limit_choices_to: Optional[Union[List[str], Tuple[str, ...], Set[str]]] = None, sort_by_key: bool = False)List[Tuple[str, str]][source]

valuta.cli module

valuta.cli.generate_currencies()[source]

Generate currency modules.

valuta.cli.list_currencies()[source]

List currency modules.

valuta.exceptions module

exception valuta.exceptions.ImproperlyConfigured[source]

Bases: Exception

ImproperlyConfigured.

Supposed to be thrown when code is improperly configured.

exception valuta.exceptions.InvalidCurrency[source]

Bases: ValueError

Invalid currency exception.

valuta.helpers module

class valuta.helpers.ClassProperty(fget=None, fset=None, fdel=None, doc=None)[source]

Bases: property

ClassProperty.

How to use:

class Something:
    @classproperty
    def default_value(cls):
        return 10  # Some value

Can be replaced with the following in Python 3.9:

class Something:
    @classmethod
    @property
    def default_value(cls):
        return 10  # Some value
valuta.helpers.classproperty

alias of valuta.helpers.ClassProperty

valuta.helpers.project_dir(base: str)str[source]

Absolute path to a file from current directory.

valuta.registry module

class valuta.registry.Registry(name, bases, attrs)[source]

Bases: type

REGISTRY: Dict[str, valuta.base.BaseCurrency] = {'AED': <class 'valuta.currencies.aed.AED'>, 'AFN': <class 'valuta.currencies.afn.AFN'>, 'ALL': <class 'valuta.currencies.all.ALL'>, 'AMD': <class 'valuta.currencies.amd.AMD'>, 'ANG': <class 'valuta.currencies.ang.ANG'>, 'AOA': <class 'valuta.currencies.aoa.AOA'>, 'ARS': <class 'valuta.currencies.ars.ARS'>, 'AUD': <class 'valuta.currencies.aud.AUD'>, 'AWG': <class 'valuta.currencies.awg.AWG'>, 'AZN': <class 'valuta.currencies.azn.AZN'>, 'BAM': <class 'valuta.currencies.bam.BAM'>, 'BBD': <class 'valuta.currencies.bbd.BBD'>, 'BDT': <class 'valuta.currencies.bdt.BDT'>, 'BGN': <class 'valuta.currencies.bgn.BGN'>, 'BHD': <class 'valuta.currencies.bhd.BHD'>, 'BIF': <class 'valuta.currencies.bif.BIF'>, 'BMD': <class 'valuta.currencies.bmd.BMD'>, 'BND': <class 'valuta.currencies.bnd.BND'>, 'BOB': <class 'valuta.currencies.bob.BOB'>, 'BRL': <class 'valuta.currencies.brl.BRL'>, 'BSD': <class 'valuta.currencies.bsd.BSD'>, 'BTC': <class 'valuta.currencies.btc.BTC'>, 'BTN': <class 'valuta.currencies.btn.BTN'>, 'BWP': <class 'valuta.currencies.bwp.BWP'>, 'BYN': <class 'valuta.currencies.byn.BYN'>, 'BZD': <class 'valuta.currencies.bzd.BZD'>, 'CAD': <class 'valuta.currencies.cad.CAD'>, 'CDF': <class 'valuta.currencies.cdf.CDF'>, 'CHF': <class 'valuta.currencies.chf.CHF'>, 'CKD': <class 'valuta.currencies.ckd.CKD'>, 'CLP': <class 'valuta.currencies.clp.CLP'>, 'CNY': <class 'valuta.currencies.cny.CNY'>, 'COP': <class 'valuta.currencies.cop.COP'>, 'CRC': <class 'valuta.currencies.crc.CRC'>, 'CUP': <class 'valuta.currencies.cup.CUP'>, 'CVE': <class 'valuta.currencies.cve.CVE'>, 'CZK': <class 'valuta.currencies.czk.CZK'>, 'DJF': <class 'valuta.currencies.djf.DJF'>, 'DKK': <class 'valuta.currencies.dkk.DKK'>, 'DOP': <class 'valuta.currencies.dop.DOP'>, 'DZD': <class 'valuta.currencies.dzd.DZD'>, 'EGP': <class 'valuta.currencies.egp.EGP'>, 'ERN': <class 'valuta.currencies.ern.ERN'>, 'ETB': <class 'valuta.currencies.etb.ETB'>, 'EUR': <class 'valuta.currencies.eur.EUR'>, 'FJD': <class 'valuta.currencies.fjd.FJD'>, 'FKP': <class 'valuta.currencies.fkp.FKP'>, 'FOK': <class 'valuta.currencies.fok.FOK'>, 'GBP': <class 'valuta.currencies.gbp.GBP'>, 'GEL': <class 'valuta.currencies.gel.GEL'>, 'GGP': <class 'valuta.currencies.ggp.GGP'>, 'GHS': <class 'valuta.currencies.ghs.GHS'>, 'GIP': <class 'valuta.currencies.gip.GIP'>, 'GMD': <class 'valuta.currencies.gmd.GMD'>, 'GNF': <class 'valuta.currencies.gnf.GNF'>, 'GTQ': <class 'valuta.currencies.gtq.GTQ'>, 'GYD': <class 'valuta.currencies.gyd.GYD'>, 'HKD': <class 'valuta.currencies.hkd.HKD'>, 'HNL': <class 'valuta.currencies.hnl.HNL'>, 'HRK': <class 'valuta.currencies.hrk.HRK'>, 'HTG': <class 'valuta.currencies.htg.HTG'>, 'HUF': <class 'valuta.currencies.huf.HUF'>, 'IDR': <class 'valuta.currencies.idr.IDR'>, 'ILS': <class 'valuta.currencies.ils.ILS'>, 'IMP': <class 'valuta.currencies.imp.IMP'>, 'INR': <class 'valuta.currencies.inr.INR'>, 'IQD': <class 'valuta.currencies.iqd.IQD'>, 'IRR': <class 'valuta.currencies.irr.IRR'>, 'ISK': <class 'valuta.currencies.isk.ISK'>, 'JEP': <class 'valuta.currencies.jep.JEP'>, 'JMD': <class 'valuta.currencies.jmd.JMD'>, 'JOD': <class 'valuta.currencies.jod.JOD'>, 'JPY': <class 'valuta.currencies.jpy.JPY'>, 'KES': <class 'valuta.currencies.kes.KES'>, 'KGS': <class 'valuta.currencies.kgs.KGS'>, 'KHR': <class 'valuta.currencies.khr.KHR'>, 'KID': <class 'valuta.currencies.kid.KID'>, 'KMF': <class 'valuta.currencies.kmf.KMF'>, 'KPW': <class 'valuta.currencies.kpw.KPW'>, 'KRW': <class 'valuta.currencies.krw.KRW'>, 'KWD': <class 'valuta.currencies.kwd.KWD'>, 'KYD': <class 'valuta.currencies.kyd.KYD'>, 'KZT': <class 'valuta.currencies.kzt.KZT'>, 'LAK': <class 'valuta.currencies.lak.LAK'>, 'LBP': <class 'valuta.currencies.lbp.LBP'>, 'LKR': <class 'valuta.currencies.lkr.LKR'>, 'LRD': <class 'valuta.currencies.lrd.LRD'>, 'LSL': <class 'valuta.currencies.lsl.LSL'>, 'LYD': <class 'valuta.currencies.lyd.LYD'>, 'MAD': <class 'valuta.currencies.mad.MAD'>, 'MDL': <class 'valuta.currencies.mdl.MDL'>, 'MGA': <class 'valuta.currencies.mga.MGA'>, 'MKD': <class 'valuta.currencies.mkd.MKD'>, 'MMK': <class 'valuta.currencies.mmk.MMK'>, 'MNT': <class 'valuta.currencies.mnt.MNT'>, 'MOP': <class 'valuta.currencies.mop.MOP'>, 'MRU': <class 'valuta.currencies.mru.MRU'>, 'MUR': <class 'valuta.currencies.mur.MUR'>, 'MVR': <class 'valuta.currencies.mvr.MVR'>, 'MWK': <class 'valuta.currencies.mwk.MWK'>, 'MXN': <class 'valuta.currencies.mxn.MXN'>, 'MYR': <class 'valuta.currencies.myr.MYR'>, 'MZN': <class 'valuta.currencies.mzn.MZN'>, 'NAD': <class 'valuta.currencies.nad.NAD'>, 'NGN': <class 'valuta.currencies.ngn.NGN'>, 'NIO': <class 'valuta.currencies.nio.NIO'>, 'NOK': <class 'valuta.currencies.nok.NOK'>, 'NPR': <class 'valuta.currencies.npr.NPR'>, 'NZD': <class 'valuta.currencies.nzd.NZD'>, 'OMR': <class 'valuta.currencies.omr.OMR'>, 'PAB': <class 'valuta.currencies.pab.PAB'>, 'PEN': <class 'valuta.currencies.pen.PEN'>, 'PGK': <class 'valuta.currencies.pgk.PGK'>, 'PHP': <class 'valuta.currencies.php.PHP'>, 'PKR': <class 'valuta.currencies.pkr.PKR'>, 'PLN': <class 'valuta.currencies.pln.PLN'>, 'PND': <class 'valuta.currencies.pnd.PND'>, 'PRB': <class 'valuta.currencies.prb.PRB'>, 'PYG': <class 'valuta.currencies.pyg.PYG'>, 'QAR': <class 'valuta.currencies.qar.QAR'>, 'RON': <class 'valuta.currencies.ron.RON'>, 'RSD': <class 'valuta.currencies.rsd.RSD'>, 'RUB': <class 'valuta.currencies.rub.RUB'>, 'RWF': <class 'valuta.currencies.rwf.RWF'>, 'SAR': <class 'valuta.currencies.sar.SAR'>, 'SBD': <class 'valuta.currencies.sbd.SBD'>, 'SCR': <class 'valuta.currencies.scr.SCR'>, 'SDG': <class 'valuta.currencies.sdg.SDG'>, 'SEK': <class 'valuta.currencies.sek.SEK'>, 'SGD': <class 'valuta.currencies.sgd.SGD'>, 'SHP': <class 'valuta.currencies.shp.SHP'>, 'SLL': <class 'valuta.currencies.sll.SLL'>, 'SLS': <class 'valuta.currencies.sls.SLS'>, 'SOS': <class 'valuta.currencies.sos.SOS'>, 'SRD': <class 'valuta.currencies.srd.SRD'>, 'SSP': <class 'valuta.currencies.ssp.SSP'>, 'STN': <class 'valuta.currencies.stn.STN'>, 'SYP': <class 'valuta.currencies.syp.SYP'>, 'SZL': <class 'valuta.currencies.szl.SZL'>, 'THB': <class 'valuta.currencies.thb.THB'>, 'TJS': <class 'valuta.currencies.tjs.TJS'>, 'TMT': <class 'valuta.currencies.tmt.TMT'>, 'TND': <class 'valuta.currencies.tnd.TND'>, 'TOP': <class 'valuta.currencies.top.TOP'>, 'TRY': <class 'valuta.currencies.try.TRY'>, 'TTD': <class 'valuta.currencies.ttd.TTD'>, 'TVD': <class 'valuta.currencies.tvd.TVD'>, 'TWD': <class 'valuta.currencies.twd.TWD'>, 'TZS': <class 'valuta.currencies.tzs.TZS'>, 'UAH': <class 'valuta.currencies.uah.UAH'>, 'UGX': <class 'valuta.currencies.ugx.UGX'>, 'USD': <class 'valuta.currencies.usd.USD'>, 'UYU': <class 'valuta.currencies.uyu.UYU'>, 'UZS': <class 'valuta.currencies.uzs.UZS'>, 'VES': <class 'valuta.currencies.ves.VES'>, 'VND': <class 'valuta.currencies.vnd.VND'>, 'VUV': <class 'valuta.currencies.vuv.VUV'>, 'WST': <class 'valuta.currencies.wst.WST'>, 'XAF': <class 'valuta.currencies.xaf.XAF'>, 'XCD': <class 'valuta.currencies.xcd.XCD'>, 'XOF': <class 'valuta.currencies.xof.XOF'>, 'XPF': <class 'valuta.currencies.xpf.XPF'>, 'YER': <class 'valuta.currencies.yer.YER'>, 'ZAR': <class 'valuta.currencies.zar.ZAR'>, 'ZMW': <class 'valuta.currencies.zmw.ZMW'>, 'ZWB': <class 'valuta.currencies.zwb.ZWB'>}
classmethod get(key: str, default: Optional[valuta.base.BaseCurrency] = None)Optional[valuta.base.BaseCurrency][source]
classmethod items()ItemsView[str, valuta.base.BaseCurrency][source]
classmethod reset()None[source]
classmethod values(limit_choices_to: Optional[Union[List[str], Tuple[str, ...], Set[str]]] = None, sort_by_key: bool = False)List[Tuple[str, str]][source]
classmethod values_with_code(limit_choices_to: Optional[Union[List[str], Tuple[str, ...], Set[str]]] = None, sort_by_key: bool = False)List[Tuple[str, str]][source]

valuta.scaffolding module

valuta.scaffolding.generate_contents(iso_code: str, number_to_basic: str, currency: str)str[source]

Generate the contents for the given currency.

valuta.scaffolding.read_csv_and_write_output(in_file: str = 'list_of_circulating_currencies.csv', out_dir: str = 'currencies', skip_first_line: bool = False)str[source]

Read CSV.

valuta.shortcuts module

valuta.shortcuts.convert_to_currency_units(currency_code: str, value: int, fail_silently: bool = True)Optional[Union[int, float, decimal.Decimal]][source]

Convert value represented in minor currency to major currency units.

valuta.shortcuts.display_in_currency_units(currency_code: str, value: int, format: Optional[str] = None, locale: Optional[str] = None, decimal_quantization: bool = True, fail_silently: bool = True)Optional[str][source]

Convert value represented in minor currency to major currency units.

valuta.utils module

valuta.utils.get_currency_choices(limit_choices_to: Optional[Union[List[str], Tuple[str, ...], Set[str]]] = None, sort_by_key: bool = False)List[Tuple[str, str]][source]

Get currency choices.

List of choices in the following format:

[
    ("AMD", "Armenian Dram"),
    ("EUR", "Euro"),
]
valuta.utils.get_currency_choices_with_code(limit_choices_to: Optional[Union[List[str], Tuple[str, ...], Set[str]]] = None, sort_by_key: bool = False)List[Tuple[str, str]][source]

Get currency choices with code.

List of choices in the following format:

[
    ("AMD", "Armenian Dram (AMD)"),
    ("EUR", "Euro (EUR)"),
]

Module contents

Indices and tables