repo_description: Cleanlab's open-source library is the standard data-centric AI package for data quality and machine learning with messy, real-world data and labels.
repo_topics: active-learning annotation anomaly-detection data-annotation data-centric-ai data-cleaning data-curation data-labeling data-profiling data-quality data-science data-validation datasets exploratory-data-analysis labeling machine-learning noisy-labels out-of-distribution-detection outlier-detection weak-supervision
code: from setuptools import setup
  from setuptools.command.egg_info import egg_info
  
  # To use a consistent encoding
  from codecs import open
  
  
  class egg_info_ex(egg_info):
      """Includes license file into `.egg-info` folder."""
  
      def run(self):
          # don't duplicate license into `.egg-info` when building a distribution
          if not self.distribution.have_run.get("install", True):
              # `install` command is in progress, copy license
              self.mkpath(self.egg_info)
              self.copy_file("LICENSE", self.egg_info)
  
          egg_info.run(self)
  
  
  # Get version number and store it in __version__
  exec(open("cleanlab/version.py").read())
  
  DATALAB_REQUIRE = [
      # Mainly for Datalab's data storage class.
      # Still some type hints that require datasets
      "datasets>=2.7.0",
  ]
  
  IMAGE_REQUIRE = DATALAB_REQUIRE + ["cleanvision>=0.3.6"]
  
  EXTRAS_REQUIRE = {
      "datalab": DATALAB_REQUIRE,
      "image": IMAGE_REQUIRE,
      "all": ["matplotlib>=3.5.1"],
  }
  EXTRAS_REQUIRE["all"] = list(set(sum(EXTRAS_REQUIRE.values(), [])))
  
  setup(
      version=__version__,
      cmdclass={"egg_info": egg_info_ex},
      extras_require=EXTRAS_REQUIRE,
  )
  