mdbpq
Handle both Postgres and MongoDB queries in an interchangable manner.
pip install mdbpg
import mdbpg
# create an instance for Postgres or MongoDB through mdbpg
# max_conns and use_env_vars are both optional parameters
# max_conns defaults to 10 and use_env_vars defaults to True
# if use_env_vars is False then mdbpg will try to load a toml
# config named 'database.toml' using mtoml instead
pgdb = mdbpg.postgres(max_conns=5, use_env_vars=True)
mdb = mdbpg.mongodb(max_conns=50, use_env_vars=True)
# both methods work in the same manner, you specify the
# table/collection with the first parameter and then pass
# a dict containing the parameters and values you want
# the function then returns either None if something went
# wrong or a list of dict results
result_list = pgdb.find('dogs', { 'color': 'black' })
result_list = mdb.find('dogs', { 'color': 'black' })
# the benefit of this is that you can build queries in the
# same manner for both databases and expect it to just work
# again these are equivalent, though there are differences
# between how Postgres and MongoDB will view these calls
# for MongoDB this is the entire object, where as with Postgres
# this may only be a few columns and so when setting up your
# table in Postgres it would be ideal to set default values
pgdb.insert('dogs', { 'breed': 'pitbull', 'color': 'white', 'cuteness': 9000.01 })
mdb.insert('dogs', { 'breed': 'pitbull', 'color': 'white', 'cuteness': 9000.01 })
# both Postgres and MongoDB contain the same methods:
# find, insert, update, delete
# though postgres.insert() is the only method with a gotcha like that
# Postgres has two additional methods which handle SQL queries
# both methods can be used to run any valid SQL query except that
# postgres.fetch() expects a result to be returned from the query
# where as postgres.commit() does not
result_list = pgdb.fetch("SELECT * FROM 'dogs' WHERE breed = 'hound'")
pgdb.commit("DELETE FROM 'dogs' WHERE breed = 'hound'")
Release files for mdbpg 0.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| mdbpg-0.2.1.tar.gz | 10.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mdbpg-0.2.1-py2.py3-none-any.whl | Python 2, Python 3 | none | any | Details |
Total release size: 22.0 kB
Release files / mdbpg-0.2.1.tar.gz
| Download URL | mdbpg-0.2.1.tar.gz |
|---|---|
| Size | 10.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b0633a5e3077f625f84f486b31152fe291d9c03f60e218c7948dfc39ca5d4750
|
|
BLAKE2b-256 checksum How to use checksums |
b4a36dd97504bdf1d899b1ac15471c2d33dcc5e2c58dfe350fdca7df93ecc54b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.10.5
|
Release files / mdbpg-0.2.1-py2.py3-none-any.whl
| Download URL | mdbpg-0.2.1-py2.py3-none-any.whl |
|---|---|
| Size | 11.6 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
606e4719439a5598b17965de5edb55ca9f68c79a4415f1b47235f4c5f9757ddd
|
|
BLAKE2b-256 checksum How to use checksums |
eebc165e8beb2badba814a340bb55d8e1bebf367cbb884a76c0d9e8a9162822f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.10.5
|