bankstatementparser 0.0.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,229 @@
1
+ Metadata-Version: 2.1
2
+ Name: bankstatementparser
3
+ Version: 0.0.1
4
+ Summary: BankStatementParser is your essential tool for easy bank statement management.
5
+ Home-page: https://bankstatementparser.com
6
+ Author: Sebastien Rousseau
7
+ Author-email: sebastian.rousseau@gmail.com
8
+ License: Apache Software License
9
+ Project-URL: Documentation, https://bankstatementparser.com/
10
+ Project-URL: Funding, https://paypal.me/wwdseb
11
+ Project-URL: Source, https://github.com/sebastienrousseau/bankstatementparser/releases
12
+ Keywords: banking,finance,parsing,CAMT,ISO20022,treasury,SEPA,analysis,transactions,reporting
13
+ Classifier: Development Status :: 4 - Beta
14
+ Classifier: Intended Audience :: Developers
15
+ Classifier: Intended Audience :: Financial and Insurance Industry
16
+ Classifier: License :: OSI Approved :: Apache Software License
17
+ Classifier: Operating System :: MacOS
18
+ Classifier: Operating System :: OS Independent
19
+ Classifier: Operating System :: POSIX
20
+ Classifier: Operating System :: Unix
21
+ Classifier: Programming Language :: Python :: 3.9
22
+ Classifier: Programming Language :: Python :: 3.10
23
+ Classifier: Programming Language :: Python :: 3.11
24
+ Classifier: Programming Language :: Python :: 3.12
25
+ Classifier: Programming Language :: Python
26
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
27
+ Requires-Python: >=3.9,<3.13
28
+ Description-Content-Type: text/markdown
29
+ Requires-Dist: lxml>=4.9.3
30
+ Requires-Dist: openpyxl>=3.1.2
31
+ Requires-Dist: pandas>=2.1.1
32
+ Requires-Dist: requests>=2.31.0
33
+
34
+ <!-- markdownlint-disable MD033 MD041 -->
35
+
36
+ <img
37
+ src="https://kura.pro/bankstatementparser/images/logos/bankstatementparser.webp"
38
+ alt="Logo of Bank Statement Parser"
39
+ width="261"
40
+ align="right" />
41
+
42
+ <!-- markdownlint-enable MD033 MD041 -->
43
+
44
+ # Bank Statement Parser: Automate Your Bank Statement Processing
45
+
46
+ ![Bank Statement Parser banner][banner]
47
+
48
+ ## The Bank Statement Parser is a Python library built for Finance and Treasury Professionals
49
+
50
+ [![PyPI][pypi-badge]][03] [![PyPI Downloads][pypi-downloads-badge]][07] [![License][license-badge]][01] [![Codecov][codecov-badge]][06]
51
+
52
+ ## Overview
53
+
54
+ The Bank Statement Parser is an essential Python library for financial data management. Developed for the busy finance and treasury professional, it simplifies the task of parsing bank statements.
55
+
56
+ This tool simplifies the process of analysing CAMT and SEPA transaction files. Its streamlined design removes cumbersome manual data review and provides you with a concise, accurate report to facilitate further analysis.
57
+
58
+ Bank Statement Parser helps you save time by quickly and accurately processing data, allowing you to focus on your financial insights and decisions. Its reliable precision is powered by Python, making it the smarter, more efficient way to manage bank statements.
59
+
60
+ ## Key Features
61
+
62
+ - **Versatile Parsing**: Easily handle formats like CAMT (ISO 20022) and beyond.
63
+ - **Financial Insights**: Unlock detailed analysis with powerful calculation utilities.
64
+ - **Simple CLI**: Automate and integrate with a straightforward command-line interface.
65
+
66
+ ### Why Choose the Bank Statement Parser
67
+
68
+ - **Designed for Finance**: Tailored features for the finance sector's needs.
69
+ - **Efficiency at Heart**: Transform complex data tasks into simple ones.
70
+ - **Community First**: Built and enhanced by experts, for experts.
71
+
72
+ ### Functionality
73
+
74
+ - **CamtParser**: Parse CAMT format files with ease.
75
+ - **Pain001Parser**: Handle SEPA PAIN.001 files effortlessly.
76
+
77
+ ## Installation
78
+
79
+ ### Create a Virtual Environment
80
+
81
+ We recommend creating a virtual environment to install the Bank Statement Parser. This will ensure that the package is installed in an isolated environment and will not affect other projects.
82
+
83
+ ```bash
84
+ python3 -m venv venv
85
+ source venv/bin/activate # On Windows use `venv\Scripts\activate`
86
+ ```
87
+
88
+ ### Getting Started
89
+
90
+ Install `bankstatementparser` with just one command:
91
+
92
+ ```bash
93
+ pip install bankstatementparser
94
+ ```
95
+
96
+ ## Usage
97
+
98
+ ### CAMT Files
99
+
100
+ ```python
101
+ from bankstatementparser import CamtParser
102
+
103
+ # Initialize the parser with the CAMT file path
104
+ camt_parser = CamtParser('path/to/camt/file.xml')
105
+
106
+ # Parse the file and get the results
107
+ results = camt_parser.parse()
108
+ ```
109
+
110
+ ### PAIN.001 Files
111
+
112
+ ```python
113
+ from bankstatementparser import Pain001Parser
114
+
115
+ # Initialize the parser with the PAIN.001 file path
116
+ pain_parser = Pain001Parser('path/to/pain/file.xml')
117
+
118
+ # Parse the file and get the results
119
+ results = pain_parser.parse()
120
+ ```
121
+
122
+ ## Command Line Interface (CLI) Guide
123
+
124
+ Leverage the CLI for quick parsing tasks:
125
+
126
+ ### Basic Command
127
+
128
+ ```bash
129
+ python cli.py --type <file_type> --input <input_file> [--output <output_file>]
130
+ ```
131
+
132
+ - `--type`: Type of the bank statement file. Currently supported types are "camt" and "pain001".
133
+ - `--input`: Path to the bank statement file.
134
+ - `--output`: (Optional) Path to save the parsed data. If not provided, data is printed to the console.
135
+
136
+ ### Examples for CAMT Files
137
+
138
+ 1. Parse a CAMT file and print the results to the console:
139
+
140
+ ```bash
141
+ python cli.py --type camt --input path/to/camt/camt_file.xml
142
+ ```
143
+
144
+ Using the test data:
145
+
146
+ ```bash
147
+ python ./bankstatementparser/cli.py --type camt --input ./tests/test_data/camt.053.001.02.xml
148
+ ```
149
+
150
+ 2. Parse a CAMT file and save the results to a CSV file:
151
+
152
+ ```bash
153
+ python cli.py --type camt --input path/to/camt/file.xml --output path/to/output/file.csv
154
+ ```
155
+
156
+ Using the test data:
157
+
158
+ ```bash
159
+ python ./bankstatementparser/cli.py --type camt --input ./tests/test_data/camt.053.001.02.xml --output ./tests/test_data/camt_file.csv
160
+ ```
161
+
162
+ ### Examples for PAIN.001 Files
163
+
164
+ 1. Parse a PAIN.001.001.03 file and print the results to the console:
165
+
166
+ ```bash
167
+ python cli.py --type pain001 --input path/to/pain.001.001.03.xml
168
+ ```
169
+
170
+ Using the test data:
171
+
172
+ ```bash
173
+ python ./bankstatementparser/cli.py --type pain001 --input ./tests/test_data/pain.001.001.03.xml
174
+ ```
175
+
176
+ 2. Parse a PAIN.001.001.03 file and save the results to a CSV file:
177
+
178
+ ```bash
179
+ python cli.py --type pain001 --input path/to/pain.001.001.03.xml --output path/to/output/file.csv
180
+ ```
181
+
182
+ Using the test data:
183
+
184
+ ```bash
185
+ python ./bankstatementparser/cli.py --type pain001 --input ./tests/test_data/pain.001.001.03.xml --output ./tests/test_data/pain_file.csv
186
+ ```
187
+
188
+ ## License
189
+
190
+ The project is licensed under the terms of both the MIT license and the
191
+ Apache License (Version 2.0).
192
+
193
+ - [Apache License, Version 2.0][01]
194
+ - [MIT license][02]
195
+
196
+ ## Contribution
197
+
198
+ We welcome contributions to **bankstatementparser**. Please see the
199
+ [contributing instructions][04] for more information.
200
+
201
+ Unless you explicitly state otherwise, any contribution intentionally
202
+ submitted for inclusion in the work by you, as defined in the
203
+ Apache-2.0 license, shall be dual licensed as above, without any
204
+ additional terms or conditions.
205
+
206
+ ## Acknowledgements
207
+
208
+ We would like to extend a big thank you to all the awesome contributors
209
+ of [bankstatementparser][05] for their help and support.
210
+
211
+ This repo was inspired by [khorevkp/KK_Tools][08]'s innovative use of data
212
+ structures and algorithms, and was forked to build upon its foundation. Thank
213
+ you to [Konstantin Khorev][09]
214
+
215
+ [01]: https://opensource.org/license/apache-2-0/ "Apache License, Version 2.0"
216
+ [02]: http://opensource.org/licenses/MIT "MIT license"
217
+ [03]: https://github.com/sebastienrousseau/bankstatementparser "Bank Statement Parser on GitHub"
218
+ [04]: https://github.com/sebastienrousseau/bankstatementparser/blob/main/CONTRIBUTING.md "Contributing instructions"
219
+ [05]: https://github.com/sebastienrousseau/bankstatementparser/graphs/contributors "Contributors"
220
+ [06]: https://codecov.io/github/sebastienrousseau/bankstatementparser?branch=main "Codecov"
221
+ [07]: https://pypi.org/project/bankstatementparser/ "Bank Statement Parser on PyPI"
222
+ [08]: https://github.com/khorevkp/KK_Tools "KK_Tools on GitHub"
223
+ [09]: https://github.com/khorevkp "Konstantin Khorev on GitHub"
224
+
225
+ [banner]: https://kura.pro/bankstatementparser/images/titles/title-bankstatementparser.webp "Bank Statement Parser banner"
226
+ [codecov-badge]: https://img.shields.io/codecov/c/github/sebastienrousseau/pain001?style=for-the-badge&token=AaUxKfRiou 'Codecov badge'
227
+ [license-badge]: https://img.shields.io/pypi/l/pain001?style=for-the-badge 'License badge'
228
+ [pypi-badge]: https://img.shields.io/pypi/pyversions/pain001.svg?style=for-the-badge 'PyPI badge'
229
+ [pypi-downloads-badge]:https://img.shields.io/pypi/dm/pain001.svg?style=for-the-badge 'PyPI Downloads badge'
@@ -0,0 +1,196 @@
1
+ <!-- markdownlint-disable MD033 MD041 -->
2
+
3
+ <img
4
+ src="https://kura.pro/bankstatementparser/images/logos/bankstatementparser.webp"
5
+ alt="Logo of Bank Statement Parser"
6
+ width="261"
7
+ align="right" />
8
+
9
+ <!-- markdownlint-enable MD033 MD041 -->
10
+
11
+ # Bank Statement Parser: Automate Your Bank Statement Processing
12
+
13
+ ![Bank Statement Parser banner][banner]
14
+
15
+ ## The Bank Statement Parser is a Python library built for Finance and Treasury Professionals
16
+
17
+ [![PyPI][pypi-badge]][03] [![PyPI Downloads][pypi-downloads-badge]][07] [![License][license-badge]][01] [![Codecov][codecov-badge]][06]
18
+
19
+ ## Overview
20
+
21
+ The Bank Statement Parser is an essential Python library for financial data management. Developed for the busy finance and treasury professional, it simplifies the task of parsing bank statements.
22
+
23
+ This tool simplifies the process of analysing CAMT and SEPA transaction files. Its streamlined design removes cumbersome manual data review and provides you with a concise, accurate report to facilitate further analysis.
24
+
25
+ Bank Statement Parser helps you save time by quickly and accurately processing data, allowing you to focus on your financial insights and decisions. Its reliable precision is powered by Python, making it the smarter, more efficient way to manage bank statements.
26
+
27
+ ## Key Features
28
+
29
+ - **Versatile Parsing**: Easily handle formats like CAMT (ISO 20022) and beyond.
30
+ - **Financial Insights**: Unlock detailed analysis with powerful calculation utilities.
31
+ - **Simple CLI**: Automate and integrate with a straightforward command-line interface.
32
+
33
+ ### Why Choose the Bank Statement Parser
34
+
35
+ - **Designed for Finance**: Tailored features for the finance sector's needs.
36
+ - **Efficiency at Heart**: Transform complex data tasks into simple ones.
37
+ - **Community First**: Built and enhanced by experts, for experts.
38
+
39
+ ### Functionality
40
+
41
+ - **CamtParser**: Parse CAMT format files with ease.
42
+ - **Pain001Parser**: Handle SEPA PAIN.001 files effortlessly.
43
+
44
+ ## Installation
45
+
46
+ ### Create a Virtual Environment
47
+
48
+ We recommend creating a virtual environment to install the Bank Statement Parser. This will ensure that the package is installed in an isolated environment and will not affect other projects.
49
+
50
+ ```bash
51
+ python3 -m venv venv
52
+ source venv/bin/activate # On Windows use `venv\Scripts\activate`
53
+ ```
54
+
55
+ ### Getting Started
56
+
57
+ Install `bankstatementparser` with just one command:
58
+
59
+ ```bash
60
+ pip install bankstatementparser
61
+ ```
62
+
63
+ ## Usage
64
+
65
+ ### CAMT Files
66
+
67
+ ```python
68
+ from bankstatementparser import CamtParser
69
+
70
+ # Initialize the parser with the CAMT file path
71
+ camt_parser = CamtParser('path/to/camt/file.xml')
72
+
73
+ # Parse the file and get the results
74
+ results = camt_parser.parse()
75
+ ```
76
+
77
+ ### PAIN.001 Files
78
+
79
+ ```python
80
+ from bankstatementparser import Pain001Parser
81
+
82
+ # Initialize the parser with the PAIN.001 file path
83
+ pain_parser = Pain001Parser('path/to/pain/file.xml')
84
+
85
+ # Parse the file and get the results
86
+ results = pain_parser.parse()
87
+ ```
88
+
89
+ ## Command Line Interface (CLI) Guide
90
+
91
+ Leverage the CLI for quick parsing tasks:
92
+
93
+ ### Basic Command
94
+
95
+ ```bash
96
+ python cli.py --type <file_type> --input <input_file> [--output <output_file>]
97
+ ```
98
+
99
+ - `--type`: Type of the bank statement file. Currently supported types are "camt" and "pain001".
100
+ - `--input`: Path to the bank statement file.
101
+ - `--output`: (Optional) Path to save the parsed data. If not provided, data is printed to the console.
102
+
103
+ ### Examples for CAMT Files
104
+
105
+ 1. Parse a CAMT file and print the results to the console:
106
+
107
+ ```bash
108
+ python cli.py --type camt --input path/to/camt/camt_file.xml
109
+ ```
110
+
111
+ Using the test data:
112
+
113
+ ```bash
114
+ python ./bankstatementparser/cli.py --type camt --input ./tests/test_data/camt.053.001.02.xml
115
+ ```
116
+
117
+ 2. Parse a CAMT file and save the results to a CSV file:
118
+
119
+ ```bash
120
+ python cli.py --type camt --input path/to/camt/file.xml --output path/to/output/file.csv
121
+ ```
122
+
123
+ Using the test data:
124
+
125
+ ```bash
126
+ python ./bankstatementparser/cli.py --type camt --input ./tests/test_data/camt.053.001.02.xml --output ./tests/test_data/camt_file.csv
127
+ ```
128
+
129
+ ### Examples for PAIN.001 Files
130
+
131
+ 1. Parse a PAIN.001.001.03 file and print the results to the console:
132
+
133
+ ```bash
134
+ python cli.py --type pain001 --input path/to/pain.001.001.03.xml
135
+ ```
136
+
137
+ Using the test data:
138
+
139
+ ```bash
140
+ python ./bankstatementparser/cli.py --type pain001 --input ./tests/test_data/pain.001.001.03.xml
141
+ ```
142
+
143
+ 2. Parse a PAIN.001.001.03 file and save the results to a CSV file:
144
+
145
+ ```bash
146
+ python cli.py --type pain001 --input path/to/pain.001.001.03.xml --output path/to/output/file.csv
147
+ ```
148
+
149
+ Using the test data:
150
+
151
+ ```bash
152
+ python ./bankstatementparser/cli.py --type pain001 --input ./tests/test_data/pain.001.001.03.xml --output ./tests/test_data/pain_file.csv
153
+ ```
154
+
155
+ ## License
156
+
157
+ The project is licensed under the terms of both the MIT license and the
158
+ Apache License (Version 2.0).
159
+
160
+ - [Apache License, Version 2.0][01]
161
+ - [MIT license][02]
162
+
163
+ ## Contribution
164
+
165
+ We welcome contributions to **bankstatementparser**. Please see the
166
+ [contributing instructions][04] for more information.
167
+
168
+ Unless you explicitly state otherwise, any contribution intentionally
169
+ submitted for inclusion in the work by you, as defined in the
170
+ Apache-2.0 license, shall be dual licensed as above, without any
171
+ additional terms or conditions.
172
+
173
+ ## Acknowledgements
174
+
175
+ We would like to extend a big thank you to all the awesome contributors
176
+ of [bankstatementparser][05] for their help and support.
177
+
178
+ This repo was inspired by [khorevkp/KK_Tools][08]'s innovative use of data
179
+ structures and algorithms, and was forked to build upon its foundation. Thank
180
+ you to [Konstantin Khorev][09]
181
+
182
+ [01]: https://opensource.org/license/apache-2-0/ "Apache License, Version 2.0"
183
+ [02]: http://opensource.org/licenses/MIT "MIT license"
184
+ [03]: https://github.com/sebastienrousseau/bankstatementparser "Bank Statement Parser on GitHub"
185
+ [04]: https://github.com/sebastienrousseau/bankstatementparser/blob/main/CONTRIBUTING.md "Contributing instructions"
186
+ [05]: https://github.com/sebastienrousseau/bankstatementparser/graphs/contributors "Contributors"
187
+ [06]: https://codecov.io/github/sebastienrousseau/bankstatementparser?branch=main "Codecov"
188
+ [07]: https://pypi.org/project/bankstatementparser/ "Bank Statement Parser on PyPI"
189
+ [08]: https://github.com/khorevkp/KK_Tools "KK_Tools on GitHub"
190
+ [09]: https://github.com/khorevkp "Konstantin Khorev on GitHub"
191
+
192
+ [banner]: https://kura.pro/bankstatementparser/images/titles/title-bankstatementparser.webp "Bank Statement Parser banner"
193
+ [codecov-badge]: https://img.shields.io/codecov/c/github/sebastienrousseau/pain001?style=for-the-badge&token=AaUxKfRiou 'Codecov badge'
194
+ [license-badge]: https://img.shields.io/pypi/l/pain001?style=for-the-badge 'License badge'
195
+ [pypi-badge]: https://img.shields.io/pypi/pyversions/pain001.svg?style=for-the-badge 'PyPI badge'
196
+ [pypi-downloads-badge]:https://img.shields.io/pypi/dm/pain001.svg?style=for-the-badge 'PyPI Downloads badge'
@@ -0,0 +1,32 @@
1
+ # Copyright (C) 2023 Sebastien Rousseau.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ """
16
+ `bankstatementparser` package provides useful tools for finance and
17
+ treasury specialists.
18
+
19
+ This package includes modules for parsing bank statements in various
20
+ formats, as well as other utilities commonly used in finance and treasury
21
+ operations.
22
+ """
23
+
24
+ from .bank_statement_parsers import __init__
25
+ from .camt_parser import CamtParser
26
+ from .pain001_parser import Pain001Parser
27
+
28
+ __all__ = [
29
+ 'CamtParser',
30
+ 'Pain001Parser',
31
+ '__init__'
32
+ ]