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.0.2.tar.gz (2.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.0.2-cp313-cp313-musllinux_1_2_x86_64.whl (12.4 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

querysource-4.0.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (12.5 MB view details)

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

querysource-4.0.2-cp312-cp312-musllinux_1_2_x86_64.whl (12.5 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

querysource-4.0.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (12.5 MB view details)

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

querysource-4.0.2-cp311-cp311-musllinux_1_2_x86_64.whl (12.3 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

querysource-4.0.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (12.3 MB view details)

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

querysource-4.0.2-cp310-cp310-musllinux_1_2_x86_64.whl (11.4 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

querysource-4.0.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (11.5 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.0.2.tar.gz.

File metadata

  • Download URL: querysource-4.0.2.tar.gz
  • Upload date:
  • Size: 2.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.0.2.tar.gz
Algorithm Hash digest
SHA256 96db1e5c69c2ec14816e4947d95b28f4dadd6daf2dfaf62d77dc8e820f6c0b77
MD5 54cf2d9fdcc625c341c25dee5b2cde54
BLAKE2b-256 30d00fa010d8b12250bdb336d9d38d2182a6bbd1a2edd31b696d265e88282fea

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for querysource-4.0.2-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 ea4fb3ef43aea6a06835b123c85a5b0ef69211113c0cf5695f46f5c1b52f8892
MD5 6b3472b2162e37e61514b12878131af0
BLAKE2b-256 65148b63f56339da075c967f39c887fce2759ea3cfb25b442653643f065c89ab

See more details on using hashes here.

File details

Details for the file querysource-4.0.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.0.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9ad8e18506251ecc89690f3894991ca58908ac230bbac7c97ae5a25a0f904ccd
MD5 93f1b5f74522f3b84695018ded2c9328
BLAKE2b-256 e1011cceecff39976133a7907512c0984fc356fb03d0dc155aebe9ce718baf34

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for querysource-4.0.2-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 f6b0c94a7eb5ea41e90e9271efaa18ea881e773b9ac8a0e05261ac1cdf417526
MD5 73e4ccff2f3073db926463026b49b78b
BLAKE2b-256 453552ae053897e6c51c50ade1eaa38bc0c4fe890b93235e7cdada4f4f604d20

See more details on using hashes here.

File details

Details for the file querysource-4.0.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.0.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 aa3c88bae1d588f0ff09a1b8512c9e3d773d0bfccb937604b65470ff9d8d7eba
MD5 74d4de6da1aa8dc5724e4d9eff3d12b5
BLAKE2b-256 c9f1a39d261702e6a3339f81e50dc9ccf92a3a1bda8c1f00a6f37fd20d8489ec

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for querysource-4.0.2-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 a95862e5925f7c26532c33268903936f442599e103f7697e45db2faf07e40d8a
MD5 d5aa582760db75a14502f2d521704eb7
BLAKE2b-256 4e52aa8f142e9873551e88d720cfd2190ae1b02f5f16108977e1f8a0d6cf114f

See more details on using hashes here.

File details

Details for the file querysource-4.0.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.0.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3aaf824d758b0e64f0f33704701cf28f3e15a84a72359bfd9e68197d5a4bea56
MD5 2414b3cadbbca84d4c44487ae7fd50e4
BLAKE2b-256 46ac8ad102a62b96293c2143ea616ddb7b5d5e66ae94a442648ef339e316813d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for querysource-4.0.2-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 802447da93514ce60705ca15e98fdafc665ea0b45ae48c9660f2160945df0efe
MD5 8af2711a179f3e098b29aa49e3292135
BLAKE2b-256 9bb55ed2114ea265df0ad673f552dda2550064d9f7883ec9433074ec7d10a4eb

See more details on using hashes here.

File details

Details for the file querysource-4.0.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.0.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 94b8dc474993fdde3db590c7310f87653fe2125df57e4da750bf266439f0be13
MD5 3c3c77fe258d70fa0c01c55cfcd9986c
BLAKE2b-256 ff1c576eab3d660ab001656835a9aae06f1f6bba1b86243f2ab21a29fef78d77

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