Skip to main content

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

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.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

querysource-4.5.7.tar.gz (3.2 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

querysource-4.5.7-cp313-cp313-musllinux_1_2_x86_64.whl (11.4 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

querysource-4.5.7-cp313-cp313-manylinux_2_28_x86_64.whl (11.4 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

querysource-4.5.7-cp312-cp312-musllinux_1_2_x86_64.whl (11.5 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

querysource-4.5.7-cp312-cp312-manylinux_2_28_x86_64.whl (11.5 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

querysource-4.5.7-cp311-cp311-musllinux_1_2_x86_64.whl (11.3 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

querysource-4.5.7-cp311-cp311-manylinux_2_28_x86_64.whl (11.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

querysource-4.5.7-cp310-cp310-musllinux_1_2_x86_64.whl (10.4 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

querysource-4.5.7-cp310-cp310-manylinux_2_28_x86_64.whl (10.4 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

File details

Details for the file querysource-4.5.7.tar.gz.

File metadata

  • Download URL: querysource-4.5.7.tar.gz
  • Upload date:
  • Size: 3.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for querysource-4.5.7.tar.gz
Algorithm Hash digest
SHA256 00ee91fab8c7c5954bb2636d0f0e42cba1ae6217739071ba2962adc96690eb0b
MD5 be6ae05ed3669a4f28f78bf7ecaded06
BLAKE2b-256 059824a080b0c9e3f311077d6b1c77689142f55956cd761e25ce66e061309283

See more details on using hashes here.

File details

Details for the file querysource-4.5.7-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for querysource-4.5.7-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 e389d4e2aac821781191d031e02199374a7ced62f6656d97bfe6bdcb9b84b8b0
MD5 53314b9fa82104f9ad1b376d7e6a11cf
BLAKE2b-256 e42179735d3e1debca3271d47a34d4ebe62da13b957c3b6839284400fc6c1b95

See more details on using hashes here.

File details

Details for the file querysource-4.5.7-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for querysource-4.5.7-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b0ff603bd8da6994c593bbc570d5f144811933af4276375bbbf3e71d9585bcea
MD5 bed57472ed9856a03b07d59a6c4f879f
BLAKE2b-256 d86cecdfd99033756ba499dc1340751e715ad7df7ecddc71bf02e08b493d7f5c

See more details on using hashes here.

File details

Details for the file querysource-4.5.7-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for querysource-4.5.7-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 96ac25a1b9682fe7de6f14265d4f22c09d4a8ba4bd693e70f1068943894fe736
MD5 859a505ccda30dbc62af73805310b09a
BLAKE2b-256 7f0e6bf4b0c82a97c468071390adf792f2caeed0252777e1aa05ef88787f8577

See more details on using hashes here.

File details

Details for the file querysource-4.5.7-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for querysource-4.5.7-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a8e8f6d2bb5f7e7aae7051af26f62bbb2f4b9a2d8f391f4599b86070079c7aee
MD5 f81e8f8efbe48eecf25613b84a27b4a7
BLAKE2b-256 5b0a5771e8a8688f82d98a9a58c063b47bb2a5749a16dbad5e76bb09ced5fd2b

See more details on using hashes here.

File details

Details for the file querysource-4.5.7-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for querysource-4.5.7-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 35f5037525f6efb8ffffc2a0f8ba3f0d78f5da3834e16a6ef66e3d96f897fe46
MD5 44a9187be0b38896e993b6db4fc108fc
BLAKE2b-256 645f79a94db027e1b198c801682900e60ceb9c8c8e38a23238d3f09d568569d1

See more details on using hashes here.

File details

Details for the file querysource-4.5.7-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for querysource-4.5.7-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9f3cd928487b6bc06ff06e62c73918ca004bb9c68e8040ecbea9edea33c454a2
MD5 40228a9afbe1b1fd0a8c1cfbe80e0bea
BLAKE2b-256 c1b3e485f3454f274d9390cbb60c220f591e19a0499057d2695742f487e96917

See more details on using hashes here.

File details

Details for the file querysource-4.5.7-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for querysource-4.5.7-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 4a060ae4c76875e041d092463bf399c01e341fbc9504ab7349e014cd91d9e9c9
MD5 9f19d1820850ffbb50ec699d4a2ae110
BLAKE2b-256 8072e3a85315ee64eb6efad067bd414b2d40a12676a7a119b995711d7fb0016b

See more details on using hashes here.

File details

Details for the file querysource-4.5.7-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for querysource-4.5.7-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ad83061dfda84de3b308ad3614d725b23efbd1dc98376878fa493072857b46d8
MD5 9eb6996e4bf7c4297e39fb0da6f9a7b0
BLAKE2b-256 e024b115ec712b997a54137925d8a1b54bb7017070bbba5e87490a56df170468

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

4.5.7

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page