Skip to main content

Aiohttp web service for querying several databases easily

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

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

This version

4.1.2

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.1.2.tar.gz (4.7 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.1.2-cp313-cp313-musllinux_1_2_x86_64.whl (15.2 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

querysource-4.1.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (15.3 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

querysource-4.1.2-cp312-cp312-musllinux_1_2_x86_64.whl (15.3 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

querysource-4.1.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (15.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

querysource-4.1.2-cp311-cp311-musllinux_1_2_x86_64.whl (15.1 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

querysource-4.1.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (15.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

querysource-4.1.2-cp310-cp310-musllinux_1_2_x86_64.whl (14.2 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

querysource-4.1.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (14.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

File details

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

File metadata

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

File hashes

Hashes for querysource-4.1.2.tar.gz
Algorithm Hash digest
SHA256 8798ff8624cf230832c7f6bc26da5cf1bf09e961c87f0d120bf9ce1ff71c4254
MD5 3b44013d21c4ccf55d34551b744a3194
BLAKE2b-256 51314679817ff2e907a527543da2908a17de58ce5805b0c4a392d5adfc46de0f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for querysource-4.1.2-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 0cb5d197b4590675dbf476d98f63acc6acd61b376fd2532450b49b5700a9f882
MD5 2760ac5be623b4c42d710d117e5d1123
BLAKE2b-256 3442fd41bd32e395244380f7959e55d8c2309f5720d1c99d0cefc24b45a0edc0

See more details on using hashes here.

File details

Details for the file querysource-4.1.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for querysource-4.1.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d29b6e84762b8b700409811ebb8bf183a343430aa29bece8c1dd52e8332a767d
MD5 8bc92ef5e643bac49c7ffeeab9ecdaef
BLAKE2b-256 f3c9cce0e022dbbeb0c9d580459546dba682684baddf137709df36f2812f6c14

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for querysource-4.1.2-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 1f954cd6f67aac51ef9a78a41e95216f9cef423e6028b9b51674680ea1a832bd
MD5 71f1cae68a0c0f43843e396a3b248945
BLAKE2b-256 27f1fe7568745fa8e1ce8e6d161a7a581feed333bf4410d1c089a2cdc1767b07

See more details on using hashes here.

File details

Details for the file querysource-4.1.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for querysource-4.1.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 58113306afa56e01065c99e0ab46604fe142224684f53a22b7bfebfd79c2e505
MD5 afc6fe9b954bd86fe8a8cd9fe1bf1c1f
BLAKE2b-256 2e93fc6662d0be5a8f92a46b74156eed749be40d7a3ad2dc533755068ffcdd8c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for querysource-4.1.2-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 870af59dd6945694415eec4792559c389324594d094b9131ed0db6855095ed20
MD5 3db0bec8be385e6f7dc504060e7089e3
BLAKE2b-256 ec39572241cfd8f8f1c636fb8866d3a556880c2b887d925572a1e8e8fbe98ae5

See more details on using hashes here.

File details

Details for the file querysource-4.1.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for querysource-4.1.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 36f2e24d10c6d50e408ccf620f99957bd4746bd776089169ce7e0a30bbe8616a
MD5 e2a7d419a0640095cb44afd7e0cb573f
BLAKE2b-256 4f018a1ac0b302e091ebbcf2fb93ec759a88914f10320b598652c0dac2eaf424

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for querysource-4.1.2-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 04652dc7605a12fc3f0618a50a19c9e1f40ac4255bba8d50a183050a6544cc2d
MD5 69e923737aea8fc3b2744b939c5b052b
BLAKE2b-256 7c717cbc2c5cd057e77bd57c4584fc1c57261a60593d45b83f628ad017779c23

See more details on using hashes here.

File details

Details for the file querysource-4.1.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for querysource-4.1.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8056b224578bfd5637bc9220439ecb302191db0cbeb2cab642fddc253c670c45
MD5 7a57d588e81e9741fed9770d7f206f57
BLAKE2b-256 611f12852246627aa0e41e195325b1df2110c17c498ab63ae913ab741783c2b0

See more details on using hashes here.

Supported by

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