old_contents: # Copyright (c) Facebook, Inc. and its affiliates.
  #
  # This source code is licensed under the MIT license found in the
  # LICENSE file in the root directory of this source tree.
  
  import functools
  
  from fairseq.hub_utils import BPEHubInterface as bpe  # noqa
  from fairseq.hub_utils import TokenizerHubInterface as tokenizer  # noqa
  from fairseq.models import MODEL_REGISTRY
  
  
  dependencies = [
      'numpy',
      'regex',
      'requests',
      'torch',
  ]
  
  
  for _model_type, _cls in MODEL_REGISTRY.items():
      for model_name in _cls.hub_models().keys():
          globals()[model_name] = functools.partial(
              _cls.from_pretrained,
              model_name,
          )
      # to simplify the interface we only expose named models
      # globals()[_model_type] = _cls.from_pretrained
  
new_contents: # Copyright (c) Facebook, Inc. and its affiliates.
  #
  # This source code is licensed under the MIT license found in the
  # LICENSE file in the root directory of this source tree.
  
  import functools
  
  from fairseq.hub_utils import BPEHubInterface as bpe  # noqa
  from fairseq.hub_utils import TokenizerHubInterface as tokenizer  # noqa
  from fairseq.models import MODEL_REGISTRY
  
  
  dependencies = [
      'numpy',
      'regex',
      'requests',
      'torch',
  ]
  
  
  # torch.hub doesn't build Cython components, so if they are not found then try
  # to build them here
  try:
      import fairseq.data.token_block_utils_fast
  except (ImportError, ModuleNotFoundError):
      try:
          import cython
          import os
          from setuptools import sandbox
          sandbox.run_setup(
              os.path.join(os.path.dirname(__file__), 'setup.py'),
              ['build_ext', '--inplace'],
          )
      except (ImportError, ModuleNotFoundError):
          print(
              'Unable to build Cython components. Please make sure Cython is '
              'installed if the torch.hub model you are loading depends on it.'
          )
  
  
  for _model_type, _cls in MODEL_REGISTRY.items():
      for model_name in _cls.hub_models().keys():
          globals()[model_name] = functools.partial(
              _cls.from_pretrained,
              model_name,
          )
      # to simplify the interface we only expose named models
      # globals()[_model_type] = _cls.from_pretrained
  
subject: Build Cython components when loading hub (#1386)