QuerySource is a Library for Querying Databases. QuerySource Query parser and generator.
Project description
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
$ 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:
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Hashes for querysource-3.11.23-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dc8f7db9d66f2b7f583dd0e88b0ac038d454ef668db09c20170def33f04807fc |
|
MD5 | cac7c0f7dc5a274afac564e2e35b291b |
|
BLAKE2b-256 | 26e9d6537316bf78871d7d0ad62ca0fce8e7e6414b91c6576a52ec078564afb6 |
Hashes for querysource-3.11.23-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0b228e10f896a01d0d2b7a756072b63706dfeae39871f8c49eb1e9ed133e449b |
|
MD5 | e054af35411b5e0fb6c7a88e0dae2714 |
|
BLAKE2b-256 | 9ca71963e76a9caf850270d44af13135b50e00b694a99d75f4e1550b839bda6e |
Hashes for querysource-3.11.23-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1ea81abc56ba3838c2436a608b721c757f616c63e8bf037f7b4c001fccff392d |
|
MD5 | 7441c99f6f59b53cc6959573d2de2113 |
|
BLAKE2b-256 | d060e5ad3466200c4f0399ac9c57294ed4fd1c3451914a3dc379c89f3aa13a59 |
Hashes for querysource-3.11.23-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 03e351c2409ee3fb20a367c7ca5fc860a25436801f7cf70571639f2ff10be469 |
|
MD5 | d806b3ab8aa9221029800b2c17abdb95 |
|
BLAKE2b-256 | 0874fb5ce35549a68f0288ce0832c987e99ce2b3d40deefdd317eae4e5739d15 |