from pymongo import MongoClient from dotenv import load_dotenv import os # Load creds.env from the repo's db/ folder regardless of the process's cwd. _BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) load_dotenv(os.path.join(_BASE_DIR, "db", "creds.env")) mUser = os.getenv("mangosrv_user") mPass = os.getenv("mangosrv_pass") mDB = os.getenv("mangosrv_db") def get_database(): if not mUser or not mPass or not mDB: raise RuntimeError( "MongoDB credentials are missing. Set mangosrv_user, mangosrv_pass, " "and mangosrv_db in db/creds.env." ) # Provide the mongodb atlas url to connect python to mongodb using pymongo CONNECTION_STRING = "mongodb+srv://" + mUser + ":" + mPass + "@cluster.mongodb.net/" + mDB # Create a connection using MongoClient. You can import MongoClient or use pymongo.MongoClient client = MongoClient(CONNECTION_STRING) return client[mDB] # This is added so that many files can reuse the function get_database() if __name__ == "__main__": # Get the database dbname = get_database()