diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index a9c51fef8bf40beb3929be203d12f25cabf70437..6c9f5319b780b6c95dfa14c64aeb1c97b5f47117 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -9,5 +9,6 @@ docker-build-master:
   before_script:
     - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
   script:
-    - docker build --pull -t "$CI_REGISTRY_IMAGE":test .
-    - docker push "$CI_REGISTRY_IMAGE":test
+    - cp $ENV_FILE .env
+    - docker build --pull -t "$CI_REGISTRY_IMAGE":prod .
+    - docker push "$CI_REGISTRY_IMAGE":prod
diff --git a/python_startup/.gitkeep b/python_startup/.gitkeep
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/python_startup/01_load_db.py b/python_startup/01_load_db.py
new file mode 100644
index 0000000000000000000000000000000000000000..e30e171113b983781ffdc0dde64f5936f46c9472
--- /dev/null
+++ b/python_startup/01_load_db.py
@@ -0,0 +1,36 @@
+import os
+from dotenv import load_dotenv
+import sqlalchemy
+import pandas as pd
+from urllib.parse import quote_plus
+
+load_dotenv("/usr/src/app/.env")
+
+class Database:
+    def __init__(self, db_name):
+        self.conn = db_connect(db_name)
+
+    def __getattr__(self, table_name):
+        return pd.read_sql_table(table_name, self.conn)
+
+    def list_tables(self):
+        inspector = sqlalchemy.inspect(self.conn)
+        table_names = inspector.get_table_names()
+        return table_names
+
+def db_connect(db_name):
+    hostname=os.getenv("DB_HOST")
+    user=os.getenv("DB_USER")
+    password=quote_plus(os.getenv("DB_PASSWORD"))
+    conn = sqlalchemy.create_engine(f'postgresql+psycopg2://{user}:{password}@{hostname}/{db_name}')
+    return conn
+
+def get_table(db_name, table_name):
+    conn = db_connect(db_name)
+    dat = pd.read_sql_table(table_name, conn)
+    return dat
+
+def get_all_tables(db_name):
+    db_obj = Database(db_name)
+    return db_obj
+