# connection-helper
![PyPI - Version](https://img.shields.io/pypi/v/connection-helper) ![GitHub last commit](https://img.shields.io/github/last-commit/smeisegeier/connection-helper?logo=github) ![GitHub License](https://img.shields.io/github/license/smeisegeier/connection-helper?logo=github) ![py](https://img.shields.io/badge/python-3.10_|_3.11_|_3.12-blue.svg?logo=data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTAwIj4KICA8ZGVmcz4KICAgIDxsaW5lYXJHcmFkaWVudCBpZD0icHlZZWxsb3ciIGdyYWRpZW50VHJhbnNmb3JtPSJyb3RhdGUoNDUpIj4KICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iI2ZlNSIgb2Zmc2V0PSIwLjYiLz4KICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iI2RhMSIgb2Zmc2V0PSIxIi8+CiAgICA8L2xpbmVhckdyYWRpZW50PgogICAgPGxpbmVhckdyYWRpZW50IGlkPSJweUJsdWUiIGdyYWRpZW50VHJhbnNmb3JtPSJyb3RhdGUoNDUpIj4KICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iIzY5ZiIgb2Zmc2V0PSIwLjQiLz4KICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iIzQ2OCIgb2Zmc2V0PSIxIi8+CiAgICA8L2xpbmVhckdyYWRpZW50PgogIDwvZGVmcz4KCiAgPHBhdGggZD0iTTI3LDE2YzAtNyw5LTEzLDI0LTEzYzE1LDAsMjMsNiwyMywxM2wwLDIyYzAsNy01LDEyLTExLDEybC0yNCwwYy04LDAtMTQsNi0xNCwxNWwwLDEwbC05LDBjLTgsMC0xMy05LTEzLTI0YzAtMTQsNS0yMywxMy0yM2wzNSwwbDAtM2wtMjQsMGwwLTlsMCwweiBNODgsNTB2MSIgZmlsbD0idXJsKCNweUJsdWUpIi8+CiAgPHBhdGggZD0iTTc0LDg3YzAsNy04LDEzLTIzLDEzYy0xNSwwLTI0LTYtMjQtMTNsMC0yMmMwLTcsNi0xMiwxMi0xMmwyNCwwYzgsMCwxNC03LDE0LTE1bDAtMTBsOSwwYzcsMCwxMyw5LDEzLDIzYzAsMTUtNiwyNC0xMywyNGwtMzUsMGwwLDNsMjMsMGwwLDlsMCwweiBNMTQwLDUwdjEiIGZpbGw9InVybCgjcHlZZWxsb3cpIi8+CgogIDxjaXJjbGUgcj0iNCIgY3g9IjY0IiBjeT0iODgiIGZpbGw9IiNGRkYiLz4KICA8Y2lyY2xlIHI9IjQiIGN4PSIzNyIgY3k9IjE1IiBmaWxsPSIjRkZGIi8+Cjwvc3ZnPgo=)
## usage
install / update package
```bash
pip install connection-helper -U
```
include in python
```python
from connection_helper import sql, pgp, sec
```
## why use connection-helper
`connection-helper` bundles some packages for connecting to sql databases
- `sql` is added as convenience wrapper for retrieving data from sql databases
- `connect_sql()` to get get data from `['mssql', 'sqlite','postgres']`
- `load_sql_to_sqlite` connect to a sql db and transfer a list of tables to `sqlite`
- `load_sqlite_to_parquet()` to get all tables from a sqlite file as parquets
- `unpack_files_to_duckdb()` return a tuple of all files of a dir (csv or parquet) into high performance duckdb objects ⚡
- `print_meta()` print meta information of a certain database (niche case)
- `load_from_mssql()` load data from an MSSQL database into a Pandas DataFrame
- `save_to_mssql()` save data from a Pandas DataFrame to an MSSQL database
- 🆕 `load_file_to_duckdb()` load data from various sources into a duckdb database, using pandas read functions (_experimental_)
- [ ] azure storage connector 🚧
- `pgp` cryptographic tools adapted from [python-gnupg](https://github.com/vsajip/python-gnupg). this is a wrapper around `gnupg`, but only offers some cenvenience or tailored options. feel free to use the original library or the [GNU Privacy Guard](https://gnupg.org/).
- `encrypt()` a message for one or more recipient(s) with a public key
- `decrypt()` a message with a private key. Passphrase must be provided via env variable
- `find_key()` in keyring
- ...
> 💡 The pgp methods require a pgp public/private key in the keyring
- `sec` secrets module. ⚠️ this package is optional and must be extra installed with `pip install 'connection-helper[sec]'` (enclose in '')
- 🆕 `get_infisical_secrets()` retrieve secrets from [Infisical](https://infisical.com/) project (requires existing account and machine identities)
Raw data
{
"_id": null,
"home_page": "https://github.com/smeisegeier/connection-helper",
"name": "connection-helper",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": null,
"author": "smeisegeier",
"author_email": "dexterDSDo@googlemail.com",
"download_url": "https://files.pythonhosted.org/packages/4d/4a/4a504159b6f5d28bfc616904c607bf6044de989c579f00bf13940aeb474a/connection_helper-0.8.11.tar.gz",
"platform": null,
"description": "# connection-helper\n\n![PyPI - Version](https://img.shields.io/pypi/v/connection-helper) ![GitHub last commit](https://img.shields.io/github/last-commit/smeisegeier/connection-helper?logo=github) ![GitHub License](https://img.shields.io/github/license/smeisegeier/connection-helper?logo=github) ![py](https://img.shields.io/badge/python-3.10_|_3.11_|_3.12-blue.svg?logo=data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTAwIj4KICA8ZGVmcz4KICAgIDxsaW5lYXJHcmFkaWVudCBpZD0icHlZZWxsb3ciIGdyYWRpZW50VHJhbnNmb3JtPSJyb3RhdGUoNDUpIj4KICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iI2ZlNSIgb2Zmc2V0PSIwLjYiLz4KICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iI2RhMSIgb2Zmc2V0PSIxIi8+CiAgICA8L2xpbmVhckdyYWRpZW50PgogICAgPGxpbmVhckdyYWRpZW50IGlkPSJweUJsdWUiIGdyYWRpZW50VHJhbnNmb3JtPSJyb3RhdGUoNDUpIj4KICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iIzY5ZiIgb2Zmc2V0PSIwLjQiLz4KICAgICAgPHN0b3Agc3RvcC1jb2xvcj0iIzQ2OCIgb2Zmc2V0PSIxIi8+CiAgICA8L2xpbmVhckdyYWRpZW50PgogIDwvZGVmcz4KCiAgPHBhdGggZD0iTTI3LDE2YzAtNyw5LTEzLDI0LTEzYzE1LDAsMjMsNiwyMywxM2wwLDIyYzAsNy01LDEyLTExLDEybC0yNCwwYy04LDAtMTQsNi0xNCwxNWwwLDEwbC05LDBjLTgsMC0xMy05LTEzLTI0YzAtMTQsNS0yMywxMy0yM2wzNSwwbDAtM2wtMjQsMGwwLTlsMCwweiBNODgsNTB2MSIgZmlsbD0idXJsKCNweUJsdWUpIi8+CiAgPHBhdGggZD0iTTc0LDg3YzAsNy04LDEzLTIzLDEzYy0xNSwwLTI0LTYtMjQtMTNsMC0yMmMwLTcsNi0xMiwxMi0xMmwyNCwwYzgsMCwxNC03LDE0LTE1bDAtMTBsOSwwYzcsMCwxMyw5LDEzLDIzYzAsMTUtNiwyNC0xMywyNGwtMzUsMGwwLDNsMjMsMGwwLDlsMCwweiBNMTQwLDUwdjEiIGZpbGw9InVybCgjcHlZZWxsb3cpIi8+CgogIDxjaXJjbGUgcj0iNCIgY3g9IjY0IiBjeT0iODgiIGZpbGw9IiNGRkYiLz4KICA8Y2lyY2xlIHI9IjQiIGN4PSIzNyIgY3k9IjE1IiBmaWxsPSIjRkZGIi8+Cjwvc3ZnPgo=)\n\n## usage\n\ninstall / update package\n\n```bash\npip install connection-helper -U\n```\n\ninclude in python\n\n```python\nfrom connection_helper import sql, pgp, sec\n```\n\n## why use connection-helper\n\n`connection-helper` bundles some packages for connecting to sql databases\n\n- `sql` is added as convenience wrapper for retrieving data from sql databases\n - `connect_sql()` to get get data from `['mssql', 'sqlite','postgres']`\n - `load_sql_to_sqlite` connect to a sql db and transfer a list of tables to `sqlite`\n - `load_sqlite_to_parquet()` to get all tables from a sqlite file as parquets\n - `unpack_files_to_duckdb()` return a tuple of all files of a dir (csv or parquet) into high performance duckdb objects \u26a1\n - `print_meta()` print meta information of a certain database (niche case)\n - `load_from_mssql()` load data from an MSSQL database into a Pandas DataFrame\n - `save_to_mssql()` save data from a Pandas DataFrame to an MSSQL database\n - \ud83c\udd95 `load_file_to_duckdb()` load data from various sources into a duckdb database, using pandas read functions (_experimental_)\n - [ ] azure storage connector \ud83d\udea7\n\n- `pgp` cryptographic tools adapted from [python-gnupg](https://github.com/vsajip/python-gnupg). this is a wrapper around `gnupg`, but only offers some cenvenience or tailored options. feel free to use the original library or the [GNU Privacy Guard](https://gnupg.org/).\n - `encrypt()` a message for one or more recipient(s) with a public key\n - `decrypt()` a message with a private key. Passphrase must be provided via env variable\n - `find_key()` in keyring\n - ...\n\n> \ud83d\udca1 The pgp methods require a pgp public/private key in the keyring\n\n- `sec` secrets module. \u26a0\ufe0f this package is optional and must be extra installed with `pip install 'connection-helper[sec]'` (enclose in '')\n - \ud83c\udd95 `get_infisical_secrets()` retrieve secrets from [Infisical](https://infisical.com/) project (requires existing account and machine identities)\n",
"bugtrack_url": null,
"license": "MIT License",
"summary": "A collection of helper for sql connections",
"version": "0.8.11",
"project_urls": {
"Bug Tracker": "https://github.com/smeisegeier/connection-helper/issues",
"Documentation": "https://github.com/smeisegeier/connection-helper",
"Homepage": "https://github.com/smeisegeier/connection-helper",
"Source Code": "https://github.com/smeisegeier/connection-helper"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "bd5c7bd1b648c1445ba9aadad46b8e23c136cf6dc2fa23d50bdecf18298e8f7f",
"md5": "ba28a13d4c4b32b4821b63cfe7bb84ad",
"sha256": "e5d9c5e44548cfa4d6f7501a0fb07ff45a0a57abaff638e93dc98c33d1670688"
},
"downloads": -1,
"filename": "connection_helper-0.8.11-py3-none-any.whl",
"has_sig": false,
"md5_digest": "ba28a13d4c4b32b4821b63cfe7bb84ad",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 12811,
"upload_time": "2024-10-22T22:40:53",
"upload_time_iso_8601": "2024-10-22T22:40:53.934359Z",
"url": "https://files.pythonhosted.org/packages/bd/5c/7bd1b648c1445ba9aadad46b8e23c136cf6dc2fa23d50bdecf18298e8f7f/connection_helper-0.8.11-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "4d4a4a504159b6f5d28bfc616904c607bf6044de989c579f00bf13940aeb474a",
"md5": "b300c6bc239c44db48bd76def94be05f",
"sha256": "c135e860d83a9b6e305434f114b1ee3a90dc15138a8af3b7185b17ba3c2df6d3"
},
"downloads": -1,
"filename": "connection_helper-0.8.11.tar.gz",
"has_sig": false,
"md5_digest": "b300c6bc239c44db48bd76def94be05f",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 14054,
"upload_time": "2024-10-22T22:40:55",
"upload_time_iso_8601": "2024-10-22T22:40:55.673415Z",
"url": "https://files.pythonhosted.org/packages/4d/4a/4a504159b6f5d28bfc616904c607bf6044de989c579f00bf13940aeb474a/connection_helper-0.8.11.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-10-22 22:40:55",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "smeisegeier",
"github_project": "connection-helper",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [],
"lcname": "connection-helper"
}