SQLPyHelper 0.1.3__tar.gz → 0.1.5__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.
- {sqlpyhelper-0.1.3/SQLPyHelper.egg-info → sqlpyhelper-0.1.5}/PKG-INFO +65 -22
- sqlpyhelper-0.1.3/PKG-INFO → sqlpyhelper-0.1.5/README.md +42 -53
- sqlpyhelper-0.1.3/README.md → sqlpyhelper-0.1.5/SQLPyHelper.egg-info/PKG-INFO +95 -12
- {sqlpyhelper-0.1.3 → sqlpyhelper-0.1.5}/SQLPyHelper.egg-info/SOURCES.txt +6 -0
- sqlpyhelper-0.1.5/SQLPyHelper.egg-info/entry_points.txt +2 -0
- {sqlpyhelper-0.1.3 → sqlpyhelper-0.1.5}/SQLPyHelper.egg-info/requires.txt +6 -5
- sqlpyhelper-0.1.5/pyproject.toml +6 -0
- sqlpyhelper-0.1.5/setup.cfg +21 -0
- sqlpyhelper-0.1.5/setup.py +63 -0
- sqlpyhelper-0.1.5/sqlpyhelper/__init__.py +9 -0
- sqlpyhelper-0.1.5/sqlpyhelper/automation_utils.py +156 -0
- sqlpyhelper-0.1.5/sqlpyhelper/cli.py +199 -0
- sqlpyhelper-0.1.5/sqlpyhelper/db_helper.py +383 -0
- sqlpyhelper-0.1.5/sqlpyhelper/py.typed +0 -0
- sqlpyhelper-0.1.5/test/test_sqlpyhelper.py +558 -0
- sqlpyhelper-0.1.3/setup.cfg +0 -4
- sqlpyhelper-0.1.3/setup.py +0 -38
- sqlpyhelper-0.1.3/sqlpyhelper/__init__.py +0 -2
- sqlpyhelper-0.1.3/sqlpyhelper/db_helper.py +0 -209
- sqlpyhelper-0.1.3/test/test_sqlpyhelper.py +0 -86
- {sqlpyhelper-0.1.3 → sqlpyhelper-0.1.5}/LICENSE +0 -0
- {sqlpyhelper-0.1.3 → sqlpyhelper-0.1.5}/SQLPyHelper.egg-info/dependency_links.txt +0 -0
- {sqlpyhelper-0.1.3 → sqlpyhelper-0.1.5}/SQLPyHelper.egg-info/top_level.txt +0 -0
|
@@ -1,11 +1,21 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: SQLPyHelper
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.5
|
|
4
4
|
Summary: A simple SQL database helper package for Python.
|
|
5
|
+
Home-page: https://github.com/adebayopeter/sqlpyhelper
|
|
5
6
|
Author: Adebayo Olaonipekun
|
|
6
7
|
Author-email: pekunmi@live.com
|
|
8
|
+
Project-URL: Source, https://github.com/adebayopeter/sqlpyhelper
|
|
9
|
+
Project-URL: Bug Tracker, https://github.com/adebayopeter/sqlpyhelper/issues
|
|
10
|
+
Project-URL: Changelog, https://github.com/adebayopeter/sqlpyhelper/blob/main/CHANGELOG.md
|
|
11
|
+
Keywords: database,sql,sqlite,postgresql,mysql,sqlserver,oracle,db,query,helper
|
|
7
12
|
Classifier: Programming Language :: Python :: 3
|
|
8
|
-
Classifier:
|
|
13
|
+
Classifier: Programming Language :: Python :: 3.8
|
|
14
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
18
|
+
Classifier: Development Status :: 4 - Beta
|
|
9
19
|
Classifier: Intended Audience :: Developers
|
|
10
20
|
Classifier: Topic :: Database :: Database Engines/Servers
|
|
11
21
|
Classifier: Operating System :: OS Independent
|
|
@@ -13,34 +23,54 @@ Classifier: License :: OSI Approved :: MIT License
|
|
|
13
23
|
Requires-Python: >=3.8
|
|
14
24
|
Description-Content-Type: text/markdown
|
|
15
25
|
License-File: LICENSE
|
|
16
|
-
Requires-Dist: psycopg2
|
|
17
|
-
Requires-Dist: mysql-connector-python
|
|
18
|
-
Requires-Dist: pyodbc
|
|
19
|
-
Requires-Dist: cx_Oracle
|
|
20
26
|
Requires-Dist: python-dotenv
|
|
21
|
-
|
|
22
|
-
Requires-Dist: mysql-connector-python; extra == "mysql"
|
|
27
|
+
Requires-Dist: click
|
|
23
28
|
Provides-Extra: postgres
|
|
24
29
|
Requires-Dist: psycopg2; extra == "postgres"
|
|
25
|
-
Provides-Extra:
|
|
26
|
-
Requires-Dist:
|
|
30
|
+
Provides-Extra: mysql
|
|
31
|
+
Requires-Dist: mysql-connector-python; extra == "mysql"
|
|
27
32
|
Provides-Extra: sqlserver
|
|
28
33
|
Requires-Dist: pyodbc; extra == "sqlserver"
|
|
29
|
-
Provides-Extra:
|
|
34
|
+
Provides-Extra: oracle
|
|
35
|
+
Requires-Dist: oracledb; extra == "oracle"
|
|
36
|
+
Provides-Extra: all
|
|
37
|
+
Requires-Dist: psycopg2; extra == "all"
|
|
38
|
+
Requires-Dist: mysql-connector-python; extra == "all"
|
|
39
|
+
Requires-Dist: pyodbc; extra == "all"
|
|
40
|
+
Requires-Dist: oracledb; extra == "all"
|
|
30
41
|
Dynamic: author
|
|
31
42
|
Dynamic: author-email
|
|
32
43
|
Dynamic: classifier
|
|
33
44
|
Dynamic: description
|
|
34
45
|
Dynamic: description-content-type
|
|
46
|
+
Dynamic: home-page
|
|
47
|
+
Dynamic: keywords
|
|
35
48
|
Dynamic: license-file
|
|
49
|
+
Dynamic: project-url
|
|
36
50
|
Dynamic: provides-extra
|
|
37
51
|
Dynamic: requires-dist
|
|
38
52
|
Dynamic: requires-python
|
|
39
53
|
Dynamic: summary
|
|
40
54
|
|
|
41
|
-
#
|
|
55
|
+
# SQLPyHelper
|
|
56
|
+
|
|
57
|
+
[](https://pypi.org/project/sqlpyhelper/)
|
|
58
|
+
[](https://pypi.org/project/sqlpyhelper/)
|
|
59
|
+
[](https://pypi.org/project/sqlpyhelper/)
|
|
60
|
+
[](https://github.com/adebayopeter/sqlpyhelper/blob/main/LICENSE)
|
|
61
|
+
[](https://github.com/adebayopeter/sqlpyhelper)
|
|
62
|
+
|
|
63
|
+
SQLPyHelper is a lightweight Python library that gives you a single, consistent API across **SQLite, PostgreSQL, MySQL, SQL Server, and Oracle** — without the overhead of an ORM.
|
|
42
64
|
|
|
43
|
-
|
|
65
|
+
If you need to run queries, manage transactions, pool connections, or back up tables across multiple database types without learning SQLAlchemy's abstraction layer or wiring up five different drivers manually, SQLPyHelper handles that boilerplate for you.
|
|
66
|
+
|
|
67
|
+
```python
|
|
68
|
+
# Works identically across all five supported databases
|
|
69
|
+
with SQLPyHelper(db_type="postgres", host="localhost", user="user",
|
|
70
|
+
password="pass", database="mydb") as db:
|
|
71
|
+
db.execute_query("INSERT INTO orders (item) VALUES (%s)", ("Laptop",))
|
|
72
|
+
results = db.fetch_all()
|
|
73
|
+
```
|
|
44
74
|
|
|
45
75
|
## 📖 Table of Contents
|
|
46
76
|
- [🚀 Features](#-features)
|
|
@@ -59,21 +89,32 @@ A Python library for simplified database interactions across **SQLite, PostgreSQ
|
|
|
59
89
|
|
|
60
90
|
---
|
|
61
91
|
|
|
62
|
-
## 🚀 Features in v0.1.
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
92
|
+
## 🚀 Features in v0.1.4
|
|
93
|
+
- Unified connection pooling for multiple databases.
|
|
94
|
+
- Automatic reconnection for lost connections.
|
|
95
|
+
- Transaction support (BEGIN, ROLLBACK, COMMIT).
|
|
96
|
+
- Secure parameterized queries to prevent SQL injection.
|
|
97
|
+
- Bulk insertion & dynamic table creation.
|
|
98
|
+
- Logging & error handling for better debugging.
|
|
99
|
+
- CSV export & database backups.
|
|
70
100
|
|
|
71
101
|
---
|
|
72
102
|
## 📦 Installation
|
|
73
|
-
|
|
103
|
+
|
|
104
|
+
Install the base package (includes SQLite support out of the box):
|
|
74
105
|
```sh
|
|
75
106
|
pip install sqlpyhelper
|
|
76
107
|
```
|
|
108
|
+
|
|
109
|
+
Install with your database driver:
|
|
110
|
+
```sh
|
|
111
|
+
pip install sqlpyhelper[postgres] # PostgreSQL
|
|
112
|
+
pip install sqlpyhelper[mysql] # MySQL
|
|
113
|
+
pip install sqlpyhelper[sqlserver] # SQL Server
|
|
114
|
+
pip install sqlpyhelper[oracle] # Oracle
|
|
115
|
+
pip install sqlpyhelper[all] # All databases
|
|
116
|
+
```
|
|
117
|
+
|
|
77
118
|
📌 Package on PyPI: [SQLPyHelper on PyPI](https://pypi.org/project/SQLPyHelper/)
|
|
78
119
|
|
|
79
120
|
For local development:
|
|
@@ -186,7 +227,9 @@ db.return_connection_to_pool(conn)
|
|
|
186
227
|
| `return_connection_to_pool(conn)` | Returns connection back to pool. |
|
|
187
228
|
| `begin_transaction()` | Begins an **explicit transaction**. |
|
|
188
229
|
| `rollback_transaction()` | Rolls back **uncommitted transactions**. |
|
|
230
|
+
| `commit_transaction()` | Commits the current transaction. |
|
|
189
231
|
| `close()` | Closes the database connection safely. |
|
|
232
|
+
| `__enter__` / `__exit__()` | Use as a context manager — connection closes automatically. |
|
|
190
233
|
|
|
191
234
|
---
|
|
192
235
|
## 🌍 Contributing
|
|
@@ -1,46 +1,22 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
Requires-Dist: python-dotenv
|
|
21
|
-
Provides-Extra: mysql
|
|
22
|
-
Requires-Dist: mysql-connector-python; extra == "mysql"
|
|
23
|
-
Provides-Extra: postgres
|
|
24
|
-
Requires-Dist: psycopg2; extra == "postgres"
|
|
25
|
-
Provides-Extra: oracle
|
|
26
|
-
Requires-Dist: cx_Oracle; extra == "oracle"
|
|
27
|
-
Provides-Extra: sqlserver
|
|
28
|
-
Requires-Dist: pyodbc; extra == "sqlserver"
|
|
29
|
-
Provides-Extra: sqlite
|
|
30
|
-
Dynamic: author
|
|
31
|
-
Dynamic: author-email
|
|
32
|
-
Dynamic: classifier
|
|
33
|
-
Dynamic: description
|
|
34
|
-
Dynamic: description-content-type
|
|
35
|
-
Dynamic: license-file
|
|
36
|
-
Dynamic: provides-extra
|
|
37
|
-
Dynamic: requires-dist
|
|
38
|
-
Dynamic: requires-python
|
|
39
|
-
Dynamic: summary
|
|
40
|
-
|
|
41
|
-
# 📌 SQLPyHelper v.0.1.3 🚀
|
|
42
|
-
|
|
43
|
-
A Python library for simplified database interactions across **SQLite, PostgreSQL, MySQL, SQL Server, and Oracle**. SQLPyHelper provides an intuitive API for handling queries, connection pooling, transactions, logging, and backups efficiently.
|
|
1
|
+
# SQLPyHelper
|
|
2
|
+
|
|
3
|
+
[](https://pypi.org/project/sqlpyhelper/)
|
|
4
|
+
[](https://pypi.org/project/sqlpyhelper/)
|
|
5
|
+
[](https://pypi.org/project/sqlpyhelper/)
|
|
6
|
+
[](https://github.com/adebayopeter/sqlpyhelper/blob/main/LICENSE)
|
|
7
|
+
[](https://github.com/adebayopeter/sqlpyhelper)
|
|
8
|
+
|
|
9
|
+
SQLPyHelper is a lightweight Python library that gives you a single, consistent API across **SQLite, PostgreSQL, MySQL, SQL Server, and Oracle** — without the overhead of an ORM.
|
|
10
|
+
|
|
11
|
+
If you need to run queries, manage transactions, pool connections, or back up tables across multiple database types without learning SQLAlchemy's abstraction layer or wiring up five different drivers manually, SQLPyHelper handles that boilerplate for you.
|
|
12
|
+
|
|
13
|
+
```python
|
|
14
|
+
# Works identically across all five supported databases
|
|
15
|
+
with SQLPyHelper(db_type="postgres", host="localhost", user="user",
|
|
16
|
+
password="pass", database="mydb") as db:
|
|
17
|
+
db.execute_query("INSERT INTO orders (item) VALUES (%s)", ("Laptop",))
|
|
18
|
+
results = db.fetch_all()
|
|
19
|
+
```
|
|
44
20
|
|
|
45
21
|
## 📖 Table of Contents
|
|
46
22
|
- [🚀 Features](#-features)
|
|
@@ -59,21 +35,32 @@ A Python library for simplified database interactions across **SQLite, PostgreSQ
|
|
|
59
35
|
|
|
60
36
|
---
|
|
61
37
|
|
|
62
|
-
## 🚀 Features in v0.1.
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
38
|
+
## 🚀 Features in v0.1.4
|
|
39
|
+
- Unified connection pooling for multiple databases.
|
|
40
|
+
- Automatic reconnection for lost connections.
|
|
41
|
+
- Transaction support (BEGIN, ROLLBACK, COMMIT).
|
|
42
|
+
- Secure parameterized queries to prevent SQL injection.
|
|
43
|
+
- Bulk insertion & dynamic table creation.
|
|
44
|
+
- Logging & error handling for better debugging.
|
|
45
|
+
- CSV export & database backups.
|
|
70
46
|
|
|
71
47
|
---
|
|
72
48
|
## 📦 Installation
|
|
73
|
-
|
|
49
|
+
|
|
50
|
+
Install the base package (includes SQLite support out of the box):
|
|
74
51
|
```sh
|
|
75
52
|
pip install sqlpyhelper
|
|
76
53
|
```
|
|
54
|
+
|
|
55
|
+
Install with your database driver:
|
|
56
|
+
```sh
|
|
57
|
+
pip install sqlpyhelper[postgres] # PostgreSQL
|
|
58
|
+
pip install sqlpyhelper[mysql] # MySQL
|
|
59
|
+
pip install sqlpyhelper[sqlserver] # SQL Server
|
|
60
|
+
pip install sqlpyhelper[oracle] # Oracle
|
|
61
|
+
pip install sqlpyhelper[all] # All databases
|
|
62
|
+
```
|
|
63
|
+
|
|
77
64
|
📌 Package on PyPI: [SQLPyHelper on PyPI](https://pypi.org/project/SQLPyHelper/)
|
|
78
65
|
|
|
79
66
|
For local development:
|
|
@@ -186,7 +173,9 @@ db.return_connection_to_pool(conn)
|
|
|
186
173
|
| `return_connection_to_pool(conn)` | Returns connection back to pool. |
|
|
187
174
|
| `begin_transaction()` | Begins an **explicit transaction**. |
|
|
188
175
|
| `rollback_transaction()` | Rolls back **uncommitted transactions**. |
|
|
176
|
+
| `commit_transaction()` | Commits the current transaction. |
|
|
189
177
|
| `close()` | Closes the database connection safely. |
|
|
178
|
+
| `__enter__` / `__exit__()` | Use as a context manager — connection closes automatically. |
|
|
190
179
|
|
|
191
180
|
---
|
|
192
181
|
## 🌍 Contributing
|
|
@@ -213,4 +202,4 @@ We welcome contributions from the **open-source community**! Follow these steps
|
|
|
213
202
|
|
|
214
203
|
If you find SQLPyHelper useful, consider buying me a coffee to support continued development!
|
|
215
204
|
Donate Here: [PayPal](https://paypal.me/adebayopeter?country.x=GB&locale.x=en_GB)
|
|
216
|
-
---
|
|
205
|
+
---
|
|
@@ -1,6 +1,76 @@
|
|
|
1
|
-
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: SQLPyHelper
|
|
3
|
+
Version: 0.1.5
|
|
4
|
+
Summary: A simple SQL database helper package for Python.
|
|
5
|
+
Home-page: https://github.com/adebayopeter/sqlpyhelper
|
|
6
|
+
Author: Adebayo Olaonipekun
|
|
7
|
+
Author-email: pekunmi@live.com
|
|
8
|
+
Project-URL: Source, https://github.com/adebayopeter/sqlpyhelper
|
|
9
|
+
Project-URL: Bug Tracker, https://github.com/adebayopeter/sqlpyhelper/issues
|
|
10
|
+
Project-URL: Changelog, https://github.com/adebayopeter/sqlpyhelper/blob/main/CHANGELOG.md
|
|
11
|
+
Keywords: database,sql,sqlite,postgresql,mysql,sqlserver,oracle,db,query,helper
|
|
12
|
+
Classifier: Programming Language :: Python :: 3
|
|
13
|
+
Classifier: Programming Language :: Python :: 3.8
|
|
14
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
18
|
+
Classifier: Development Status :: 4 - Beta
|
|
19
|
+
Classifier: Intended Audience :: Developers
|
|
20
|
+
Classifier: Topic :: Database :: Database Engines/Servers
|
|
21
|
+
Classifier: Operating System :: OS Independent
|
|
22
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
23
|
+
Requires-Python: >=3.8
|
|
24
|
+
Description-Content-Type: text/markdown
|
|
25
|
+
License-File: LICENSE
|
|
26
|
+
Requires-Dist: python-dotenv
|
|
27
|
+
Requires-Dist: click
|
|
28
|
+
Provides-Extra: postgres
|
|
29
|
+
Requires-Dist: psycopg2; extra == "postgres"
|
|
30
|
+
Provides-Extra: mysql
|
|
31
|
+
Requires-Dist: mysql-connector-python; extra == "mysql"
|
|
32
|
+
Provides-Extra: sqlserver
|
|
33
|
+
Requires-Dist: pyodbc; extra == "sqlserver"
|
|
34
|
+
Provides-Extra: oracle
|
|
35
|
+
Requires-Dist: oracledb; extra == "oracle"
|
|
36
|
+
Provides-Extra: all
|
|
37
|
+
Requires-Dist: psycopg2; extra == "all"
|
|
38
|
+
Requires-Dist: mysql-connector-python; extra == "all"
|
|
39
|
+
Requires-Dist: pyodbc; extra == "all"
|
|
40
|
+
Requires-Dist: oracledb; extra == "all"
|
|
41
|
+
Dynamic: author
|
|
42
|
+
Dynamic: author-email
|
|
43
|
+
Dynamic: classifier
|
|
44
|
+
Dynamic: description
|
|
45
|
+
Dynamic: description-content-type
|
|
46
|
+
Dynamic: home-page
|
|
47
|
+
Dynamic: keywords
|
|
48
|
+
Dynamic: license-file
|
|
49
|
+
Dynamic: project-url
|
|
50
|
+
Dynamic: provides-extra
|
|
51
|
+
Dynamic: requires-dist
|
|
52
|
+
Dynamic: requires-python
|
|
53
|
+
Dynamic: summary
|
|
2
54
|
|
|
3
|
-
|
|
55
|
+
# SQLPyHelper
|
|
56
|
+
|
|
57
|
+
[](https://pypi.org/project/sqlpyhelper/)
|
|
58
|
+
[](https://pypi.org/project/sqlpyhelper/)
|
|
59
|
+
[](https://pypi.org/project/sqlpyhelper/)
|
|
60
|
+
[](https://github.com/adebayopeter/sqlpyhelper/blob/main/LICENSE)
|
|
61
|
+
[](https://github.com/adebayopeter/sqlpyhelper)
|
|
62
|
+
|
|
63
|
+
SQLPyHelper is a lightweight Python library that gives you a single, consistent API across **SQLite, PostgreSQL, MySQL, SQL Server, and Oracle** — without the overhead of an ORM.
|
|
64
|
+
|
|
65
|
+
If you need to run queries, manage transactions, pool connections, or back up tables across multiple database types without learning SQLAlchemy's abstraction layer or wiring up five different drivers manually, SQLPyHelper handles that boilerplate for you.
|
|
66
|
+
|
|
67
|
+
```python
|
|
68
|
+
# Works identically across all five supported databases
|
|
69
|
+
with SQLPyHelper(db_type="postgres", host="localhost", user="user",
|
|
70
|
+
password="pass", database="mydb") as db:
|
|
71
|
+
db.execute_query("INSERT INTO orders (item) VALUES (%s)", ("Laptop",))
|
|
72
|
+
results = db.fetch_all()
|
|
73
|
+
```
|
|
4
74
|
|
|
5
75
|
## 📖 Table of Contents
|
|
6
76
|
- [🚀 Features](#-features)
|
|
@@ -19,21 +89,32 @@ A Python library for simplified database interactions across **SQLite, PostgreSQ
|
|
|
19
89
|
|
|
20
90
|
---
|
|
21
91
|
|
|
22
|
-
## 🚀 Features in v0.1.
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
92
|
+
## 🚀 Features in v0.1.4
|
|
93
|
+
- Unified connection pooling for multiple databases.
|
|
94
|
+
- Automatic reconnection for lost connections.
|
|
95
|
+
- Transaction support (BEGIN, ROLLBACK, COMMIT).
|
|
96
|
+
- Secure parameterized queries to prevent SQL injection.
|
|
97
|
+
- Bulk insertion & dynamic table creation.
|
|
98
|
+
- Logging & error handling for better debugging.
|
|
99
|
+
- CSV export & database backups.
|
|
30
100
|
|
|
31
101
|
---
|
|
32
102
|
## 📦 Installation
|
|
33
|
-
|
|
103
|
+
|
|
104
|
+
Install the base package (includes SQLite support out of the box):
|
|
34
105
|
```sh
|
|
35
106
|
pip install sqlpyhelper
|
|
36
107
|
```
|
|
108
|
+
|
|
109
|
+
Install with your database driver:
|
|
110
|
+
```sh
|
|
111
|
+
pip install sqlpyhelper[postgres] # PostgreSQL
|
|
112
|
+
pip install sqlpyhelper[mysql] # MySQL
|
|
113
|
+
pip install sqlpyhelper[sqlserver] # SQL Server
|
|
114
|
+
pip install sqlpyhelper[oracle] # Oracle
|
|
115
|
+
pip install sqlpyhelper[all] # All databases
|
|
116
|
+
```
|
|
117
|
+
|
|
37
118
|
📌 Package on PyPI: [SQLPyHelper on PyPI](https://pypi.org/project/SQLPyHelper/)
|
|
38
119
|
|
|
39
120
|
For local development:
|
|
@@ -146,7 +227,9 @@ db.return_connection_to_pool(conn)
|
|
|
146
227
|
| `return_connection_to_pool(conn)` | Returns connection back to pool. |
|
|
147
228
|
| `begin_transaction()` | Begins an **explicit transaction**. |
|
|
148
229
|
| `rollback_transaction()` | Rolls back **uncommitted transactions**. |
|
|
230
|
+
| `commit_transaction()` | Commits the current transaction. |
|
|
149
231
|
| `close()` | Closes the database connection safely. |
|
|
232
|
+
| `__enter__` / `__exit__()` | Use as a context manager — connection closes automatically. |
|
|
150
233
|
|
|
151
234
|
---
|
|
152
235
|
## 🌍 Contributing
|
|
@@ -173,4 +256,4 @@ We welcome contributions from the **open-source community**! Follow these steps
|
|
|
173
256
|
|
|
174
257
|
If you find SQLPyHelper useful, consider buying me a coffee to support continued development!
|
|
175
258
|
Donate Here: [PayPal](https://paypal.me/adebayopeter?country.x=GB&locale.x=en_GB)
|
|
176
|
-
---
|
|
259
|
+
---
|
|
@@ -1,11 +1,17 @@
|
|
|
1
1
|
LICENSE
|
|
2
2
|
README.md
|
|
3
|
+
pyproject.toml
|
|
4
|
+
setup.cfg
|
|
3
5
|
setup.py
|
|
4
6
|
SQLPyHelper.egg-info/PKG-INFO
|
|
5
7
|
SQLPyHelper.egg-info/SOURCES.txt
|
|
6
8
|
SQLPyHelper.egg-info/dependency_links.txt
|
|
9
|
+
SQLPyHelper.egg-info/entry_points.txt
|
|
7
10
|
SQLPyHelper.egg-info/requires.txt
|
|
8
11
|
SQLPyHelper.egg-info/top_level.txt
|
|
9
12
|
sqlpyhelper/__init__.py
|
|
13
|
+
sqlpyhelper/automation_utils.py
|
|
14
|
+
sqlpyhelper/cli.py
|
|
10
15
|
sqlpyhelper/db_helper.py
|
|
16
|
+
sqlpyhelper/py.typed
|
|
11
17
|
test/test_sqlpyhelper.py
|
|
@@ -1,19 +1,20 @@
|
|
|
1
|
+
python-dotenv
|
|
2
|
+
click
|
|
3
|
+
|
|
4
|
+
[all]
|
|
1
5
|
psycopg2
|
|
2
6
|
mysql-connector-python
|
|
3
7
|
pyodbc
|
|
4
|
-
|
|
5
|
-
python-dotenv
|
|
8
|
+
oracledb
|
|
6
9
|
|
|
7
10
|
[mysql]
|
|
8
11
|
mysql-connector-python
|
|
9
12
|
|
|
10
13
|
[oracle]
|
|
11
|
-
|
|
14
|
+
oracledb
|
|
12
15
|
|
|
13
16
|
[postgres]
|
|
14
17
|
psycopg2
|
|
15
18
|
|
|
16
|
-
[sqlite]
|
|
17
|
-
|
|
18
19
|
[sqlserver]
|
|
19
20
|
pyodbc
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
[flake8]
|
|
2
|
+
max-line-length = 120
|
|
3
|
+
ignore =
|
|
4
|
+
E203,
|
|
5
|
+
E501,
|
|
6
|
+
W503
|
|
7
|
+
exclude =
|
|
8
|
+
venv,
|
|
9
|
+
.git,
|
|
10
|
+
__pycache__,
|
|
11
|
+
dist,
|
|
12
|
+
build,
|
|
13
|
+
*.egg-info
|
|
14
|
+
|
|
15
|
+
[mypy]
|
|
16
|
+
ignore_missing_imports = True
|
|
17
|
+
|
|
18
|
+
[egg_info]
|
|
19
|
+
tag_build =
|
|
20
|
+
tag_date = 0
|
|
21
|
+
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
from setuptools import setup, find_packages
|
|
2
|
+
|
|
3
|
+
with open("README.md", "r", encoding="utf-8") as f:
|
|
4
|
+
long_description = f.read()
|
|
5
|
+
|
|
6
|
+
setup(
|
|
7
|
+
name='SQLPyHelper',
|
|
8
|
+
version='0.1.5',
|
|
9
|
+
description='A simple SQL database helper package for Python.',
|
|
10
|
+
long_description=long_description,
|
|
11
|
+
long_description_content_type="text/markdown",
|
|
12
|
+
author='Adebayo Olaonipekun',
|
|
13
|
+
author_email='pekunmi@live.com',
|
|
14
|
+
url='https://github.com/adebayopeter/sqlpyhelper',
|
|
15
|
+
packages=find_packages(),
|
|
16
|
+
package_data={
|
|
17
|
+
"sqlpyhelper": ["py.typed"],
|
|
18
|
+
},
|
|
19
|
+
python_requires=">=3.8",
|
|
20
|
+
install_requires=[
|
|
21
|
+
'python-dotenv',
|
|
22
|
+
'click'
|
|
23
|
+
],
|
|
24
|
+
extras_require={
|
|
25
|
+
"postgres": ["psycopg2"],
|
|
26
|
+
"mysql": ["mysql-connector-python"],
|
|
27
|
+
"sqlserver": ["pyodbc"],
|
|
28
|
+
"oracle": ["oracledb"],
|
|
29
|
+
"all": [
|
|
30
|
+
"psycopg2",
|
|
31
|
+
"mysql-connector-python",
|
|
32
|
+
"pyodbc",
|
|
33
|
+
"oracledb",
|
|
34
|
+
],
|
|
35
|
+
},
|
|
36
|
+
keywords=[
|
|
37
|
+
"database", "sql", "sqlite", "postgresql", "mysql",
|
|
38
|
+
"sqlserver", "oracle", "db", "query", "helper",
|
|
39
|
+
],
|
|
40
|
+
project_urls={
|
|
41
|
+
"Source": "https://github.com/adebayopeter/sqlpyhelper",
|
|
42
|
+
"Bug Tracker": "https://github.com/adebayopeter/sqlpyhelper/issues",
|
|
43
|
+
"Changelog": "https://github.com/adebayopeter/sqlpyhelper/blob/main/CHANGELOG.md",
|
|
44
|
+
},
|
|
45
|
+
classifiers=[
|
|
46
|
+
"Programming Language :: Python :: 3",
|
|
47
|
+
"Programming Language :: Python :: 3.8",
|
|
48
|
+
"Programming Language :: Python :: 3.9",
|
|
49
|
+
"Programming Language :: Python :: 3.10",
|
|
50
|
+
"Programming Language :: Python :: 3.11",
|
|
51
|
+
"Programming Language :: Python :: 3.12",
|
|
52
|
+
"Development Status :: 4 - Beta",
|
|
53
|
+
"Intended Audience :: Developers",
|
|
54
|
+
"Topic :: Database :: Database Engines/Servers",
|
|
55
|
+
"Operating System :: OS Independent",
|
|
56
|
+
"License :: OSI Approved :: MIT License",
|
|
57
|
+
],
|
|
58
|
+
entry_points={
|
|
59
|
+
'console_scripts': [
|
|
60
|
+
'sqlpyhelper=sqlpyhelper.cli:cli',
|
|
61
|
+
],
|
|
62
|
+
},
|
|
63
|
+
)
|