Skip to content

Commit f2215d9

Browse files
committedNov 19, 2023
chore(pain001): ⬆️ Updated dependencies and documentation
1 parent 55ef1be commit f2215d9

8 files changed

+155
-125
lines changed
 

‎.gitignore

+13
Original file line numberDiff line numberDiff line change
@@ -84,10 +84,13 @@ celerybeat-schedule
8484

8585
# virtualenv
8686
.venv
87+
.pain001/
88+
.pytest_cache/
8789
bandit-env
8890
myenv
8991
venv/
9092
ENV/
93+
pyvenv.cfg
9194

9295
# Spyder project settings
9396
.spyderproject
@@ -114,3 +117,13 @@ ENV/
114117
# Database
115118
*.db-shm
116119
*.db-wal
120+
pain001/bin/activate
121+
pain001/bin/activate.csh
122+
pain001/bin/activate.fish
123+
pain001/bin/Activate.ps1
124+
pain001/bin/pip
125+
pain001/bin/pip3
126+
pain001/bin/pip3.11
127+
pain001/bin/python
128+
pain001/bin/python3
129+
pain001/bin/python3.11

‎Makefile

+2-2
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,10 @@
2020

2121
dist:
2222
rm -rf ./dist && \
23-
python3 setup.py sdist bdist_wheel
23+
python setup.py sdist bdist_wheel
2424

2525
release: dist
2626
bzr diff && \
2727
twine upload dist/* && \
28-
bzr tag $$(python3 setup.py --version|tail -1) && \
28+
bzr tag $$(python setup.py --version|tail -1) && \
2929
bzr push

‎README.md

+51-38
Original file line numberDiff line numberDiff line change
@@ -8,19 +8,13 @@
88

99
## Overview
1010

11-
12-
**Pain001** is an open-source Python Library that you can use to create
13-
**ISO 20022-Compliant Payment Files** directly from your **CSV** or **SQLite**
14-
Data Files.
11+
**Pain001** is an open-source Python Library that you can use to create **ISO 20022-Compliant Payment Files** directly from your **CSV** or **SQLite** Data Files.
1512

1613
- **Website:** <https://pain001.com>
1714
- **Source code:** <https://github.com/sebastienrousseau/pain001>
1815
- **Bug reports:** <https://github.com/sebastienrousseau/pain001/issues>
1916

20-
The Python library focuses specifically on
21-
**Payment Initiation and Advice Messages**, commonly known as **Pain**. In a
22-
very simplified way, a **pain.001** is a message that initiates the customer
23-
payment.
17+
The Python library focuses specifically on **Payment Initiation and Advice Messages**, commonly known as **Pain**. In a very simplified way, a **pain.001** is a message that initiates the customer payment.
2418

2519
As of today the library is designed to be compatible with the:
2620

@@ -32,21 +26,12 @@ As of today the library is designed to be compatible with the:
3226
- **Payments Initiation V08 (pain.001.001.08)**: Included support for the TARGET Instant Settlement Service (TISS) and introduced a new pain.002 message type for debit transfers.
3327
- **Payments Initiation V09 (pain.001.001.09)**: The latest version, which introduced support for Request for Account Information (RAI) functionality.
3428

35-
Payments usually start with a **pain.001 payment initiation message**. The
36-
payer sends it to the payee (or the payee’s bank) via a secure network. This
37-
network could be **SWIFT** or **SEPA (Single Euro Payments Area) network**, or
38-
other payment networks such as **CHAPS**, **BACS**, **Faster Payments**, etc.
39-
The message contains the payer’s and payee’s bank account details, payment
40-
amount, and other information required to process the payment.
29+
Payments usually start with a **pain.001 payment initiation message**. The payer sends it to the payee (or the payee’s bank) via a secure network. This
30+
network could be **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.
4131

42-
The **Pain001** library can reduce payment processing complexity and costs by
43-
generating ISO 20022-compliant payment files. These files automatically remove
44-
the need to create and validate them manually, making the payment process more
45-
efficient and cost-effective. It will save you time and resources and minimises
46-
the risk of errors, making sure accurate and seamless payment processing.
32+
The **Pain001** library can reduce payment processing complexity and costs by generating ISO 20022-compliant payment files. These files automatically remove the need to create and validate them manually, making the payment process more efficient and cost-effective. It will save you time and resources and minimises the risk of errors, making sure accurate and seamless payment processing.
4733

48-
Use the **Pain001** library to simplify, accelerate and automate your payment
49-
processing.
34+
Use the **Pain001** library to simplify, accelerate and automate your payment processing.
5035

5136
## Table of Contents
5237

@@ -57,6 +42,10 @@ processing.
5742
- [Features](#features)
5843
- [Requirements](#requirements)
5944
- [Installation](#installation)
45+
- [Install `virtualenv`](#install-virtualenv)
46+
- [Create a Virtual Environment](#create-a-virtual-environment)
47+
- [Activate environment](#activate-environment)
48+
- [Getting Started](#getting-started)
6049
- [Quick Start](#quick-start)
6150
- [Arguments](#arguments)
6251
- [Examples](#examples)
@@ -110,33 +99,58 @@ processing.
11099

111100
## Requirements
112101

113-
**Pain001** works with macOS, Linux and Windows and requires Python 3.9.0 and
114-
above.
102+
**Pain001** works with macOS, Linux and Windows and requires Python 3.9.0 and above.
115103

116104
## Installation
117105

118-
It takes just a few seconds to get up and running with **Pain001**. You can
119-
install Pain001 from PyPI with pip or your favourite package manager:
106+
We recommend creating a virtual environment to install **Pain001**. This will ensure that the package is installed in an isolated environment and will not affect other projects. To install **Pain001** in a virtual environment, follow these steps:
107+
108+
### Install `virtualenv`
109+
110+
```sh
111+
python -m pip install virtualenv
112+
```
113+
114+
### Create a Virtual Environment
115+
116+
```sh
117+
python -m venv venv
118+
```
119+
120+
| Code | Explanation |
121+
|---|---|
122+
| `-m` | executes module `venv` |
123+
| `env` | name of the virtual environment |
124+
125+
### Activate environment
120126

121-
Open your terminal and run the following command:
127+
```sh
128+
source venv/bin/activate
129+
```
130+
131+
### Getting Started
132+
133+
It takes just a few seconds to get up and running with **Pain001**. You can install Pain001 from PyPI with pip or your favourite package manager:
134+
135+
Open your terminal and run the following command to add the latest version:
122136

123137
```sh
124-
pip install pain001
138+
python -m pip install pain001
125139
```
126140

127-
Add the -U switch to update to the current version, if `pain001` is already
128-
installed.
141+
Add the -U switch to update to the current version, if `pain001` is already installed.
142+
143+
```sh
144+
python -m pip install -U pain001
145+
```
129146

130147
## Quick Start
131148

132-
After installation, you can run **Pain001** directly from the command line.
133-
Simply call the main module pain001 with the paths of your:
149+
After installation, you can run **Pain001** directly from the command line. Simply call the main module pain001 with the paths of your:
134150

135-
- **XML template file** containing the various parameters you want to pass from
136-
your Data file,
151+
- **XML template file** containing the various parameters you want to pass from your Data file,
137152
- **XSD schema file** to validate the generated XML file, and
138-
- **Data file (CSV or SQLite)** containing the payment instructions that you
139-
want to submit.
153+
- **Data file (CSV or SQLite)** containing the payment instructions that you want to submit.
140154

141155
Here’s how you would do that:
142156

@@ -155,6 +169,7 @@ When running **Pain001**, you will need to specify four arguments:
155169
- An `xml_message_type`: This is the type of XML message you want to generate.
156170

157171
The currently supported types are:
172+
158173
- pain.001.001.03
159174
- pain.001.001.04
160175
- pain.001.001.05
@@ -208,9 +223,7 @@ GitHub:
208223
git clone https://github.com/sebastienrousseau/pain001.git
209224
```
210225

211-
Then, navigate to the `pain001` directory and run the following command:
212-
213-
```sh
226+
```sh
214227
python -m pain001 \
215228
-t pain.001.001.03 \
216229
-m templates/pain.001.001.03/template.xml \

‎TEMPLATE.md

+37-6
Original file line numberDiff line numberDiff line change
@@ -19,16 +19,47 @@ above.
1919

2020
## Installation
2121

22-
It takes just a few seconds to get up and running with **Pain001**. You can
23-
install Pain001 from PyPI with pip or your favourite package manager:
22+
We recommend creating a virtual environment to install **Pain001**. This will ensure that the package is installed in an isolated environment and will not affect other projects. To install **Pain001** in a virtual environment, follow these steps:
2423

25-
Open your terminal and run the following command:
24+
### Install `virtualenv`
2625

2726
```sh
28-
pip install pain001
27+
python -m pip install virtualenv
2928
```
3029

31-
Add the -U switch to update to the current version, if `pain001` is already
32-
installed.
30+
### Create a Virtual Environment
31+
32+
```sh
33+
python -m venv venv
34+
```
35+
36+
| Code | Explanation |
37+
|---|---|
38+
| `-m` | executes module `venv` |
39+
| `env` | name of the virtual environment |
40+
41+
### Activate environment
42+
43+
```sh
44+
source venv/bin/activate
45+
```
46+
47+
### Getting Started
48+
49+
It takes just a few seconds to get up and running with **Pain001**. You can install Pain001 from PyPI with pip or your favourite package manager:
50+
51+
Open your terminal and run the following command to add the latest version:
52+
53+
```sh
54+
python -m pip install pain001
55+
```
56+
57+
Add the -U switch to update to the current version, if `pain001` is already installed.
58+
59+
```sh
60+
python -m pip install -U pain001
61+
```
3362

3463
[banner]: https://kura.pro/pain001/images/banners/banner-pain001.svg 'Pain001, A Python Library for Automating ISO 20022-Compliant Payment Files Using CSV Or SQlite Data Files.'
64+
65+
## Changelog

‎poetry.lock

+11-10
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎requirements.txt

+9-9
Original file line numberDiff line numberDiff line change
@@ -80,12 +80,12 @@ markupsafe==2.1.3 ; python_version >= "3.9" and python_version < "4.0" \
8080
mdurl==0.1.2 ; python_version >= "3.9" and python_version < "4.0" \
8181
--hash=sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8 \
8282
--hash=sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba
83-
pygments==2.16.1 ; python_version >= "3.9" and python_version < "4.0" \
84-
--hash=sha256:13fc09fa63bc8d8671a6d247e1eb303c4b343eaee81d861f3404db2935653692 \
85-
--hash=sha256:1daff0494820c69bc8941e407aa20f577374ee88364ee10a98fdbe0aece96e29
86-
rich==13.5.2 ; python_version >= "3.9" and python_version < "4.0" \
87-
--hash=sha256:146a90b3b6b47cac4a73c12866a499e9817426423f57c5a66949c086191a8808 \
88-
--hash=sha256:fb9d6c0a0f643c99eed3875b5377a184132ba9be4d61516a55273d3554d75a39
89-
xmlschema==2.4.0 ; python_version >= "3.9" and python_version < "4.0" \
90-
--hash=sha256:d74cd0c10866ac609e1ef94a5a69b018ad16e39077bc6393408b40c6babee793 \
91-
--hash=sha256:dc87be0caaa61f42649899189aab2fd8e0d567f2cf548433ba7b79278d231a4a
83+
pygments==2.17.1 ; python_version >= "3.9" and python_version < "4.0" \
84+
--hash=sha256:1b37f1b1e1bff2af52ecaf28cc601e2ef7077000b227a0675da25aef85784bc4 \
85+
--hash=sha256:e45a0e74bf9c530f564ca81b8952343be986a29f6afe7f5ad95c5f06b7bdf5e8
86+
rich==13.7.0 ; python_version >= "3.9" and python_version < "4.0" \
87+
--hash=sha256:5cb5123b5cf9ee70584244246816e9114227e0b98ad9176eede6ad54bf5403fa \
88+
--hash=sha256:6da14c108c4866ee9520bbffa71f6fe3962e193b7da68720583850cd4548e235
89+
xmlschema==2.5.0 ; python_version >= "3.9" and python_version < "4.0" \
90+
--hash=sha256:276a03e0fd3c94c148d528bff4d9482f9b99bf8c7b4056a2e8e703d28149d454 \
91+
--hash=sha256:f2b29c45485fac414cc1fdb38d18a220c5987d7d3aa996e6df6ff35ee94d5a63

‎setup.cfg

+11-41
Original file line numberDiff line numberDiff line change
@@ -17,49 +17,20 @@
1717
[metadata]
1818
name = pain001
1919
version = 0.0.24
20-
description = Pain001, A Python Library for Automating ISO 20022-Compliant Payment Files Using CSV Or SQlite Data Files.
21-
keywords = pain001,iso20022,payment-processing,automate-payments,sepa,financial,banking-payments,csv,sqlite
22-
author = Sebastian Rousseau
23-
author_email = sebastian.rousseau@gmail.com
24-
url = https://github.com/sebastienrousseau/pain001
25-
license = Apache License 2.0
26-
license_files =
27-
LICENSE-APACHE
28-
LICENSE-MIT
29-
long_description = file: README.md
30-
long_description_content_type = text/markdown
31-
32-
classifiers =
33-
Development Status :: 4 - Beta
34-
Intended Audience :: Developers
35-
Intended Audience :: Financial and Insurance Industry
36-
License :: OSI Approved :: Apache Software License
37-
Operating System :: MacOS
38-
Operating System :: OS Independent
39-
Operating System :: POSIX
40-
Operating System :: Unix
41-
Programming Language :: Python
42-
Programming Language :: Python :: 3.9
43-
Programming Language :: Python :: 3.10
44-
Programming Language :: Python :: 3.11
45-
Topic :: Software Development :: Libraries :: Python Modules
46-
47-
project_urls =
48-
Documentation = https://pain001.com/
49-
Funding = https://paypal.me/wwdseb
50-
Source = https://github.com/sebastienrousseau/pain001/releases
5120

5221
[options]
53-
packages =
54-
pain001
55-
zip_safe = False
56-
include_package_data = True
57-
python_requires = ~=3.9
5822
install_requires =
59-
click
60-
defusedxml
61-
rich
62-
xmlschema
23+
click==8.1.7
24+
colorama==0.4.6
25+
defusedxml==0.7.1
26+
elementpath==4.1.5
27+
jinja2==3.1.2
28+
markdown-it-py==3.0.0
29+
markupsafe==2.1.3
30+
mdurl==0.1.2
31+
pygments==2.17.1
32+
rich==13.7.0
33+
xmlschema==2.5.0
6334

6435
[aliases]
6536
test = pytest
@@ -69,4 +40,3 @@ testpaths = tests
6940

7041
[wheel]
7142
universal = 1
72-

0 commit comments

Comments
 (0)