How to properly instantiate a client connection

Hi everyone,
I read from the documentation this is the way to instantiate the algod_client:

from algosdk.v2client import algod

algod_token = "authentication token"
algod_address = "https://algod_address"

algod_client = algod.AlgodClient(algod_token, algod_address)

should this be instantiated only once?
or shall I instantiate it every time I have to interact with the algod chain/network?

are these connections automatically closed? if so what are the details?
are there any performance downsides of instantiating every time an interaction is made?

Thank you

In JS, usually, I instantiate it once and export it as a Util.
Import it where ever it is required.

When you call AlgodClient(), it will just set the configuration, no connection is established at that point.
Network call is initiated only when you call a method on algodClient. it is just a REST call.

There will not be any downsides to instantiating it every time, rather it is just a best practice to instantiate once and use it everywhere.

Thank you @humblefool, this is exactly what I wanted to understand