Skip to main content
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/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json&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

The only prerequisite to work on schwifty is uv. Running uv sync creates a virtual environment with all development dependencies (including the tools mentioned below).

We use ruff as code formatter and linter. 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 prek-hook, in order to avoid long feedback-cycles.

$ uv sync
$ uv run prek install

You can also run uv run poe fmt to format the code or use one of the available editor integrations. See the contributing guide for the full list of development commands and the contribution workflow.

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

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.2.tar.gz (846.5 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.2-py3-none-any.whl (346.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: schwifty-2026.7.2.tar.gz
  • Upload date:
  • Size: 846.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.31 {"installer":{"name":"uv","version":"0.11.31","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for schwifty-2026.7.2.tar.gz
Algorithm Hash digest
SHA256 a65b4b0b10a6f9a09c7d4a91bf4f7202d195d6192b102bcb44269621f273201f
MD5 e8fd432a815f48d057d2410d46c5e7f6
BLAKE2b-256 ff15e659a4512209c7b81ff109b16c7fe411fc5a66c97c6f94a716539aa36efb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: schwifty-2026.7.2-py3-none-any.whl
  • Upload date:
  • Size: 346.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.31 {"installer":{"name":"uv","version":"0.11.31","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for schwifty-2026.7.2-py3-none-any.whl
Algorithm Hash digest
SHA256 c121d38d0fd0ef3ea377c722ffe94ac62ead8dca20b3f4c8b1f047b66e504789
MD5 7277fa7f59b5c53ae2145032608e754f
BLAKE2b-256 a0fcb0cb97ca0ecce461c648e85efbd0838c60fa80724cfda511037630544b77

See more details on using hashes here.

Release history Release notifications | RSS feed

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