connection-helper


Nameconnection-helper JSON
Version 0.12 PyPI version JSON
download
home_pageNone
SummaryA collection of helper for sql connections
upload_time2025-08-08 11:17:52
maintainerNone
docs_urlNone
authorNone
requires_python>=3.12
licenseNone
keywords duckdb sql sqlite
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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
```

## 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_)
  - `load_sqlite_to_duckdb()` converts a SQLite database to a DuckDB database
  - `load_mssql_to_duckdb()` converts a MSSQL database to a DuckDB database
  - `apply_duckdb_type_overrides()` applies column type overrides to tables in an existing DuckDB database
  - `add_duckdb_meta_table()` adds a meta table to an existing DuckDB database  

</br>

- `pgp` cryptographic tools adapted from [python-gnupg](https://github.com/vsajip/python-gnupg). this is a wrapper around `gnupg`, but only offers some convenience 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

</br>

- `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)
  - `get_bitwarden_secrets()` retrieve secrets from [Bitwarden](https://bitwarden.com/) vault (requires existing account and machine identities)

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "connection-helper",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.12",
    "maintainer_email": null,
    "keywords": "duckdb, sql, sqlite",
    "author": null,
    "author_email": "smeisegeier <dexterDSD@googlemail.com>",
    "download_url": "https://files.pythonhosted.org/packages/5f/4a/d47b736475e94a21668f0ccce5a24b5545f748d09ad52a27a75acf73594d/connection_helper-0.12.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\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\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  - `load_file_to_duckdb()` load data from various sources into a duckdb database, using pandas read functions (_experimental_)\n  - `load_sqlite_to_duckdb()` converts a SQLite database to a DuckDB database\n  - `load_mssql_to_duckdb()` converts a MSSQL database to a DuckDB database\n  - `apply_duckdb_type_overrides()` applies column type overrides to tables in an existing DuckDB database\n  - `add_duckdb_meta_table()` adds a meta table to an existing DuckDB database  \n\n</br>\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 convenience 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</br>\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  - `get_infisical_secrets()` retrieve secrets from [Infisical](https://infisical.com/) project (requires existing account and machine identities)\n  - `get_bitwarden_secrets()` retrieve secrets from [Bitwarden](https://bitwarden.com/) vault (requires existing account and machine identities)\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "A collection of helper for sql connections",
    "version": "0.12",
    "project_urls": {
        "Bug Tracker": "https://github.com/smeisegeier/connection-helper/issues",
        "Documentation": "https://github.com/smeisegeier/connection-helper",
        "Source Code": "https://github.com/smeisegeier/connection-helper"
    },
    "split_keywords": [
        "duckdb",
        " sql",
        " sqlite"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "9defeea703dc57a6692e13c32605ba720a653f943a5616c5f49eec4b1b5e80ee",
                "md5": "742b373ffe48942144595d65bb9b5267",
                "sha256": "2508e59a00d5ebe113c689af427c911ba2d163fd92faa92dc2382b1e4fb5654f"
            },
            "downloads": -1,
            "filename": "connection_helper-0.12-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "742b373ffe48942144595d65bb9b5267",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.12",
            "size": 21211,
            "upload_time": "2025-08-08T11:17:51",
            "upload_time_iso_8601": "2025-08-08T11:17:51.298540Z",
            "url": "https://files.pythonhosted.org/packages/9d/ef/eea703dc57a6692e13c32605ba720a653f943a5616c5f49eec4b1b5e80ee/connection_helper-0.12-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "5f4ad47b736475e94a21668f0ccce5a24b5545f748d09ad52a27a75acf73594d",
                "md5": "785f7403908ec021112f885089f4275a",
                "sha256": "e3f2534a668d141f32f5b5e60a9561840cd57c5a375c5b9e09e6f766e7fb009a"
            },
            "downloads": -1,
            "filename": "connection_helper-0.12.tar.gz",
            "has_sig": false,
            "md5_digest": "785f7403908ec021112f885089f4275a",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.12",
            "size": 54663,
            "upload_time": "2025-08-08T11:17:52",
            "upload_time_iso_8601": "2025-08-08T11:17:52.839954Z",
            "url": "https://files.pythonhosted.org/packages/5f/4a/d47b736475e94a21668f0ccce5a24b5545f748d09ad52a27a75acf73594d/connection_helper-0.12.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-08 11:17:52",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "smeisegeier",
    "github_project": "connection-helper",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "connection-helper"
}
        
Elapsed time: 1.37590s