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 --all-groups --all-extras
$ 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.3.tar.gz (849.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.3-py3-none-any.whl (348.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: schwifty-2026.7.3.tar.gz
  • Upload date:
  • Size: 849.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.3.tar.gz
Algorithm Hash digest
SHA256 0c66adeadc94fb4ee0d1146cf1797ee8f606fb5b0cc27429bc062e18e23024e3
MD5 60352a4bffb5659aa9f1df9510a865a3
BLAKE2b-256 b2d35dd968f7829c57f13b5ec6578216672b96f200aa60546c9dd86cb8e4d8cf

See more details on using hashes here.

File details

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

File metadata

  • Download URL: schwifty-2026.7.3-py3-none-any.whl
  • Upload date:
  • Size: 348.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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 795d51771dbc79a2eeb3e1784d94a60426eda316141acebdea1a1207ddff9daa
MD5 8de9e6b97dce7803a1d6fbdbbb95b0fa
BLAKE2b-256 593ddc62f80aab65fc695ac317f3161d122b05d0b2560ff16ef52927694cbe46

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