rogers-api 0.1.0__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,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Diogo Bastos
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,86 @@
1
+ Metadata-Version: 2.4
2
+ Name: rogers-api
3
+ Version: 0.1.0
4
+ Summary: Unofficial Python wrapper for Rogers Bank credit card data
5
+ Home-page: https://github.com/diogobas/rogers-api
6
+ Author: Diogo Bastos
7
+ Classifier: Programming Language :: Python :: 3
8
+ Classifier: License :: OSI Approved :: MIT License
9
+ Classifier: Operating System :: OS Independent
10
+ Requires-Python: >=3.10
11
+ Description-Content-Type: text/markdown
12
+ License-File: LICENSE
13
+ Requires-Dist: requests>=2.31.0
14
+ Requires-Dist: playwright>=1.40.0
15
+ Dynamic: author
16
+ Dynamic: classifier
17
+ Dynamic: description
18
+ Dynamic: description-content-type
19
+ Dynamic: home-page
20
+ Dynamic: license-file
21
+ Dynamic: requires-dist
22
+ Dynamic: requires-python
23
+ Dynamic: summary
24
+
25
+ # Rogers API (Unofficial)
26
+
27
+ Unofficial Python wrapper for Rogers Bank credit card data retrieval.
28
+
29
+ ## Disclaimer
30
+
31
+ This project is not affiliated with, maintained by, or endorsed by Rogers Bank.
32
+ Automating access to banking portals may violate terms of service. Use at your own risk and only for your own account.
33
+
34
+ ## MVP Goals
35
+
36
+ - HTTP-first authentication and session handling.
37
+ - Account summary retrieval.
38
+ - Credit card transaction retrieval.
39
+ - Normalized transaction output for future Lunch Money integration.
40
+
41
+ ## Installation
42
+
43
+ ```bash
44
+ pip install -r requirements.txt
45
+ pip install -e .
46
+ ```
47
+
48
+ ## Quick Start
49
+
50
+ ```bash
51
+ python run.py login
52
+ python run.py discover-endpoints --capture-seconds 120
53
+ python run.py balance
54
+ python run.py transactions --start-date 2026-01-01
55
+ ```
56
+
57
+ ## Notes
58
+
59
+ - Credentials are requested interactively.
60
+ - Session state is stored locally and reused.
61
+ - Browser fallback is used only when direct HTTP auth cannot complete.
62
+
63
+ ## Endpoint Discovery (Authenticated)
64
+
65
+ Use this command after login to capture real authenticated network calls and lock the endpoint mapping used by the client:
66
+
67
+ ```bash
68
+ python run.py discover-endpoints --capture-seconds 120
69
+ ```
70
+
71
+ If the sign-in button is disabled (for example due to captcha/challenge), run manual mode:
72
+
73
+ ```bash
74
+ python run.py discover-endpoints --manual-login --capture-seconds 120
75
+ ```
76
+
77
+ To prefer email verification and keep the browser hidden when possible:
78
+
79
+ ```bash
80
+ python run.py discover-endpoints --headless --prefer-email --capture-seconds 120
81
+ ```
82
+
83
+ Artifacts are written under your local session folder (`~/.rogers-api/` by default):
84
+
85
+ - `endpoint_map.json`: selected summary/transactions endpoint + HTTP method
86
+ - `endpoint-discovery-YYYYMMDD-HHMMSS.json`: raw captured XHR/fetch event metadata
@@ -0,0 +1,62 @@
1
+ # Rogers API (Unofficial)
2
+
3
+ Unofficial Python wrapper for Rogers Bank credit card data retrieval.
4
+
5
+ ## Disclaimer
6
+
7
+ This project is not affiliated with, maintained by, or endorsed by Rogers Bank.
8
+ Automating access to banking portals may violate terms of service. Use at your own risk and only for your own account.
9
+
10
+ ## MVP Goals
11
+
12
+ - HTTP-first authentication and session handling.
13
+ - Account summary retrieval.
14
+ - Credit card transaction retrieval.
15
+ - Normalized transaction output for future Lunch Money integration.
16
+
17
+ ## Installation
18
+
19
+ ```bash
20
+ pip install -r requirements.txt
21
+ pip install -e .
22
+ ```
23
+
24
+ ## Quick Start
25
+
26
+ ```bash
27
+ python run.py login
28
+ python run.py discover-endpoints --capture-seconds 120
29
+ python run.py balance
30
+ python run.py transactions --start-date 2026-01-01
31
+ ```
32
+
33
+ ## Notes
34
+
35
+ - Credentials are requested interactively.
36
+ - Session state is stored locally and reused.
37
+ - Browser fallback is used only when direct HTTP auth cannot complete.
38
+
39
+ ## Endpoint Discovery (Authenticated)
40
+
41
+ Use this command after login to capture real authenticated network calls and lock the endpoint mapping used by the client:
42
+
43
+ ```bash
44
+ python run.py discover-endpoints --capture-seconds 120
45
+ ```
46
+
47
+ If the sign-in button is disabled (for example due to captcha/challenge), run manual mode:
48
+
49
+ ```bash
50
+ python run.py discover-endpoints --manual-login --capture-seconds 120
51
+ ```
52
+
53
+ To prefer email verification and keep the browser hidden when possible:
54
+
55
+ ```bash
56
+ python run.py discover-endpoints --headless --prefer-email --capture-seconds 120
57
+ ```
58
+
59
+ Artifacts are written under your local session folder (`~/.rogers-api/` by default):
60
+
61
+ - `endpoint_map.json`: selected summary/transactions endpoint + HTTP method
62
+ - `endpoint-discovery-YYYYMMDD-HHMMSS.json`: raw captured XHR/fetch event metadata
@@ -0,0 +1,21 @@
1
+ from .client import RogersClient
2
+ from .exceptions import (
3
+ AuthenticationError,
4
+ EndpointDiscoveryError,
5
+ MFARequiredError,
6
+ RogersAPIError,
7
+ SessionExpiredError,
8
+ TransactionParseError,
9
+ )
10
+
11
+ __all__ = [
12
+ "RogersClient",
13
+ "RogersAPIError",
14
+ "AuthenticationError",
15
+ "MFARequiredError",
16
+ "SessionExpiredError",
17
+ "TransactionParseError",
18
+ "EndpointDiscoveryError",
19
+ ]
20
+
21
+ __version__ = "0.1.0"