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.1.0.tar.gz (9.4 kB view details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: tmp_connection_psql-1.1.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-52-generic

File hashes

Hashes for tmp_connection_psql-1.1.0.tar.gz
Algorithm Hash digest
SHA256 6bde0a55601cda2757b9adb463a1ad4a03b64c1c06623b8497576ff07531d926
MD5 01ce7387a2568a988ea0dcaa87b8f4fb
BLAKE2b-256 9d0d7aa294f343b646da06642cf67ef78807ea30252bcf4426707f341b3159a7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tmp_connection_psql-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c3bcb71549de620809fb84b563b61f42a282a51c26cdcc70830e31e23af11c00
MD5 a9d64bf98012c223b49a64b34062a1c2
BLAKE2b-256 2d3dcd1094944824a4192069fd06c6d67eec476f1614ab93fee8b640449cd718

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