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.4.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.4.2.tar.gz (3.1 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.4.2-cp313-cp313-musllinux_1_2_x86_64.whl (13.5 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

querysource-4.4.2-cp313-cp313-manylinux_2_28_x86_64.whl (13.5 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

querysource-4.4.2-cp312-cp312-musllinux_1_2_x86_64.whl (13.6 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

querysource-4.4.2-cp312-cp312-manylinux_2_28_x86_64.whl (13.6 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

querysource-4.4.2-cp311-cp311-musllinux_1_2_x86_64.whl (13.4 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

querysource-4.4.2-cp311-cp311-manylinux_2_28_x86_64.whl (13.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

querysource-4.4.2-cp310-cp310-musllinux_1_2_x86_64.whl (12.6 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

querysource-4.4.2-cp310-cp310-manylinux_2_28_x86_64.whl (12.5 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

File details

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

File metadata

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

File hashes

Hashes for querysource-4.4.2.tar.gz
Algorithm Hash digest
SHA256 f627983bc59f1650559108fbb0a521c3567a1f827b72f7b199b0ec4c09c92242
MD5 f5d01e4e2dedd111cdfb425fc6e80c1a
BLAKE2b-256 c45b2822d8e02e2dbf573be38c0f217e52b482ad0e05a204de61e2be52ce0a19

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for querysource-4.4.2-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c1dc1d8d8e363a9e93c34835e4f95fa38fdbcc8b3dc6aa6cbb7cb61c096e41ce
MD5 8da532aa190fa1bf9347d50d5e8fe624
BLAKE2b-256 ebbe7fe2a9fbb35a984e81e97a734a9fb89ec599d4e5eb21f23c95b6f2e25188

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for querysource-4.4.2-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 82de093eccced6bf29f1c64f3fb1c0bde94bba67c92a34f93bcbf744bacd963d
MD5 8d9f93025ae84b846bdd18e64a411d9e
BLAKE2b-256 ffd882d38b06bc9d953d51e5f0eb8b9964ffa0c83747a18dfc1f9e88c36d682d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for querysource-4.4.2-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 04ba3ea151e737b16c185c65dffdf9426db6d01582f66c55c5fa377bea5bb673
MD5 ce45934bbca8ae8c34f3c207d81b4b85
BLAKE2b-256 bb610b221b45e342c7765c68489281a836c51abca132c85d86ad8912448199b3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for querysource-4.4.2-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 7f7f9f1face17d6f59d2cfd687ce22725e9d8d1dad4fd651eb2e83fca1f44691
MD5 c4c10193107e4dd2901249866a2b08a6
BLAKE2b-256 6938019c75603a9cd783db0496af7903947b9c06f508c9498ba8d77691d67a7b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for querysource-4.4.2-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 6eb6867a4fab7b7deb9585c672ae0952df598610bd15c8f63bb8adb12642940b
MD5 072cdd294c724dbb0086fdd131ce1e3e
BLAKE2b-256 072eab8ab0a95d4bcc4166c71ae1e62ee6fd6705e2b0551a03caf1ed46ca277b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for querysource-4.4.2-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 578d4519ae0695a208e7831eb35ecfa595caa9b707d80bd1197b383f10617185
MD5 5644d4a0ab8e6ce95cbe036ef2d3b610
BLAKE2b-256 e4e8871a25d9dd78f4f3d2ee721896a5484b845657c4b61cc970924a23606328

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for querysource-4.4.2-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 f70678efa7327fc034193a67ea8d0040dc1b527b4087925815bc09a8a8651f71
MD5 c9445e5ba57cfde856531152efd7f7a5
BLAKE2b-256 dbb895e97484d3c2b29157909486962fa250aff6d56fd4aebbd1fc6414a995da

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for querysource-4.4.2-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 cfac8b4579e3454466f64f61e5da39587e8f215e8e3b729b553f85d27baa1893
MD5 8cec85b78221adcab6abf70ac3bc15ec
BLAKE2b-256 879d3f2bc1c2d4c4abc69a2508204de095d9ad863a6fe374d4332d9c35d09acf

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