PyPostgreSQLWrapper is a simple adapter for PostgreSQL with connection pooling.
Project description
Bottle PostgreSQL
Bottle PostgreSQL is a simple adapter for PostgreSQL with connection pooling.
Configuration
The configuration can be done through JSON file or by Dict following the pattern described below:
{
"database": "postgres",
"host": "localhost",
"max_connection": 10,
"password": "postgres",
"port": 5432,
"print_sql": true,
"username": "postgres"
}
Create the queries directory. This should contain all the .sql files that the library will use.
Usage
PyPostgreSQLWrapper usage description:
Delete
Delete with where
from bottle_postgresql import Database
with Database() as connection:
(
connection
.delete('test')
.where('id', 1)
.execute()
)
Delete with where condition
from bottle_postgresql import Database
with Database() as connection:
(
connection
.delete('test')
.where('description', 'Test%', operator='like')
.execute()
)
Execute
from bottle_postgresql import Database
with Database() as connection:
(
connection
.execute(
'''
create table if not exists test (
id bigserial not null,
name varchar(100),
description varchar(255),
constraint test_primary_key primary key (id)
)
''',
skip_load_query=True
)
)
Insert
from bottle_postgresql import Database
with Database() as connection:
(
connection
.insert('test')
.set('id', 1)
.set('name', 'Name')
.set('description', 'Description')
.execute()
)
Paging
Paging with where condition
from bottle_postgresql import Database
with Database() as connection:
(
connection
.select('test')
.fields('id', 'name', 'description')
.where('id', 1, operator='>')
.order_by('id')
.paging(0, 2)
)
Paging without where condition
from bottle_postgresql import Database
with Database() as connection:
(
connection
.select('test')
.paging(0, 10)
)
Select
Fetch all
from bottle_postgresql import Database
with Database() as connection:
(
connection
.select('test')
.execute()
.fetch_all()
)
Fetch many
from bottle_postgresql import Database
with Database() as connection:
(
connection
.select('test')
.execute()
.fetch_many(1)
)
Fetch one
from bottle_postgresql import Database
with Database() as connection:
(
connection
.select('test')
.execute()
.fetch_one()
)
Select by file
from bottle_postgresql import Database
with Database() as connection:
(
connection
.execute('find_by_id', {'id': 1})
.fetch_one()
)
Select by query
from bottle_postgresql import Database
with Database() as connection:
(
connection
.execute('select id, name, description from test where id = %(id)s', {'id': 1})
.fetch_one()
)
Update
Update with where
from bottle_postgresql import Database
with Database() as connection:
(
connection
.update('test')
.set('name', 'New Name')
.set('description', 'New Description')
.where('id', 1)
.execute()
)
Update with where all
from bottle_postgresql import Database
with Database() as connection:
(
connection
.update('test')
.set('name', 'New Name')
.set('description', 'New Description')
.where_all({'id': 1, 'name': 'Name', 'description': 'Description'})
.execute()
)
Using filters
SQL
select
id,
name,
description
from test
where 1 = 1
{{#id}}
and id = %(id)s
{{/id}}
{{#id}}
and name like %(name)s
{{/id}}
Select with filters
from bottle_postgresql import Database
with Database() as connection:
(
connection
.execute('test.find_all_with_filter', parameters={'id': 1, 'name': 'Name'})
.fetch_one()
)
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file bottle_postgresql-0.0.1-py2.py3-none-any.whl.
File metadata
- Download URL: bottle_postgresql-0.0.1-py2.py3-none-any.whl
- Upload date:
- Size: 4.2 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ebdbbd60c668846974c0e1d88c3e743474673bb71925a61e5d39f6d37aebd1a3
|
|
| MD5 |
e3d47da245fa011147c508c6d8e30575
|
|
| BLAKE2b-256 |
401b5f6f2e745bc013453c7558f7102e1708dbe09e258ff5c7d65607a9a27a6d
|