class_docstr: Args:
      version
      data_dir
  
  Attributes:
      model
      classes
class_docstr_tok: ["Args",":","version","data_dir","Attributes",":","model","classes"]
docstr: Download version-specific model data as a binary file and save it to disk
  at :attr:`LangIdentifier.model_fpath`.
  
  Args:
      force: If True, download the model data, even if it already exists on disk
          under :attr:`self.data_dir`; otherwise, don't.
docstr_tok: ["Download","version-specific","model","data","as","a","binary","file","and","save","it","to","disk","at",":","attr",":","`","LangIdentifier.model_fpath","`",".","Args",":","force",":","If","True",",","download","the","model","data",",","even","if","it","already","exists","on","disk","under",":","attr",":","`","self.data_dir","`",";","otherwise",",","do","n't","."]
code: def download(self, force: bool = False):
      """
      Download version-specific model data as a binary file and save it to disk
      at :attr:`LangIdentifier.model_fpath`.
  
      Args:
          force: If True, download the model data, even if it already exists on disk
              under :attr:`self.data_dir`; otherwise, don't.
      """
      # hide this import, since we'll only ever need it _once_ (per model version)
      from .. import io as tio
  
      model_fname = self.model_fpath.name
      url = urllib.parse.urljoin(
          "https://github.com/bdewilde/textacy-data/releases/download/",
          self.model_id + "/" + model_fname,
      )
      tio.utils.download_file(
          url, filename=model_fname, dirpath=self.data_dir, force=force
      )
  
imports: from __future__ import annotations
  import logging
  import pathlib
  import urllib.parse
  import floret
  from floret.floret import _floret
  from ..None import utils
  from ..constants import DEFAULT_DATA_DIR
label_desc: Use image node_id 9 for calling the LangIdentifier obj's underlying member method code with example usage: obj.download(force) without return types