querysource


Namequerysource JSON
Version 3.15.34 PyPI version JSON
download
home_pagehttps://github.com/phenobarbital/querysource/
SummaryQuerySource is a Library for Querying Databases. QuerySource Query parser and generator.Supports SQL, NoSQL, MongoDB, Cassandra, Elasticsearch, etc.
upload_time2025-04-07 23:54:06
maintainerNone
docs_urlNone
authorJesus Lara
requires_python>=3.9.16
licenseBSD
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # QuerySource #

QuerySource is a powerful Python library designed to streamline access to multiple databases and external APIs through a single, unified interface. Utilizing the proxy design pattern, QuerySource allows developers to seamlessly integrate various data sources into their projects without worrying about the complexities of managing multiple connections.

## Features ##

* Unified interface for querying multiple databases (Redis, PostgreSQL, MySQL, Oracle, SQL Server, InfluxDB, CouchDB, Druid)
* Support for external APIs (Salesforce, ShopperTrack, ZipCodeAPI, etc.)
* Easy-to-use API for executing queries
* Extensible design, allowing for easy addition of new data sources

## Installation

<div class="termy">

```console
$ pip install querysource
---> 100%
Successfully installed querysource
```


### Requirements ###

* Python >= 3.9
* asyncio (https://pypi.python.org/pypi/asyncio/)

## Basic Usage ##

QuerySource can be used in several ways, one is using QS object itself:

```python
from querysource.queries.qs import QS

query = QS(
    query='SELECT * FROM tests',
    output_format='pandas'
)
result, error = await query.query()
```

## Extending QuerySource ##

To add support for a new data source, create a new class inheriting from the BaseProvider or BaseAPI class and implement the required methods (prepare_connection, query, close). Then, register the new data source in the QuerySource class by adding it to the appropriate dictionary (_supported_databases or _supported_apis).


### Contributing ###

We welcome contributions to QuerySource! If you'd like to contribute, please follow these steps:

* Fork the repository
* Create a new branch for your feature or bugfix
* Implement your changes
* Add tests covering your changes
* Create a pull request against the original repository

### Contribution guidelines ###

* Writing tests
* Code review
* Other guidelines

### License ###

QuerySource is released under the BSD License. See the LICENSE file for more details.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/phenobarbital/querysource/",
    "name": "querysource",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9.16",
    "maintainer_email": null,
    "keywords": null,
    "author": "Jesus Lara",
    "author_email": "\"Jesus Lara G.\" <jesuslarag@gmail.com>",
    "download_url": null,
    "platform": null,
    "description": "# QuerySource #\n\nQuerySource is a powerful Python library designed to streamline access to multiple databases and external APIs through a single, unified interface. Utilizing the proxy design pattern, QuerySource allows developers to seamlessly integrate various data sources into their projects without worrying about the complexities of managing multiple connections.\n\n## Features ##\n\n* Unified interface for querying multiple databases (Redis, PostgreSQL, MySQL, Oracle, SQL Server, InfluxDB, CouchDB, Druid)\n* Support for external APIs (Salesforce, ShopperTrack, ZipCodeAPI, etc.)\n* Easy-to-use API for executing queries\n* Extensible design, allowing for easy addition of new data sources\n\n## Installation\n\n<div class=\"termy\">\n\n```console\n$ pip install querysource\n---> 100%\nSuccessfully installed querysource\n```\n\n\n### Requirements ###\n\n* Python >= 3.9\n* asyncio (https://pypi.python.org/pypi/asyncio/)\n\n## Basic Usage ##\n\nQuerySource can be used in several ways, one is using QS object itself:\n\n```python\nfrom querysource.queries.qs import QS\n\nquery = QS(\n    query='SELECT * FROM tests',\n    output_format='pandas'\n)\nresult, error = await query.query()\n```\n\n## Extending QuerySource ##\n\nTo add support for a new data source, create a new class inheriting from the BaseProvider or BaseAPI class and implement the required methods (prepare_connection, query, close). Then, register the new data source in the QuerySource class by adding it to the appropriate dictionary (_supported_databases or _supported_apis).\n\n\n### Contributing ###\n\nWe welcome contributions to QuerySource! If you'd like to contribute, please follow these steps:\n\n* Fork the repository\n* Create a new branch for your feature or bugfix\n* Implement your changes\n* Add tests covering your changes\n* Create a pull request against the original repository\n\n### Contribution guidelines ###\n\n* Writing tests\n* Code review\n* Other guidelines\n\n### License ###\n\nQuerySource is released under the BSD License. See the LICENSE file for more details.\n",
    "bugtrack_url": null,
    "license": "BSD",
    "summary": "QuerySource is a Library for Querying Databases. QuerySource Query parser and generator.Supports SQL, NoSQL, MongoDB, Cassandra, Elasticsearch, etc.",
    "version": "3.15.34",
    "project_urls": {
        "Documentation": "https://querysource.readthedocs.io/en/latest/",
        "Funding": "https://paypal.me/phenobarbital",
        "Homepage": "https://github.com/phenobarbital/querysource/",
        "Say Thanks!": "https://saythanks.io/to/phenobarbital",
        "Source": "https://github.com/phenobarbital/querysource/",
        "Tracker": "https://github.com/phenobarbital/querysource/issues"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "1c2be193cbbffd7bc7afcf79b8203af5a6e16a5df00ee5201cdfe9deb1475afd",
                "md5": "d3be88911869aa7e00002b52395fef04",
                "sha256": "46493fb58a380f2404b1a1a64e7732084253ef57e648d89cce3552c897d105fc"
            },
            "downloads": -1,
            "filename": "querysource-3.15.34-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "d3be88911869aa7e00002b52395fef04",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.9.16",
            "size": 6086128,
            "upload_time": "2025-04-07T23:54:06",
            "upload_time_iso_8601": "2025-04-07T23:54:06.927266Z",
            "url": "https://files.pythonhosted.org/packages/1c/2b/e193cbbffd7bc7afcf79b8203af5a6e16a5df00ee5201cdfe9deb1475afd/querysource-3.15.34-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "e4cd9409784182ef8ed932a81b10eea63a11661b7ec15e52b9daf2de4b767f10",
                "md5": "a39db2e26f2b9fff89634ba73f8de4c2",
                "sha256": "0584e1f8d37cc9deb89aeb0aa8c20bad5ab1844345c96d5339bb3dcdda7fcb37"
            },
            "downloads": -1,
            "filename": "querysource-3.15.34-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "a39db2e26f2b9fff89634ba73f8de4c2",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.9.16",
            "size": 6464810,
            "upload_time": "2025-04-07T23:54:09",
            "upload_time_iso_8601": "2025-04-07T23:54:09.650456Z",
            "url": "https://files.pythonhosted.org/packages/e4/cd/9409784182ef8ed932a81b10eea63a11661b7ec15e52b9daf2de4b767f10/querysource-3.15.34-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "a16524d337eb74fd80389b5622e61ec567ce2b9c5dbe833ff09e660cbe63fcd2",
                "md5": "9f38b7094ff661ce5c0e7d4f1a2bf48f",
                "sha256": "adfcc8db80c502a7eb97b074cede59bb749e852246444ef73c2734544ec18013"
            },
            "downloads": -1,
            "filename": "querysource-3.15.34-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "9f38b7094ff661ce5c0e7d4f1a2bf48f",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.9.16",
            "size": 6548937,
            "upload_time": "2025-04-07T23:54:11",
            "upload_time_iso_8601": "2025-04-07T23:54:11.957265Z",
            "url": "https://files.pythonhosted.org/packages/a1/65/24d337eb74fd80389b5622e61ec567ce2b9c5dbe833ff09e660cbe63fcd2/querysource-3.15.34-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "b6c54ebaddb9c3fa28803f20290da67409198c1ed9dfe1db269a6d4f966fe1a3",
                "md5": "be7bfd5fcb2dccd2843882476f6895b0",
                "sha256": "3b518f79251415bf01ee649ec14deefd7c8817bdf879284623854cb0a5ff9aa5"
            },
            "downloads": -1,
            "filename": "querysource-3.15.34-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "be7bfd5fcb2dccd2843882476f6895b0",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.9.16",
            "size": 6100786,
            "upload_time": "2025-04-07T23:54:14",
            "upload_time_iso_8601": "2025-04-07T23:54:14.019264Z",
            "url": "https://files.pythonhosted.org/packages/b6/c5/4ebaddb9c3fa28803f20290da67409198c1ed9dfe1db269a6d4f966fe1a3/querysource-3.15.34-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-04-07 23:54:06",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "phenobarbital",
    "github_project": "querysource",
    "github_not_found": true,
    "lcname": "querysource"
}
        
Elapsed time: 0.45853s