code: def setup_package():
      from numpy.distutils.core import setup
  
      old_path = os.getcwd()
      local_path = os.path.dirname(os.path.abspath(sys.argv[0]))
      src_path = local_path
  
      os.chdir(local_path)
      sys.path.insert(0, local_path)
  
      # Run build
      old_path = os.getcwd()
      os.chdir(src_path)
      sys.path.insert(0, src_path)
  
      cwd = os.path.abspath(os.path.dirname(__file__))
      if not os.path.exists(os.path.join(cwd, "PKG-INFO")):
          # Generate Cython sources, unless building from source release
          generate_cython(PACKAGE_NAME)
  
      try:
          setup(
              name=PACKAGE_NAME,
              author=AUTHOR,
              author_email=AUTHOR_EMAIL,
              url=URL,
              download_url=DOWNLOAD_URL,
              description=DESCRIPTION,
              long_description=LONG_DESCRIPTION,
              version=version(PACKAGE_NAME),
              license=LICENSE,
              configuration=configuration,
              keywords=[
                  "time series",
                  "machine learning",
                  "bayesian statistics",
              ],
              install_requires=[
                  "numpy",
                  "pandas",
                  "scipy",
                  "numdifftools",
                  "patsy",
              ],
          )
      finally:
          del sys.path[0]
          os.chdir(old_path)
  
      return
  
file_path: pyflux/setup.py
imports: import io
  import os
  import re
  import sys
  import subprocess
label_desc: Use image node_id 4 for calling a global function with example usage: setup_package() without return types