summaryrefslogtreecommitdiff
path: root/venv/lib/python3.11/site-packages/faker/providers/bank
diff options
context:
space:
mode:
Diffstat (limited to 'venv/lib/python3.11/site-packages/faker/providers/bank')
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/bank/__init__.py155
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/bank/__pycache__/__init__.cpython-311.pycbin0 -> 9171 bytes
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/bank/az_AZ/__init__.py40
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/bank/az_AZ/__pycache__/__init__.cpython-311.pycbin0 -> 1297 bytes
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/bank/bn_BD/__init__.py83
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/bank/bn_BD/__pycache__/__init__.cpython-311.pycbin0 -> 2510 bytes
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/bank/cs_CZ/__init__.py11
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/bank/cs_CZ/__pycache__/__init__.cpython-311.pycbin0 -> 716 bytes
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/bank/da_DK/__init__.py8
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/bank/da_DK/__pycache__/__init__.cpython-311.pycbin0 -> 622 bytes
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/bank/de_AT/__init__.py8
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/bank/de_AT/__pycache__/__init__.cpython-311.pycbin0 -> 622 bytes
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/bank/de_CH/__init__.py8
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/bank/de_CH/__pycache__/__init__.cpython-311.pycbin0 -> 623 bytes
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/bank/de_DE/__init__.py21
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/bank/de_DE/__pycache__/__init__.cpython-311.pycbin0 -> 1126 bytes
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/bank/el_GR/__init__.py8
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/bank/el_GR/__pycache__/__init__.cpython-311.pycbin0 -> 629 bytes
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/bank/en_GB/__init__.py8
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/bank/en_GB/__pycache__/__init__.cpython-311.pycbin0 -> 624 bytes
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/bank/en_IE/__init__.py8
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/bank/en_IE/__pycache__/__init__.cpython-311.pycbin0 -> 629 bytes
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/bank/en_IN/__init__.py47
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/bank/en_IN/__pycache__/__init__.cpython-311.pycbin0 -> 1453 bytes
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/bank/en_PH/__init__.py109
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/bank/en_PH/__pycache__/__init__.cpython-311.pycbin0 -> 3031 bytes
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/bank/es_AR/__init__.py36
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/bank/es_AR/__pycache__/__init__.cpython-311.pycbin0 -> 1522 bytes
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/bank/es_ES/__init__.py8
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/bank/es_ES/__pycache__/__init__.cpython-311.pycbin0 -> 626 bytes
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/bank/es_MX/__init__.py283
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/bank/es_MX/__pycache__/__init__.cpython-311.pycbin0 -> 7892 bytes
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/bank/fa_IR/__init__.py60
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/bank/fa_IR/__pycache__/__init__.cpython-311.pycbin0 -> 2078 bytes
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/bank/fi_FI/__init__.py8
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/bank/fi_FI/__pycache__/__init__.cpython-311.pycbin0 -> 620 bytes
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/bank/fil_PH/__init__.py10
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/bank/fil_PH/__pycache__/__init__.cpython-311.pycbin0 -> 642 bytes
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/bank/fr_CH/__init__.py10
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/bank/fr_CH/__pycache__/__init__.cpython-311.pycbin0 -> 640 bytes
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/bank/fr_FR/__init__.py8
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/bank/fr_FR/__pycache__/__init__.cpython-311.pycbin0 -> 629 bytes
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/bank/it_CH/__init__.py10
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/bank/it_CH/__pycache__/__init__.cpython-311.pycbin0 -> 640 bytes
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/bank/it_IT/__init__.py8
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/bank/it_IT/__pycache__/__init__.cpython-311.pycbin0 -> 629 bytes
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/bank/nl_BE/__init__.py68
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/bank/nl_BE/__pycache__/__init__.cpython-311.pycbin0 -> 1531 bytes
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/bank/nl_NL/__init__.py8
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/bank/nl_NL/__pycache__/__init__.cpython-311.pycbin0 -> 620 bytes
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/bank/no_NO/__init__.py8
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/bank/no_NO/__pycache__/__init__.cpython-311.pycbin0 -> 617 bytes
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/bank/pl_PL/__init__.py8
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/bank/pl_PL/__pycache__/__init__.cpython-311.pycbin0 -> 630 bytes
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/bank/pt_PT/__init__.py8
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/bank/pt_PT/__pycache__/__init__.cpython-311.pycbin0 -> 627 bytes
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/bank/ro_RO/__init__.py50
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/bank/ro_RO/__pycache__/__init__.cpython-311.pycbin0 -> 920 bytes
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/bank/ru_RU/__init__.py759
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/bank/ru_RU/__pycache__/__init__.cpython-311.pycbin0 -> 18438 bytes
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/bank/sk_SK/__init__.py11
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/bank/sk_SK/__pycache__/__init__.cpython-311.pycbin0 -> 716 bytes
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/bank/th_TH/__init__.py64
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/bank/th_TH/__pycache__/__init__.cpython-311.pycbin0 -> 1001 bytes
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/bank/tl_PH/__init__.py10
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/bank/tl_PH/__pycache__/__init__.cpython-311.pycbin0 -> 640 bytes
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/bank/tr_TR/__init__.py8
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/bank/tr_TR/__pycache__/__init__.cpython-311.pycbin0 -> 628 bytes
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/bank/uk_UA/__init__.py87
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/bank/uk_UA/__pycache__/__init__.cpython-311.pycbin0 -> 3086 bytes
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/bank/zh_CN/__init__.py37
-rw-r--r--venv/lib/python3.11/site-packages/faker/providers/bank/zh_CN/__pycache__/__init__.cpython-311.pycbin0 -> 1401 bytes
72 files changed, 2081 insertions, 0 deletions
diff --git a/venv/lib/python3.11/site-packages/faker/providers/bank/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/bank/__init__.py
new file mode 100644
index 0000000..7a0f4d2
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/bank/__init__.py
@@ -0,0 +1,155 @@
+import re
+import string
+
+from math import ceil
+from string import ascii_uppercase
+from typing import Dict, Optional
+
+from .. import BaseProvider
+
+localized = True
+default_locale = "en_GB"
+
+
+class Provider(BaseProvider):
+ """Implement default bank provider for Faker.
+
+ .. important::
+ Bank codes, account numbers, and other ID's generated by this provider
+ are only valid in form, i.e. they conform to some standard/format, are
+ of the expected lengths, and have valid checksums (where applicable).
+ Results generated that turn out to be valid in real life are purely
+ coincidental.
+
+ Sources:
+
+ - https://en.wikipedia.org/wiki/International_Bank_Account_Number
+ - https://www.theswiftcodes.com/swift-code-checker/
+ """
+
+ ALPHA: Dict[str, str] = {c: str(ord(c) % 55) for c in string.ascii_uppercase}
+ bban_format: str = "????#############"
+ country_code: str = "GB"
+
+ def aba(self) -> str:
+ """Generate an ABA routing transit number."""
+ fed_num = self.random_int(min=1, max=12)
+ rand = self.numerify("######")
+ aba = f"{fed_num:02}{rand}"
+
+ # calculate check digit
+ d = [int(n) for n in aba]
+ chk_digit = 3 * (d[0] + d[3] + d[6]) + 7 * (d[1] + d[4] + d[7]) + d[2] + d[5]
+ chk_digit = ceil(chk_digit / 10) * 10 - chk_digit
+
+ return f"{aba}{chk_digit}"
+
+ def bank_country(self) -> str:
+ """Generate the bank provider's ISO 3166-1 alpha-2 country code."""
+ return self.country_code
+
+ def bban(self) -> str:
+ """Generate a Basic Bank Account Number (BBAN)."""
+ temp = re.sub(r"\?", lambda x: self.random_element(ascii_uppercase), self.bban_format)
+ return self.numerify(temp)
+
+ def iban(self) -> str:
+ """Generate an International Bank Account Number (IBAN)."""
+ bban = self.bban()
+
+ check = bban + self.country_code + "00"
+ check_ = int("".join(self.ALPHA.get(c, c) for c in check))
+ check_ = 98 - (check_ % 97)
+ check = str(check_).zfill(2)
+
+ return self.country_code + check + bban
+
+ def swift8(self, use_dataset: bool = False) -> str:
+ """Generate an 8-digit SWIFT code.
+
+ This method uses |swift| under the hood with the ``length`` argument set
+ to ``8`` and with the ``primary`` argument omitted. All 8-digit SWIFT
+ codes already refer to the primary branch/office.
+
+ :sample:
+ :sample: use_dataset=True
+ """
+ return self.swift(length=8, use_dataset=use_dataset)
+
+ def swift11(self, primary: bool = False, use_dataset: bool = False) -> str:
+ """Generate an 11-digit SWIFT code.
+
+ This method uses |swift| under the hood with the ``length`` argument set
+ to ``11``. If ``primary`` is set to ``True``, the SWIFT code will always
+ end with ``'XXX'``. All 11-digit SWIFT codes use this convention to
+ refer to the primary branch/office.
+
+ :sample:
+ :sample: use_dataset=True
+ """
+ return self.swift(length=11, primary=primary, use_dataset=use_dataset)
+
+ def swift(
+ self,
+ length: Optional[int] = None,
+ primary: bool = False,
+ use_dataset: bool = False,
+ ) -> str:
+ """Generate a SWIFT code.
+
+ SWIFT codes, reading from left to right, are composed of a 4 alphabet
+ character bank code, a 2 alphabet character country code, a 2
+ alphanumeric location code, and an optional 3 alphanumeric branch code.
+ This means SWIFT codes can only have 8 or 11 characters, so the value of
+ ``length`` can only be ``None`` or the integers ``8`` or ``11``. If the
+ value is ``None``, then a value of ``8`` or ``11`` will randomly be
+ assigned.
+
+ Because all 8-digit SWIFT codes already refer to the primary branch or
+ office, the ``primary`` argument only has an effect if the value of
+ ``length`` is ``11``. If ``primary`` is ``True`` and ``length`` is
+ ``11``, the 11-digit SWIFT codes generated will always end in ``'XXX'``
+ to denote that they belong to primary branches/offices.
+
+ For extra authenticity, localized providers may opt to include SWIFT
+ bank codes, location codes, and branch codes used in their respective
+ locales. If ``use_dataset`` is ``True``, this method will generate SWIFT
+ codes based on those locale-specific codes if included. If those codes
+ were not included, then it will behave as if ``use_dataset`` were
+ ``False``, and in that mode, all those codes will just be randomly
+ generated as per the specification.
+
+ :sample:
+ :sample: length=8
+ :sample: length=8, use_dataset=True
+ :sample: length=11
+ :sample: length=11, primary=True
+ :sample: length=11, use_dataset=True
+ :sample: length=11, primary=True, use_dataset=True
+ """
+ if length is None:
+ length = self.random_element((8, 11))
+ if length not in (8, 11):
+ raise AssertionError("length can only be 8 or 11")
+
+ if use_dataset and hasattr(self, "swift_bank_codes"):
+ bank_code: str = self.random_element(self.swift_bank_codes) # type: ignore[attr-defined]
+ else:
+ bank_code = self.lexify("????", letters=string.ascii_uppercase)
+
+ if use_dataset and hasattr(self, "swift_location_codes"):
+ location_code: str = self.random_element(self.swift_location_codes) # type: ignore[attr-defined]
+ else:
+ location_code = self.lexify("??", letters=string.ascii_uppercase + string.digits)
+
+ if length == 8:
+ return bank_code + self.country_code + location_code
+
+ if primary:
+ branch_code = "XXX"
+ elif use_dataset and hasattr(self, "swift_branch_codes"):
+ branch_code = self.random_element(self.swift_branch_codes) # type: ignore[attr-defined]
+ else:
+ branch_code = self.lexify("???", letters=string.ascii_uppercase + string.digits)
+
+ return bank_code + self.country_code + location_code + branch_code
diff --git a/venv/lib/python3.11/site-packages/faker/providers/bank/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/bank/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..662f2c1
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/bank/__pycache__/__init__.cpython-311.pyc
Binary files differ
diff --git a/venv/lib/python3.11/site-packages/faker/providers/bank/az_AZ/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/bank/az_AZ/__init__.py
new file mode 100644
index 0000000..2a0a3e7
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/bank/az_AZ/__init__.py
@@ -0,0 +1,40 @@
+from .. import Provider as BankProvider
+
+
+class Provider(BankProvider):
+ """Implement bank provider for ``az_AZ`` locale."""
+
+ bban_format = "????####################"
+ country_code = "AZ"
+
+ banks = (
+ "AccessBank",
+ "AFB Bank",
+ "Azərbaycan Sənaye Bankı",
+ "Azər Türk Bank",
+ "Bank Avrasiya",
+ "Bank BTB",
+ "Bank Melli Iran",
+ "Bank of Baku",
+ "Bank Respublika",
+ "Expressbank",
+ "Günay Bank",
+ "Kapital Bank",
+ "MuğanBank",
+ "Naxçıvan Bank",
+ "National Bank of Pakistan",
+ "PAŞA Bank",
+ "Premium Bank",
+ "Rabitəbank",
+ "TuranBank",
+ "Unibank",
+ "VTB Bank",
+ "Xalq Bank",
+ "Yapıkredi Bank Azərbaycan",
+ "Yelo Bank",
+ "Ziraat Bank Azərbaycan",
+ )
+
+ def bank(self):
+ """Generate a bank name."""
+ return self.random_element(self.banks)
diff --git a/venv/lib/python3.11/site-packages/faker/providers/bank/az_AZ/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/bank/az_AZ/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..2228abf
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/bank/az_AZ/__pycache__/__init__.cpython-311.pyc
Binary files differ
diff --git a/venv/lib/python3.11/site-packages/faker/providers/bank/bn_BD/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/bank/bn_BD/__init__.py
new file mode 100644
index 0000000..d73e733
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/bank/bn_BD/__init__.py
@@ -0,0 +1,83 @@
+from typing import Optional
+
+from .. import Provider as BankProvider
+
+
+class Provider(BankProvider):
+ """
+ Implement bank provider for ``bn_BD`` locale.
+ Sources:
+ - https://wise.com/gb/swift-codes/BBHOBDDHXXX
+ - https://www.banksbd.org/swift-codes.html
+ """
+
+ bban_format: str = "????#########"
+ country_code = "BD"
+ swift_location_codes = ("DH",)
+ swift_branch_codes = (
+ "ABBL",
+ "AGBK",
+ "ALAR",
+ "ALFH",
+ "BCBL",
+ "BDDB",
+ "BKBA",
+ "BKSI",
+ "BALB",
+ "BRAK",
+ "BBSH",
+ "BSON",
+ "CITI",
+ "CCEY",
+ "COYM",
+ "CIBL",
+ "DHBL",
+ "DBBL",
+ "EBLD",
+ "EXBK",
+ "FSEB",
+ "FRMS",
+ "HABB",
+ "HSBC",
+ "HVBK",
+ "IFIC",
+ "IBBL",
+ "JAMU",
+ "JANB",
+ "MGBL",
+ "MBLB",
+ "MDBL",
+ "MODH",
+ "MTBL",
+ "NGBL",
+ "NBLB",
+ "NBPA",
+ "NCCL",
+ "NRBD",
+ "NRBB",
+ "ONEB",
+ "PRBL",
+ "PRMR",
+ "PUBA",
+ "RUPB",
+ "SJBL",
+ "SOIV",
+ "SBAC",
+ "SEBD",
+ "SDBL",
+ "SCBL",
+ "SBIN",
+ "TTBL",
+ "UBLD",
+ "UCBL",
+ "UTBL",
+ )
+
+ def swift8(self, use_dataset: bool = True) -> str:
+ return super(self.__class__, self).swift8(use_dataset=use_dataset)
+
+ def swift11(self, primary: bool = False, use_dataset: bool = True) -> str:
+ return super(self.__class__, self).swift11(primary=primary, use_dataset=use_dataset)
+
+ def swift(self, length: Optional[int] = None, primary: bool = False, use_dataset: bool = True) -> str:
+ return super(self.__class__, self).swift(length=length, primary=primary, use_dataset=use_dataset)
diff --git a/venv/lib/python3.11/site-packages/faker/providers/bank/bn_BD/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/bank/bn_BD/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..b831f27
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/bank/bn_BD/__pycache__/__init__.cpython-311.pyc
Binary files differ
diff --git a/venv/lib/python3.11/site-packages/faker/providers/bank/cs_CZ/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/bank/cs_CZ/__init__.py
new file mode 100644
index 0000000..7ea79ab
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/bank/cs_CZ/__init__.py
@@ -0,0 +1,11 @@
+from .. import Provider as BankProvider
+
+
+class Provider(BankProvider):
+ """Implement bank provider for ``cs_CZ`` locale.
+
+ https://www.mbank.cz/informace-k-produktum/info/ucty/cislo-uctu-iban.html
+ """
+
+ bban_format = "####################"
+ country_code = "CZ"
diff --git a/venv/lib/python3.11/site-packages/faker/providers/bank/cs_CZ/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/bank/cs_CZ/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..c87376d
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/bank/cs_CZ/__pycache__/__init__.cpython-311.pyc
Binary files differ
diff --git a/venv/lib/python3.11/site-packages/faker/providers/bank/da_DK/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/bank/da_DK/__init__.py
new file mode 100644
index 0000000..977b916
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/bank/da_DK/__init__.py
@@ -0,0 +1,8 @@
+from .. import Provider as BankProvider
+
+
+class Provider(BankProvider):
+ """Implement bank provider for ``da_DK`` locale."""
+
+ bban_format = "################"
+ country_code = "DK"
diff --git a/venv/lib/python3.11/site-packages/faker/providers/bank/da_DK/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/bank/da_DK/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..32992c7
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/bank/da_DK/__pycache__/__init__.cpython-311.pyc
Binary files differ
diff --git a/venv/lib/python3.11/site-packages/faker/providers/bank/de_AT/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/bank/de_AT/__init__.py
new file mode 100644
index 0000000..34ebbfe
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/bank/de_AT/__init__.py
@@ -0,0 +1,8 @@
+from .. import Provider as BankProvider
+
+
+class Provider(BankProvider):
+ """Implement bank provider for ``de_AT`` locale."""
+
+ bban_format = "################"
+ country_code = "AT"
diff --git a/venv/lib/python3.11/site-packages/faker/providers/bank/de_AT/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/bank/de_AT/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..c5c5c6f
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/bank/de_AT/__pycache__/__init__.cpython-311.pyc
Binary files differ
diff --git a/venv/lib/python3.11/site-packages/faker/providers/bank/de_CH/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/bank/de_CH/__init__.py
new file mode 100644
index 0000000..a8aae28
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/bank/de_CH/__init__.py
@@ -0,0 +1,8 @@
+from .. import Provider as BankProvider
+
+
+class Provider(BankProvider):
+ """Implement bank provider for ``de_CH`` locale."""
+
+ bban_format = "#################"
+ country_code = "CH"
diff --git a/venv/lib/python3.11/site-packages/faker/providers/bank/de_CH/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/bank/de_CH/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..f32e03a
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/bank/de_CH/__pycache__/__init__.cpython-311.pyc
Binary files differ
diff --git a/venv/lib/python3.11/site-packages/faker/providers/bank/de_DE/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/bank/de_DE/__init__.py
new file mode 100644
index 0000000..2ca16fd
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/bank/de_DE/__init__.py
@@ -0,0 +1,21 @@
+from .. import Provider as BankProvider
+
+
+class Provider(BankProvider):
+ """Implement bank provider for ``de_DE`` locale.
+
+ Source for rules for swift location codes:
+
+ - https://www.ebics.de/de/datenformate
+ """
+
+ bban_format = "##################"
+ country_code = "DE"
+
+ first_place = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" + "23456789"
+ second_place = "ABCDEFGHIJKLMNPQRSTUVWXYZ" + "0123456789"
+ swift_location_codes = []
+ for i in first_place:
+ for j in second_place:
+ swift_location_codes.append(str(i) + str(j))
+ swift_location_codes = tuple(swift_location_codes)
diff --git a/venv/lib/python3.11/site-packages/faker/providers/bank/de_DE/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/bank/de_DE/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..b2d8976
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/bank/de_DE/__pycache__/__init__.cpython-311.pyc
Binary files differ
diff --git a/venv/lib/python3.11/site-packages/faker/providers/bank/el_GR/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/bank/el_GR/__init__.py
new file mode 100644
index 0000000..0289313
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/bank/el_GR/__init__.py
@@ -0,0 +1,8 @@
+from .. import Provider as BankProvider
+
+
+class Provider(BankProvider):
+ """Implement bank provider for ``el_GR`` locale."""
+
+ bban_format = "#######################"
+ country_code = "GR"
diff --git a/venv/lib/python3.11/site-packages/faker/providers/bank/el_GR/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/bank/el_GR/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..545061b
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/bank/el_GR/__pycache__/__init__.cpython-311.pyc
Binary files differ
diff --git a/venv/lib/python3.11/site-packages/faker/providers/bank/en_GB/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/bank/en_GB/__init__.py
new file mode 100644
index 0000000..15756eb
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/bank/en_GB/__init__.py
@@ -0,0 +1,8 @@
+from .. import Provider as BankProvider
+
+
+class Provider(BankProvider):
+ """Implement bank provider for ``en_GB`` locale."""
+
+ bban_format = "????##############"
+ country_code = "GB"
diff --git a/venv/lib/python3.11/site-packages/faker/providers/bank/en_GB/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/bank/en_GB/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..9b52f1c
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/bank/en_GB/__pycache__/__init__.cpython-311.pyc
Binary files differ
diff --git a/venv/lib/python3.11/site-packages/faker/providers/bank/en_IE/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/bank/en_IE/__init__.py
new file mode 100644
index 0000000..99793af
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/bank/en_IE/__init__.py
@@ -0,0 +1,8 @@
+from .. import Provider as BankProvider
+
+
+class Provider(BankProvider):
+ """Implement bank provider for ``en_IE`` locale."""
+
+ bban_format = "#######################"
+ country_code = "IE"
diff --git a/venv/lib/python3.11/site-packages/faker/providers/bank/en_IE/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/bank/en_IE/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..620ece9
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/bank/en_IE/__pycache__/__init__.cpython-311.pyc
Binary files differ
diff --git a/venv/lib/python3.11/site-packages/faker/providers/bank/en_IN/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/bank/en_IN/__init__.py
new file mode 100644
index 0000000..b575090
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/bank/en_IN/__init__.py
@@ -0,0 +1,47 @@
+from .. import Provider as BankProvider
+
+
+class Provider(BankProvider):
+ """Implement bank provider for ``en_IN`` locale.
+ Source: https://en.wikipedia.org/wiki/List_of_banks_in_India
+ """
+
+ banks = (
+ "Bank of Baroda",
+ "Bank of India",
+ "Bank of Maharashtra",
+ "Canara Bank",
+ "Central Bank of India",
+ "Indian Bank",
+ "Indian Overseas Bank",
+ "Punjab National Bank",
+ "Punjab and Sind Bank",
+ "Union Bank of India",
+ "UCO Bank",
+ "State Bank of India",
+ "Axis Bank",
+ "Bandhan Bank",
+ "CSB Bank",
+ "City Union Bank",
+ "DCB Bank",
+ "Dhanlaxmi Bank",
+ "Federal Bank",
+ "HDFC Bank",
+ "ICICI Bank",
+ "IDBI Bank",
+ "IDFC First Bank",
+ "IndusInd Bank",
+ "Jammu & Kashmir Bank",
+ "Karnataka Bank",
+ "Karur Vysya Bank",
+ "Kotak Mahindra Bank",
+ "Nainital Bank",
+ "RBL Bank",
+ "South Indian Bank",
+ "Tamilnad Mercantile Bank",
+ "Yes Bank",
+ )
+
+ def bank(self) -> str:
+ """Generate a bank name."""
+ return self.random_element(self.banks)
diff --git a/venv/lib/python3.11/site-packages/faker/providers/bank/en_IN/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/bank/en_IN/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..3a6bff0
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/bank/en_IN/__pycache__/__init__.cpython-311.pyc
Binary files differ
diff --git a/venv/lib/python3.11/site-packages/faker/providers/bank/en_PH/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/bank/en_PH/__init__.py
new file mode 100644
index 0000000..22e92a3
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/bank/en_PH/__init__.py
@@ -0,0 +1,109 @@
+import logging
+
+from faker.providers.bank import Provider as BankProvider
+
+logger = logging.getLogger(__name__)
+
+
+class Provider(BankProvider):
+ """Implement bank provider for ``en_PH`` locale."""
+
+ country_code = "PH"
+ bban_format = "################"
+ swift_bank_codes = (
+ "ANZB",
+ "AUBK",
+ "BKCH",
+ "BKKB",
+ "BNOR",
+ "BNPA",
+ "BOFA",
+ "BOPI",
+ "BOTK",
+ "BPDI",
+ "BPFS",
+ "BPGO",
+ "CHAS",
+ "CHBK",
+ "CHSV",
+ "CITI",
+ "CPHI",
+ "CTCB",
+ "DBPH",
+ "DEUT",
+ "EQSN",
+ "EWBC",
+ "FCBK",
+ "HBPH",
+ "HNBK",
+ "HSBC",
+ "IBKO",
+ "ICBC",
+ "INGB",
+ "KOEX",
+ "MBBE",
+ "MBTC",
+ "MHCB",
+ "PABI",
+ "PHSB",
+ "PHTB",
+ "PHVB",
+ "PNBM",
+ "PPBU",
+ "RCBC",
+ "ROBP",
+ "SCBL",
+ "SETC",
+ "SHBK",
+ "SMBC",
+ "STLA",
+ "TACB",
+ "TLBP",
+ "TYBK",
+ "UBPH",
+ "UCPB",
+ "UOVB",
+ "UWCB",
+ )
+ swift_location_codes = (
+ "22",
+ "2X",
+ "M1",
+ "MM",
+ "MQ",
+ "MX",
+ )
+ swift_branch_codes = (
+ "CBU",
+ "EQI",
+ "TSU",
+ "XXX",
+ )
+
+ def bban(self) -> str:
+ """Generate a Basic Bank Account Number (BBAN).
+
+ .. warning::
+ Philippine bank accounts do not have BBANs or IBANs, so any number
+ generated by this method is a purely hypothetical number. Local bank
+ account numbers are typically 10 or 12 digits long, so the BBAN
+ format used in this implementation has been arbitrarily set to 16
+ digits to simulate a hypothetical standardization of account numbers.
+ Using this method will log a warning regarding the hypotheticality of
+ the result.
+ """
+ logger.warning("Numbers generated by this method are purely hypothetical.")
+ return super().bban()
+
+ def iban(self) -> str:
+ """Generate an International Bank Account Number (IBAN).
+
+ .. warning::
+ Philippine bank accounts do not have BBANs or IBANs, so any number
+ generated by this method is a purely hypothetical number. This method
+ uses hypothetical PH BBANs and the PH country code as inputs to the
+ IBAN generation algorithm. Using this method will log a warning
+ regarding the hypotheticality of the result.
+ """
+ logger.warning("Numbers generated by this method are purely hypothetical.")
+ return super().iban()
diff --git a/venv/lib/python3.11/site-packages/faker/providers/bank/en_PH/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/bank/en_PH/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..dbc64a7
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/bank/en_PH/__pycache__/__init__.cpython-311.pyc
Binary files differ
diff --git a/venv/lib/python3.11/site-packages/faker/providers/bank/es_AR/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/bank/es_AR/__init__.py
new file mode 100644
index 0000000..40f2fc9
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/bank/es_AR/__init__.py
@@ -0,0 +1,36 @@
+from .. import Provider as BankProvider
+
+
+class Provider(BankProvider):
+ """Implement bank provider for ``es_AR`` locale.
+ source: https://www.bcra.gob.ar/SistemasFinancierosYdePagos/Activos.asp"""
+
+ bban_format = "????####################"
+ country_code = "AR"
+
+ banks = (
+ "Banco de la Nación Argentina",
+ "Banco Santander",
+ "Banco de Galicia y Buenos Aires",
+ "Banco de la Provincia de Buenos Aires",
+ "BBVA Argentina",
+ "Banco Macro",
+ "HSBC Bank Argentina",
+ "Banco Ciudad de Buenos Aires",
+ "Banco Credicoop",
+ "Industrial And Commercial Bank Of China",
+ "Citibank",
+ "Banco Patagonia",
+ "Banco de la Provincia de Córdoba",
+ "Banco Supervielle",
+ "Nuevo Banco de Santa Fe",
+ "Banco Hipotecario S. A.",
+ "Banco Itaú Argentina",
+ "Banco de Inversión y Comercio Exterior (BICE)",
+ "Banco Comafi",
+ "BSE - Banco Santiago del Estero",
+ )
+
+ def bank(self) -> str:
+ """Generate a bank name."""
+ return self.random_element(self.banks)
diff --git a/venv/lib/python3.11/site-packages/faker/providers/bank/es_AR/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/bank/es_AR/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..de86dae
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/bank/es_AR/__pycache__/__init__.cpython-311.pyc
Binary files differ
diff --git a/venv/lib/python3.11/site-packages/faker/providers/bank/es_ES/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/bank/es_ES/__init__.py
new file mode 100644
index 0000000..16622ba
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/bank/es_ES/__init__.py
@@ -0,0 +1,8 @@
+from .. import Provider as BankProvider
+
+
+class Provider(BankProvider):
+ """Implement bank provider for ``es_ES`` locale."""
+
+ bban_format = "####################"
+ country_code = "ES"
diff --git a/venv/lib/python3.11/site-packages/faker/providers/bank/es_ES/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/bank/es_ES/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..fd27861
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/bank/es_ES/__pycache__/__init__.cpython-311.pyc
Binary files differ
diff --git a/venv/lib/python3.11/site-packages/faker/providers/bank/es_MX/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/bank/es_MX/__init__.py
new file mode 100644
index 0000000..d9d5f57
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/bank/es_MX/__init__.py
@@ -0,0 +1,283 @@
+from typing import List, Optional, Tuple
+
+from .. import Provider as BankProvider
+
+
+def get_clabe_control_digit(clabe: str) -> int:
+ """Generate the checksum digit for a CLABE.
+
+ :param clabe: CLABE.
+ :return: The CLABE checksum digit.
+ """
+ factors = [3, 7, 1]
+ products: List[int] = []
+
+ for i, digit in enumerate(clabe[:17]):
+ products.append((int(digit) * factors[i % 3]) % 10)
+
+ return (10 - sum(products)) % 10
+
+
+def is_valid_clabe(clabe: str) -> bool:
+ """Check if a CLABE is valid using the checksum.
+
+ :param clabe: CLABE.
+ :return: True if the CLABE is valid, False otherwise.
+ """
+ if len(clabe) != 18 or not clabe.isdigit():
+ return False
+
+ return get_clabe_control_digit(clabe) == int(clabe[-1])
+
+
+class Provider(BankProvider):
+ """Bank provider for ``es_MX`` locale."""
+
+ banks: Tuple[str, ...] = (
+ "ABC Capital, S.A. I.B.M.",
+ "Acciones y Valores Banamex, S.A. de C.V., Casa de Bolsa",
+ "Actinver Casa de Bolsa, S.A. de C.V.",
+ "Akala, S.A. de C.V., Sociedad Financiera Popular",
+ "American Express Bank (México), S.A.",
+ "AXA Seguros, S.A. De C.V.",
+ "B y B Casa de Cambio, S.A. de C.V.",
+ "Banca Afirme, S.A.",
+ "Banca Mifel, S.A.",
+ "Banco Actinver, S.A.",
+ "Banco Ahorro Famsa, S.A.",
+ "Banco Autofin México, S.A.",
+ "Banco Azteca, S.A.",
+ "Banco BASE, S.A. de I.B.M.",
+ "Banco Compartamos, S.A.",
+ "Banco Credit Suisse (México), S.A.",
+ "Banco del Ahorro Nacional y Servicios Financieros, S.N.C.",
+ "Banco del Bajío, S.A.",
+ "Banco Inbursa, S.A.",
+ "Banco Inmobiliario Mexicano, S.A., Institución de Banca Múltiple",
+ "Banco Interacciones, S.A.",
+ "Banco Invex, S.A.",
+ "Banco J.P. Morgan, S.A.",
+ "Banco Mercantil del Norte, S.A.",
+ "Banco Monex, S.A.",
+ "Banco Multiva, S.A.",
+ "Banco Nacional de Comercio Exterior",
+ "Banco Nacional de México, S.A.",
+ "Banco Nacional de Obras y Servicios Públicos",
+ "Banco Nacional del Ejército, Fuerza Aérea y Armada",
+ "Banco PagaTodo S.A., Institución de Banca Múltiple",
+ "Banco Regional de Monterrey, S.A.",
+ "Banco Sabadell, S.A. I.B.M.",
+ "Banco Santander, S.A.",
+ "Banco Ve por Mas, S.A.",
+ "Banco Wal Mart de México Adelante, S.A.",
+ "BanCoppel, S.A.",
+ "Bank of America México, S.A.",
+ "Bank of Tokyo-Mitsubishi UFJ (México), S.A.",
+ "Bankaool, S.A., Institución de Banca Múltiple",
+ "Bansi, S.A.",
+ "Barclays Bank México, S.A.",
+ "BBVA Bancomer, S.A.",
+ "Bulltick Casa de Bolsa, S.A. de C.V.",
+ "Caja Popular Mexicana, S.C. de A.P. de R.L. De C.V.",
+ "Casa de Bolsa Finamex, S.A. de C.V.",
+ "Casa de Cambio Tíber, S.A. de C.V.",
+ "CI Casa de Bolsa, S.A. de C.V.",
+ "CLS Bank International",
+ "Consubanco, S.A.",
+ "Consultoría Internacional Banco, S.A.",
+ "Consultoría Internacional Casa de Cambio, S.A. de C.V.",
+ "Deutsche Bank México, S.A.",
+ "Deutsche Securities, S.A. de C.V.",
+ "Estructuradores del Mercado de Valores Casa de Bolsa, S.A. de C.V.",
+ "Evercore Casa de Bolsa, S.A. de C.V.",
+ "Financiera Nacional De Desarrollo Agropecuario, Rural, F y P.",
+ "Fincomún, Servicios Financieros Comunitarios, S.A. de C.V.",
+ "GBM Grupo Bursátil Mexicano, S.A. de C.V.",
+ "GE Money Bank, S.A.",
+ "HDI Seguros, S.A. de C.V.",
+ "Hipotecaria su Casita, S.A. de C.V.",
+ "HSBC México, S.A.",
+ "Industrial and Commercial Bank of China, S.A., Institución de Banca Múltiple",
+ "ING Bank (México), S.A.",
+ "Inter Banco, S.A.",
+ "Intercam Casa de Bolsa, S.A. de C.V.",
+ "Intercam Casa de Cambio, S.A. de C.V.",
+ "Inversora Bursátil, S.A. de C.V.",
+ "IXE Banco, S.A.",
+ "J.P. Morgan Casa de Bolsa, S.A. de C.V.",
+ "J.P. SOFIEXPRESS, S.A. de C.V., S.F.P.",
+ "Kuspit Casa de Bolsa, S.A. de C.V.",
+ "Libertad Servicios Financieros, S.A. De C.V.",
+ "MAPFRE Tepeyac S.A.",
+ "Masari Casa de Bolsa, S.A.",
+ "Merrill Lynch México, S.A. de C.V., Casa de Bolsa",
+ "Monex Casa de Bolsa, S.A. de C.V.",
+ "Multivalores Casa de Bolsa, S.A. de C.V. Multiva Gpo. Fin.",
+ "Nacional Financiera, S.N.C.",
+ "Opciones Empresariales Del Noreste, S.A. DE C.V.",
+ "OPERADORA ACTINVER, S.A. DE C.V.",
+ "Operadora De Pagos Móviles De México, S.A. De C.V.",
+ "Operadora de Recursos Reforma, S.A. de C.V.",
+ "OrderExpress Casa de Cambio , S.A. de C.V. AAC",
+ "Profuturo G.N.P., S.A. de C.V.",
+ "Scotiabank Inverlat, S.A.",
+ "SD. INDEVAL, S.A. de C.V.",
+ "Seguros Monterrey New York Life, S.A de C.V.",
+ "Sistema de Transferencias y Pagos STP, S.A. de C.V., SOFOM E.N.R.",
+ "Skandia Operadora S.A. de C.V.",
+ "Skandia Vida S.A. de C.V.",
+ "Sociedad Hipotecaria Federal, S.N.C.",
+ "Solución Asea, S.A. de C.V., Sociedad Financiera Popular",
+ "Sterling Casa de Cambio, S.A. de C.V.",
+ "Telecomunicaciones de México",
+ "The Royal Bank of Scotland México, S.A.",
+ "UBS Banco, S.A.",
+ "UNAGRA, S.A. de C.V., S.F.P.",
+ "Única Casa de Cambio, S.A. de C.V.",
+ "Valores Mexicanos Casa de Bolsa, S.A. de C.V.",
+ "Valué, S.A. de C.V., Casa de Bolsa",
+ "Vector Casa de Bolsa, S.A. de C.V.",
+ "Volkswagen Bank S.A. Institución de Banca Múltiple",
+ "Zúrich Compañía de Seguros, S.A.",
+ "Zúrich Vida, Compañía de Seguros, S.A.",
+ )
+
+ bank_codes: Tuple[int, ...] = (
+ 2,
+ 6,
+ 9,
+ 12,
+ 14,
+ 19,
+ 21,
+ 22,
+ 30,
+ 32,
+ 36,
+ 37,
+ 42,
+ 44,
+ 58,
+ 59,
+ 60,
+ 62,
+ 72,
+ 102,
+ 103,
+ 106,
+ 108,
+ 110,
+ 112,
+ 113,
+ 116,
+ 124,
+ 126,
+ 127,
+ 128,
+ 129,
+ 130,
+ 131,
+ 132,
+ 133,
+ 134,
+ 135,
+ 136,
+ 137,
+ 138,
+ 139,
+ 140,
+ 141,
+ 143,
+ 145,
+ 147,
+ 148,
+ 150,
+ 155,
+ 156,
+ 166,
+ 168,
+ 600,
+ 601,
+ 602,
+ 604,
+ 605,
+ 606,
+ 607,
+ 608,
+ 610,
+ 611,
+ 613,
+ 614,
+ 615,
+ 616,
+ 617,
+ 618,
+ 619,
+ 620,
+ 621,
+ 622,
+ 623,
+ 624,
+ 626,
+ 627,
+ 628,
+ 629,
+ 630,
+ 631,
+ 632,
+ 633,
+ 634,
+ 636,
+ 637,
+ 638,
+ 640,
+ 642,
+ 646,
+ 647,
+ 648,
+ 649,
+ 651,
+ 652,
+ 653,
+ 655,
+ 656,
+ 659,
+ 670,
+ 674,
+ 677,
+ 679,
+ 684,
+ 901,
+ 902,
+ )
+
+ def bank(self) -> str:
+ """Generate a mexican bank name.
+
+ :return: A mexican bank name.
+
+ :sample:
+ """
+ return self.random_element(self.banks)
+
+ def clabe(self, bank_code: Optional[int] = None) -> str:
+ """Generate a mexican bank account CLABE.
+
+ Sources:
+
+ - https://en.wikipedia.org/wiki/CLABE
+
+ :return: A fake CLABE number.
+
+ :sample:
+ :sample: bank_code=2
+ """
+ bank = bank_code or self.random_element(self.bank_codes)
+ city = self.random_int(0, 999)
+ branch = self.random_int(0, 9999)
+ account = self.random_int(0, 9999999)
+
+ result = f"{bank:03d}{city:03d}{branch:04d}{account:07d}"
+ control_digit = get_clabe_control_digit(result)
+
+ return result + str(control_digit)
diff --git a/venv/lib/python3.11/site-packages/faker/providers/bank/es_MX/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/bank/es_MX/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..1badb33
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/bank/es_MX/__pycache__/__init__.cpython-311.pyc
Binary files differ
diff --git a/venv/lib/python3.11/site-packages/faker/providers/bank/fa_IR/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/bank/fa_IR/__init__.py
new file mode 100644
index 0000000..5e23d29
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/bank/fa_IR/__init__.py
@@ -0,0 +1,60 @@
+from .. import Provider as BankProvider
+
+
+class Provider(BankProvider):
+ """Implement bank provider for ``fa_IR`` locale."""
+
+ bban_format = "IR########################"
+ country_code = "IR"
+ swift_bank_codes = (
+ "BEGN",
+ "KESH",
+ "BKMN",
+ "BKBP",
+ "CIYB",
+ "BTOS",
+ "IVBB",
+ "KBID",
+ "KIBO",
+ "KHMI",
+ )
+ swift_location_codes = ("TH",)
+ swift_branch_codes = ("BSH", "BCQ", "tIR", "tTH", "ATM", "BIC", "TIR", "ASR", "FOR")
+
+ banks = (
+ "بانکهای قرض الحسنه",
+ "بانک ملّی ایران",
+ "بانک اقتصاد نوین",
+ "بانک قرض‌الحسنه مهر ایران",
+ "بانک سپه",
+ "بانک پارسیان",
+ "بانک قرض‌الحسنه رسالت",
+ "بانک صنعت و معدن",
+ "بانک کارآفرین",
+ "بانک کشاورزی",
+ "بانک سامان",
+ "بانک مسکن",
+ "بانک سینا",
+ "بانک توسعه صادرات ایران",
+ "بانک خاور میانه",
+ "بانک توسعه تعاون",
+ "بانک شهر",
+ "پست بانک ایران",
+ "بانک دی",
+ "بانک صادرات",
+ "بانک ملت",
+ "بانک تجارت",
+ "بانک رفاه",
+ "بانک حکمت ایرانیان",
+ "بانک گردشگری",
+ "بانک ایران زمین",
+ "بانک قوامین",
+ "بانک انصار",
+ "بانک سرمایه",
+ "بانک پاسارگاد",
+ "بانک مشترک ایران-ونزوئلا",
+ )
+
+ def bank(self) -> str:
+ """Generate a bank name."""
+ return self.random_element(self.banks)
diff --git a/venv/lib/python3.11/site-packages/faker/providers/bank/fa_IR/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/bank/fa_IR/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..61a7c3d
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/bank/fa_IR/__pycache__/__init__.cpython-311.pyc
Binary files differ
diff --git a/venv/lib/python3.11/site-packages/faker/providers/bank/fi_FI/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/bank/fi_FI/__init__.py
new file mode 100644
index 0000000..5992d00
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/bank/fi_FI/__init__.py
@@ -0,0 +1,8 @@
+from .. import Provider as BankProvider
+
+
+class Provider(BankProvider):
+ """Implement bank provider for ``fi_FI`` locale."""
+
+ bban_format = "##############"
+ country_code = "FI"
diff --git a/venv/lib/python3.11/site-packages/faker/providers/bank/fi_FI/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/bank/fi_FI/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..b9dc92e
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/bank/fi_FI/__pycache__/__init__.cpython-311.pyc
Binary files differ
diff --git a/venv/lib/python3.11/site-packages/faker/providers/bank/fil_PH/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/bank/fil_PH/__init__.py
new file mode 100644
index 0000000..4acddd9
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/bank/fil_PH/__init__.py
@@ -0,0 +1,10 @@
+from ..en_PH import Provider as EnPhBankProvider
+
+
+class Provider(EnPhBankProvider):
+ """Implement bank provider for ``fil_PH`` locale.
+
+ There is no difference from the ``en_PH`` implementation.
+ """
+
+ pass
diff --git a/venv/lib/python3.11/site-packages/faker/providers/bank/fil_PH/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/bank/fil_PH/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..ec71265
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/bank/fil_PH/__pycache__/__init__.cpython-311.pyc
Binary files differ
diff --git a/venv/lib/python3.11/site-packages/faker/providers/bank/fr_CH/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/bank/fr_CH/__init__.py
new file mode 100644
index 0000000..602d75f
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/bank/fr_CH/__init__.py
@@ -0,0 +1,10 @@
+from ..de_CH import Provider as DeChBankProvider
+
+
+class Provider(DeChBankProvider):
+ """Implement bank provider for ``fr_CH`` locale.
+
+ There is no difference from the ``de_CH`` implementation.
+ """
+
+ pass
diff --git a/venv/lib/python3.11/site-packages/faker/providers/bank/fr_CH/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/bank/fr_CH/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..2e2866f
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/bank/fr_CH/__pycache__/__init__.cpython-311.pyc
Binary files differ
diff --git a/venv/lib/python3.11/site-packages/faker/providers/bank/fr_FR/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/bank/fr_FR/__init__.py
new file mode 100644
index 0000000..d417ea0
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/bank/fr_FR/__init__.py
@@ -0,0 +1,8 @@
+from .. import Provider as BankProvider
+
+
+class Provider(BankProvider):
+ """Implement bank provider for ``fr_FR`` locale."""
+
+ bban_format = "#######################"
+ country_code = "FR"
diff --git a/venv/lib/python3.11/site-packages/faker/providers/bank/fr_FR/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/bank/fr_FR/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..d4b351d
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/bank/fr_FR/__pycache__/__init__.cpython-311.pyc
Binary files differ
diff --git a/venv/lib/python3.11/site-packages/faker/providers/bank/it_CH/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/bank/it_CH/__init__.py
new file mode 100644
index 0000000..8964453
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/bank/it_CH/__init__.py
@@ -0,0 +1,10 @@
+from ..de_CH import Provider as DeChBankProvider
+
+
+class Provider(DeChBankProvider):
+ """Implement bank provider for ``it_CH`` locale.
+
+ There is no difference from the ``de_CH`` implementation.
+ """
+
+ pass
diff --git a/venv/lib/python3.11/site-packages/faker/providers/bank/it_CH/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/bank/it_CH/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..655e99f
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/bank/it_CH/__pycache__/__init__.cpython-311.pyc
Binary files differ
diff --git a/venv/lib/python3.11/site-packages/faker/providers/bank/it_IT/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/bank/it_IT/__init__.py
new file mode 100644
index 0000000..995e9fb
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/bank/it_IT/__init__.py
@@ -0,0 +1,8 @@
+from .. import Provider as BankProvider
+
+
+class Provider(BankProvider):
+ """Implement bank provider for ``it_IT`` locale."""
+
+ bban_format = "?######################"
+ country_code = "IT"
diff --git a/venv/lib/python3.11/site-packages/faker/providers/bank/it_IT/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/bank/it_IT/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..dd3821b
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/bank/it_IT/__pycache__/__init__.cpython-311.pyc
Binary files differ
diff --git a/venv/lib/python3.11/site-packages/faker/providers/bank/nl_BE/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/bank/nl_BE/__init__.py
new file mode 100644
index 0000000..92455b9
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/bank/nl_BE/__init__.py
@@ -0,0 +1,68 @@
+from .. import Provider as BankProvider
+
+
+class Provider(BankProvider):
+ """Implement bank provider for ``nl_BE`` locale.
+
+ Information about the Belgian banks can be found on the website
+ of the National Bank of Belgium:
+ https://www.nbb.be/nl/betalingen-en-effecten/betalingsstandaarden/bankidentificatiecodes
+ """
+
+ bban_format = "############"
+ country_code = "BE"
+
+ banks = (
+ "Argenta Spaarbank",
+ "AXA Bank",
+ "Belfius Bank",
+ "BNP Paribas Fortis",
+ "Bpost Bank",
+ "Crelan",
+ "Deutsche Bank AG",
+ "ING België",
+ "KBC Bank",
+ )
+ swift_bank_codes = (
+ "ARSP",
+ "AXAB",
+ "BBRU",
+ "BPOT",
+ "DEUT",
+ "GEBA",
+ "GKCC",
+ "KRED",
+ "NICA",
+ )
+ swift_location_codes = (
+ "BE",
+ "B2",
+ "99",
+ "21",
+ "91",
+ "23",
+ "3X",
+ "75",
+ "2X",
+ "22",
+ "88",
+ "B1",
+ "BX",
+ "BB",
+ )
+ swift_branch_codes = [
+ "203",
+ "BTB",
+ "CIC",
+ "HCC",
+ "IDJ",
+ "IPC",
+ "MDC",
+ "RET",
+ "VOD",
+ "XXX",
+ ]
+
+ def bank(self) -> str:
+ """Generate a bank name."""
+ return self.random_element(self.banks)
diff --git a/venv/lib/python3.11/site-packages/faker/providers/bank/nl_BE/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/bank/nl_BE/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..0471d17
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/bank/nl_BE/__pycache__/__init__.cpython-311.pyc
Binary files differ
diff --git a/venv/lib/python3.11/site-packages/faker/providers/bank/nl_NL/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/bank/nl_NL/__init__.py
new file mode 100644
index 0000000..be57840
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/bank/nl_NL/__init__.py
@@ -0,0 +1,8 @@
+from .. import Provider as BankProvider
+
+
+class Provider(BankProvider):
+ """Implement bank provider for ``nl_NL`` locale."""
+
+ bban_format = "????##########"
+ country_code = "NL"
diff --git a/venv/lib/python3.11/site-packages/faker/providers/bank/nl_NL/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/bank/nl_NL/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..bee016b
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/bank/nl_NL/__pycache__/__init__.cpython-311.pyc
Binary files differ
diff --git a/venv/lib/python3.11/site-packages/faker/providers/bank/no_NO/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/bank/no_NO/__init__.py
new file mode 100644
index 0000000..7e5ff16
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/bank/no_NO/__init__.py
@@ -0,0 +1,8 @@
+from .. import Provider as BankProvider
+
+
+class Provider(BankProvider):
+ """Implement bank provider for ``no_NO`` locale."""
+
+ bban_format = "###########"
+ country_code = "NO"
diff --git a/venv/lib/python3.11/site-packages/faker/providers/bank/no_NO/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/bank/no_NO/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..a40d9be
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/bank/no_NO/__pycache__/__init__.cpython-311.pyc
Binary files differ
diff --git a/venv/lib/python3.11/site-packages/faker/providers/bank/pl_PL/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/bank/pl_PL/__init__.py
new file mode 100644
index 0000000..9cf6624
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/bank/pl_PL/__init__.py
@@ -0,0 +1,8 @@
+from .. import Provider as BankProvider
+
+
+class Provider(BankProvider):
+ """Implement bank provider for ``pl_PL`` locale."""
+
+ bban_format = "#" * 24
+ country_code = "PL"
diff --git a/venv/lib/python3.11/site-packages/faker/providers/bank/pl_PL/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/bank/pl_PL/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..78a6e26
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/bank/pl_PL/__pycache__/__init__.cpython-311.pyc
Binary files differ
diff --git a/venv/lib/python3.11/site-packages/faker/providers/bank/pt_PT/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/bank/pt_PT/__init__.py
new file mode 100644
index 0000000..c772c99
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/bank/pt_PT/__init__.py
@@ -0,0 +1,8 @@
+from .. import Provider as BankProvider
+
+
+class Provider(BankProvider):
+ """Implement bank provider for ``pt_PT`` locale."""
+
+ bban_format = "#####################"
+ country_code = "PT"
diff --git a/venv/lib/python3.11/site-packages/faker/providers/bank/pt_PT/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/bank/pt_PT/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..12417e2
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/bank/pt_PT/__pycache__/__init__.cpython-311.pyc
Binary files differ
diff --git a/venv/lib/python3.11/site-packages/faker/providers/bank/ro_RO/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/bank/ro_RO/__init__.py
new file mode 100644
index 0000000..e135a02
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/bank/ro_RO/__init__.py
@@ -0,0 +1,50 @@
+from faker.providers.bank import Provider as BankProvider
+
+
+class Provider(BankProvider):
+ """Implement bank provider for ``ro_RO`` locale."""
+
+ country_code = "RO"
+ bban_format = "????################"
+ swift_bank_codes = (
+ "NBOR",
+ "ABNA",
+ "BUCU",
+ "ARBL",
+ "MIND",
+ "BPOS",
+ "CARP",
+ "RNCB",
+ "BROM",
+ "BITR",
+ "BRDE",
+ "BRMA",
+ "BTRL",
+ "DAFB",
+ "MIRB",
+ "CECE",
+ "CITI",
+ "CRCO",
+ "FNNB",
+ "EGNA",
+ "BSEA",
+ "EXIM",
+ "UGBI",
+ "HVBL",
+ "INGB",
+ "BREL",
+ "CRDZ",
+ "BNRB",
+ "PIRB",
+ "PORL",
+ "MIRO",
+ "RZBL",
+ "RZBR",
+ "ROIN",
+ "WBAN",
+ "TRFD",
+ "TREZ",
+ "BACX",
+ "VBBU",
+ "DARO",
+ )
diff --git a/venv/lib/python3.11/site-packages/faker/providers/bank/ro_RO/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/bank/ro_RO/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..28c0fc2
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/bank/ro_RO/__pycache__/__init__.cpython-311.pyc
Binary files differ
diff --git a/venv/lib/python3.11/site-packages/faker/providers/bank/ru_RU/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/bank/ru_RU/__init__.py
new file mode 100644
index 0000000..7513ba4
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/bank/ru_RU/__init__.py
@@ -0,0 +1,759 @@
+from .. import Provider as BankProvider
+
+
+class Provider(BankProvider):
+ """Implement bank provider for ``ru_RU`` locale.
+
+ Sources for region codes, currency codes, and bank names:
+
+ - https://ru.wikipedia.org/wiki/Коды_субъектов_Российской_Федерации
+ - https://ru.wikipedia.org/wiki/Общероссийский_классификатор_валют
+ - http://cbr.ru/credit/coreports/ko17012020.zip
+ """
+
+ country_code = "RU"
+
+ region_codes = (
+ "01",
+ "03",
+ "04",
+ "05",
+ "07",
+ "08",
+ "10",
+ "11",
+ "12",
+ "14",
+ "15",
+ "17",
+ "18",
+ "19",
+ "20",
+ "22",
+ "24",
+ "25",
+ "26",
+ "27",
+ "28",
+ "29",
+ "30",
+ "32",
+ "33",
+ "34",
+ "35",
+ "36",
+ "37",
+ "38",
+ "40",
+ "41",
+ "42",
+ "44",
+ "45",
+ "46",
+ "47",
+ "49",
+ "50",
+ "52",
+ "53",
+ "54",
+ "56",
+ "57",
+ "58",
+ "60",
+ "61",
+ "63",
+ "64",
+ "65",
+ "66",
+ "67",
+ "68",
+ "69",
+ "70",
+ "71",
+ "73",
+ "75",
+ "76",
+ "77",
+ "78",
+ "79",
+ "80",
+ "81",
+ "82",
+ "83",
+ "84",
+ "85",
+ "86",
+ "87",
+ "88",
+ "89",
+ "90",
+ "91",
+ "92",
+ "93",
+ "94",
+ "95",
+ "96",
+ "97",
+ "98",
+ "99",
+ )
+
+ department_code_formats = (
+ "0#",
+ "1#",
+ "2#",
+ "3#",
+ "4#",
+ "5#",
+ "6#",
+ "7#",
+ "8#",
+ "9#",
+ )
+
+ credit_organization_code_formats = (
+ "05#",
+ "06#",
+ "07#",
+ "08#",
+ "09#",
+ "1##",
+ "2##",
+ "3##",
+ "4##",
+ "5##",
+ "6##",
+ "7##",
+ "8##",
+ "9##",
+ )
+
+ checking_account_codes = (
+ [str(i) for i in range(102, 110)]
+ + ["203", "204"]
+ + [str(i) for i in range(301, 330)]
+ + [str(i) for i in range(401, 409)]
+ + [str(i) for i in range(411, 426)]
+ + ["430"]
+ + [str(i) for i in range(501, 527)]
+ )
+
+ organization_codes = (
+ "01",
+ "02",
+ "03",
+ "04",
+ )
+
+ currency_codes = (
+ "008",
+ "012",
+ "032",
+ "036",
+ "044",
+ "048",
+ "050",
+ "051",
+ "052",
+ "060",
+ "064",
+ "068",
+ "072",
+ "084",
+ "090",
+ "096",
+ "104",
+ "108",
+ "116",
+ "124",
+ "132",
+ "136",
+ "144",
+ "152",
+ "156",
+ "170",
+ "174",
+ "188",
+ "191",
+ "192",
+ "203",
+ "208",
+ "214",
+ "222",
+ "230",
+ "232",
+ "238",
+ "242",
+ "262",
+ "270",
+ "292",
+ "320",
+ "324",
+ "328",
+ "332",
+ "340",
+ "344",
+ "348",
+ "352",
+ "356",
+ "360",
+ "364",
+ "368",
+ "376",
+ "388",
+ "392",
+ "398",
+ "400",
+ "404",
+ "408",
+ "410",
+ "414",
+ "417",
+ "418",
+ "422",
+ "426",
+ "430",
+ "434",
+ "440",
+ "446",
+ "454",
+ "458",
+ "462",
+ "478",
+ "480",
+ "484",
+ "496",
+ "498",
+ "504",
+ "512",
+ "516",
+ "524",
+ "532",
+ "533",
+ "548",
+ "554",
+ "558",
+ "566",
+ "578",
+ "586",
+ "590",
+ "598",
+ "600",
+ "604",
+ "608",
+ "634",
+ "643",
+ "646",
+ "654",
+ "678",
+ "682",
+ "690",
+ "694",
+ "702",
+ "704",
+ "706",
+ "710",
+ "728",
+ "748",
+ "752",
+ "756",
+ "760",
+ "764",
+ "776",
+ "780",
+ "784",
+ "788",
+ "800",
+ "807",
+ "810",
+ "818",
+ "826",
+ "834",
+ "840",
+ "858",
+ "860",
+ "882",
+ "886",
+ "894",
+ "901",
+ "931",
+ "932",
+ "933",
+ "934",
+ "936",
+ "937",
+ "938",
+ "940",
+ "941",
+ "943",
+ "944",
+ "946",
+ "947",
+ "948",
+ "949",
+ "950",
+ "951",
+ "952",
+ "953",
+ "959",
+ "960",
+ "961",
+ "962",
+ "963",
+ "964",
+ "968",
+ "969",
+ "970",
+ "971",
+ "972",
+ "973",
+ "975",
+ "976",
+ "977",
+ "978",
+ "980",
+ "981",
+ "985",
+ "986",
+ "997",
+ "998",
+ "999",
+ )
+
+ banks = (
+ "Абсолют Банк",
+ "Авангард",
+ "Аверс",
+ "Автоградбанк",
+ "Автокредитбанк",
+ "Автоторгбанк",
+ "Агора",
+ "Агропромкредит",
+ "Агророс",
+ "Азиатско-Тихоокеанский Банк",
+ "Азия-Инвест Банк",
+ "Айсибиси Банк",
+ "АК Барс",
+ "Акибанк",
+ "Акрополь",
+ "Актив Банк",
+ "Акцепт",
+ "Александровский",
+ "Алеф-Банк",
+ "Алмазэргиэнбанк",
+ "Алтайкапиталбанк",
+ "Алтынбанк",
+ "Альба Альянс",
+ "Альтернатива",
+ "Альфа-Банк",
+ "Америкэн Экспресс Банк",
+ "Апабанк",
+ "Аресбанк",
+ "Арзамас",
+ "Байкалинвестбанк",
+ "Байкалкредобанк",
+ "Балаково-Банк",
+ "Балтинвестбанк",
+ 'Банк "Санкт-Петербург"',
+ 'Банк "СКС"',
+ "Банк 131",
+ "Банк Берейт",
+ "Банк Дом.рф",
+ "Банк Жилищного Финансирования",
+ "Банк Зенит",
+ "Банк Зенит Сочи",
+ "Банк Интеза",
+ "Банк Казани",
+ "Банк Корпоративного Финансирования",
+ "Банк Кредит Свисс (Москва)",
+ "Банк Оранжевый",
+ "Банк Оренбург",
+ "Банк ПСА Финанс Рус",
+ "Банк Раунд",
+ "Банк Реалист",
+ "Банк РМП",
+ "Банк РСИ",
+ "Банк СГБ",
+ "Банк Стандарт-Кредит",
+ "Банк Финам",
+ "Банк ЧБРР",
+ "ББР Банк",
+ "Белгородсоцбанк",
+ "Бест Эффортс Банк",
+ "Бизнес-Сервис-Траст",
+ "БКС Банк",
+ "БМ-Банк",
+ "БМВ Банк",
+ "БНП Париба Банк",
+ "Братский АНКБ",
+ "Быстробанк",
+ "Бэнк Оф Чайна",
+ "Вакобанк",
+ "Великие Луки Банк",
+ "Венец",
+ "Веста",
+ "Викинг",
+ "Витабанк",
+ "Вкабанк",
+ "Владбизнесбанк",
+ "Внешфинбанк",
+ "Возрождение",
+ "Вологжанин",
+ "Восточный",
+ "ВРБ",
+ "Всероссийский Банк Развития Регионов",
+ "ВТБ",
+ "Вуз-Банк",
+ "Вятич",
+ "Газнефтьбанк",
+ "Газпромбанк",
+ "Газтрансбанк",
+ "Газэнергобанк",
+ "Гарант-Инвест",
+ "Генбанк",
+ "Геобанк",
+ "Гефест",
+ "Глобус",
+ "Голдман Сакс Банк",
+ "Горбанк",
+ "Гута-Банк",
+ "Далена",
+ "Дальневосточный Банк",
+ "Денизбанк Москва",
+ "Держава",
+ "Дж.П. Морган Банк Интернешнл",
+ "Джей Энд Ти Банк",
+ "Дойче Банк",
+ "Долинск",
+ "Дом-Банк",
+ "Донкомбанк",
+ "Дон-Тексбанк",
+ "Дружба",
+ "ЕАТП Банк",
+ "Евразийский Банк",
+ "Евроазиатский Инвестиционный Банк",
+ "Евроальянс",
+ "Еврофинанс Моснарбанк",
+ "Екатеринбург",
+ "Енисейский Объединенный Банк",
+ "Ермак",
+ "Живаго Банк",
+ "Запсибкомбанк",
+ "Заречье",
+ "Заубер Банк",
+ "Земельный",
+ "Земский Банк",
+ "Зираат Банк (Москва)",
+ "Ижкомбанк",
+ "ИК Банк",
+ "Икано Банк",
+ "Инбанк",
+ "Инвестторгбанк",
+ "Инг Банк (Евразия)",
+ "Интерпрогрессбанк",
+ "Интерпромбанк",
+ "ИРС",
+ "ИС Банк",
+ "ИТ Банк",
+ "Итуруп",
+ "Ишбанк",
+ "Йошкар-Ола",
+ "Калуга",
+ "Камский Коммерческий Банк",
+ "Капитал",
+ "Кетовский Коммерческий Банк",
+ "Киви Банк",
+ "Классик Эконом Банк",
+ "Кольцо Урала",
+ "Коммерцбанк (Евразия)",
+ "Коммерческий Индо Банк",
+ "Консервативный Коммерческий Банк",
+ "Континенталь",
+ "Космос",
+ "Костромаселькомбанк",
+ "Кошелев-Банк",
+ "Креди Агриколь Киб",
+ "Кредит Европа Банк",
+ "Кредит Урал Банк",
+ "Кремлевский",
+ "Крокус-Банк",
+ "Крона-Банк",
+ "Кросна-Банк",
+ "КС Банк",
+ "Кубань Кредит",
+ "Кубаньторгбанк",
+ "Кузбассхимбанк",
+ "Кузнецкбизнесбанк",
+ "Кузнецкий",
+ "Кузнецкий Мост",
+ "Курган",
+ "Курскпромбанк",
+ "Кэб Эйчэнби Банк",
+ "Ланта-Банк",
+ "Левобережный",
+ "Локо-Банк",
+ "Майкопбанк",
+ "Майский",
+ "Максима",
+ "МБА-Москва",
+ "МВС Банк",
+ "Мегаполис",
+ "Международный Финансовый Клуб",
+ "Мерседес-Бенц Банк Рус",
+ "Металлинвестбанк",
+ "Металлург",
+ "Меткомбанк",
+ "Мидзухо Банк (Москва)",
+ "Мир Бизнес Банк",
+ "МКБ",
+ "Модульбанк",
+ "Морган Стэнли Банк",
+ "Морской Банк",
+ "Москва-Сити",
+ "Московский Индустриальный Банк",
+ "Московский Коммерческий Банк",
+ "Московский Кредитный Банк",
+ "Московский Нефтехимический Банк",
+ "Московский Областной Банк",
+ "Московское Ипотечное Агентство",
+ "Москоммерцбанк",
+ "МС Банк Рус",
+ "МСКБ",
+ "МСП Банк",
+ "МТИ Банк",
+ "МТС-Банк",
+ "Муниципальный Камчатпрофитбанк",
+ "Нальчик",
+ "Народный Банк",
+ "Народный Банк Тувы",
+ "Народный Доверительный Банк",
+ "Натиксис Банк",
+ "Национальный Банк Сбережений",
+ "Национальный Инвестиционно-Промышленный",
+ "Национальный Резервный Банк",
+ "Национальный Стандарт",
+ "НБД-Банк",
+ "Невастройинвест",
+ "Нейва",
+ "Нефтепромбанк",
+ "НИБ",
+ "Нижневолжский Коммерческий Банк",
+ "Нико-Банк",
+ "НК Банк",
+ "Новикомбанк",
+ "Новобанк",
+ "Новокиб",
+ "Новый Век",
+ "Новый Московский Банк",
+ "Нокссбанк",
+ "Ноосфера",
+ "Норвик Банк",
+ "Нордеа Банк",
+ "НС Банк",
+ "НФК",
+ "Объединенный Банк Республики",
+ "Объединенный Капитал",
+ "Онего",
+ "Оней Банк",
+ "Орбанк",
+ "Оргбанк",
+ "ОТП Банк",
+ "Первоуральскбанк",
+ "Первый Дортрансбанк",
+ "Первый Инвестиционный Банк",
+ "Первый Клиентский Банк",
+ "Пересвет",
+ "Пермь",
+ "Петербургский Социальный Ком. Банк",
+ "Платина",
+ "Плюс Банк",
+ "Пойдём!",
+ "Почта Банк",
+ "Почтобанк",
+ "Приморский Территориальный",
+ "Приморье",
+ "Примсоцбанк",
+ "Приобье",
+ "Прио-Внешторгбанк",
+ "Прокоммерцбанк",
+ "Проминвестбанк",
+ "Промсвязьбанк",
+ "Промсельхозбанк",
+ "Промтрансбанк",
+ "Профессионал Банк",
+ "Профессиональный Инвестиционный Банк",
+ "Прохладный",
+ "Развитие-Столица",
+ "Райффайзенбанк",
+ "РБА",
+ "Ренессанс Кредит",
+ "Рента-Банк",
+ "Ресо Кредит",
+ "Республиканский Кредитный Альянс",
+ "Ресурс-Траст",
+ "РН Банк",
+ "Росбанк",
+ "Росбизнесбанк",
+ "Росгосстрах Банк",
+ "Росдорбанк",
+ "Роскосмосбанк",
+ "Россельхозбанк",
+ "Российская Финансовая Корпорация",
+ "Российский Национальный Коммерческий Банк",
+ "Россита-Банк",
+ "Россия",
+ "Ростфинанс",
+ "Росэксимбанк",
+ "Роял Кредит Банк",
+ "Руна-Банк",
+ "Руснарбанк",
+ "Русский Банк Сбережений",
+ "Русский Региональный Банк",
+ "Русский Стандарт",
+ "Русфинанс Банк",
+ "Русьуниверсалбанк",
+ "РФИ Банк",
+ "Саммит Банк",
+ "Санкт-Петербургский Банк Инвестиций",
+ "Саратов",
+ "Саровбизнесбанк",
+ "Сбербанк России",
+ "Связь-Банк",
+ "СДМ-Банк",
+ "Севастопольский Морской Банк",
+ "Северный Морской Путь",
+ "Северный Народный Банк",
+ "Северстройбанк",
+ "Севзапинвестпромбанк",
+ "Сельмашбанк",
+ "Сервис Резерв",
+ "Сетелем Банк",
+ "СИАБ",
+ "Сибсоцбанк",
+ "Синко-Банк",
+ "Система",
+ "Сити Инвест Банк",
+ "Ситибанк",
+ "СКБ-Банк",
+ "Славия",
+ "Славянбанк",
+ "Славянский Кредит",
+ "Снежинский",
+ "Собинбанк",
+ "Совкомбанк",
+ "Современные Стандарты Бизнеса",
+ "Соколовский",
+ "Солид Банк",
+ "Солидарность",
+ "Социум-Банк",
+ "Союз",
+ "Спецстройбанк",
+ "Спиритбанк",
+ "Спутник",
+ "Ставропольпромстройбанк",
+ "Столичный Кредит",
+ "Стройлесбанк",
+ "Сумитомо Мицуи Рус Банк",
+ "Сургутнефтегазбанк",
+ "СЭБ Банк",
+ "Таврический Банк",
+ "Таганрогбанк",
+ "Тайдон",
+ "Тамбовкредитпромбанк",
+ "Татсоцбанк",
+ "Тексбанк",
+ "Тендер-Банк",
+ "Тимер Банк",
+ "Тинькофф Банк",
+ "Тойота Банк",
+ "Тольяттихимбанк",
+ "Томскпромстройбанк",
+ "Торжок",
+ "Транскапиталбанк",
+ "Трансстройбанк",
+ "Траст",
+ "Тэмбр-Банк",
+ "Углеметбанк",
+ "Унифондбанк",
+ "Уралпромбанк",
+ "Уралсиб",
+ "Уралфинанс",
+ "Уральский Банк Реконструкции и Развития",
+ "Уральский Финансовый Дом",
+ "УРИ Банк",
+ "Финанс Бизнес Банк",
+ "Финсервис",
+ "ФК Открытие",
+ "Фольксваген Банк Рус",
+ "Фора-Банк",
+ "Форбанк",
+ "Форштадт",
+ "Фридом Финанс",
+ "Хакасский Муниципальный Банк",
+ "Химик",
+ "ХКФ Банк",
+ "Хлынов",
+ "Центрально-Азиатский",
+ "Центр-Инвест",
+ "Центрокредит",
+ "ЦМРБанк",
+ "Чайна Констракшн Банк",
+ "Чайнасельхозбанк",
+ "Челиндбанк",
+ "Челябинвестбанк",
+ "Эйч-Эс-Би-Си Банк (РР)",
+ "Эко-Инвест",
+ "Экономбанк",
+ "Экси-Банк",
+ "Экспобанк",
+ "Экспресс-Волга",
+ "Элита",
+ "Эм-Ю-Эф-Джи Банк (Евразия)",
+ "Энергобанк",
+ "Энергомашбанк",
+ "Энерготрансбанк",
+ "Эс-Би-Ай Банк",
+ "Ю Би Эс Банк",
+ "Юг-Инвестбанк",
+ "ЮМК Банк",
+ "Юникредит Банк",
+ "Юнистрим",
+ "Яринтербанк",
+ )
+
+ def bic(self) -> str:
+ """Generate a bank identification code (BIC).
+
+ BIC is a bank identification code that is used in Russia.
+ See https://ru.wikipedia.org/wiki/Банковский_идентификационный_код.
+ """
+ region: str = self.random_element(self.region_codes)
+ department_code: str = self.numerify(self.random_element(self.department_code_formats))
+ credit_organization_code: str = self.numerify(self.random_element(self.credit_organization_code_formats))
+ return "04" + region + department_code + credit_organization_code
+
+ def correspondent_account(self) -> str:
+ """Generate a correspondent account number.
+
+ Correspondent account is established to handle various financial
+ operations between financial institutions.
+ See https://ru.wikipedia.org/wiki/Корреспондентский_счёт.
+ """
+ credit_organization_code = self.numerify(self.random_element(self.credit_organization_code_formats))
+ return "301" + self.numerify("#" * 14) + credit_organization_code
+
+ def checking_account(self) -> str:
+ """Generate a checking account number.
+
+ Checking account is used in banks to handle financial operations of
+ clients.
+ See https://ru.wikipedia.org/wiki/Расчётный_счёт.
+ """
+ account: str = self.random_element(self.checking_account_codes)
+ organization: str = self.random_element(self.organization_codes)
+ currency: str = self.random_element(self.currency_codes)
+ return account + organization + currency + self.numerify("#" * 12)
+
+ def bank(self) -> str:
+ """Generate a bank name."""
+ return self.random_element(self.banks)
diff --git a/venv/lib/python3.11/site-packages/faker/providers/bank/ru_RU/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/bank/ru_RU/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..f65999f
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/bank/ru_RU/__pycache__/__init__.cpython-311.pyc
Binary files differ
diff --git a/venv/lib/python3.11/site-packages/faker/providers/bank/sk_SK/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/bank/sk_SK/__init__.py
new file mode 100644
index 0000000..c83b233
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/bank/sk_SK/__init__.py
@@ -0,0 +1,11 @@
+from .. import Provider as BankProvider
+
+
+class Provider(BankProvider):
+ """Implement bank provider for ``sk_SK`` locale.
+
+ https://www.mbank.cz/informace-k-produktum/info/ucty/cislo-uctu-iban.html
+ """
+
+ bban_format = "####################"
+ country_code = "SK"
diff --git a/venv/lib/python3.11/site-packages/faker/providers/bank/sk_SK/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/bank/sk_SK/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..8a99a5b
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/bank/sk_SK/__pycache__/__init__.cpython-311.pyc
Binary files differ
diff --git a/venv/lib/python3.11/site-packages/faker/providers/bank/th_TH/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/bank/th_TH/__init__.py
new file mode 100644
index 0000000..e277673
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/bank/th_TH/__init__.py
@@ -0,0 +1,64 @@
+from .. import Provider as BankProvider
+
+
+class Provider(BankProvider):
+ """Implement bank provider for ``th_TH`` locale."""
+
+ bban_format = "#" * 10
+ country_code = "TH"
+ swift_bank_codes = (
+ "AIAC",
+ "ANZB",
+ "BKKB",
+ "BAAB",
+ "BOFA",
+ "AYUD",
+ "BKCH",
+ "BOTH",
+ "BNPA",
+ "UBOB",
+ "CITI",
+ "CRES",
+ "DEUT",
+ "EXTH",
+ "GSBA",
+ "BHOB",
+ "ICBK",
+ "TIBT",
+ "CHAS",
+ "KASI",
+ "KKPB",
+ "KRTH",
+ "LAHR",
+ "ICBC",
+ "MHCB",
+ "OCBC",
+ "DCBB",
+ "SICO",
+ "SMEB",
+ "SCBL",
+ "SMBC",
+ "THBK",
+ "HSBC",
+ "TMBK",
+ "UOVB",
+ )
+ swift_location_codes = (
+ "BK",
+ "B2",
+ "BB",
+ "BX",
+ "2X",
+ )
+ swift_branch_codes = (
+ "BKO",
+ "BNA",
+ "RYO",
+ "CHB",
+ "IBF",
+ "SEC",
+ "HDY",
+ "CHM",
+ "NAV",
+ "XXX",
+ )
diff --git a/venv/lib/python3.11/site-packages/faker/providers/bank/th_TH/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/bank/th_TH/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..d7e0669
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/bank/th_TH/__pycache__/__init__.cpython-311.pyc
Binary files differ
diff --git a/venv/lib/python3.11/site-packages/faker/providers/bank/tl_PH/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/bank/tl_PH/__init__.py
new file mode 100644
index 0000000..1f19b36
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/bank/tl_PH/__init__.py
@@ -0,0 +1,10 @@
+from ..en_PH import Provider as EnPhBankProvider
+
+
+class Provider(EnPhBankProvider):
+ """Implement bank provider for ``tl_PH`` locale.
+
+ There is no difference from the ``en_PH`` implementation.
+ """
+
+ pass
diff --git a/venv/lib/python3.11/site-packages/faker/providers/bank/tl_PH/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/bank/tl_PH/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..c1e1139
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/bank/tl_PH/__pycache__/__init__.cpython-311.pyc
Binary files differ
diff --git a/venv/lib/python3.11/site-packages/faker/providers/bank/tr_TR/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/bank/tr_TR/__init__.py
new file mode 100644
index 0000000..e57bed6
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/bank/tr_TR/__init__.py
@@ -0,0 +1,8 @@
+from .. import Provider as BankProvider
+
+
+class Provider(BankProvider):
+ """Implement bank provider for ``tr_TR`` locale."""
+
+ bban_format = "######################"
+ country_code = "TR"
diff --git a/venv/lib/python3.11/site-packages/faker/providers/bank/tr_TR/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/bank/tr_TR/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..20f2c9a
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/bank/tr_TR/__pycache__/__init__.cpython-311.pyc
Binary files differ
diff --git a/venv/lib/python3.11/site-packages/faker/providers/bank/uk_UA/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/bank/uk_UA/__init__.py
new file mode 100644
index 0000000..ccf1b41
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/bank/uk_UA/__init__.py
@@ -0,0 +1,87 @@
+from .. import Provider as BankProvider
+
+
+class Provider(BankProvider):
+ """Implement bank provider for ``uk_UA`` locale.
+ Source for rules for bban format:
+ https://bank.gov.ua/en/iban
+ Banks list:
+ https://ubanks.com.ua/adr/
+ """
+
+ bban_format = "#" * 27
+ country_code = "UA"
+ banks = (
+ "izibank",
+ "monobank",
+ "O.Bank",
+ "sportbank",
+ "А-Банк",
+ "Агропросперіс Банк",
+ "АкордБанк",
+ "Альтбанк",
+ "Асвіо Банк",
+ "Банк 3/4",
+ "Банк Авангард",
+ "Банк Альянс",
+ "Банк Власний Рахунок",
+ "Банк Восток",
+ "Банк інвестицій та заощаджень",
+ "Банк Кредит Дніпро",
+ "Банк Портал",
+ "Банк Український Капітал",
+ "Банк Фамільний",
+ "БТА Банк",
+ "Глобус",
+ "Грант",
+ "Дойче Банк ДБУ",
+ "Європейський Промисловий Банк",
+ "Ідея Банк",
+ "ІНГ Банк Україна",
+ "Індустріалбанк",
+ "Кліринговий Дім",
+ "Комінбанк",
+ "КомІнвестБанк",
+ "Кредит Європа Банк",
+ "Кредитвест Банк",
+ "Креді Агріколь",
+ "Кредобанк",
+ "Кристалбанк",
+ "Львів",
+ "МетаБанк",
+ "Міжнародний Інвестиційний Банк",
+ "Мотор-Банк",
+ "МТБ Банк",
+ "Національний банк України",
+ "Оксі Банк",
+ "ОТП Банк",
+ "Ощадбанк",
+ "Перший Інвестиційний Банк",
+ "Перший Український Міжнародний Банк",
+ "Південний",
+ "Піреус Банк",
+ "Полікомбанк",
+ "Полтава-Банк",
+ "Правекс Банк",
+ "ПриватБанк",
+ "ПроКредит Банк",
+ "Радабанк",
+ "Райффайзен Банк",
+ "РВС Банк",
+ "СЕБ Корпоративний Банк",
+ "Сенс Банк",
+ "Сітібанк",
+ "Скай Банк",
+ "ТАСкомбанк",
+ "Траст-капітал",
+ "Український банк реконструкції та розвитку",
+ "Укргазбанк",
+ "Укрексімбанк",
+ "УкрСиббанк",
+ "Універсал Банк",
+ "Юнекс Банк",
+ )
+
+ def bank(self) -> str:
+ """Generate a bank name."""
+ return self.random_element(self.banks)
diff --git a/venv/lib/python3.11/site-packages/faker/providers/bank/uk_UA/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/bank/uk_UA/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..9fdb196
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/bank/uk_UA/__pycache__/__init__.cpython-311.pyc
Binary files differ
diff --git a/venv/lib/python3.11/site-packages/faker/providers/bank/zh_CN/__init__.py b/venv/lib/python3.11/site-packages/faker/providers/bank/zh_CN/__init__.py
new file mode 100644
index 0000000..83b34e5
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/bank/zh_CN/__init__.py
@@ -0,0 +1,37 @@
+from .. import Provider as BankProvider
+
+
+class Provider(BankProvider):
+ """Implement bank provider for ``zh_CN`` locale.
+ Source: https://zh.wikipedia.org/wiki/中国大陆银行列表
+ """
+
+ banks = (
+ "中国人民银行",
+ "国家开发银行",
+ "中国进出口银行",
+ "中国农业发展银行",
+ "交通银行",
+ "中国银行",
+ "中国建设银行",
+ "中国农业银行",
+ "中国工商银行",
+ "中国邮政储蓄银行",
+ "中国光大银行",
+ "中国民生银行",
+ "招商银行",
+ "中信银行",
+ "华夏银行",
+ "上海浦东发展银行",
+ "平安银行",
+ "广发银行",
+ "兴业银行",
+ "浙商银行",
+ "渤海银行",
+ "恒丰银行",
+ "西安银行",
+ )
+
+ def bank(self) -> str:
+ """Generate a bank name."""
+ return self.random_element(self.banks)
diff --git a/venv/lib/python3.11/site-packages/faker/providers/bank/zh_CN/__pycache__/__init__.cpython-311.pyc b/venv/lib/python3.11/site-packages/faker/providers/bank/zh_CN/__pycache__/__init__.cpython-311.pyc
new file mode 100644
index 0000000..15d5780
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/faker/providers/bank/zh_CN/__pycache__/__init__.cpython-311.pyc
Binary files differ