Skip to main content

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 .xsd files 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

swift_iso20022_toolbox-0.1.0.tar.gz (20.6 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

swift_iso20022_toolbox-0.1.0-py3-none-any.whl (16.8 kB view details)

Uploaded Python 3

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

Hashes for swift_iso20022_toolbox-0.1.0.tar.gz
Algorithm Hash digest
SHA256 b146e7b4e37546e6286604d80a35d0efb6fe56c11481d0a7431a97410aadefa5
MD5 4abf71da2cd9406bb8663c46278a4b5a
BLAKE2b-256 ba064aaaa88ed6ad655a3267f13897d0f62ba70d4b2f7334b132c9315bbee9db

See more details on using hashes here.

File details

Details for the file swift_iso20022_toolbox-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for swift_iso20022_toolbox-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 78bf1d82a6e543dae28965af24cf97354fc0504abcbe0718fced6c486ce8b03b
MD5 0209daeb4cd3e0bc7fa8323883a0b624
BLAKE2b-256 35bdfc5562eed526915b75d520eaf4f29fcde79c6703bce2ba099d566abc2aec

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page