For many coding examples and exercises in this class, we're going to make use of Jupyter Notebooks. These provide a convenient means of developing and running Python scripts without the need to leave the browser. To connect to your free tier cluster from a Python application, we'll use the Python MongoDB driver, PyMongo. Drivers are simply client libraries. In this case, a Python module that provides an API for connecting to and querying MongoDB. We'll go into quite a bit of detail about using PyMongo to connect to MongoDB and using MongoDB's rich query language and built-in analytics tools. We'll cover everything you need to complete this course, but if you'd like to dig deeper, I encourage you to take a look at the PyMongo documentation. See the link in the lecture notes for this lesson. To connect to our free tier cluster, first, we'll need to import the MongoClient class from PyMongo. This class enables us to establish a client connection to MongoDB. Next, I need to actually connect to my free tier cluster. We do that by instantiating a MongoClient object. This is almost right, except, I need to specify what MongoDB server I want to connect to. To do this, I need to go back into Atlas and copy the connection string for my free tier cluster. You'll need to do the same for your own cluster. Once again, I copy the URI connection string for connecting my application. As you know, this connection string contains the seed list identifying all the servers in my free tier cluster. PyMongo will keep track of which of the servers in my cluster is the primary and direct reads and writes to that server by default. If it loses contact with the primary, it will communicate with the other servers in the cluster in an attempt to determine if one of them has stepped up to be primary. In this way, automatic failover happens to enable us to continue accessing our data even if we lose access to one or more of the servers in our cluster. Note that there are two placeholder values in this connection string. These are the password and database components of the string. Note that the username appears immediately after MongoDB://. Note also that the username is followed by a colon. The username is analytics. This is the administrative username I supplied when creating this cluster. Remember that the password is simply analytics-password. While the specific seed list for my cluster is different from the one for yours, in order to connect a Python application to your free tier cluster, you'll need to follow a similar process to what I'm doing here. The other placeholder in this connection string is database. I'm just going to replace database with mflix since that's the name of the database into which we loaded the movies_initial collection. Okay, with that done, let's run this to test whether or not we've been successful. You can see that no errors were raised, and that based on the output of the call to print, we have a valid MongoDB client instance. Let's dive in now and start working with some data.