code: def main():
      version_file = Path(__file__).parent / "VERSION"
      with open(str(version_file)) as fin:
          version = fin.read().strip()
  
      install_requires_base = [
          "absl-py",
          "attrdict",
          "bs4",
          "numpy",
          "optuna",
          "opuslib == 2.0.0",
          "pandas",
          "progressbar2",
          "pyogg >= 0.6.14a1",
          "pyxdg",
          "resampy >= 0.2.2",
          "requests",
          "semver",
          "six",
          "sox",
          "soundfile",
      ]
  
      decoder_pypi_dep = ["ds_ctcdecoder == {}".format(version)]
  
      tensorflow_pypi_dep = ["tensorflow == 1.15.4"]
  
      horovod_pypi_dep = ["horovod[tensorflow] == 0.21.3"]
  
      # TODO: FIXME: This is likely not needed anymore given the way TC and
      # GitHub Actions artifacts differs in how we can download them.
      """
      # Due to pip craziness environment variables are the only consistent way to
      # get options into this script when doing `pip install`.
      ci_decoder_artifacts_root = os.environ.get('DECODER_ARTIFACTS_ROOT', '')
      if ci_decoder_artifacts_root:
          # We're running inside the CI environment, override the decoder
          # package URL with the one we just built.
          decoder_pkg_url = get_ci_decoder_pkg_url(version, ci_decoder_artifacts_root)
          install_requires = install_requires_base + [decoder_pkg_url]
      """
      if os.environ.get("DS_NODECODER", ""):
          install_requires = install_requires_base
      else:
          install_requires = install_requires_base + decoder_pypi_dep
  
      if os.environ.get("DS_NOTENSORFLOW", ""):
          install_requires = install_requires
      else:
          install_requires = install_requires + tensorflow_pypi_dep
  
      if os.environ.get("DS_WITH_HOROVOD", ""):
          install_requires = install_requires + horovod_pypi_dep
      else:
          install_requires = install_requires
  
      setup(
          name="deepspeech_training",
          version=version,
          description="Training code for DeepSpeech",
          url="https://github.com/mozilla/DeepSpeech",
          author="DeepSpeech authors",
          license="MPL-2.0",
          # Classifiers help users find your project by categorizing it.
          #
          # For a list of valid classifiers, see https://pypi.org/classifiers/
          classifiers=[
              "Development Status :: 3 - Alpha",
              "Intended Audience :: Developers",
              "Topic :: Multimedia :: Sound/Audio :: Speech",
              "License :: OSI Approved :: Mozilla Public License 2.0 (MPL 2.0)",
              "Programming Language :: Python :: 3",
          ],
          package_dir={"": "training"},
          packages=find_packages(where="training"),
          python_requires=">=3.5, <4",
          install_requires=install_requires,
          # If there are data files included in your packages that need to be
          # installed, specify them here.
          package_data={
              "deepspeech_training": [
                  "VERSION",
                  "GRAPH_VERSION",
              ],
          },
      )
  
imports: import os
  import platform
  import sys
  from pathlib import Path
  from pkg_resources import parse_version
  from setuptools import find_packages, setup
label_desc: Use image node_id 1 for calling a global function with example usage: main() without return types