code: def _deploy_helper(filename, module_name, get_module, get_today_fn, hash_check=True, auth=None):
      
      path = ArtifactoryPath(
          get_module(module_name),
          auth=get_arty_auth() if auth is None else auth
      )
      path.mkdir(exist_ok=True)
  
      if hash_check:
          deployed_semantic_hashes = {
              get_bel_resource_hash(subpath.as_posix())
              for subpath in path
          }
  
          semantic_hash = get_bel_resource_hash(filename)
  
          if semantic_hash in deployed_semantic_hashes:
              return  # Don't deploy if it's already uploaded
  
      target = path / get_today_fn(module_name)
      target.deploy_file(filename)
  
      log.info('deployed %s', module_name)
  
      return target.as_posix()
docs: Deploys a file to the Artifactory BEL namespace cache
  
      :param str filename: The physical path
      :param str module_name: The name of the module to deploy to
      :param tuple[str] auth: A pair of (str username, str password) to give to the auth keyword of the constructor of
                              :class:`artifactory.ArtifactoryPath`. Defaults to the result of :func:`get_arty_auth`.
      :return: The resource path, if it was deployed successfully, else none.
      :rtype: Optional[str]