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.
Metadata
Release files for querysource 5.2.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| querysource-5.2.6.tar.gz | 3.6 MB | Without provenance | Details for querysource-5.2.6.tar.gz |
Built distributions (wheels)
Total release size: 36.6 MB
Release files / querysource-5.2.6.tar.gz
| Download URL | querysource-5.2.6.tar.gz |
|---|---|
| Size | 3.6 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c55b038de85b511834c971af1ca69b0935002bd7076ebc814e88d21107b4ba7f
|
|
BLAKE2b-256 checksum How to use checksums |
9c760c2b238bc27a2b13a4d2c240c84ed71d7d03bf33affaa6ad77d8c1961424
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.4
|
Release files / querysource-5.2.6-cp314-cp314-musllinux_1_2_x86_64.whl
| Download URL | querysource-5.2.6-cp314-cp314-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 4.2 MB |
| Tags | CPython 3.14 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
270fa24d2fab534671fa80032442aff112e5437ead26d258ad1d67ae1cf22f61
|
|
BLAKE2b-256 checksum How to use checksums |
4d60e4a8b4815d9463f985557548d8e8b9fe54eade0d0d2e15d9ef8e74037c6a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.4
|
Release files / querysource-5.2.6-cp314-cp314-manylinux_2_28_x86_64.whl
| Download URL | querysource-5.2.6-cp314-cp314-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 4.1 MB |
| Tags | CPython 3.14 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
a15379ad1403cac86263476075c3f5200ce8dabc41e1b776dc54e5c73e6d2858
|
|
BLAKE2b-256 checksum How to use checksums |
acfc759a224155e732db6ac2c7d82b6a624e94d56c91a00dde10d53c2b2d911c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.4
|
Release files / querysource-5.2.6-cp313-cp313-musllinux_1_2_x86_64.whl
| Download URL | querysource-5.2.6-cp313-cp313-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 4.2 MB |
| Tags | CPython 3.13 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
6fd9c3a8cde0521dc7b76391ad31bc085e39d89180d7430f0d978befc8bc8aae
|
|
BLAKE2b-256 checksum How to use checksums |
71d25fbf3b69827577d0eab1a655ed86bd81d326827edb942a97c512451ff16d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.4
|
Release files / querysource-5.2.6-cp313-cp313-manylinux_2_28_x86_64.whl
| Download URL | querysource-5.2.6-cp313-cp313-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 4.1 MB |
| Tags | CPython 3.13 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
d62dceeb88eda4ca25f5237b20a2f33df5a6990e18b693e03a3419ff11eda7ae
|
|
BLAKE2b-256 checksum How to use checksums |
9aabe139d92c7cc8deca9267d2988a6c3ca5636c93e42a467b6399259783eac3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.4
|
Release files / querysource-5.2.6-cp312-cp312-musllinux_1_2_x86_64.whl
| Download URL | querysource-5.2.6-cp312-cp312-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 4.2 MB |
| Tags | CPython 3.12 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
5467d68bf128f17245773d68734acdc373f82c9324c2851471eaf1026b7350f3
|
|
BLAKE2b-256 checksum How to use checksums |
078a120f6938505863782a3d521f5db4962ee6ef5cf4695879e8fb4f3b1f5ce7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.4
|
Release files / querysource-5.2.6-cp312-cp312-manylinux_2_28_x86_64.whl
| Download URL | querysource-5.2.6-cp312-cp312-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 4.1 MB |
| Tags | CPython 3.12 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
5c378e4a501f0bf65502f08114a3db8bf110a17c40575694e4b8544e4d295061
|
|
BLAKE2b-256 checksum How to use checksums |
01ca92d4e5d432d2ea7a41c5c214356d69dbb61c1307e8126f3162bfec19ac09
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.4
|
Release files / querysource-5.2.6-cp311-cp311-musllinux_1_2_x86_64.whl
| Download URL | querysource-5.2.6-cp311-cp311-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 4.2 MB |
| Tags | CPython 3.11 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
a1e93e23658b51eb244768d8aff6ecffb2ec2b5518d671af197fe5fb39940672
|
|
BLAKE2b-256 checksum How to use checksums |
75ad51467bb31db8ef171584e54ed30283019a2e642f0a7a67c97f6ffb0ed61c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.4
|
Release files / querysource-5.2.6-cp311-cp311-manylinux_2_28_x86_64.whl
| Download URL | querysource-5.2.6-cp311-cp311-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 4.1 MB |
| Tags | CPython 3.11 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
f66a961372f6f0bd3d4fdc83f939ee43ba7a3de68b6aab55148601a2d75e07f5
|
|
BLAKE2b-256 checksum How to use checksums |
f0f988cd65520c0da9e91b103fc16deaf9e98b6de008abae5c822d0ea58100ee
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.4
|
Security for querysource 5.2.6
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.