See - https://github.com/square/square-python-sdk/blob/master/square/configuration.py access_token is effectively a read-only property (of course you can update config._access_token but should not); this means that you have to instantiate a new client (or new config and ungracefully overwrite config in client) each time you refresh your access token. There should be a function to allow updates of access_token for a given client instantiation (or expose it as a normal property) so that after a refresh token, you can update the token.
See - https://github.com/square/square-python-sdk/blob/master/square/configuration.py access_token is effectively a read-only property (of course you can update config._access_token but should not); this means that you have to instantiate a new client (or new config and ungracefully overwrite config in client) each time you refresh your access token. There should be a function to allow updates of access_token for a given client instantiation (or expose it as a normal property) so that after a refresh token, you can update the token.