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.
Metadata
Release files for schwifty 2026.7.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| schwifty-2026.7.3.tar.gz | 849.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| schwifty-2026.7.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.2 MB
Release files / schwifty-2026.7.3.tar.gz
| Download URL | schwifty-2026.7.3.tar.gz |
|---|---|
| Size | 849.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0c66adeadc94fb4ee0d1146cf1797ee8f606fb5b0cc27429bc062e18e23024e3
|
|
BLAKE2b-256 checksum How to use checksums |
b2d35dd968f7829c57f13b5ec6578216672b96f200aa60546c9dd86cb8e4d8cf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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}
|
Release files / schwifty-2026.7.3-py3-none-any.whl
| Download URL | schwifty-2026.7.3-py3-none-any.whl |
|---|---|
| Size | 348.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
795d51771dbc79a2eeb3e1784d94a60426eda316141acebdea1a1207ddff9daa
|
|
BLAKE2b-256 checksum How to use checksums |
593ddc62f80aab65fc695ac317f3161d122b05d0b2560ff16ef52927694cbe46
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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}
|