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

File metadata

  • Download URL: querysource-4.5.5.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.5.tar.gz
Algorithm Hash digest
SHA256 67b3f575ad4cd9c5044c63088425f0a14899e05192d376c058b14b22e461884d
MD5 0c410e8dc00797f38db99f685ec74c6c
BLAKE2b-256 3c7d4fe6bd9dd179dcbea2524167f953e0754282e3b16fc723d76c433c8b735f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for querysource-4.5.5-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 d85e8ae7201908d6c9e4030041a157394a619fbd4177184b3d73c4fb325549e9
MD5 e862182474c46a8be701546e0b79a868
BLAKE2b-256 9d70bcd36f37e38e731b73af879214ce039236d70037db4278e8dc5191e598e2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for querysource-4.5.5-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 bd00e71aa5feb3cbf8506df85b1341d7449795ef50386965a57944b3219070d3
MD5 aa7412b0c27556509e44f28288f47ec1
BLAKE2b-256 8c8ff064504b8ef745299fd74415302dfcbe5267cf0ffe0f4c756c743318ec2b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for querysource-4.5.5-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 e9b3af011a5ebe70a0d892006415cc6fad3f7dc8d6bf736b91d11c352ef2df4e
MD5 c5f5c6ddb8cb278de731d727caaae18b
BLAKE2b-256 f5c0caddb717747840f33890a1e4e3cfd2d4e78bf55fc487ff84719aa146b747

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for querysource-4.5.5-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 07673fba88a300f188aa8c7051534fa547ac7a32db89ca4e00105ad7dc0672fb
MD5 dfbceba6172c968fe4e6e3cf214faf04
BLAKE2b-256 b4b15c556441a2009a289027c3a466092e051815b21d17f1869003eda588f6a2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for querysource-4.5.5-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 b89305f77c641f1630e8166a579714b1d1f9644a3fddc5f6a6deb4f54a5ee9da
MD5 9c8089467a2de92758e951de6767c46c
BLAKE2b-256 e766f599e7efb44d4e6d66e861eaf050aa54f393fcfe552a6c90ef35c34e3d55

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for querysource-4.5.5-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6ce5227cb04d0c4834070f54eca22e7ea0c70b861434064ec701cf6eea831f97
MD5 720005475f0e8a1185ad09caa34688b3
BLAKE2b-256 beb048efc9145bfe02ed24313419b1de3cc96d07c3f7bec9c609a3d1be55517d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for querysource-4.5.5-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 5689d95d3ac63fe9aa424bbc8e54531af311fbae84c90c566f4fcb4165888839
MD5 420550c124de6e924702ab4998e2e531
BLAKE2b-256 979e4cda8dfce47f430e41d5841efb2a89f3bc80fbf7679c0fd360ad2dd3d088

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for querysource-4.5.5-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 23d002002be92b0436e5defc213943bbd482930f65320c813ffced5e72d049af
MD5 ef2e0e73c083ebb89318ef2a44c747a0
BLAKE2b-256 7f70c1b2b69b4dfc526eed84a315454a35adb22e6050c453088ba28f5535e6ce

See more details on using hashes here.

Release history Release notifications | RSS feed

Supported by

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