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

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: tmp_connection_psql-1.2.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-53-generic

File hashes

Hashes for tmp_connection_psql-1.2.0.tar.gz
Algorithm Hash digest
SHA256 2320de1931f3ac9e3e9de48e9b88f2eb9b1bfc8c8be66df258ae550ca8c8516d
MD5 cfc681486be26b5c9e94974da004f435
BLAKE2b-256 66ee10a26c6d0dcba921ba535ff3343acba5d615e5ac94eccb906c42228d80cd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for tmp_connection_psql-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f6a768719bad73330401fcc2445ec3eb2b80500780cbebb3c7999c6ff4b5266c
MD5 cd4f38551529c7b638f0cb08a35c6982
BLAKE2b-256 35ff659bfe2ce4e4b311d539541d840f15a4164b99318cf7336e80217e636900

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