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

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.5.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.5-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.5-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.5-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.5-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (15.4 MB view details)

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

querysource-4.1.5-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.5-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.5-cp310-cp310-musllinux_1_2_x86_64.whl (14.3 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

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

File metadata

  • Download URL: querysource-4.1.5.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.5.tar.gz
Algorithm Hash digest
SHA256 a56bfbe77ad240e1f2c2d4817cb38efacadc5ac1fb28a7112011a8740d80f86a
MD5 cf2a5e5b22e40f8d2363cbcb9e1263da
BLAKE2b-256 918930835c0069f9c0ac7102ad41628c4b384a01c55ee3dee96d31a2bfedc46d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for querysource-4.1.5-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 d91f463f5807cb908fe3445c5ce570d71418154615fe364d1dc3fd895885a8b4
MD5 12b8d8aa7a9589aeb9a2d8399fc5f344
BLAKE2b-256 416f45536bff5dfc51ada79b3433e85d120d23ed91e9d9f496bcb6218a4e3b5e

See more details on using hashes here.

File details

Details for the file querysource-4.1.5-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.5-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 275c528df1dd7e486eb4a0f296b56fff512410d0a6d2187f727f02eb130103ab
MD5 6650632fa34f3a8b97b892def083fc6d
BLAKE2b-256 859e0377cbee98de0ccb86a3655364062a1820c8b5da265b3b48aad63536c5b0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for querysource-4.1.5-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 8f69495b0250bb2672ea289373bdca97f91c6766b2ee31b83cfdb281c9e9e734
MD5 f5d175366ac44a8e2d7d371df5f6629e
BLAKE2b-256 f8c96d8d0ba4117e6e69882a62337a2c1141eb8ed9b05869542dd69ce1ddfb59

See more details on using hashes here.

File details

Details for the file querysource-4.1.5-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.5-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 79e6cf3b0e7e110e5b9d28d3df407d45966743cf35488d5c25756e5cabb7f4ca
MD5 a566b03de30afb51bdaebce9d1db740b
BLAKE2b-256 de75031a211fbf424a5b3aadb898bd657e25b87918225f7679402b76af347967

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for querysource-4.1.5-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 b1c9f33d75a0657bd161df4cc98670a21f35645608371572037366cb179a587b
MD5 434d2a78189abe911f5030c421c1ae03
BLAKE2b-256 df42e7b7e35980cd9ed4cb94117f2800f9258d063d4467cd35b43a57c564f3d5

See more details on using hashes here.

File details

Details for the file querysource-4.1.5-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.5-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b788f64e584ffddc61f536d90ce8fb2bfe574ffb55067b34bff7cfb9cc85b71e
MD5 cf9c96ff266e5f940dec72106c40cee8
BLAKE2b-256 4aeecf763ef76e1e61ac7ab6bf935fb1307b2e819bff8996034fd08d9cd99c97

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for querysource-4.1.5-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 244295eb756a32b3a36ed540fe8ec2d2e073ffd531398951d74f341b35efdd91
MD5 b67f25e212305cb5f93cdd8edb2cff38
BLAKE2b-256 c9604fd744f88d5c2782d981a2998f2b2792cb6f6341e7e0ad3b3be6b3502754

See more details on using hashes here.

File details

Details for the file querysource-4.1.5-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.5-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 71ef79d40b51f44b9f7aa0280565bf9c4ee3b547e364d633ba42294cbdcc5a85
MD5 74bd4a5a735135f775b0d23c8b33d93a
BLAKE2b-256 e85dddfc995b14ed4650305abf339399c2eeec30be3ee84dd444bb622365c0b3

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