Schwifty

Latest version: v2024.5.3

Safety actively analyzes 630360 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 8

2024.05.3

-------------------------
Added
~~~~~
* There is a new classmethod ``IBAN.random()`` that allows you to create random, but valid IBANs.

.. code-block:: pycon

>>> IBAN.random()
<IBAN=LT435012771675726758>

You can narrow down the generated values by providing the corresponding parameters to this
function. E.g. to get only Spanish IBANs you can do

.. code-block:: pycon

>>> IBAN.random(country_code="ES")
<IBAN=ES8801253179194914182449>

Changed
~~~~~~~
* Some missing bank associations have been added to the Portoguese bank registry by
`tiagoafseixas <https://github.com/tiagoafseixas>`_

2024.05.2

-------------------------
Fixed
~~~~~
* Add `typing-extensions` as explicit dependency for Python < 3.11 to support the `Self` type.

2024.05.1

-------------------------
Changed
~~~~~~~
* Remove custom collection logic of the bank registry for ``pyinstaller``. The changes introduced in
`92 <https://github.com/mdomke/schwifty/pull/92>`_ were wrong and have been reverted. Usage
example

.. code-block:: bash

$ pyinstaller <script> --collect-data schwifty --copy-metadata schwifty

2024.05.0

-------------------------
Fixed
~~~~~
* Loading JSON data into a Pydantic model with an ``IBAN`` or ``BIC``-field
(``Model.model_validate_json()``) was previously broken and has been fixed now.

Added
~~~~~
* JSON schema generation for Pydantic models.

Changed
~~~~~~~
* Updated bank registries.
* Remove the dependency to ``iso3166`` since its functionallity is already covered by ``pycountry``

2024.04.0

-------------------------
Added
~~~~~
* Added Revolut Bank for Spain `brunovilla <https://github.com/brunovila>`_
* Added support for Python 3.12
* Added manually curated bank registry for Montenegro `Djuka <https://github.com/Djuka>`_

Changed
~~~~~~~
* The bank registry is now internally validated, so that all domestic bank codes actaully match the
specification of the corresponding BBAN structure. As a result some entries had to be removed,
because they did contain invalid bank codes.
* The Danish national checksum algorithm is considered opaque and the checksum digit is assumed to
be part of the account number (which is now always 10 digits long).

Fixed
~~~~~
* The Czech bank registry was stored in latin-1 encoding while being read as UTF-8. This resulted
in invalid bank names `Natim <https://github.com/Natim>`_ and
`Cogax <https://github.com/Cogax>`_.
* The Norwegian national checksum algorithm was rendering wrong results in some edge-cases
`Natim <https://github.com/Natim>`_

2024.01.1

-------------------------
Added
~~~~~

* Support aspirational countries:

* Algeria
* Angola
* Benin
* Burkina Faso
* Burundi
* Cabo Verde
* Cameroon
* Central African Republic
* Chad
* Comoros
* Congo
* Côte d'Ivoire
* Djibouti
* Equatorial Guinea
* Gabon,
* Guinea-Bissau
* Honduras
* Iran
* Madagascar
* Mali
* Morocco
* Mozambique
* Nicaragua
* Niger
* Senegal
* Togo

* National checksum algorithms for many countries have been added:

* Albania
* Bosnia and Herzegovina
* Czech Republic
* East Timor
* Estonia
* Finland
* Iceland
* Mauritania
* Montenegro
* North Macedonia
* Norway
* Poland
* Portugal
* Serbia
* Slovakia
* Slovenia
* Spain
* Tunisia

* Add new banks to the list of French banks `Natim <https://github.com/Natim>`_:

* ARKEA BP Brest
* Anytime
* Lydia Bank
* MEMO BANK
* Revolut
* SHINE
* SumUp Limited

* New :attr:`.IBAN.in_sepa_zone`-property to indicate if the IBAN's country is part of the SEPA
zone.
* New manual bank registries for

* Andorra
* Arabic Emirates
* Costa Rica
* Portugal

* New attributes :attr:`.IBAN.account_id`, :attr:`.IBAN.account_holder_id` and
:attr:`.IBAN.account_type` that are available depending on the country's BBAN specification.
E.g. :attr:`.IBAN.account_holder_id` is currently only available for Iceland (Kennitala) and only
Brazil defines an :attr:`.IBAN.account_id`.

Changed
~~~~~~~
* Use enhanced IBAN/BBAN format from `Wikipedia <https://en.wikipedia.org/wiki/International_Bank_Account_Number#IBAN_formats_by_country>`_,
since the official information from SWIFT is often inacurate.
* The support for national checksum digits has been reimplemented.
* The :class:`.IBAN`-class now has an additional :attr:`.IBAN.bban`-attribute, where all country
specific functionality has been moved to.
* Updated bank registries. Thanks to `sh4dowb <https://github.com/sh4dowb>`_ for the Turkish banks.

Page 1 of 8

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.