text: #!/usr/bin/env python
  """
  Installs FiftyOne.
  
  | Copyright 2017-2020, Voxel51, Inc.
  | `voxel51.com <https://voxel51.com/>`_
  |
  """
  from setuptools import setup, find_packages
  from wheel.bdist_wheel import bdist_wheel
  
  
  class BdistWheelCustom(bdist_wheel):
      def finalize_options(self):
          bdist_wheel.finalize_options(self)
          # make just the wheel require these packages, since they aren't needed
          # for a development installation
          self.distribution.install_requires += [
              "fiftyone-brain>=0.1.10,<0.2",
              "fiftyone-gui>=0.6.5.1,<0.7",
              "fiftyone-db>=0.1.1,<0.2",
          ]
  
  
  setup(
      name="fiftyone",
      version="0.6.5.2",
      description=(
          "FiftyOne: a powerful package for dataset curation, analysis, and "
          "visualization"
      ),
      author="Voxel51, Inc.",
      author_email="info@voxel51.com",
      url="https://github.com/voxel51/fiftyone",
      license="Apache",
      packages=find_packages() + ["fiftyone.recipes", "fiftyone.tutorials"],
      package_dir={
          "fiftyone.recipes": "docs/source/recipes",
          "fiftyone.tutorials": "docs/source/tutorials",
      },
      include_package_data=True,
      install_requires=[
          # third-party packages
          "argcomplete",
          "eventlet",
          "future",
          "Jinja2",
          "mongoengine",
          "motor<3,>=2.3",
          "numpy",
          "packaging",
          "Pillow<7,>=6.2",
          "pprintpp",
          "psutil",
          "pymongo<4,>=3.11",
          "retrying",
          "scikit-image",
          "setuptools",
          "tabulate",
          "tornado",
          "xmltodict",
          # internal packages
          "voxel51-eta>=0.1.12,<0.2",
          # ETA dependency - restricted to a maximum version known to provide
          # wheels here because it tends to publish sdists several hours before
          # wheels. When users install FiftyOne in this window, they will need to
          # compile OpenCV from source, leading to either errors or a
          # time-consuming installation.
          "opencv-python-headless<=4.4.0.44",
      ],
      classifiers=[
          "Operating System :: MacOS :: MacOS X",
          "Operating System :: POSIX :: Linux",
          "Operating System :: Microsoft :: Windows",
          "Programming Language :: Python :: 3",
          "License :: OSI Approved :: Apache Software License",
      ],
      entry_points={"console_scripts": ["fiftyone=fiftyone.core.cli:main"]},
      python_requires=">=3.5,<3.9",
      cmdclass={"bdist_wheel": BdistWheelCustom},
  )
  