Skip to main content

IBAN parsing and validation

Project description

https://img.shields.io/pypi/v/schwifty.svg?style=flat-square https://img.shields.io/github/actions/workflow/status/mdomke/schwifty/lint-and-test.yml?branch=main&style=flat-square https://img.shields.io/pypi/l/schwifty.svg?style=flat-square https://readthedocs.org/projects/schwifty/badge/?version=latest&style=flat-square https://img.shields.io/badge/code%20style-black-000000.svg?style=flat-square https://img.shields.io/codecov/c/gh/mdomke/schwifty?token=aJj1Yg0NUq&style=flat-square

Gotta get schwifty with your IBANs

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.

  • generate random valid IBANs

  • get the BIC associated to an IBAN’s bank-code

  • access all relevant components as attributes

See the docs for more inforamtion.

Versioning

Since the IBAN specification and the mapping from BIC to bank_code is updated from time to time, schwifty uses CalVer for versioning with the scheme YY.0M.Micro.

Installation

To install schwifty, simply:

$ pip install schwifty

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.

$ 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.

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

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

schwifty-2026.7.1.tar.gz (864.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

schwifty-2026.7.1-py3-none-any.whl (343.9 kB view details)

Uploaded Python 3

File details

Details for the file schwifty-2026.7.1.tar.gz.

File metadata

  • Download URL: schwifty-2026.7.1.tar.gz
  • Upload date:
  • Size: 864.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Hatch/1.17.0 {"ci":true,"cpu":"x86_64","distro":{"id":"noble","libc":{"lib":"glibc","version":"2.39"},"name":"Ubuntu","version":"24.04"},"implementation":{"name":"CPython","version":"3.12.13"},"installer":{"name":"hatch","version":"1.17.0"},"openssl_version":"OpenSSL 3.0.13 30 Jan 2024","python":"3.12.13","system":{"name":"Linux","release":"6.17.0-1018-azure"}} HTTPX2/2.5.0

File hashes

Hashes for schwifty-2026.7.1.tar.gz
Algorithm Hash digest
SHA256 46ec749b93101b9681ac48900048da97175b69b616014df7a854ae37eadd7440
MD5 636871a1a74cb3e9567c36505336bec2
BLAKE2b-256 a8fbbec5f85190a688c5773a313c45e49d83fe61b54573c34f9ed54af9151a53

See more details on using hashes here.

File details

Details for the file schwifty-2026.7.1-py3-none-any.whl.

File metadata

  • Download URL: schwifty-2026.7.1-py3-none-any.whl
  • Upload date:
  • Size: 343.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Hatch/1.17.0 {"ci":true,"cpu":"x86_64","distro":{"id":"noble","libc":{"lib":"glibc","version":"2.39"},"name":"Ubuntu","version":"24.04"},"implementation":{"name":"CPython","version":"3.12.13"},"installer":{"name":"hatch","version":"1.17.0"},"openssl_version":"OpenSSL 3.0.13 30 Jan 2024","python":"3.12.13","system":{"name":"Linux","release":"6.17.0-1018-azure"}} HTTPX2/2.5.0

File hashes

Hashes for schwifty-2026.7.1-py3-none-any.whl
Algorithm Hash digest
SHA256 80bb2c9d7c9fb76ec6d5129e5313675e1194fe5250d8e8b1115506da3cda64c2
MD5 41f8c04d683d7be476ad96c6fd2df903
BLAKE2b-256 5feb7584fd249315b7958bf933aa058194832993fe4e071cd09a4597a98618d6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page