Streamlit-based toolbox for uploading, parsing, and aggregating ISO 20022 payment message files (CSV, XML, Excel, XSD)
Project description
SWIFT Payment ISO 20022 Toolbox
Overview
This project is a Streamlit-based web application for uploading, analyzing, and aggregating payment files and schemas in the context of SWIFT ISO 20022 standards. It provides a multi-tool GUI for:
- Uploading and viewing CSV and XML files
- Aggregating metadata from Excel documentation files
- Extracting metadata from XSD schema files
The toolbox is designed for maintainability, transparency, and extensibility, supporting both baseline reference data and user-driven custom analysis.
Features
1. CSV Upload
- Upload a CSV file and view its transposed content.
2. XML Upload
- Upload an ISO 20022 XML file.
- Extracts all XPaths, values, and relevant ISO 20022 metadata (MsgId, BizMsgIdr, etc.).
- Lets you select which columns to display.
- Download extracted data as CSV or Excel.
3. Aggregate Excel Metadata
- Aggregate metadata from multiple ISO20022 Swift Payment Messages Excel documentation files.
- Download a baseline aggregated file (produced from files in
./data/sample_xsd_excel_baseline). - Upload your own Excel files for custom aggregation and download the result.
- Baseline is never overwritten.
4. Extract XSD Metadata
- Extracts structured metadata from XSD files in a directory and exports the results to Excel.
- Download a baseline XSD metadata file (from
./data/sample_xsd_plain_baseline). - Upload your own
.xsdfiles for custom extraction and download the result. - Baseline is never overwritten.
How to Use
1. Install Requirements
Python 3.7+ is recommended. Install dependencies:
pip install -r requirements.txt
2. Run the App
From your project directory:
streamlit run iso20022_toolbox.py
3. Using the GUI
- Select the desired tool/page from the sidebar menu.
- Follow on-screen instructions for uploading files and downloading results.
- Baseline reference files are always available for download.
Script Descriptions
extract_xsd_versions.py
XSD Metadata Extractor
---------------------
Extracts structured metadata from XSD files in a directory and exports the results to CSV and XLSX formats.
Features:
- Parametrized input directory (`--folder`) and number of header lines to scan (`--lines`).
- Extracts fields such as Group, Collection, Usage Guideline, Base Message, Date of publication, URL, <xs:schema ...> tag, and more.
- Outputs a reference DataFrame and saves as both CSV and Excel.
xml_to_xpath.py
ISO20022 XML XPath Extractor
---------------------------
Parses ISO 20022 XML files and extracts all XPaths, values, and key metadata (XSD, MsgId, AppHdr fields, etc.).
Supports CSV/Excel export for downstream analysis.
Requirements
- streamlit
- pandas
- openpyxl
- xlsxwriter
(See requirements.txt for the full list.)
Notes
- Baseline reference files are never overwritten by user uploads.
- All features are accessible from the sidebar menu.
- The toolbox is modular and easy to extend for new analysis or conversion tools.
For more information, see the docstrings in each script or contact the project maintainer.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file swift_iso20022_toolbox-0.1.0.tar.gz.
File metadata
- Download URL: swift_iso20022_toolbox-0.1.0.tar.gz
- Upload date:
- Size: 20.6 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b146e7b4e37546e6286604d80a35d0efb6fe56c11481d0a7431a97410aadefa5
|
|
| MD5 |
4abf71da2cd9406bb8663c46278a4b5a
|
|
| BLAKE2b-256 |
ba064aaaa88ed6ad655a3267f13897d0f62ba70d4b2f7334b132c9315bbee9db
|
File details
Details for the file swift_iso20022_toolbox-0.1.0-py3-none-any.whl.
File metadata
- Download URL: swift_iso20022_toolbox-0.1.0-py3-none-any.whl
- Upload date:
- Size: 16.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
78bf1d82a6e543dae28965af24cf97354fc0504abcbe0718fced6c486ce8b03b
|
|
| MD5 |
0209daeb4cd3e0bc7fa8323883a0b624
|
|
| BLAKE2b-256 |
35bdfc5562eed526915b75d520eaf4f29fcde79c6703bce2ba099d566abc2aec
|