Banka Ekstresi Ayrıştırıcısı, altı formattaki banka ekstrelerini yapılandırılmış panda DataFrames'e ayrıştıran açık kaynaklı bir Python kütüphanesidir. Tüm işlemler yerel olarak gerçekleşir; sıfır ağ çağrısı, deterministik çıktı ve otomatik PII düzenlemesi.
Bu Kimin İçin?
- Hazine ekipleri MT940'tan CAMT.053'e geçiş yapıyor ve geçiş sırasında hem eski hem de yeni biçimleri işleyen bir ayrıştırıcıya ihtiyaç duyuyor.
- Fintech geliştiricileri mt940 + ofxparse + özel CSV mantığını birleştirmek yerine tek bir bağımlılık isteyen mutabakat, raporlama veya muhasebe hatları oluşturuyor.
- Varsayılan olarak PII düzenlemesine ve harici hizmetlere hiçbir zaman veri göndermeyen, denetime hazır, deterministik çıktıya ihtiyaç duyan uyumluluk ekipleri.
- Yerel, açık kaynaklı bir araç bu işi yapabileceği halde hassas mali verileri üçüncü taraf bir SaaS'a göndermeyi reddeden herkes.
Desteklenen Formatlar
| Biçim | Standart | Dosya Türleri | Ayrıştırıcı Sınıfı |
|---|---|---|---|
| CAMT.053 | ISO 20022 Bankadan Müşteriye Beyanı | .xml |
CamtParser |
| AĞ.001 | ISO 20022 Kredi Transferi Başlangıcı | .xml |
Pain001Parser |
| CSV | Jenerik banka ihracatı | .csv |
CsvStatementParser |
| OFX | Açık Finansal Borsa | .ofx |
OfxParser |
| QFX | Finansal Değişimi Hızlandırın | .qfx |
QfxParser |
| MT940 | SWIFT standardı | .mt940, .sta |
Mt940Parser |
Tüm formatlar, tutarlı sütun adlarına sahip normalleştirilmiş pandalar DataFrames üreterek aşağı akış işlemeyi formattan bağımsız hale getirir.
Temel Yetenekler
- Otomatik Biçim Algılama:
detect_statement_format()formatı tanımlar;create_parser()doğru ayrıştırıcıyı başlatır. - Akış Ayrıştırma: Sınırlı belleğe sahip büyük dosyaları (50 MB+, 50K+ işlem) kullanarak işleyin
parse_streaming(). - Paralel İşleme: Birden fazla dosyayı aynı anda ayrıştırın
parse_files_parallel()ProcessPoolExecutor'u kullanarak. - Tekilleştirme: Açıklanabilir güven puanlarıyla tam kopyaları ve şüpheli eşleşmeleri tespit edin.
- Bellek İçi Ayrıştırma:
from_string()Vefrom_bytes()Disk G/Ç'si olmayan SFTP ve API iş akışları için. - Güvenli Posta İşleme:
iter_secure_xml_entries()sıkıştırma oranı sınırları, giriş boyutu sınırları ve şifreli giriş reddi ile. - Dışa aktar: CSV, JSON, Excel (
.xlsx) ve isteğe bağlı Polars DataFrames.
Güvenlik ve Gizlilik
- PII Düzenlemesi: CLI çıkışında adlar, IBAN'lar ve adresler varsayılan olarak maskelenir. Şununla etkinleştirin:
--show-pii. - XXE Koruması: XML ayrıştırma kullanımları
resolve_entities=False,no_network=True,load_dtd=False. - ZIP Bomba Koruması: Sıkıştırma oranı sınırları (varsayılan 100:1), giriş boyutu sınırları (10 MB), şifreli giriş reddi.
- Yol Geçişini Önleme: Tehlikeli model engelleme listesi ve sembolik bağlantı çözümü.
- Tedarik Zinciri Güvenliği: SHA-256 karma kilitli bağımlılıklar, CycloneDX SBOM, kaynak doğrulaması oluşturun.
Performans
| Metrik | Değer |
|---|---|
| CAMT.053 verimi | 27.000+ aktarım/sn |
| PAIN.001 verimi | 52.000'den fazla aktarım/sn |
| İşlem başına gecikme (CAMT) | 37 mikrosaniye |
| İşlem başına gecikme (PAIN.001) | 19 mikrosaniye |
| İlk sonuca ulaşma zamanı | < 2 ms |
| Bellek ölçeklendirme (1K-50K tx) | Sabit (akış) |
| Test kapsamı | %100 şube kapsamı |
| Testler | 29 test dosyasında 467 |
İnşa Etmeye Başlayın
Kurulum ve örneklere başlayın ❯
"GitHub Deposu"