schwifty icon indicating copy to clipboard operation
schwifty copied to clipboard

IBAN parsing and validation

.. image:: https://img.shields.io/pypi/v/schwifty.svg?style=flat-square :target: https://pypi.python.org/pypi/schwifty .. image:: https://img.shields.io/github/workflow/status/mdomke/schwifty/lint-and-test?style=flat-square :target: https://github.com/mdomke/schwifty/actions?query=workflow%3Alint-and-test .. image:: https://img.shields.io/pypi/l/schwifty.svg?style=flat-square :target: https://pypi.python.org/pypi/schwifty .. image:: https://readthedocs.org/projects/schwifty/badge/?version=latest&style=flat-square :target: https://schwifty.readthedocs.io .. image:: https://img.shields.io/badge/code%20style-black-000000.svg?style=flat-square :target: https://black.readthedocs.io/en/stable/index.html

Gotta get schwifty with your IBANs

.. teaser-begin

schwifty is a Python library that let's you easily work with IBANs and BICs as specified by the ISO. IBAN is the Internation Bank Account Number and BIC the Business Identifier Code. Both are used for international money transfer.

Features

schwifty lets you

  • validate check-digits and the country specific format of IBANs
  • validate format and country codes from BICs
  • generate BICs from country and bank-code
  • generate IBANs from country-code, bank-code and account-number.
  • get the BIC associated to an IBAN's bank-code
  • access all relevant components as attributes

.. teaser-end

Versioning

Since the IBAN specification and the mapping from BIC to bank_code is updated from time to time, schwifty uses CalVer <http://www.calver.org/>_ for versioning with the scheme YY.0M.Micro.

.. installation-begin

Installation

To install schwifty, simply:

.. code-block:: bash

$ pip install schwifty

.. installation-end

Development

We use the black_ as code formatter. This avoids discussions about style preferences in the same way as gofmt does the job for Golang. The conformance to the formatting rules is checked in the CI pipeline, so that it is recommendable to install the configured pre-commit_-hook, in order to avoid long feedback-cycles.

.. code-block:: bash

$ pre-commit install

You can also use the fmt Makefile-target to format the code or use one of the available editor integrations_.

Project Information

schwifty is released under MIT_ license and its documentation lives at Read the Docs. The code is maintained on GitHub and packages are distributed on PyPI_

Name


Since ``swift`` and ``swiftly`` were already taken by the OpenStack-project, but we somehow wanted
to point out the connection to SWIFT, Rick and Morty came up with the idea to name the project
``schwifty``.

.. image:: https://i.cdn.turner.com/adultswim/big/video/get-schwifty-pt-2/rickandmorty_ep205_002_vbnuta15a755dvash8.jpg


.. _black: https://black.readthedocs.io/en/stable/index.html
.. _pre-commit: https://pre-commit.com
.. _editor integrations:  https://black.readthedocs.io/en/stable/editor_integration.html
.. _MIT: https://choosealicense.com/licenses/mit/
.. _Read the Docs: https://schwifty.readthedocs.io
.. _GitHub: https://github.com/mdomke/schwifty
.. _PyPI: https://pypi.org/project/schwifty