ব্যাংক স্টেটমেন্ট পার্সার হলো একটি ওপেন-সোর্স Python লাইব্রেরি যা ছয়টি ফরম্যাট থেকে ব্যাংক স্টেটমেন্ট কাঠামোগত pandas DataFrames-এ বিশ্লেষণ করে। সকল প্রক্রিয়াকরণ স্থানীয়ভাবে হয় -- শূন্য নেটওয়ার্ক কল, ডিটারমিনিস্টিক আউটপুট, এবং স্বয়ংক্রিয় PII মাস্কিং।
এটি কাদের জন্য?
- ট্রেজারি টিম যারা MT940 থেকে CAMT.053-এ মাইগ্রেট করছেন এবং রূপান্তরের সময় পুরানো ও নতুন উভয় ফরম্যাট পরিচালনা করতে পারে এমন একটি পার্সার প্রয়োজন।
- ফিনটেক ডেভেলপার যারা রিকনসিলিয়েশন, রিপোর্টিং, বা অ্যাকাউন্টিং পাইপলাইন তৈরি করছেন এবং mt940 + ofxparse + কাস্টম CSV লজিক জোড়া লাগানোর পরিবর্তে একটি একক ডিপেন্ডেন্সি চান।
- কমপ্লায়েন্স টিম যাদের ডিফল্টে PII মাস্কিং এবং অডিট-রেডি, ডিটারমিনিস্টিক আউটপুট প্রয়োজন যা কখনও বাহ্যিক সেবায় ডেটা পাঠায় না।
- যে কেউ যিনি সংবেদনশীল আর্থিক ডেটা তৃতীয়-পক্ষের SaaS-এ পাঠাতে অস্বীকার করেন যখন একটি স্থানীয়, ওপেন-সোর্স টুল কাজটি করতে পারে।
সমর্থিত ফরম্যাট
| ফরম্যাট | স্ট্যান্ডার্ড | ফাইল টাইপ | পার্সার ক্লাস |
|---|---|---|---|
| CAMT.053 | ISO 20022 Bank-to-Customer Statement | .xml |
CamtParser |
| PAIN.001 | ISO 20022 Credit Transfer Initiation | .xml |
Pain001Parser |
| CSV | সাধারণ ব্যাংক এক্সপোর্ট | .csv |
CsvStatementParser |
| OFX | Open Financial Exchange | .ofx |
OfxParser |
| QFX | Quicken Financial Exchange | .qfx |
QfxParser |
| MT940 | SWIFT স্ট্যান্ডার্ড | .mt940, .sta |
Mt940Parser |
সকল ফরম্যাট সামঞ্জস্যপূর্ণ কলাম নামসহ নরমালাইজড pandas DataFrames তৈরি করে, যা ডাউনস্ট্রিম প্রক্রিয়াকরণকে ফরম্যাট-অজ্ঞেয়বাদী করে তোলে।
প্রধান ক্ষমতাসমূহ
- ফরম্যাট স্বয়ংক্রিয়-সনাক্তকরণ:
detect_statement_format()ফরম্যাট শনাক্ত করে;create_parser()সঠিক পার্সার ইনস্ট্যানশিয়েট করে। - স্ট্রিমিং বিশ্লেষণ:
parse_streaming()ব্যবহার করে সীমিত মেমরিতে বড় ফাইল (৫০ MB+, ৫০K+ লেনদেন) প্রক্রিয়া করুন। - সমান্তরাল প্রক্রিয়াকরণ: ProcessPoolExecutor ব্যবহার করে
parse_files_parallel()দিয়ে একসাথে একাধিক ফাইল বিশ্লেষণ করুন। - ডিডুপ্লিকেশন: ব্যাখ্যাযোগ্য কনফিডেন্স স্কোরসহ সঠিক ডুপ্লিকেট এবং সন্দেহভাজন মিল সনাক্ত করুন।
- ইন-মেমরি বিশ্লেষণ: কোনো ডিস্ক I/O ছাড়া SFTP এবং API ওয়ার্কফ্লোর জন্য
from_string()এবংfrom_bytes()। - নিরাপদ ZIP প্রক্রিয়াকরণ: কম্প্রেশন অনুপাত সীমা, এন্ট্রি সাইজ ক্যাপ, এবং এনক্রিপ্টেড এন্ট্রি প্রত্যাখ্যানসহ
iter_secure_xml_entries()। - রপ্তানি: CSV, JSON, Excel (
.xlsx), এবং ঐচ্ছিক Polars DataFrames।
নিরাপত্তা ও গোপনীয়তা
- PII মাস্কিং: CLI আউটপুট এবং স্ট্রিমিং মোডে নাম, IBAN এবং ঠিকানা ডিফল্টে মাস্ক করা হয়।
--show-piiদিয়ে সম্পূর্ণ ডেটা দেখুন। - XXE সুরক্ষা: XML বিশ্লেষণ
resolve_entities=False,no_network=True,load_dtd=Falseব্যবহার করে। - ZIP বম্ব সুরক্ষা: কম্প্রেশন অনুপাত সীমা (ডিফল্ট ১০০:১), এন্ট্রি সাইজ ক্যাপ (১০ MB), এনক্রিপ্টেড এন্ট্রি প্রত্যাখ্যান।
- পাথ ট্রাভার্সাল প্রতিরোধ: বিপজ্জনক প্যাটার্ন ব্লকলিস্ট এবং সিমলিংক রেজোলিউশন।
- সাপ্লাই চেইন নিরাপত্তা: SHA-256 হ্যাশ-লকড ডিপেন্ডেন্সি, CycloneDX SBOM, বিল্ড প্রোভেন্যান্স অ্যাটেস্টেশন।
পারফরম্যান্স
| মেট্রিক | মান |
|---|---|
| CAMT.053 থ্রুপুট | ২৭,০০০+ tx/s |
| PAIN.001 থ্রুপুট | ৫২,০০০+ tx/s |
| প্রতি-লেনদেন লেটেন্সি (CAMT) | ৩৭ মাইক্রোসেকেন্ড |
| প্রতি-লেনদেন লেটেন্সি (PAIN.001) | ১৯ মাইক্রোসেকেন্ড |
| প্রথম ফলাফলের সময় | < ২ ms |
| মেমরি স্কেলিং (১K-৫০K tx) | স্থির (স্ট্রিমিং) |
| টেস্ট কভারেজ | ১০০% ব্রাঞ্চ কভারেজ |
| টেস্ট | ২৯টি টেস্ট ফাইলে ৪৬৭ |
তৈরি শুরু করুন
ইনস্টলেশন এবং উদাহরণ দিয়ে শুরু করুন ❯
"GitHub রিপোজিটরি"