code: async def get_user(self, username, secret_key=None):
          
          client_facade = client.UserManagerFacade.from_connection(
              self.connection())
          user = tag.user(username)
          args = [client.Entity(user)]
          try:
              response = await client_facade.UserInfo(args, True)
          except errors.JujuError as e:
              if 'permission denied' in e.errors:
                  # apparently, trying to get info for a nonexistent user returns
                  # a "permission denied" error rather than an empty result set
                  return None
              raise
          if response.results and response.results[0].result:
              return User(self, response.results[0].result, secret_key=secret_key)
          return None
docs: Get a user by name.
  
          :param str username: Username
          :param str secret_key: Issued by juju when add or reset user
              password
          :returns: A :class:`~juju.user.User` instance