Skip to main content

Little project to create a temparory connection to a psql database

Project description

tmp_connection_psql

Its a little package to create a temporary psql database and qet a connection on it.

Install

Available as a package on pypi.

pip install tmp-connection-psql

First install all dependencies

$ poetry install
Installing dependencies from lock file

No dependencies to install or update

Installing the current project: tmp_connection_psql (1.0.1)

Usage

tmp_connection is a function who yield a connection, to use it you need to make your code in a with statement.

with tmp_connection("dummypassword") as conn:
    cursor = conn.cursor()
    cursor.execute("SELECT * FROM people")
    record = cursor.fetchall()
print(record)

Give you an error because the database is empty. It doesn't known the table 'people'.

You can create your table and fill it after creating the database with tmp_connection("password")

with tmp_connection("dummypassword") as conn:
    cursor = conn.cursor()
    cursor.execute("CREATE TABLE people (id serial NOT NULL PRIMARY KEY, first_name TEXT NOT NULL, age int NOT NULL, zipcode int NOT NULL, city TEXT NOT NULL)")
    cursor.execute("""INSERT INTO people VALUES
("Ulysse", 25, 75019, "Paris"), ("Jacques", 84, 42820, "Ambierle")""")
    conn.commit()

and launch request on it

cursor.execute("SELECT * FROM people")
    record = cursor.fetchall()
print(record)

it will give you.

[
    ("id": 1, "first_name": "Ulysse", "age": 25, "zipcode": 75019, "city": "Paris"),
    ("id": 2, "first_name": "Jacques", "age": 84, "zipcode": 42820, "city": "Ambierle"),
]

Or You can give an sql file to the function tmp_connection("password", "./sql_file.sql") and it will create the table and fill it before giving you access to the connection.

Example:

with tmp_connection("dummypassword", "./sql_file.sql") as conn:
    cursor = conn.cursor()
    cursor.execute("SELECT * FROM people")
    record = cursor.fetchall()
print(record)

it will give you

[
    ("id": 1, "first_name": "Ulysse", "age": 25, "zipcode": 75019, "city": "Paris"),
    ("id": 2, "first_name": "Jacques", "age": 84, "zipcode": 42820, "city": "Ambierle"),
]

with the file './sql_file.sql' .

-- Create table
CREATE TABLE people (id serial NOT NULL PRIMARY KEY, first_name TEXT NOT NULL, age int NOT NULL, zipcode int NOT NULL, city TEXT NOT NULL);
-- Insert into people
INSERT INTO people VALUES
("Ulysse", 25, 75019, "Paris"); -- id = 1
("Jacques", 84, 42820, "Ambierle"); -- id = 2

Changelog, License

Credits

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tmp_connection_psql-1.3.0.tar.gz (9.4 kB view details)

Uploaded Source

Built Distribution

tmp_connection_psql-1.3.0-py3-none-any.whl (9.0 kB view details)

Uploaded Python 3

File details

Details for the file tmp_connection_psql-1.3.0.tar.gz.

File metadata

  • Download URL: tmp_connection_psql-1.3.0.tar.gz
  • Upload date:
  • Size: 9.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.2.2 CPython/3.10.6 Linux/5.15.0-58-generic

File hashes

Hashes for tmp_connection_psql-1.3.0.tar.gz
Algorithm Hash digest
SHA256 0b3eb925083fcd7ab3b84d2a53f76d1215c275f2e0317193c146e7628988d17b
MD5 74c4a83a0ee209da529dbd2200e63f37
BLAKE2b-256 dcf4d5a8c581efc26431d56a8453267d17eda7c1d1048e54d1465969cd4a63b9

See more details on using hashes here.

File details

Details for the file tmp_connection_psql-1.3.0-py3-none-any.whl.

File metadata

File hashes

Hashes for tmp_connection_psql-1.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d2f94a805dda6bcf2b60195127a087e2ff9d53674f516a1ba138c491bd7b945c
MD5 cbef6ed68b2274b14587b3c06b4627c0
BLAKE2b-256 5ab267f4f9132180a9dfa5ab912961c3470a0a71b357c7bfb9ca9171d779c54e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page