turkiye-iban-python
Python 3.10+ istemcisi: Türkiye IBAN normalleştirme, doğrulama, biçimlendirme, maskeleme ve kuruluş kodu eşleştirmesi.
Ne yapar? · Kurulum · Hızlı kullanım · Public API · Test ve kalite · Topluluk
Önemli sınır Bu paket IBAN biçimini ve MOD 97-10 kontrolünü doğrular; hesabın varlığını, hesap sahibini, lisans durumunu veya transfer yapılabilirliğini doğrulamaz.
provider_status: "unknown", checksum hatası değil, kodun sabitlenmiş veri kümesinde bulunmadığı anlamına gelir. Paket TCMB tarafından onaylanmış değildir.
Ne yapar?
- Türkiye IBAN yapısını ve kontrol rakamlarını doğrular.
- Beş haneli kuruluş kodunu çıkarır ve sabitlenmiş veriyle eşleştirir.
- Bilinen ve bilinmeyen kuruluşları ayrı sonuçlarla bildirir.
- IBAN'ı dörder karakterlik gruplara ayırır veya maskeleyerek gösterir.
- Veriyi runtime sırasında ağdan indirmez;
turkiye-ibanv0.2.1 release verisini kullanır.
Ne yapmaz?
- Hesabın varlığını, sahibini, bakiyesini veya transfer yapılabilirliğini doğrulamaz.
- TCMB, banka veya ödeme kuruluşu adına resmî onay ya da hesap doğrulama sunmaz.
- Gerçek IBAN, müşteri kaydı veya kişisel finansal veri toplamaz.
provider_status: "unknown"sonucunda otomatik kuruluş seçimi yapmaz.
Türkiye IBAN yapısı
Türkiye IBAN'ı TR ülke kodu, iki kontrol rakamı, beş haneli kuruluş kodu,
bir rezerv rakamı ve 16 karakterlik hesap alanından oluşur. MOD 97-10,
IBAN'ın yazım bütünlüğünü matematiksel olarak kontrol eder; bir hesabın
bankada gerçekten var olduğunu kanıtlamaz.
Kurulum
PyPI kaydı henüz doğrulanmadığı için bugün doğrulanmış GitHub release wheel assetini kullanın:
python -m pip install https://github.com/trugurpala/turkiye-iban-python/releases/download/v0.1.5/turkiye_iban-0.1.5-py3-none-any.whl
PyPI kaydı doğrulandıktan sonra kısa kurulum yolu şu olacaktır:
python -m pip install turkiye-iban
Güncel durum ve Trusted Publisher adımları için PUBLISHING.md ve ana projenin Packagist/PyPI yayın belgesine bakın.
Hızlı kullanım
from turkiye_iban import identify_bank_from_iban, mask_iban
iban = "TR280000109999000000000001" # yalnızca sentetik örnek
result = identify_bank_from_iban(iban)
if result["parsed"]["is_valid"] and result["provider_status"] == "known":
print(result["provider"]["nameOfficial"])
print(mask_iban(iban))
Public API
| Fonksiyon | Görevi |
|---|---|
parse_iban |
IBAN bölümlerini ve hata kodlarını döndürür |
validate_turkish_iban |
Yapı ve MOD 97-10 sonucunu döndürür |
get_bank_code_from_iban |
Beş haneli kuruluş kodunu çıkarır |
find_bank_by_code |
Kodu veri kümesinde arar |
identify_bank_from_iban |
Doğrulama ve kuruluş eşleştirmesini birleştirir |
format_iban |
IBAN'ı dörderli gruplara ayırır |
mask_iban |
IBAN'ın büyük bölümünü gizler |
Detaylı davranış ve sentetik fixture sözleşmesi için ana repository'deki API belgesine ve conformance belgesine ve Python test raporuna bakın.
Sonuçları nasıl yorumlamalısınız?
| Sonuç | Anlamı | Uygulama davranışı |
|---|---|---|
parsed["is_valid"] == False |
IBAN yapısı veya kontrol rakamları hatalıdır | IBAN'ı kabul etmeyin |
parsed["is_valid"] == True, provider_status == "known" |
Kuruluş kodu veri kümesinde bulunur | Kuruluşu otomatik doldurabilirsiniz |
parsed["is_valid"] == True, provider_status == "unknown" |
IBAN biçimsel olarak geçerli, kod bu veri sürümünde yoktur | Kuruluşu otomatik seçmeyin; kendi iş kuralınızı uygulayın |
İlgili projeler
- Ana veri ve TypeScript/NPM paket: trugurpala/turkiye-iban
- Aynı sözleşmenin PHP istemcisi: turkiye-iban-php
- Ortak veri kaynakları: DATA_SOURCES.md
- Güvenlik bildirimi: SECURITY.md
- Katkı rehberi: CONTRIBUTING.md
- Yayınlama: PUBLISHING.md
- Destek: SUPPORT.md
- Davranış kuralları: CODE_OF_CONDUCT.md
Geliştirme ve kalite
python -m pip install -e ".[dev]"
python -m pytest
python -m pytest --cov=turkiye_iban --cov-report=term-missing
python -m mypy src
python -m build
python -m twine check dist/*
Her public API fonksiyonunun kontrol edildiği TEST_REPORT.md belgesinde Python CI, build ve paket metadata kanıtları bulunur. Gerçek IBAN, müşteri adı veya kişisel finansal veri issue, test veya PR içinde kullanmayın.
Release
Son doğrulanmış release v0.1.5'dir.
Release assetleri ve test sonucu TEST_REPORT.md içinde kayıtlıdır.
Release geçmişi CHANGELOG.md dosyasındadır.
GitHub Release workflow'u yalnızca v*.*.* tag'lerinde arşiv üretir; PyPI
yayını ise ayrı, ortam korumalı Trusted Publisher workflow'unda yapılır.
Lisans
Metadata
Release files for turkiye-iban 0.1.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| turkiye_iban-0.1.5.tar.gz | 12.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| turkiye_iban-0.1.5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 22.4 kB
Release files / turkiye_iban-0.1.5.tar.gz
| Download URL | turkiye_iban-0.1.5.tar.gz |
|---|---|
| Size | 12.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5759f03e1720805c290e8969f696968e397e29a379eb391abc0ba27c89cd0cc3
|
|
BLAKE2b-256 checksum How to use checksums |
97e48c784cca6ca28c9bd7af6663074b2dba5b89c3e43c879a933aaa5301ed61
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 2, 2026.
Transparency logRelease files / turkiye_iban-0.1.5-py3-none-any.whl
| Download URL | turkiye_iban-0.1.5-py3-none-any.whl |
|---|---|
| Size | 9.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
35bbe52e5242203bf0ed0c36d60dd9543160e29ca0e8bdb3dde74efaa0f7a728
|
|
BLAKE2b-256 checksum How to use checksums |
a20c99364ce1dc7dd3d297ad912580bfa9d462f9c217db71b7d18d1bcdc7640e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 2, 2026.
Transparency log