# A generalised and simple database interface library
[![PyPI - Version](https://img.shields.io/pypi/v/dbilib?style=flat-square)](https://pypi.org/project/dbilib)
[![PyPI - Implementation](https://img.shields.io/pypi/implementation/dbilib?style=flat-square)](https://pypi.org/project/dbilib)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/dbilib?style=flat-square)](https://pypi.org/project/dbilib)
[![PyPI - Status](https://img.shields.io/pypi/status/dbilib?style=flat-square)](https://pypi.org/project/dbilib)
[![Static Badge](https://img.shields.io/badge/tests-passing-brightgreen?style=flat-square)](https://pypi.org/project/dbilib)
[![Static Badge](https://img.shields.io/badge/code_coverage-100%25-brightgreen?style=flat-square)](https://pypi.org/project/dbilib)
[![Static Badge](https://img.shields.io/badge/pylint_analysis-100%25-brightgreen?style=flat-square)](https://pypi.org/project/dbilib)
[![Documentation Status](https://readthedocs.org/projects/dbilib/badge/?version=latest&style=flat-square)](https://dbilib.readthedocs.io/en/latest/)
[![PyPI - License](https://img.shields.io/pypi/l/dbilib?style=flat-square)](https://opensource.org/licenses/MIT)
[![PyPI - Wheel](https://img.shields.io/pypi/wheel/dbilib?style=flat-square)](https://pypi.org/project/dbilib)
The ``dbilib`` project is a mid-level CPython database interface library which is designed to fit between ``sqlalchemy`` and *your* database interface library.
The interface exposes methods for easily accessing the database engine, executing SQL statements and calling stored procedures - with minimal setup.
As of this release, the following database engines are supported:
- MySQL / MariaDB
- Oracle
- SQLite3
- SQL Server (coming soon)
## Installation
Installing the library is as easy as:
```
pip install dbilib
```
This will install the library's required dependencies (e.g. `sqlalchemy`, etc.). However, it will *not* install the database-specific libraries, (e.g. `cx_Oracle`, `mysql-connector-python`, etc). This design feature helps to not bloat your environment with unneeded packages and keeps cross-platform capability and flexibility.
## Using the Library
The [documentation suite](https://dbilib.readthedocs.io/en/latest/index.html) contains usage examples and detailed explanation for each of the library's importable modules. Please refer to the [Library API Documentation](https://dbilib.readthedocs.io/en/latest/library.html) section of the documentation.
## Database Support
Our currently supported databases are listed in the overview section on this page. However, for further detail regarding the databases supported by the [SQLAlchemy](https://www.sqlalchemy.org/) library, please refer to *their* documentation, specifically their [Included Dialects](https://docs.sqlalchemy.org/en/20/dialects/index.html#included-dialects) page, which lists the supported database dialects and their version(s).
### Connection Strings
For convenience, we have provided a link to the [connection string](https://docs.sqlalchemy.org/en/20/core/engines.html#backend-specific-urls) (or database URL) templates for each database dialect supported by `sqlalchemy`. Generally, the [database URLs](https://docs.sqlalchemy.org/en/20/core/engines.html#database-urls) follow this convention:
```
dialect+driver://username:password@host:port/database
```
For example, the MySQL / MariaDB specific database URL using the ``mysql-connector-python`` driver, is:
```
mysql+mysqlconnector://<user>:<pwd>@<host>:<port>/<database>
```
Raw data
{
"_id": null,
"home_page": null,
"name": "dbilib",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "database, interface, utilities",
"author": null,
"author_email": "The Developers <development@s3dev.uk>",
"download_url": "https://files.pythonhosted.org/packages/95/ea/ae32775f5e00f2604ed4824e6e3a31c3305071159784e22f28763a9532a2/dbilib-0.4.2.tar.gz",
"platform": null,
"description": "\n# A generalised and simple database interface library\n\n[![PyPI - Version](https://img.shields.io/pypi/v/dbilib?style=flat-square)](https://pypi.org/project/dbilib)\n[![PyPI - Implementation](https://img.shields.io/pypi/implementation/dbilib?style=flat-square)](https://pypi.org/project/dbilib)\n[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/dbilib?style=flat-square)](https://pypi.org/project/dbilib)\n[![PyPI - Status](https://img.shields.io/pypi/status/dbilib?style=flat-square)](https://pypi.org/project/dbilib)\n[![Static Badge](https://img.shields.io/badge/tests-passing-brightgreen?style=flat-square)](https://pypi.org/project/dbilib)\n[![Static Badge](https://img.shields.io/badge/code_coverage-100%25-brightgreen?style=flat-square)](https://pypi.org/project/dbilib)\n[![Static Badge](https://img.shields.io/badge/pylint_analysis-100%25-brightgreen?style=flat-square)](https://pypi.org/project/dbilib)\n[![Documentation Status](https://readthedocs.org/projects/dbilib/badge/?version=latest&style=flat-square)](https://dbilib.readthedocs.io/en/latest/)\n[![PyPI - License](https://img.shields.io/pypi/l/dbilib?style=flat-square)](https://opensource.org/licenses/MIT)\n[![PyPI - Wheel](https://img.shields.io/pypi/wheel/dbilib?style=flat-square)](https://pypi.org/project/dbilib)\n\nThe ``dbilib`` project is a mid-level CPython database interface library which is designed to fit between ``sqlalchemy`` and *your* database interface library.\n\nThe interface exposes methods for easily accessing the database engine, executing SQL statements and calling stored procedures - with minimal setup.\n\nAs of this release, the following database engines are supported:\n\n- MySQL / MariaDB\n- Oracle\n- SQLite3\n- SQL Server (coming soon)\n\n\n## Installation\nInstalling the library is as easy as:\n\n```\npip install dbilib\n```\nThis will install the library's required dependencies (e.g. `sqlalchemy`, etc.). However, it will *not* install the database-specific libraries, (e.g. `cx_Oracle`, `mysql-connector-python`, etc). This design feature helps to not bloat your environment with unneeded packages and keeps cross-platform capability and flexibility.\n\n\n## Using the Library\nThe [documentation suite](https://dbilib.readthedocs.io/en/latest/index.html) contains usage examples and detailed explanation for each of the library's importable modules. Please refer to the [Library API Documentation](https://dbilib.readthedocs.io/en/latest/library.html) section of the documentation.\n\n\n## Database Support\nOur currently supported databases are listed in the overview section on this page. However, for further detail regarding the databases supported by the [SQLAlchemy](https://www.sqlalchemy.org/) library, please refer to *their* documentation, specifically their [Included Dialects](https://docs.sqlalchemy.org/en/20/dialects/index.html#included-dialects) page, which lists the supported database dialects and their version(s).\n\n### Connection Strings\nFor convenience, we have provided a link to the [connection string](https://docs.sqlalchemy.org/en/20/core/engines.html#backend-specific-urls) (or database URL) templates for each database dialect supported by `sqlalchemy`. Generally, the [database URLs](https://docs.sqlalchemy.org/en/20/core/engines.html#database-urls) follow this convention:\n\n```\ndialect+driver://username:password@host:port/database\n```\n\nFor example, the MySQL / MariaDB specific database URL using the ``mysql-connector-python`` driver, is:\n\n```\nmysql+mysqlconnector://<user>:<pwd>@<host>:<port>/<database>\n```\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "A generalised and simple database interface library.",
"version": "0.4.2",
"project_urls": {
"Documentation": "https://dbilib.readthedocs.io/en/latest/",
"Homepage": "https://github.com/s3dev/dbilib",
"Repository": "https://github.com/s3dev/dbilib"
},
"split_keywords": [
"database",
" interface",
" utilities"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "6ef189b67eed31b8defaf9f0c5d49ed8866227142f3845bba300e489f32c481a",
"md5": "f4594e41b46918c6c895b002ccb87134",
"sha256": "c6c274382268f359f636b014c6a4c47515bcd2383305c0fdfa9ef9eaadf34789"
},
"downloads": -1,
"filename": "dbilib-0.4.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "f4594e41b46918c6c895b002ccb87134",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 17927,
"upload_time": "2024-11-12T17:55:17",
"upload_time_iso_8601": "2024-11-12T17:55:17.642675Z",
"url": "https://files.pythonhosted.org/packages/6e/f1/89b67eed31b8defaf9f0c5d49ed8866227142f3845bba300e489f32c481a/dbilib-0.4.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "95eaae32775f5e00f2604ed4824e6e3a31c3305071159784e22f28763a9532a2",
"md5": "82fe572cef745042ce7d5058f2546dff",
"sha256": "d054be666ca8622e6acea7081fae229bee7fdda6c0117d7cce1f8636ef4c978c"
},
"downloads": -1,
"filename": "dbilib-0.4.2.tar.gz",
"has_sig": false,
"md5_digest": "82fe572cef745042ce7d5058f2546dff",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 3142923,
"upload_time": "2024-11-12T17:55:29",
"upload_time_iso_8601": "2024-11-12T17:55:29.139665Z",
"url": "https://files.pythonhosted.org/packages/95/ea/ae32775f5e00f2604ed4824e6e3a31c3305071159784e22f28763a9532a2/dbilib-0.4.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-11-12 17:55:29",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "s3dev",
"github_project": "dbilib",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [
{
"name": "cx_Oracle",
"specs": [
[
"==",
"8.3.0"
]
]
},
{
"name": "pandas",
"specs": [
[
"==",
"2.2.2"
]
]
},
{
"name": "sqlalchemy",
"specs": [
[
"==",
"2.0.36"
]
]
},
{
"name": "utils4",
"specs": [
[
"==",
"1.5.0.dev1"
]
]
},
{
"name": "importlib_metadata",
"specs": [
[
">=",
"8.0.0"
]
]
},
{
"name": "mysql-connector-python",
"specs": [
[
">=",
"9.0.0"
]
]
},
{
"name": "zipp",
"specs": [
[
">=",
"3.19.1"
]
]
}
],
"lcname": "dbilib"
}