A simple package for interacting with a Postgres Database.
Project description
Postgreasy
This package contains some simple helper functions to interact with a postgress database. Makes use of a .env file to make the connection with the database. It's basically a simple wrapper around the psycopg2 library.
Fill in the following 4 parameters in the .env file in the root folder like so:
postgres_host = ...
postgres_username = ...
postgres_database = ...
postgres_password = ...
Methods
Create a database
import postgreasy
postgreasy.create_database(database_name='example_db')
Create a schema
import postgreasy
postgreasy.create_schema(database_name='example_db')
Create a table
import postgreasy
from psycopg2 import sql
postgreasy.create_table('example_schema', 'example_table', sql.SQL('id serial, temperature int, name text'))
Execute a query
import postgreasy
from psycopg2 import sql
postgreasy.execute(sql.SQL('...'))
Fetch with a query (Execute a query and get the results)
import postgreasy
from psycopg2 import sql
x = postgreasy.execute(sql.SQL('select 1'))
Insert a Pandas DataFrame
import postgreasy
import pandas as pd
df = pd.DataFrame({'x': [1, 2, 3], 'y': [5, 28, 8]})
postgreasy.insert_df(df, 'example_schema', 'example_table')
Connection
Normally when you execute one of the postgreasy methods, a connection is automatically established and closed. For example:
import postgreasy
from psycopg2 import sql
postgreasy.execute_query_on_db(sql.SQL('select 1'))
To create a connection without the .env or if you want to execute multiple queries and not create a connection for each separate query there are 2 ways to go about it. Either use the get_connection() method or use the with ... structure with a PostgresConnection() object. The latter is the preferred option as it requires less steps that can be forgotten.
get_connection()
This way you create a connection object which you supply to the other postgreasy methods. Here you have to remember to manually close the connection with the .close() function.
Example:
import postgreasy
from psycopg2 import sql
conn = postgreasy.get_connection(host='...', database='...', username='...', password='...')
postgreasy.execute_query_on_db(sql.SQL('select 1'), conn )
conn.close()
PostgresConnection()
In this case the connection is automatically opened, you also don't have to supply the connection paramter to the postgreasy methods.
Example:
import postgreasy
from psycopg2 import sql
with PostgresConnection(host='...', database='...', username='...', password='...') as conn:
conn.execute_query_on_db(sql.SQL('select 1') )
Contact
Go to the GitHub page if you hav any issues.
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
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 postgreasy-1.1.1.tar.gz.
File metadata
- Download URL: postgreasy-1.1.1.tar.gz
- Upload date:
- Size: 6.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a9530cd78d5fe75680ce2a4d65abf127ec251b0de34df742afc4363af52763e7
|
|
| MD5 |
88ae6a72e71239e812bedf4ef9b1c743
|
|
| BLAKE2b-256 |
144e09a1ba4dd8e71fa14230bdbf5f5a07262e2c58d5d78a054f84ea9eab8809
|
File details
Details for the file postgreasy-1.1.1-py3-none-any.whl.
File metadata
- Download URL: postgreasy-1.1.1-py3-none-any.whl
- Upload date:
- Size: 6.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
87da2c2b368628fc8771e9c2c566fe7ce3ebf1cd471b808f846cff0125e7d6bf
|
|
| MD5 |
dd2fed551e846f4480b79d4f43e5098a
|
|
| BLAKE2b-256 |
9714405baab4907b221d72d7d3a7f0967db5152d74f56748a0dba1a54ecda2ba
|