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.8.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.8-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.8-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.8-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.8-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.8-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.8-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.8-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.8-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.8.tar.gz.

File metadata

  • Download URL: querysource-4.5.8.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.8.tar.gz
Algorithm Hash digest
SHA256 d6012e02a88d60716d59557fd0a8fa5f71ab58d3207a1a29003f7af76d6e2111
MD5 464f0a86ab288882369d8d819a899606
BLAKE2b-256 d74e7e96c7e6fe74fe571f42b7c9b329ce96a81b90fa088c060c1f4af72d4207

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for querysource-4.5.8-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 4146d1c442fb455a0e97441817eb81a858300f24e175ad8d65ad738f75139bba
MD5 97361344d65e40e348af11db1864e151
BLAKE2b-256 5265f248c0471fec6bb1110b965e1fe05cb4a2aeee614c66d70ccca38368c9ac

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for querysource-4.5.8-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 29f71029ec63078b9bdb5bed56552861b27949181bec8dde1317596ab891d883
MD5 fa1c91184dba1953c7d543e4d04d7878
BLAKE2b-256 d48e9916a8c2d1ed71ec2bef7a5c56e704e53bb7af6506fb986f32b964923227

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for querysource-4.5.8-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 ee65e354a106626e030c6e5d68cc2dd34d2402ccf86e9fd5e64fe6097284c442
MD5 6fa43c01a41907f609ca3e2ed07f591c
BLAKE2b-256 b3e53e8627a984932d7881eb321c8db5bb88d244502b0f9bc97b799178f275fa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for querysource-4.5.8-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1a94e8472dffb951fdfe285b7ebe82217dffb379a05a041b32977777577295ba
MD5 99faec7e7d344b318feb998d06a9866a
BLAKE2b-256 2e777558c27693074629d69578d938a1d3d3e8c218ee0db0cfa530711be1f6f6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for querysource-4.5.8-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 aef17c77ab9756f6de3cc1e661c81240ed3c994f040f2810dfcfa620ce2287de
MD5 f68f81414ddb89a38c737f2cf7f33333
BLAKE2b-256 fd3fd491acc62c76982bf71dc20d48c328578f34d20b608582867594ebb7d6fc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for querysource-4.5.8-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d9b35111e14bfc412c5c0841908f5b1abb66abb62a1933f9c54636cfdce29cdc
MD5 9c9a5688af804d414221e433bf6942d4
BLAKE2b-256 d2b3e928f10a817b8258f6a2159b21e3672ee9d6ec44cb84d9d909a24b391d47

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for querysource-4.5.8-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 fee3015a1884560d0ed85eadaf886481291a3ed60b255a4b3b954a4b91e137bf
MD5 6948ee152115c57fc9a2c0b8753f1e77
BLAKE2b-256 a557206e7eb2448c4c0740eb5eb41070081be86242acd51dfa13cba1e442322d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for querysource-4.5.8-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5a4f244660d750372213ba2612aa7f0d9d0f4567d5ac3ec5229c6e688b0a0254
MD5 cbd9b88849494e5e45c8943c9587c15c
BLAKE2b-256 979d3e5b6a92e886891ea6e9875aec0cce46a4a27afed3b49cde70a48882435f

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

4.5.8

Supported by

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