statement-parser 0.0.2__tar.gz → 0.0.4__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.
- {statement_parser-0.0.2/statement_parser.egg-info → statement_parser-0.0.4}/PKG-INFO +6 -10
- {statement_parser-0.0.2 → statement_parser-0.0.4}/README.md +5 -9
- {statement_parser-0.0.2 → statement_parser-0.0.4}/pyproject.toml +1 -1
- {statement_parser-0.0.2 → statement_parser-0.0.4}/statement_parser/Bank.py +2 -1
- {statement_parser-0.0.2 → statement_parser-0.0.4}/statement_parser/__init__.py +6 -0
- {statement_parser-0.0.2 → statement_parser-0.0.4}/statement_parser/banks/HdfcCredit.py +3 -4
- {statement_parser-0.0.2 → statement_parser-0.0.4}/statement_parser/banks/HsbcCredit.py +2 -3
- {statement_parser-0.0.2 → statement_parser-0.0.4}/statement_parser/banks/HsbcDebit.py +2 -3
- {statement_parser-0.0.2 → statement_parser-0.0.4}/statement_parser/banks/IciciCredit.py +2 -3
- {statement_parser-0.0.2 → statement_parser-0.0.4}/statement_parser/banks/IciciDebit.py +2 -3
- {statement_parser-0.0.2 → statement_parser-0.0.4}/statement_parser/banks/KotakDebit.py +2 -3
- {statement_parser-0.0.2 → statement_parser-0.0.4}/statement_parser/banks/Wallet.py +2 -3
- {statement_parser-0.0.2 → statement_parser-0.0.4/statement_parser.egg-info}/PKG-INFO +6 -10
- {statement_parser-0.0.2 → statement_parser-0.0.4}/LICENSE +0 -0
- {statement_parser-0.0.2 → statement_parser-0.0.4}/setup.cfg +0 -0
- {statement_parser-0.0.2 → statement_parser-0.0.4}/statement_parser/Transaction.py +0 -0
- {statement_parser-0.0.2 → statement_parser-0.0.4}/statement_parser.egg-info/SOURCES.txt +0 -0
- {statement_parser-0.0.2 → statement_parser-0.0.4}/statement_parser.egg-info/dependency_links.txt +0 -0
- {statement_parser-0.0.2 → statement_parser-0.0.4}/statement_parser.egg-info/requires.txt +0 -0
- {statement_parser-0.0.2 → statement_parser-0.0.4}/statement_parser.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: statement_parser
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.4
|
|
4
4
|
Summary: Bank Statement Parser is a Python library designed to parse and normalize transaction data from various bank statement formats ( CSV, Excel, etc.) into a consistent and easy-to-use Pandas DataFrame. It supports multiple banks and file formats, making it a versatile tool for financial data analysis.
|
|
5
5
|
Author-email: Khuzema Challawala <khuzema.ac@gmail.com>
|
|
6
6
|
Classifier: Programming Language :: Python :: 3
|
|
@@ -33,7 +33,7 @@ Requires-Dist: sphinx>=8.2.1; extra == "dev"
|
|
|
33
33
|
|
|
34
34
|
- **Multi-Format Support**: Parse bank statements from CSV, Excel, and more.
|
|
35
35
|
- **Bank-Specific Parsing**: Customizable parsers for different banks.
|
|
36
|
-
- **Consistent Output**: Normalized transaction data with standardized columns (`Date`, `Description`, `Amount`,
|
|
36
|
+
- **Consistent Output**: Normalized transaction data with standardized columns (`Date`, `Description`, `Amount`, etc.).
|
|
37
37
|
- **Easy Integration**: Simple API for quick integration into your Python projects.
|
|
38
38
|
- **Extensible**: Add support for new banks or formats with minimal effort.
|
|
39
39
|
|
|
@@ -44,7 +44,7 @@ Requires-Dist: sphinx>=8.2.1; extra == "dev"
|
|
|
44
44
|
You can install the library via pip:
|
|
45
45
|
|
|
46
46
|
```bash
|
|
47
|
-
pip install
|
|
47
|
+
pip install statement_parser
|
|
48
48
|
```
|
|
49
49
|
|
|
50
50
|
|
|
@@ -52,14 +52,10 @@ pip install BankStatementParser
|
|
|
52
52
|
### Basic Example
|
|
53
53
|
|
|
54
54
|
```python
|
|
55
|
-
from
|
|
56
|
-
|
|
57
|
-
# Initialize the parser
|
|
58
|
-
parser = BankStatementParser()
|
|
59
|
-
|
|
60
|
-
# Parse a bank statement
|
|
61
|
-
df = parser.parse("path/to/statement.pdf", format="pdf", bank="Chase")
|
|
55
|
+
from statement_parser.banks.HdfcCredit import HdfcCredit
|
|
62
56
|
|
|
57
|
+
parser = HsbcCredit()
|
|
58
|
+
df = parser.getDataFrame("path/to/statement.csv")
|
|
63
59
|
# Display the parsed transactions
|
|
64
60
|
print(df.head())
|
|
65
61
|
```
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
|
|
13
13
|
- **Multi-Format Support**: Parse bank statements from CSV, Excel, and more.
|
|
14
14
|
- **Bank-Specific Parsing**: Customizable parsers for different banks.
|
|
15
|
-
- **Consistent Output**: Normalized transaction data with standardized columns (`Date`, `Description`, `Amount`,
|
|
15
|
+
- **Consistent Output**: Normalized transaction data with standardized columns (`Date`, `Description`, `Amount`, etc.).
|
|
16
16
|
- **Easy Integration**: Simple API for quick integration into your Python projects.
|
|
17
17
|
- **Extensible**: Add support for new banks or formats with minimal effort.
|
|
18
18
|
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
You can install the library via pip:
|
|
24
24
|
|
|
25
25
|
```bash
|
|
26
|
-
pip install
|
|
26
|
+
pip install statement_parser
|
|
27
27
|
```
|
|
28
28
|
|
|
29
29
|
|
|
@@ -31,14 +31,10 @@ pip install BankStatementParser
|
|
|
31
31
|
### Basic Example
|
|
32
32
|
|
|
33
33
|
```python
|
|
34
|
-
from
|
|
35
|
-
|
|
36
|
-
# Initialize the parser
|
|
37
|
-
parser = BankStatementParser()
|
|
38
|
-
|
|
39
|
-
# Parse a bank statement
|
|
40
|
-
df = parser.parse("path/to/statement.pdf", format="pdf", bank="Chase")
|
|
34
|
+
from statement_parser.banks.HdfcCredit import HdfcCredit
|
|
41
35
|
|
|
36
|
+
parser = HsbcCredit()
|
|
37
|
+
df = parser.getDataFrame("path/to/statement.csv")
|
|
42
38
|
# Display the parsed transactions
|
|
43
39
|
print(df.head())
|
|
44
40
|
```
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
from abc import ABC, abstractmethod
|
|
2
|
+
from statement_parser.Transaction import Transaction
|
|
2
3
|
import pandas as pd
|
|
3
4
|
from dateutil import parser
|
|
4
5
|
import logging
|
|
@@ -6,7 +7,7 @@ import logging
|
|
|
6
7
|
|
|
7
8
|
class Bank(ABC):
|
|
8
9
|
@abstractmethod
|
|
9
|
-
def getTransactions(self, filename: str) ->
|
|
10
|
+
def getTransactions(self, filename: str) -> list[Transaction]:
|
|
10
11
|
pass
|
|
11
12
|
|
|
12
13
|
def getDataFrame(self, filename: str) -> pd.DataFrame:
|
|
@@ -3,6 +3,9 @@ from .Transaction import Transaction
|
|
|
3
3
|
from .banks.IciciDebit import IciciDebit
|
|
4
4
|
from .banks.IciciCredit import IciciCredit
|
|
5
5
|
from .banks.KotakDebit import KotakDebit
|
|
6
|
+
from .banks.HdfcCredit import HdfcCredit
|
|
7
|
+
from .banks.HsbcCredit import HsbcCredit
|
|
8
|
+
from .banks.HsbcDebit import HsbcDebit
|
|
6
9
|
from .banks.Wallet import Wallet
|
|
7
10
|
|
|
8
11
|
__all__ = ['Bank',
|
|
@@ -10,4 +13,7 @@ __all__ = ['Bank',
|
|
|
10
13
|
'IciciDebit',
|
|
11
14
|
'IciciCredit',
|
|
12
15
|
'KotakDebit',
|
|
16
|
+
'HdfcCredit',
|
|
17
|
+
'HsbcCredit',
|
|
18
|
+
'HsbcDebit',
|
|
13
19
|
'Wallet']
|
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
|
|
2
|
-
from typing import List
|
|
3
2
|
import pandas as pd
|
|
4
3
|
import statement_parser.Bank as Bank
|
|
5
4
|
from statement_parser.Transaction import Transaction
|
|
6
5
|
|
|
7
6
|
|
|
8
|
-
class
|
|
7
|
+
class HdfcCredit(Bank):
|
|
9
8
|
__id_bank = "HDFC-CREDIT"
|
|
10
9
|
|
|
11
|
-
def getTransactions(self, filename: str) ->
|
|
12
|
-
transactions:
|
|
10
|
+
def getTransactions(self, filename: str) -> list[Transaction]:
|
|
11
|
+
transactions: list[Transaction] = []
|
|
13
12
|
|
|
14
13
|
df = self.getData(filename)
|
|
15
14
|
self.validateDataframe(df)
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
|
|
2
|
-
from typing import List
|
|
3
2
|
import pandas as pd
|
|
4
3
|
import statement_parser.Bank as Bank
|
|
5
4
|
from statement_parser.Transaction import Transaction
|
|
@@ -8,8 +7,8 @@ from statement_parser.Transaction import Transaction
|
|
|
8
7
|
class HsbcCredit(Bank):
|
|
9
8
|
__id_bank = "HSBC-CREDIT"
|
|
10
9
|
|
|
11
|
-
def getTransactions(self, filename: str) ->
|
|
12
|
-
transactions:
|
|
10
|
+
def getTransactions(self, filename: str) -> list[Transaction]:
|
|
11
|
+
transactions: list[Transaction] = []
|
|
13
12
|
|
|
14
13
|
df = self.getData(filename)
|
|
15
14
|
self.validateDataframe(df)
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
|
|
2
|
-
from typing import List
|
|
3
2
|
import pandas as pd
|
|
4
3
|
import statement_parser.Bank as Bank
|
|
5
4
|
from statement_parser.Transaction import Transaction
|
|
@@ -8,8 +7,8 @@ from statement_parser.Transaction import Transaction
|
|
|
8
7
|
class HsbcDebit(Bank):
|
|
9
8
|
__id_bank = "HSBC-DEBIT"
|
|
10
9
|
|
|
11
|
-
def getTransactions(self, filename: str) ->
|
|
12
|
-
transactions:
|
|
10
|
+
def getTransactions(self, filename: str) -> list[Transaction]:
|
|
11
|
+
transactions: list[Transaction] = []
|
|
13
12
|
|
|
14
13
|
df = self.getData(filename)
|
|
15
14
|
self.validateDataframe(df)
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
|
|
2
|
-
from typing import List
|
|
3
2
|
import pandas as pd
|
|
4
3
|
import statement_parser.Bank as Bank
|
|
5
4
|
from statement_parser.Transaction import Transaction
|
|
@@ -8,8 +7,8 @@ from statement_parser.Transaction import Transaction
|
|
|
8
7
|
class IciciCredit(Bank):
|
|
9
8
|
__id_bank = "ICICI-CREDIT"
|
|
10
9
|
|
|
11
|
-
def getTransactions(self, filename: str) ->
|
|
12
|
-
transactions:
|
|
10
|
+
def getTransactions(self, filename: str) -> list[Transaction]:
|
|
11
|
+
transactions: list[Transaction] = []
|
|
13
12
|
|
|
14
13
|
df = self.getData(filename)
|
|
15
14
|
self.validateDataframe(df)
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
from typing import List
|
|
2
1
|
import pandas as pd
|
|
3
2
|
import statement_parser.Bank as Bank
|
|
4
3
|
from statement_parser.Transaction import Transaction
|
|
@@ -7,8 +6,8 @@ from statement_parser.Transaction import Transaction
|
|
|
7
6
|
class IciciDebit(Bank):
|
|
8
7
|
__id_bank = "ICICI-DEBIT"
|
|
9
8
|
|
|
10
|
-
def getTransactions(self, filename: str) ->
|
|
11
|
-
transactions:
|
|
9
|
+
def getTransactions(self, filename: str) -> list[Transaction]:
|
|
10
|
+
transactions: list[Transaction] = []
|
|
12
11
|
df = self.getData(filename)
|
|
13
12
|
self.validateDataframe(df)
|
|
14
13
|
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
from typing import List
|
|
2
1
|
import pandas as pd
|
|
3
2
|
import statement_parser.Bank as Bank
|
|
4
3
|
from statement_parser.Transaction import Transaction
|
|
@@ -7,8 +6,8 @@ from statement_parser.Transaction import Transaction
|
|
|
7
6
|
class KotakDebit(Bank):
|
|
8
7
|
__id_bank = "KOTAK-DEBIT"
|
|
9
8
|
|
|
10
|
-
def getTransactions(self, filename: str) ->
|
|
11
|
-
transactions:
|
|
9
|
+
def getTransactions(self, filename: str) -> list[Transaction]:
|
|
10
|
+
transactions: list[Transaction] = []
|
|
12
11
|
df = self.getData(filename)
|
|
13
12
|
self.validateDataframe(df)
|
|
14
13
|
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
from typing import List
|
|
2
1
|
import pandas as pd
|
|
3
2
|
import statement_parser.Bank as Bank
|
|
4
3
|
from statement_parser.Transaction import Transaction
|
|
@@ -7,8 +6,8 @@ from statement_parser.Transaction import Transaction
|
|
|
7
6
|
class Wallet(Bank):
|
|
8
7
|
__id_bank = "WALLET"
|
|
9
8
|
|
|
10
|
-
def getTransactions(self, filename: str) ->
|
|
11
|
-
transactions:
|
|
9
|
+
def getTransactions(self, filename: str) -> list[Transaction]:
|
|
10
|
+
transactions: list[Transaction] = []
|
|
12
11
|
df = self.getData(filename)
|
|
13
12
|
self.validateDataframe(df)
|
|
14
13
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: statement_parser
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.4
|
|
4
4
|
Summary: Bank Statement Parser is a Python library designed to parse and normalize transaction data from various bank statement formats ( CSV, Excel, etc.) into a consistent and easy-to-use Pandas DataFrame. It supports multiple banks and file formats, making it a versatile tool for financial data analysis.
|
|
5
5
|
Author-email: Khuzema Challawala <khuzema.ac@gmail.com>
|
|
6
6
|
Classifier: Programming Language :: Python :: 3
|
|
@@ -33,7 +33,7 @@ Requires-Dist: sphinx>=8.2.1; extra == "dev"
|
|
|
33
33
|
|
|
34
34
|
- **Multi-Format Support**: Parse bank statements from CSV, Excel, and more.
|
|
35
35
|
- **Bank-Specific Parsing**: Customizable parsers for different banks.
|
|
36
|
-
- **Consistent Output**: Normalized transaction data with standardized columns (`Date`, `Description`, `Amount`,
|
|
36
|
+
- **Consistent Output**: Normalized transaction data with standardized columns (`Date`, `Description`, `Amount`, etc.).
|
|
37
37
|
- **Easy Integration**: Simple API for quick integration into your Python projects.
|
|
38
38
|
- **Extensible**: Add support for new banks or formats with minimal effort.
|
|
39
39
|
|
|
@@ -44,7 +44,7 @@ Requires-Dist: sphinx>=8.2.1; extra == "dev"
|
|
|
44
44
|
You can install the library via pip:
|
|
45
45
|
|
|
46
46
|
```bash
|
|
47
|
-
pip install
|
|
47
|
+
pip install statement_parser
|
|
48
48
|
```
|
|
49
49
|
|
|
50
50
|
|
|
@@ -52,14 +52,10 @@ pip install BankStatementParser
|
|
|
52
52
|
### Basic Example
|
|
53
53
|
|
|
54
54
|
```python
|
|
55
|
-
from
|
|
56
|
-
|
|
57
|
-
# Initialize the parser
|
|
58
|
-
parser = BankStatementParser()
|
|
59
|
-
|
|
60
|
-
# Parse a bank statement
|
|
61
|
-
df = parser.parse("path/to/statement.pdf", format="pdf", bank="Chase")
|
|
55
|
+
from statement_parser.banks.HdfcCredit import HdfcCredit
|
|
62
56
|
|
|
57
|
+
parser = HsbcCredit()
|
|
58
|
+
df = parser.getDataFrame("path/to/statement.csv")
|
|
63
59
|
# Display the parsed transactions
|
|
64
60
|
print(df.head())
|
|
65
61
|
```
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{statement_parser-0.0.2 → statement_parser-0.0.4}/statement_parser.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|