docs: def download(model=None, direct=False, *pip_args):
      """
      Download compatible model from default download path using pip. Model
      can be shortcut, model name or, if --direct flag is set, full model name
      with version.
      """
      if model is None:
          model = about.__default_corpus__
  
      if direct:
          dl = download_model('{m}/{m}.tar.gz#egg={m}'.format(m=model), pip_args)
      else:
          shortcuts = get_json(about.__shortcuts__, "available shortcuts")
          model_name = shortcuts.get(model, model)
          compatibility = get_compatibility()
          version = get_version(model_name, compatibility)
          dl = download_model('{m}-{v}/{m}-{v}.tar.gz#egg={m}=={v}'
                              .format(m=model_name, v=version), pip_args)
          if dl != 0:  # if download subprocess doesn't return 0, exit
              sys.exit(dl)
          try:
              # Get package path here because link uses
              # pip.get_installed_distributions() to check if model is a
              # package, which fails if model was just installed via
              # subprocess
              package_path = get_package_path(model_name)
              link(model_name, model, force=True, model_path=package_path)
          except:
              # Dirty, but since spacy.download and the auto-linking is
              # mostly a convenience wrapper, it's best to show a success
              # message and loading instructions, even if linking fails.
              prints(Messages.M001.format(name=model_name), title=Messages.M002)