class_docstr: Base class for project-specific Wikimedia datasets. See:
  
  * :class:`Wikipedia`
  * :class:`Wikinews`
docstr: Download the Wikimedia CirrusSearch db dump corresponding to the given
  ``project``, ``lang``, and ``version`` as a compressed JSON file,
  and save it to disk under the ``data_dir`` directory.
  
  Args:
      force: If True, download the dataset, even if it already exists
          on disk under ``data_dir``.
  
  Note:
      Some datasets are quite large (e.g. English Wikipedia is ~28GB)
      and can take hours to fully download.
docstr_tok: ["Download","the","Wikimedia","CirrusSearch","db","dump","corresponding","to","the","given","``","project","``",",","``","lang","``",",","and","``","version","``","as","a","compressed","JSON","file",",","and","save","it","to","disk","under","the","``","data_dir","``","directory",".","Args",":","force",":","If","True",",","download","the","dataset",",","even","if","it","already","exists","on","disk","under","``","data_dir","``",".","Note",":","Some","datasets","are","quite","large","(","e.g",".","English","Wikipedia","is","~28GB",")","and","can","take","hours","to","fully","download","."]
code: def download(self, *, force: bool = False) -> None:
      """
      Download the Wikimedia CirrusSearch db dump corresponding to the given
      ``project``, ``lang``, and ``version`` as a compressed JSON file,
      and save it to disk under the ``data_dir`` directory.
  
      Args:
          force: If True, download the dataset, even if it already exists
              on disk under ``data_dir``.
  
      Note:
          Some datasets are quite large (e.g. English Wikipedia is ~28GB)
          and can take hours to fully download.
      """
      file_url = self._get_file_url()
      tio.download_file(
          file_url,
          filename=self._filestub,
          dirpath=self.data_dir,
          force=force,
      )
  
imports: from __future__ import annotations
  import datetime
  import itertools
  import logging
  import os
  import re
  import urllib.parse
  from typing import Iterable, Optional
  import requests
  from cytoolz import itertoolz
  from ..None import constants
  from ..None import io
  from ..None import types, utils
  from .base import Dataset
label_desc: Use image node_id 3 for calling the Wikimedia obj's underlying member method code with example usage: obj.download() without return types