From d4ae8651e54d193c55cc13c0c3b686b391dcd5cc Mon Sep 17 00:00:00 2001 From: Sebastien Rousseau Date: Sat, 20 May 2023 23:39:30 +0100 Subject: [PATCH 1/3] feat(pain001): v0.0.16 --- TEMPLATE.md | 2 +- .../pain.001.001.09/pain001-001-003.md | 39 ++++++ .../pain.001.001.09/pain001-001-009.md | 51 ++++++++ pain001/__init__.py | 2 +- pain001/__main__.py | 77 ++++++------ public/index.html | 4 + public/manifest.json | 22 ++++ public/pain.001.001.03/index.html | 5 + public/pain.001.001.03/manifest.json | 22 ++++ public/pain.001.001.03/rss.xml | 1 + public/pain.001.001.09/index.html | 5 + public/pain.001.001.09/manifest.json | 22 ++++ public/pain.001.001.09/rss.xml | 1 + public/rss.xml | 1 + pyproject.toml | 2 +- requirements.txt | 2 +- setup.cfg | 13 +- setup.py | 111 ++++++------------ 18 files changed, 266 insertions(+), 116 deletions(-) create mode 100644 docs/payments-initiation/messages/pain.001.001.09/pain001-001-003.md create mode 100644 docs/payments-initiation/messages/pain.001.001.09/pain001-001-009.md create mode 100644 public/index.html create mode 100644 public/manifest.json create mode 100644 public/pain.001.001.03/index.html create mode 100644 public/pain.001.001.03/manifest.json create mode 100644 public/pain.001.001.03/rss.xml create mode 100644 public/pain.001.001.09/index.html create mode 100644 public/pain.001.001.09/manifest.json create mode 100644 public/pain.001.001.09/rss.xml create mode 100644 public/rss.xml diff --git a/TEMPLATE.md b/TEMPLATE.md index 0d20ad4..3322d62 100644 --- a/TEMPLATE.md +++ b/TEMPLATE.md @@ -10,7 +10,7 @@ -# Pain001 (v0.0.15) +# Pain001 (v0.0.16) ![Pain001 banner][banner] diff --git a/docs/payments-initiation/messages/pain.001.001.09/pain001-001-003.md b/docs/payments-initiation/messages/pain.001.001.09/pain001-001-003.md new file mode 100644 index 0000000..1fa1c2b --- /dev/null +++ b/docs/payments-initiation/messages/pain.001.001.09/pain001-001-003.md @@ -0,0 +1,39 @@ +--- +# Front Matter (YAML). +## name - The name of the site. (max 64 characters) +name: pain.001.001.03 +## title - The title of the page. (max 64 characters) +title: Customer Credit Transfer Initiation V3 (pain.001.001.03) +--- + +# Customer Credit Transfer Initiation V3 (pain.001.001.03) + +## Overview + +The Customer Credit Transfer Initiation V3 (`pain.001.001.03`) is an +XML-based message format under the ISO 20022 standard, designed to +streamline cross-border and domestic payment processes. With the +increasing demand for efficient, secure, and standardized payment +methods, financial institutions and their customers face challenges +related to the complexity, speed, and cost of executing credit transfers. + +## Features/Benefits + +- **Standardized Format:** The pain.001.001.03 message format provides a consistent structure for initiating credit transfers, making it easier for financial institutions to process and manage transactions. +- **Increased Efficiency:** By adopting the pain.001.001.03 format, financial institutions can automate and streamline the credit transfer initiation process, reducing manual intervention and errors. +- **Enhanced Remittance Data:** The format allows for more extensive remittance information, providing clearer transaction details for both sender and receiver. +- **Improved Compliance:** The standardized message structure helps organizations meet regulatory requirements and reduces the risk of non-compliance penalties. +- **Interoperability:** The pain.001.001.03 format is compatible with other ISO 20022 messages, facilitating seamless communication between different financial institutions and systems. + +## Market Opportunity + +The adoption of `pain.001.001.03` presents a significant market +opportunity for financial institutions. + +By implementing this message format, organizations can: + +- Enhance customer experience by offering faster and more transparent transactions +- Improve operational efficiency and reduce costs associated with manual processing +- Position themselves as industry leaders in adopting global standards for payment processing +- Leverage the ISO 20022 standard to explore new business opportunities and partnerships +- Ensure compliance with evolving regulatory requirements and stay ahead of the competition diff --git a/docs/payments-initiation/messages/pain.001.001.09/pain001-001-009.md b/docs/payments-initiation/messages/pain.001.001.09/pain001-001-009.md new file mode 100644 index 0000000..af60134 --- /dev/null +++ b/docs/payments-initiation/messages/pain.001.001.09/pain001-001-009.md @@ -0,0 +1,51 @@ +--- +# Front Matter (YAML). +## name - The name of the site. (max 64 characters) +name: pain.001.001.09 +## title - The title of the page. (max 64 characters) +title: Customer Credit Transfer Initiation V9 (pain.001.001.09) +--- + + +# Customer Credit Transfer Initiation V9 (pain.001.001.09) + +## Overview + +The Customer Credit Transfer Initiation V9 (`pain.001.001.09`) is an XML +-based message format under the ISO 20022 standard, designed to +streamline cross-border and domestic payment processes. It is the +successor to the Customer Credit Transfer Initiation V3 (`pain.001.001. +03`) message format, and includes a number of enhancements that improve +the efficiency, security, and flexibility of payment processing. + +## Features/Benefits + +The `pain.001.001.09` message format offers a number of features and +benefits over the previous version, including: + +- **Enhanced data richness**: The format includes additional data + elements that provide more detailed information about the payment, + such as the purpose of the payment, the tax identification numbers of + the sender and receiver, and the reason for the payment. +- **Improved flexibility**: The format allows for more flexible payment + instructions, such as the ability to specify multiple payment + beneficiaries and the ability to split payments between multiple + accounts. +- **Increased security**: The format includes a number of security + features that help to protect payments from fraud and errors, such as + digital signatures and encryption. +- **Improved interoperability**: The format is compatible with other + ISO 20022 messages, which facilitates seamless communication between + different financial institutions and systems. + +## Market Opportunity + +The adoption of `pain.001.001.09` presents a significant market +opportunity for financial institutions. By implementing this message +format, organizations can: + +- Enhance customer experience by offering faster and more transparent payments +- Improve operational efficiency and reduce costs associated with manual processing +- Position themselves as industry leaders in adopting global standards for payment processing +- Leverage the ISO 20022 standard to explore new business opportunities and partnerships +- Ensure compliance with evolving regulatory requirements and stay ahead of the competition diff --git a/pain001/__init__.py b/pain001/__init__.py index 51ff69c..75bcc8d 100644 --- a/pain001/__init__.py +++ b/pain001/__init__.py @@ -15,4 +15,4 @@ """The Python pain001 module.""" __all__ = ["pain001"] -__version__ = "0.0.15" +__version__ = "0.0.16" diff --git a/pain001/__main__.py b/pain001/__main__.py index c97956c..0ad2b74 100644 --- a/pain001/__main__.py +++ b/pain001/__main__.py @@ -33,33 +33,51 @@ cli_string = """ +Pain001 is a Python Library for Automating ISO 20022-Compliant Payment Files Using CSV Data. -usage: -python3 -m pain001 - - -Python Pain001 is a Python package that generates a Customer-to-Bank -Credit Transfer payload in the pain.001.001.03 format from a CSV file. -The package is named after the standard file format for SEPA and -non-SEPA Credit Transfer, which is the Pain (payment initiation) -format 001.001.03. The Pain001 library provides a convenient way for -developers to create payment files in this format and to validate -the generated files against the XSD schema. +It offers a streamlined solution for reducing complexity and costs associated +with payment processing. By providing a simple and efficient method to create +ISO 20022-compliant payment files, it eliminates the manual effort of file +creation and validation. This not only saves valuable time and resources but +also minimizes the risk of errors, ensuring accurate and seamless payment processing. Usage: -python3 -m pain001 - - -The first argument is the path of the XML template file. The second -argument is the path of the XSD template file. The third argument is -the path of the CSV file containing the payment data.""" + python3 -m pain001 + +Arguments: + xml_message_type: The type of XML message. Valid values are: + - pain.001.001.03 + - pain.001.001.09 + xml_file_path: The path to the XML template file. + xsd_file_path: The path to the XSD template file. + csv_file_path: The path to the CSV data file. + +Example: + python3 -m pain001 "pain.001.001.09" ./templates/pain.001.001.09/template.xml ./templates/pain.001.001.09/pain.001.001.09.xsd ./templates/pain.001.001.09/template.csv + + This command will generate a pain.001.001.09 XML file using the template + files in the ./templates/pain.001.001.09/ directory and the CSV data in + ./templates/pain.001.001.09/template.csv. + + The generated XML file will be saved in the directory. + For example, if the is pain.001.001.09, the generated + XML file will be saved in the directory pain.001.001.09 and the file name + will be pain.001.001.09.xml. + + Note: The generated XML file will be validated against the XSD template + file before being saved. If the validation fails, the program will exit + with an error message. + + For more information, please visit + https://github.com/sebastienrousseau/pain001 +""" def main( xml_message_type=None, xml_file_path=None, xsd_file_path=None, - csv_file_path=None + csv_file_path=None, ): """ Entrypoint for pain001 when invoked as a module with @@ -71,28 +89,24 @@ def main( logger = context.Context.get_instance().get_logger() if ( - xml_file_path is None or - xsd_file_path is None or - csv_file_path is None + xml_file_path is None + or xsd_file_path is None + or csv_file_path is None ): parser = argparse.ArgumentParser( description="Generate Pain.001 file from CSV data" ) parser.add_argument( - "xml_message_type", - help="Type of XML message" + "xml_message_type", help="Type of XML message" ) parser.add_argument( - "xml_file_path", - help="Path to XML template file" + "xml_file_path", help="Path to XML template file" ) parser.add_argument( - "xsd_file_path", - help="Path to XSD template file" + "xsd_file_path", help="Path to XSD template file" ) parser.add_argument( - "csv_file_path", - help="Path to CSV data file" + "csv_file_path", help="Path to CSV data file" ) args = parser.parse_args() @@ -132,10 +146,7 @@ def main( sys.exit(1) process_files( - xml_message_type, - xml_file_path, - xsd_file_path, - csv_file_path + xml_message_type, xml_file_path, xsd_file_path, csv_file_path ) diff --git a/public/index.html b/public/index.html new file mode 100644 index 0000000..c1e62e3 --- /dev/null +++ b/public/index.html @@ -0,0 +1,4 @@ +Pain001 - A Python Library for Automating ISO 20022-Compliant Payment Files Using CSV Data

Pain001 - A Python Library for Automating ISO 20022-Compliant Payment Files Using CSV Data

Pain001 allows users to create ISO 20022-compliant payment files directly from CSV data.

Simplify and streamline your payment processing with Pain001, a powerful Python library that enables you to create ISO 20022-compliant payment files directly from CSV data.

ISO 20022 is a global standard for sharing financial information across organizations. It provides an harmonized protocol used by banks, corporations, and financial institutions to automate and standardise payment transactions. Pain001 focuses specifically on payment initiation messages, commonly known as pain.001 payment initiation messages.

Typically, a payment journey commences with a pain001 payment that is sent by the payer to the payee (or the payee’s bank) via a secure network such as SWIFT or SEPA (Single Euro Payments Area) network or other payment networks such as CHAPS, BACS, Faster Payments, etc. The message contains the payer’s and payee’s bank account details, payment amount, and other information required to process the payment.

Pain001 offers a streamlined solution for reducing complexity and costs associated with payment processing. By providing a simple and efficient method to create ISO 20022-compliant payment files, it eliminates the manual effort of file creation and validation. This not only saves valuable time and resources but also minimizes the risk of errors, ensuring accurate and seamless payment processing.

If you are seeking to simplify and automate your payment processing, consider leveraging the capabilities of Pain001.

Features

  • Easy to use: The library is easy to use and requires minimal coding knowledge, making it suitable for both developers and non-developers.
  • Open-source: The library is open-source and free to use, making it accessible to everyone.
  • Secure: The library is secure and does not store any sensitive data, ensuring that all information remains confidential.
  • Customizable: The library allows developers to customize the output, making it adaptable to specific business requirements and preferences.
  • Scalable solution: The Pain001 library can handle varying volumes of payment files, making it suitable for businesses of different sizes and transaction volumes.
  • Time-saving: The automated file creation process reduces the time spent on manual data entry and file generation, increasing overall productivity.
  • Seamless integration: As a Python package, the Pain001 library is compatible with various Python-based applications and easily integrates into any existing projects or workflows.
  • Cross-border compatibility: The library supports both Single Euro Payments Area (SEPA) and non-SEPA credit transfers, making it versatile for use in different countries and regions.
  • Improve accuracy by providing precise data, the library reduces errors in payment file creation and processing.
  • Enhance efficiency by automating the creation of Payment Initiation message files
  • Accelerate payment file creation by automating the process and reducing the time required to create payment files.
  • Guarantee the highest quality and compliance by validating all payment files to meet the ISO 20022 standards.
  • Provide flexibility and choice to migrate to any supported ISO 20022 messaging standard definitions by simplifying the message creation process and providing a standardized format for payment files.

Payment Messages

The following ISO 20022 Payment Initiation message types are currently supported:

This message is used to transmit credit transfer instructions from the originator (the party initiating the payment) to the originator’s bank. The message supports both bulk and single payment instructions, allowing for the transmission of multiple payments in a batch or individual payments separately. The pain.001.001.03 message format is part of the ISO 20022 standard and is commonly used for SEPA Credit Transfers within the Single Euro Payments Area. It includes relevant information such as the originator’s and beneficiary’s details, payment amounts, payment references, and other transaction-related information required for processing the credit transfers.

This message format is part of the ISO 20022 standard and is commonly used for SEPA Credit Transfers within the Single Euro Payments Area. It enables the transmission of credit transfer instructions from the originator to the originator’s bank. The message includes essential information such as the originator’s and beneficiary’s details, payment amounts, payment references, and other transaction-related information required for processing the credit transfers.

Pain001 is a powerful tool that can help businesses and organizations to simplify and automate their payment processing by providing a simple and easy way to create ISO 20022-compliant payment files.

Copyright © pain001.com 2023. All rights reserved.

\ No newline at end of file diff --git a/public/manifest.json b/public/manifest.json new file mode 100644 index 0000000..3d33630 --- /dev/null +++ b/public/manifest.json @@ -0,0 +1,22 @@ +{ + "background_color": "#000", + "description": "Pain001 allows users to create ISO 20022-compliant payment files directly from CSV data.", + "dir": "/", + "display": "fullscreen", + "icons": [ + { + "purpose": "any maskable", + "sizes": "512x512", + "src": "https://kura.pro/pain001/images/icons/512x512.png", + "type": "image/png" + } + ], + "identity": "/", + "lang": "en-GB", + "name": "Pain001 - A Python Library for Automating ISO 20022-Compliant Payment Files Using CSV Data", + "orientation": "any", + "scope": "/", + "short_name": "/", + "start_url": "/", + "theme_color": "#fff" +} \ No newline at end of file diff --git a/public/pain.001.001.03/index.html b/public/pain.001.001.03/index.html new file mode 100644 index 0000000..c5d8962 --- /dev/null +++ b/public/pain.001.001.03/index.html @@ -0,0 +1,5 @@ +Customer Credit Transfer Initiation V3 (pain.001.001.03)

Customer Credit Transfer Initiation V3 (pain.001.001.03)

pain.001.001.03, is an XML-based message format under the ISO 20022 standard designed to streamline cross-border and domestic payment processes.


Overview

The Customer Credit Transfer Initiation V3 (pain.001.001.03) is an XML -based message format under the ISO 20022 standard, designed to streamline cross-border and domestic payment processes. With the increasing demand for efficient, secure, and standardized payment methods, financial institutions and their customers face challenges related to the complexity, speed, and cost of executing credit transfers.

Features/Benefits

  • Standardized Format: The pain.001.001.03 message format provides a consistent structure for initiating credit transfers, making it easier for financial institutions to process and manage transactions.
  • Increased Efficiency: By adopting the pain.001.001.03 format, financial institutions can automate and streamline the credit transfer initiation process, reducing manual intervention and errors.
  • Enhanced Remittance Data: The format allows for more extensive remittance information, providing clearer transaction details for both sender and receiver.
  • Improved Compliance: The standardized message structure helps organizations meet regulatory requirements and reduces the risk of non-compliance penalties.
  • Interoperability: The pain.001.001.03 format is compatible with other ISO 20022 messages, facilitating seamless communication between different financial institutions and systems.

Market Opportunity

The adoption of pain.001.001.03 presents a significant market opportunity for financial institutions.

By implementing this message format, organizations can:

  • Enhance customer experience by offering faster and more transparent transactions
  • Improve operational efficiency and reduce costs associated with manual processing
  • Position themselves as industry leaders in adopting global standards for payment processing
  • Leverage the ISO 20022 standard to explore new business opportunities and partnerships
  • Ensure compliance with evolving regulatory requirements and stay ahead of the competition

Copyright © pain001.com 2023. All rights reserved.

\ No newline at end of file diff --git a/public/pain.001.001.03/manifest.json b/public/pain.001.001.03/manifest.json new file mode 100644 index 0000000..0ea780c --- /dev/null +++ b/public/pain.001.001.03/manifest.json @@ -0,0 +1,22 @@ +{ + "background_color": "#000", + "description": "pain.001.001.03, is an XML-based message format under the ISO 20022 standard designed to streamline cross-border and domestic payment processes.", + "dir": "/", + "display": "fullscreen", + "icons": [ + { + "purpose": "any maskable", + "sizes": "512x512", + "src": "https://kura.pro/pain001/images/icons/512x512.png", + "type": "image/png" + } + ], + "identity": "/", + "lang": "en-GB", + "name": "Customer Credit Transfer Initiation V3 (pain.001.001.03)", + "orientation": "any", + "scope": "/", + "short_name": "/", + "start_url": "/", + "theme_color": "#fff" +} \ No newline at end of file diff --git a/public/pain.001.001.03/rss.xml b/public/pain.001.001.03/rss.xml new file mode 100644 index 0000000..a6dd6d9 --- /dev/null +++ b/public/pain.001.001.03/rss.xml @@ -0,0 +1 @@ +Customer Credit Transfer Initiation V3 (pain.001.001.03)pain.001.001.03, is an XML-based message format under the ISO 20022 standard designed to streamline cross-border and domestic payment processes./rss.xml2023-05-23T23:23:23+00:002023-05-23T23:23:23+00:00Shokunin (職人) Static Site Generator 🦀 (version 0.0.11)Pain001 RSS/rss/d11d62a9-654e-43a6-b879-d13ff653f55aRSS feed for the Pain001 website2023-05-23T23:23:23+00:00 \ No newline at end of file diff --git a/public/pain.001.001.09/index.html b/public/pain.001.001.09/index.html new file mode 100644 index 0000000..d89f8fe --- /dev/null +++ b/public/pain.001.001.09/index.html @@ -0,0 +1,5 @@ +Customer Credit Transfer Initiation V9 (pain.001.001.09)

Customer Credit Transfer Initiation V9 (pain.001.001.09)

pain.001.001.09, is an XML-based message format under the ISO 20022 standard designed to streamline cross-border and domestic payment processes.


Overview

The Customer Credit Transfer Initiation V9 (pain.001.001.09) is an XML-based message format under the ISO 20022 standard, designed to streamline cross-border and domestic payment processes. It is the successor to the Customer Credit Transfer Initiation V9 (pain.001.001.09) message format, and includes a number of enhancements that improve the efficiency, security, and flexibility of payment processing.

Features/Benefits

The pain.001.001.09 message format offers a number of features and benefits over the previous version, including:

  • Enhanced data richness: The format includes additional data elements that provide more detailed information about the payment, such as the purpose of the payment, the tax identification numbers of the sender and receiver, and the reason for the payment.
  • Improved flexibility: The format allows for more flexible payment instructions, such as the ability to specify multiple payment beneficiaries and the ability to split payments between multiple accounts.
  • Increased security: The format includes a number of security features that help to protect payments from fraud and errors, such as digital signatures and encryption.
  • Improved interoperability: The format is compatible with other ISO 20022 messages, which facilitates seamless communication between different financial institutions and systems.

Market Opportunity

The adoption of pain.001.001.09 presents a significant market opportunity for financial institutions. By implementing this message format, organizations can:

  • Enhance customer experience by offering faster and more transparent payments
  • Improve operational efficiency and reduce costs associated with manual processing
  • Position themselves as industry leaders in adopting global standards for payment processing
  • Leverage the ISO 20022 standard to explore new business opportunities and partnerships
  • Ensure compliance with evolving regulatory requirements and stay ahead of the competition

Copyright © pain001.com 2023. All rights reserved.

\ No newline at end of file diff --git a/public/pain.001.001.09/manifest.json b/public/pain.001.001.09/manifest.json new file mode 100644 index 0000000..c1b8a16 --- /dev/null +++ b/public/pain.001.001.09/manifest.json @@ -0,0 +1,22 @@ +{ + "background_color": "#000", + "description": "pain.001.001.09, is an XML-based message format under the ISO 20022 standard designed to streamline cross-border and domestic payment processes.", + "dir": "/", + "display": "fullscreen", + "icons": [ + { + "purpose": "any maskable", + "sizes": "512x512", + "src": "https://kura.pro/pain001/images/icons/512x512.png", + "type": "image/png" + } + ], + "identity": "/", + "lang": "en-GB", + "name": "Customer Credit Transfer Initiation V9 (pain.001.001.09)", + "orientation": "any", + "scope": "/", + "short_name": "/", + "start_url": "/", + "theme_color": "#fff" +} \ No newline at end of file diff --git a/public/pain.001.001.09/rss.xml b/public/pain.001.001.09/rss.xml new file mode 100644 index 0000000..f12d9fe --- /dev/null +++ b/public/pain.001.001.09/rss.xml @@ -0,0 +1 @@ +Customer Credit Transfer Initiation V9 (pain.001.001.09)pain.001.001.09, is an XML-based message format under the ISO 20022 standard designed to streamline cross-border and domestic payment processes./rss.xml2023-05-23T23:23:23+00:002023-05-23T23:23:23+00:00Shokunin (職人) Static Site Generator 🦀 (version 0.0.11)Pain001 RSS/rss/d11d62a9-654e-43a6-b879-d13ff653f55aRSS feed for the Pain001 website2023-05-23T23:23:23+00:00 \ No newline at end of file diff --git a/public/rss.xml b/public/rss.xml new file mode 100644 index 0000000..5f24159 --- /dev/null +++ b/public/rss.xml @@ -0,0 +1 @@ +Pain001 - A Python Library for Automating ISO 20022-Compliant Payment Files Using CSV DataPain001 allows users to create ISO 20022-compliant payment files directly from CSV data./rss.xml2023-05-23T23:23:23+00:002023-05-23T23:23:23+00:00Shokunin (職人) Static Site Generator 🦀 (version 0.0.11)Pain001 RSS/rss/d11d62a9-654e-43a6-b879-d13ff653f55aRSS feed for the Pain001 website2023-05-23T23:23:23+00:00 \ No newline at end of file diff --git a/pyproject.toml b/pyproject.toml index e8bcbe1..444f096 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "pain001" -version = "0.0.15" +version = "0.0.16" description = "pain001 is a Python library that makes it easy to automate the creation of ISO20022-compliant payment files directly from a CSV file." authors = ["Sebastien Rousseau "] license = "Apache Software License" diff --git a/requirements.txt b/requirements.txt index e08b001..45cae35 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1 +1 @@ -xmlschema==1.8.0 \ No newline at end of file +xmlschema==2.3.0 \ No newline at end of file diff --git a/setup.cfg b/setup.cfg index 3b74e3b..47ec8eb 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,13 +1,14 @@ [metadata] name = pain001 -version = 0.0.15 +version = 0.0.16 author = Sebastian Rousseau -author_email = sebastienrousseau@users.noreply.github.com -description = pain001 is a Python library that makes it easy to automate the creation of ISO20022-compliant payment files directly from a CSV file. +author_email = sebastian.rousseau@gmail.com +description = pain001 is a Python Library for Automating ISO 20022-Compliant Payment Files Using CSV Data. long_description = file: README.md long_description_content_type = text/markdown url = https://github.com/sebastienrousseau/pain001 license = Apache Software License +license_file = LICENSE-APACHE classifiers = Development Status :: 4 - Beta Intended Audience :: Developers @@ -22,7 +23,11 @@ classifiers = Operating System :: POSIX Operating System :: MacOS Operating System :: Unix - +project_urls = + Documentation = https://pain001.com/documentation/ + Funding = https://paypal.me/wwdseb + Release notes = https://pain001.com/release-notes/ + Source = https://github.com/sebastienrousseau/pain001/releases keywords = iso 20022 pain.001 credit transfer financial banking payments csv sepa [options] diff --git a/setup.py b/setup.py index a147512..cfff4e9 100644 --- a/setup.py +++ b/setup.py @@ -14,98 +14,59 @@ # See the License for the specific language governing permissions and # limitations under the License. -"""The setup.py file for Python pain001.""" +"""The setup.py file for Python Pain001.""" from setuptools import setup - LONG_DESCRIPTION = """ -The `pain001` Python package is a CLI tool that makes it easy to -automate the creation of ISO20022-compliant payment files directly from -a CSV file. - -With `pain001`, you can easily create payment transactions files in just -a few simple steps. - -The library supports both **Single Euro Payments Area (SEPA)** and -**non-SEPA credit transfers**, making it versatile for use in different -countries and regions. - -The following **ISO 20022 Payment Initiation message types** are -currently supported: - -- **pain.001.001.03** - Customer Credit Transfer Initiation - -This message is used to transmit credit transfer instructions from the -originator (the party initiating the payment) to the originator's bank. -The message supports both bulk and single payment instructions, allowing -for the transmission of multiple payments in a batch or individual -payments separately. The pain.001.001.03 message format is part of the -ISO 20022 standard and is commonly used for SEPA Credit Transfers within -the Single Euro Payments Area. It includes relevant information such as -the originator's and beneficiary's details, payment amounts, payment -references, and other transaction-related information required for -processing the credit transfers. - -- **pain.001.001.09** - Customer Credit Transfer Initiation - -This message format is part of the ISO 20022 standard and is commonly -used for SEPA Credit Transfers within the Single Euro Payments Area. It -enables the transmission of credit transfer instructions from the -originator to the originator's bank. The message includes essential -information such as the originator's and beneficiary's details, payment -amounts, payment references, and other transaction-related information -required for processing the credit transfers. +Pain001 is a Python Library for Automating ISO 20022-Compliant Payment Files +Using CSV Data. + +It offers a streamlined solution for reducing complexity and costs +associated with payment processing. By providing a simple and efficient +method to create ISO 20022-compliant payment files, it eliminates the +manual effort of file creation and validation. This not only saves valuable time +and resources but also minimizes the risk of errors, ensuring accurate and +seamless payment processing. """.strip() -SHORT_DESCRIPTION = """pain001 is a Python library that makes it easy to -automate the creation of ISO20022-compliant payment files directly from -a CSV file.""".strip() +SHORT_DESCRIPTION = """Pain001 is a Python Library for Automating ISO 20022-Compliant Payment Files Using CSV Data.""".strip() -DEPENDENCIES = [ - 'xmlschema>=1.8.0' -] +DEPENDENCIES = ["xmlschema>=2.3.0"] -TEST_DEPENDENCIES = [ - 'xmlschema>=1.8.0', -] +TEST_DEPENDENCIES = ["xmlschema>=2.3.0", "pytest>=7.3.1"] -VERSION = '0.0.15' -URL = 'https://github.com/sebastienrousseau/pain001' +VERSION = "0.0.16" + +URL = "https://github.com/sebastienrousseau/pain001" setup( - name='pain001', + name="pain001", version=VERSION, description=SHORT_DESCRIPTION, long_description=LONG_DESCRIPTION, url=URL, - - author='Sebastien Rousseau', - author_email='sebastian.rousseau@gmail.com', - license='Apache Software License', - + author="Sebastien Rousseau", + author_email="sebastian.rousseau@gmail.com", + license="Apache Software License", classifiers=[ - 'Development Status :: 4 - Beta', - 'Intended Audience :: Developers', - 'Intended Audience :: Financial and Insurance Industry', - 'Topic :: Software Development :: Libraries :: Python Modules', - 'License :: OSI Approved :: Apache Software License', - 'Programming Language :: Python', - 'Programming Language :: Python :: 3.9', - 'Programming Language :: Python :: 3.10', - 'Programming Language :: Python :: 3.11', - 'Operating System :: OS Independent', - 'Operating System :: POSIX', - 'Operating System :: MacOS', - 'Operating System :: Unix', + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "Intended Audience :: Financial and Insurance Industry", + "Topic :: Software Development :: Libraries :: Python Modules", + "License :: OSI Approved :: Apache Software License", + "Programming Language :: Python", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Operating System :: OS Independent", + "Operating System :: POSIX", + "Operating System :: MacOS", + "Operating System :: Unix", ], - - keywords='iso 20022 pain.001 credit transfer financial banking \ - payments csv sepa', - - packages=['pain001'], - - + keywords="iso 20022 pain.001 credit transfer financial banking \ + payments csv sepa", + packages=["pain001"], install_requires=DEPENDENCIES, tests_require=TEST_DEPENDENCIES, ) From 97daab468f422642c91cf338b862fe0db1ffc6b9 Mon Sep 17 00:00:00 2001 From: Sebastien Rousseau Date: Sat, 20 May 2023 23:55:11 +0100 Subject: [PATCH 2/3] fix(pain001): E501 line too long (80 > 79 characters) --- pain001/__main__.py | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/pain001/__main__.py b/pain001/__main__.py index 0ad2b74..efdba7e 100644 --- a/pain001/__main__.py +++ b/pain001/__main__.py @@ -33,16 +33,22 @@ cli_string = """ -Pain001 is a Python Library for Automating ISO 20022-Compliant Payment Files Using CSV Data. +Pain001 is a Python Library for Automating ISO 20022-Compliant Payment Files +Using CSV Data. It offers a streamlined solution for reducing complexity and costs associated with payment processing. By providing a simple and efficient method to create ISO 20022-compliant payment files, it eliminates the manual effort of file creation and validation. This not only saves valuable time and resources but -also minimizes the risk of errors, ensuring accurate and seamless payment processing. +also minimizes the risk of errors, ensuring accurate and seamless payment +processing. Usage: - python3 -m pain001 + python3 -m pain001 \ + \ + \ + \ + Arguments: xml_message_type: The type of XML message. Valid values are: @@ -53,7 +59,10 @@ csv_file_path: The path to the CSV data file. Example: - python3 -m pain001 "pain.001.001.09" ./templates/pain.001.001.09/template.xml ./templates/pain.001.001.09/pain.001.001.09.xsd ./templates/pain.001.001.09/template.csv + python3 -m pain001 "pain.001.001.09" \ + ./templates/pain.001.001.09/template.xml \ + ./templates/pain.001.001.09/pain.001.001.09.xsd \ + ./templates/pain.001.001.09/template.csv This command will generate a pain.001.001.09 XML file using the template files in the ./templates/pain.001.001.09/ directory and the CSV data in From 1980f2af3b0f7723e4e557c5a22574f01e420ab1 Mon Sep 17 00:00:00 2001 From: Sebastien Rousseau Date: Sat, 20 May 2023 23:57:51 +0100 Subject: [PATCH 3/3] fix(pain001): E501 line too long (80 > 79 characters) --- setup.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/setup.py b/setup.py index cfff4e9..afb1af1 100644 --- a/setup.py +++ b/setup.py @@ -25,12 +25,14 @@ It offers a streamlined solution for reducing complexity and costs associated with payment processing. By providing a simple and efficient method to create ISO 20022-compliant payment files, it eliminates the -manual effort of file creation and validation. This not only saves valuable time -and resources but also minimizes the risk of errors, ensuring accurate and +manual effort of file creation and validation. This not only saves valuable +time and resources but also minimizes the risk of errors, ensuring accurate and seamless payment processing. """.strip() -SHORT_DESCRIPTION = """Pain001 is a Python Library for Automating ISO 20022-Compliant Payment Files Using CSV Data.""".strip() +SHORT_DESCRIPTION = """ +Pain001 is a Python Library for Automating ISO 20022-Compliant Payment Files +Using CSV Data.""".strip() DEPENDENCIES = ["xmlschema>=2.3.0"]