class_docstr: This class extracts a number of basic text descriptives from FeedbackDataset
  records using the TextDescriptives library and adds them as record metadata.
class_docstr_tok: ["This","class","extracts","a","number","of","basic","text","descriptives","from","FeedbackDataset","records","using","the","TextDescriptives","library","and","adds","them","as","record","metadata","."]
docstr: Initialize a new TextDescriptivesExtractor object.
  
  Args:
      model (str): The language of the model to use for text descriptives.
      metrics (Optional[List[str]]): A list of metrics to extract
          [“descriptive_stats”, “readability”, “dependency_distance”, “pos_proportions”, “coherence”, “quality”, “information_theory”].
          If None, all metrics will be extracted.
      visible_for_annotators (bool): Whether the extracted metrics should be visible to annotators.
      show_progress (bool): Whether to show a progress bar when extracting metrics.
  
  Examples:
  >>> import argilla as rg
  >>> from argilla.client.feedback.integrations.textdescriptives import TextDescriptivesExtractor
  >>> ds = rg.FeedbackDataset(...)
  >>> tde = TextDescriptivesExtractor()
  >>> updated_ds = tde.update_dataset(ds)
  >>> updated_records = tde.update_records(ds.records)
docstr_tok: ["Initialize","a","new","TextDescriptivesExtractor","object",".","Args",":","model","(","str",")",":","The","language","of","the","model","to","use","for","text","descriptives",".","metrics","(","Optional","[","List","[","str","]","]",")",":","A","list","of","metrics","to","extract","[","\u201c","descriptive_stats","\u201d",",","\u201c","readability","\u201d",",","\u201c","dependency_distance","\u201d",",","\u201c","pos_proportions","\u201d",",","\u201c","coherence","\u201d",",","\u201c","quality","\u201d",",","\u201c","information_theory","\u201d","]",".","If","None",",","all","metrics","will","be","extracted",".","visible_for_annotators","(","bool",")",":","Whether","the","extracted","metrics","should","be","visible","to","annotators",".","show_progress","(","bool",")",":","Whether","to","show","a","progress","bar","when","extracting","metrics",".","Examples",":",">",">",">","import","argilla","as","rg",">",">",">","from","argilla.client.feedback.integrations.textdescriptives","import","TextDescriptivesExtractor",">",">",">","ds","=","rg.FeedbackDataset","(","...",")",">",">",">","tde","=","TextDescriptivesExtractor","(",")",">",">",">","updated_ds","=","tde.update_dataset","(","ds",")",">",">",">","updated_records","=","tde.update_records","(","ds.records",")"]
code: def __init__(
      self,
      model: str = "en",
      metrics: Optional[List[str]] = None,
      visible_for_annotators: Optional[bool] = True,
      show_progress: Optional[bool] = True,
  ):
      """
      Initialize a new TextDescriptivesExtractor object.
  
      Args:
          model (str): The language of the model to use for text descriptives.
          metrics (Optional[List[str]]): A list of metrics to extract
              [“descriptive_stats”, “readability”, “dependency_distance”, “pos_proportions”, “coherence”, “quality”, “information_theory”].
              If None, all metrics will be extracted.
          visible_for_annotators (bool): Whether the extracted metrics should be visible to annotators.
          show_progress (bool): Whether to show a progress bar when extracting metrics.
  
      Examples:
      >>> import argilla as rg
      >>> from argilla.client.feedback.integrations.textdescriptives import TextDescriptivesExtractor
      >>> ds = rg.FeedbackDataset(...)
      >>> tde = TextDescriptivesExtractor()
      >>> updated_ds = tde.update_dataset(ds)
      >>> updated_records = tde.update_records(ds.records)
      """
      require_dependencies("textdescriptives")
      if model == "en" or model is None:
          model = "en_core_web_md"
          warnings.warn(
              "Using 'en_core_web_md' as default spaCy model for English language."
          )
      self.model = model
      self.metrics = metrics
      self.__basic_metrics = [
          "n_tokens",
          "n_unique_tokens",
          "n_sentences",
          "perplexity",
          "entropy",
          "flesch_reading_ease",
      ]
      self.visible_for_annotators = visible_for_annotators
      self.show_progress = show_progress
  
imports: import logging
  import re
  import warnings
  from typing import Any, List, Optional, Union
  import numpy
  import pandas
  from rich.progress import Progress
  from argilla.client.feedback.dataset.local.dataset import FeedbackDataset
  from argilla.client.feedback.dataset.remote.dataset import RemoteFeedbackDataset
  from argilla.client.feedback.schemas.metadata import FloatMetadataProperty, IntegerMetadataProperty, TermsMetadataProperty
  from argilla.client.feedback.schemas.records import FeedbackRecord
  from argilla.client.feedback.schemas.remote.records import RemoteFeedbackRecord
  from argilla.utils.dependency import require_dependencies
label_desc: Use image node_id 1 to create a new TextDescriptivesExtractor object  with example: obj = TextDescriptivesExtractor(model, metrics, visible_for_annotators, show_progress)