title: PyArrow installation for Xbbg doesn't work
body: <p>I'm trying to set up a data pipeline between Bloomberg and Python. I have a Bloomberg terminal, a Windows 64-bit machine, Python 3.7.4 and a Sublime Text environment up and working. My goal is to install the XBBG package: <a href="https://pypi.org/project/xbbg/" rel="nofollow noreferrer">https://pypi.org/project/xbbg/</a>.</p>
  
  <p>I've followed the steps on <a href="https://pypi.org/project/xbbg/" rel="nofollow noreferrer">https://pypi.org/project/xbbg/</a> and I have installed:</p>
  
  <ul>
  <li>Bloomberg C++ SDK version 3.12.1 or higher</li>
  <li>Bloomberg Open API (need to install manually as shown below)</li>
  <li>pdblp - pandas wrapper for Bloomberg Open API</li>
  <li>numpy, pandas, ruamel.yaml</li>
  </ul>
  
  <p>However the <code>pip install pyarrow</code> installation does not work (see traceback below), even when I tried earlier versions of <code>pyarrow</code>. </p>
  
  <pre class="lang-py prettyprint-override"><code>pip install pyarrow
  Collecting pyarrow
    Downloading https://files.pythonhosted.org/packages/6c/75/e87ad78b3a0d1250984331e59648fac43218f00599fd570318447178c650/pyarrow-0.14.0.tar.gz (436kB)
      100% |████████████████████████████████| 440kB 1.8MB/s
      Complete output from command python setup.py egg_info:
      Traceback (most recent call last):
        File "&lt;string&gt;", line 1, in &lt;module&gt;
        File "C:\Users\AppData\Local\Temp\pip-install-r81qamg4\pyarrow\setup.py", line 29, in &lt;module&gt;
          from Cython.Distutils import build_ext as _build_ext
      ModuleNotFoundError: No module named 'Cython'
  
      ----------------------------------------
  Command "python setup.py egg_info" failed with error code 1 in C:\Users\AppData\Local\Temp\pip-install-r81qamg4\pyarrow\
  </code></pre>
  
  <pre class="lang-py prettyprint-override"><code>
  So I installed Cython:
  
  pip install Cython
  Collecting Cython
    Downloading https://files.pythonhosted.org/packages/5b/95/d0b8d1b15ddb1129b841b1c537e935dce19ae4ccf7da65ade0b37e210434/Cython-0.29.12-cp37-cp37m-win32.whl (1.6MB)
      100% |████████████████████████████████| 1.6MB 2.1MB/s
  Installing collected packages: Cython
  Successfully installed Cython-0.29.12
  </code></pre>
  
  <p>and tried installing PyArrow again:</p>
  
  <pre class="lang-py prettyprint-override"><code>pip install pyarrow
  Collecting pyarrow
    Using cached https://files.pythonhosted.org/packages/6c/75/e87ad78b3a0d1250984331e59648fac43218f00599fd570318447178c650/pyarrow-0.14.0.tar.gz
  Collecting numpy&gt;=1.14 (from pyarrow)
    Downloading https://files.pythonhosted.org/packages/07/46/656c25b39fc152ea525eef14b641993624a6325a8ae815b200de57cff0bc/numpy-1.16.4-cp37-cp37m-win32.whl (10.0MB)
      100% |████████████████████████████████| 10.0MB 1.3MB/s
  Collecting six&gt;=1.0.0 (from pyarrow)
    Downloading https://files.pythonhosted.org/packages/73/fb/00a976f728d0d1fecfe898238ce23f502a721c0ac0ecfedb80e0d88c64e9/six-1.12.0-py2.py3-none-any.whl
  Installing collected packages: numpy, six, pyarrow
    Running setup.py install for pyarrow ... error
      Complete output from command "c:\users\alain tchibozo\appdata\local\programs\python\python37-32\python.exe" -u -c "import setuptools, tokenize;__file__='C:\\Users\\AppData\\Local\\Temp\\pip-install-gfndyai5\\pyarrow\\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record C:\Users\\AppData\Local\Temp\pip-record-xs9wfdwm\install-record.txt --single-version-externally-managed --compile:
      c:\users\appdata\local\temp\pip-install-gfndyai5\pyarrow\.eggs\setuptools_scm-3.3.3-py3.7.egg\setuptools_scm\utils.py:119: UserWarning: 'git' was not found
        warnings.warn("%r was not found" % name)
      running install
      running build
      running build_py
      creating build
      creating build\lib.win32-3.7
      creating build\lib.win32-3.7\pyarrow
      copying pyarrow\benchmark.py -&gt; build\lib.win32-3.7\pyarrow
      copying pyarrow\compat.py -&gt; build\lib.win32-3.7\pyarrow
      copying pyarrow\csv.py -&gt; build\lib.win32-3.7\pyarrow
      copying pyarrow\cuda.py -&gt; build\lib.win32-3.7\pyarrow
      copying pyarrow\feather.py -&gt; build\lib.win32-3.7\pyarrow
      copying pyarrow\filesystem.py -&gt; build\lib.win32-3.7\pyarrow
      copying pyarrow\flight.py -&gt; build\lib.win32-3.7\pyarrow
      copying pyarrow\hdfs.py -&gt; build\lib.win32-3.7\pyarrow
      copying pyarrow\ipc.py -&gt; build\lib.win32-3.7\pyarrow
      copying pyarrow\json.py -&gt; build\lib.win32-3.7\pyarrow
      copying pyarrow\jvm.py -&gt; build\lib.win32-3.7\pyarrow
      copying pyarrow\orc.py -&gt; build\lib.win32-3.7\pyarrow
      copying pyarrow\pandas_compat.py -&gt; build\lib.win32-3.7\pyarrow
      copying pyarrow\parquet.py -&gt; build\lib.win32-3.7\pyarrow
      copying pyarrow\plasma.py -&gt; build\lib.win32-3.7\pyarrow
      copying pyarrow\serialization.py -&gt; build\lib.win32-3.7\pyarrow
      copying pyarrow\types.py -&gt; build\lib.win32-3.7\pyarrow
      copying pyarrow\util.py -&gt; build\lib.win32-3.7\pyarrow
      copying pyarrow\_generated_version.py -&gt; build\lib.win32-3.7\pyarrow
      copying pyarrow\__init__.py -&gt; build\lib.win32-3.7\pyarrow
      creating build\lib.win32-3.7\pyarrow\tests
      copying pyarrow\tests\conftest.py -&gt; build\lib.win32-3.7\pyarrow\tests
      copying pyarrow\tests\deserialize_buffer.py -&gt; build\lib.win32-3.7\pyarrow\tests
      copying pyarrow\tests\pandas_examples.py -&gt; build\lib.win32-3.7\pyarrow\tests
      copying pyarrow\tests\strategies.py -&gt; build\lib.win32-3.7\pyarrow\tests
      copying pyarrow\tests\test_array.py -&gt; build\lib.win32-3.7\pyarrow\tests
      copying pyarrow\tests\test_builder.py -&gt; build\lib.win32-3.7\pyarrow\tests
      copying pyarrow\tests\test_compute.py -&gt; build\lib.win32-3.7\pyarrow\tests
      copying pyarrow\tests\test_convert_builtin.py -&gt; build\lib.win32-3.7\pyarrow\tests
      copying pyarrow\tests\test_csv.py -&gt; build\lib.win32-3.7\pyarrow\tests
      copying pyarrow\tests\test_cuda.py -&gt; build\lib.win32-3.7\pyarrow\tests
      copying pyarrow\tests\test_cuda_numba_interop.py -&gt; build\lib.win32-3.7\pyarrow\tests
      copying pyarrow\tests\test_cython.py -&gt; build\lib.win32-3.7\pyarrow\tests
      copying pyarrow\tests\test_deprecations.py -&gt; build\lib.win32-3.7\pyarrow\tests
      copying pyarrow\tests\test_extension_type.py -&gt; build\lib.win32-3.7\pyarrow\tests
      copying pyarrow\tests\test_feather.py -&gt; build\lib.win32-3.7\pyarrow\tests
      copying pyarrow\tests\test_filesystem.py -&gt; build\lib.win32-3.7\pyarrow\tests
      copying pyarrow\tests\test_flight.py -&gt; build\lib.win32-3.7\pyarrow\tests
      copying pyarrow\tests\test_gandiva.py -&gt; build\lib.win32-3.7\pyarrow\tests
      copying pyarrow\tests\test_hdfs.py -&gt; build\lib.win32-3.7\pyarrow\tests
      copying pyarrow\tests\test_io.py -&gt; build\lib.win32-3.7\pyarrow\tests
      copying pyarrow\tests\test_ipc.py -&gt; build\lib.win32-3.7\pyarrow\tests
      copying pyarrow\tests\test_json.py -&gt; build\lib.win32-3.7\pyarrow\tests
      copying pyarrow\tests\test_jvm.py -&gt; build\lib.win32-3.7\pyarrow\tests
      copying pyarrow\tests\test_memory.py -&gt; build\lib.win32-3.7\pyarrow\tests
      copying pyarrow\tests\test_misc.py -&gt; build\lib.win32-3.7\pyarrow\tests
      copying pyarrow\tests\test_orc.py -&gt; build\lib.win32-3.7\pyarrow\tests
      copying pyarrow\tests\test_pandas.py -&gt; build\lib.win32-3.7\pyarrow\tests
      copying pyarrow\tests\test_parquet.py -&gt; build\lib.win32-3.7\pyarrow\tests
      copying pyarrow\tests\test_plasma.py -&gt; build\lib.win32-3.7\pyarrow\tests
      copying pyarrow\tests\test_plasma_tf_op.py -&gt; build\lib.win32-3.7\pyarrow\tests
      copying pyarrow\tests\test_scalars.py -&gt; build\lib.win32-3.7\pyarrow\tests
      copying pyarrow\tests\test_schema.py -&gt; build\lib.win32-3.7\pyarrow\tests
      copying pyarrow\tests\test_serialization.py -&gt; build\lib.win32-3.7\pyarrow\tests
      copying pyarrow\tests\test_strategies.py -&gt; build\lib.win32-3.7\pyarrow\tests
      copying pyarrow\tests\test_table.py -&gt; build\lib.win32-3.7\pyarrow\tests
      copying pyarrow\tests\test_tensor.py -&gt; build\lib.win32-3.7\pyarrow\tests
      copying pyarrow\tests\test_types.py -&gt; build\lib.win32-3.7\pyarrow\tests
      copying pyarrow\tests\util.py -&gt; build\lib.win32-3.7\pyarrow\tests
      copying pyarrow\tests\__init__.py -&gt; build\lib.win32-3.7\pyarrow\tests
      running egg_info
      writing pyarrow.egg-info\PKG-INFO
      writing dependency_links to pyarrow.egg-info\dependency_links.txt
      writing entry points to pyarrow.egg-info\entry_points.txt
      writing requirements to pyarrow.egg-info\requires.txt
      writing top-level names to pyarrow.egg-info\top_level.txt
      reading manifest file 'pyarrow.egg-info\SOURCES.txt'
      reading manifest template 'MANIFEST.in'
      warning: no previously-included files matching '*.so' found anywhere in distribution
      warning: no previously-included files matching '*.pyc' found anywhere in distribution
      warning: no previously-included files matching '*~' found anywhere in distribution
      warning: no previously-included files matching '#*' found anywhere in distribution
      warning: no previously-included files matching '.git*' found anywhere in distribution
      warning: no previously-included files matching '.DS_Store' found anywhere in distribution
      no previously-included directories found matching '.asv'
      writing manifest file 'pyarrow.egg-info\SOURCES.txt'
      copying pyarrow\__init__.pxd -&gt; build\lib.win32-3.7\pyarrow
      copying pyarrow\_csv.pyx -&gt; build\lib.win32-3.7\pyarrow
      copying pyarrow\_cuda.pxd -&gt; build\lib.win32-3.7\pyarrow
      copying pyarrow\_cuda.pyx -&gt; build\lib.win32-3.7\pyarrow
      copying pyarrow\_flight.pyx -&gt; build\lib.win32-3.7\pyarrow
      copying pyarrow\_json.pyx -&gt; build\lib.win32-3.7\pyarrow
      copying pyarrow\_orc.pxd -&gt; build\lib.win32-3.7\pyarrow
      copying pyarrow\_orc.pyx -&gt; build\lib.win32-3.7\pyarrow
      copying pyarrow\_parquet.pxd -&gt; build\lib.win32-3.7\pyarrow
      copying pyarrow\_parquet.pyx -&gt; build\lib.win32-3.7\pyarrow
      copying pyarrow\_plasma.pyx -&gt; build\lib.win32-3.7\pyarrow
      copying pyarrow\array.pxi -&gt; build\lib.win32-3.7\pyarrow
      copying pyarrow\benchmark.pxi -&gt; build\lib.win32-3.7\pyarrow
      copying pyarrow\builder.pxi -&gt; build\lib.win32-3.7\pyarrow
      copying pyarrow\error.pxi -&gt; build\lib.win32-3.7\pyarrow
      copying pyarrow\feather.pxi -&gt; build\lib.win32-3.7\pyarrow
      copying pyarrow\gandiva.pyx -&gt; build\lib.win32-3.7\pyarrow
      copying pyarrow\io-hdfs.pxi -&gt; build\lib.win32-3.7\pyarrow
      copying pyarrow\io.pxi -&gt; build\lib.win32-3.7\pyarrow
      copying pyarrow\ipc.pxi -&gt; build\lib.win32-3.7\pyarrow
      copying pyarrow\lib.pxd -&gt; build\lib.win32-3.7\pyarrow
      copying pyarrow\lib.pyx -&gt; build\lib.win32-3.7\pyarrow
      copying pyarrow\memory.pxi -&gt; build\lib.win32-3.7\pyarrow
      copying pyarrow\pandas-shim.pxi -&gt; build\lib.win32-3.7\pyarrow
      copying pyarrow\public-api.pxi -&gt; build\lib.win32-3.7\pyarrow
      copying pyarrow\scalar.pxi -&gt; build\lib.win32-3.7\pyarrow
      copying pyarrow\serialization.pxi -&gt; build\lib.win32-3.7\pyarrow
      copying pyarrow\table.pxi -&gt; build\lib.win32-3.7\pyarrow
      copying pyarrow\types.pxi -&gt; build\lib.win32-3.7\pyarrow
      creating build\lib.win32-3.7\pyarrow\includes
      copying pyarrow\includes\__init__.pxd -&gt; build\lib.win32-3.7\pyarrow\includes
      copying pyarrow\includes\common.pxd -&gt; build\lib.win32-3.7\pyarrow\includes
      copying pyarrow\includes\libarrow.pxd -&gt; build\lib.win32-3.7\pyarrow\includes
      copying pyarrow\includes\libarrow_cuda.pxd -&gt; build\lib.win32-3.7\pyarrow\includes
      copying pyarrow\includes\libarrow_flight.pxd -&gt; build\lib.win32-3.7\pyarrow\includes
      copying pyarrow\includes\libgandiva.pxd -&gt; build\lib.win32-3.7\pyarrow\includes
      creating build\lib.win32-3.7\pyarrow\tensorflow
      copying pyarrow\tensorflow\plasma_op.cc -&gt; build\lib.win32-3.7\pyarrow\tensorflow
      copying pyarrow\tests\pyarrow_cython_example.pyx -&gt; build\lib.win32-3.7\pyarrow\tests
      creating build\lib.win32-3.7\pyarrow\tests\data
      creating build\lib.win32-3.7\pyarrow\tests\data\orc
      copying pyarrow\tests\data\orc\README.md -&gt; build\lib.win32-3.7\pyarrow\tests\data\orc
      copying pyarrow\tests\data\orc\TestOrcFile.emptyFile.jsn.gz -&gt; build\lib.win32-3.7\pyarrow\tests\data\orc
      copying pyarrow\tests\data\orc\TestOrcFile.emptyFile.orc -&gt; build\lib.win32-3.7\pyarrow\tests\data\orc
      copying pyarrow\tests\data\orc\TestOrcFile.test1.jsn.gz -&gt; build\lib.win32-3.7\pyarrow\tests\data\orc
      copying pyarrow\tests\data\orc\TestOrcFile.test1.orc -&gt; build\lib.win32-3.7\pyarrow\tests\data\orc
      copying pyarrow\tests\data\orc\TestOrcFile.testDate1900.jsn.gz -&gt; build\lib.win32-3.7\pyarrow\tests\data\orc
      copying pyarrow\tests\data\orc\TestOrcFile.testDate1900.orc -&gt; build\lib.win32-3.7\pyarrow\tests\data\orc
      copying pyarrow\tests\data\orc\decimal.jsn.gz -&gt; build\lib.win32-3.7\pyarrow\tests\data\orc
      copying pyarrow\tests\data\orc\decimal.orc -&gt; build\lib.win32-3.7\pyarrow\tests\data\orc
      creating build\lib.win32-3.7\pyarrow\tests\data\parquet
      copying pyarrow\tests\data\parquet\v0.7.1.all-named-index.parquet -&gt; build\lib.win32-3.7\pyarrow\tests\data\parquet
      copying pyarrow\tests\data\parquet\v0.7.1.column-metadata-handling.parquet -&gt; build\lib.win32-3.7\pyarrow\tests\data\parquet
      copying pyarrow\tests\data\parquet\v0.7.1.parquet -&gt; build\lib.win32-3.7\pyarrow\tests\data\parquet
      copying pyarrow\tests\data\parquet\v0.7.1.some-named-index.parquet -&gt; build\lib.win32-3.7\pyarrow\tests\data\parquet
      running build_ext
      creating build\temp.win32-3.7
      creating build\temp.win32-3.7\Release
      Traceback (most recent call last):
        File "&lt;string&gt;", line 1, in &lt;module&gt;
        File "C:\Users\\AppData\Local\Temp\pip-install-gfndyai5\pyarrow\setup.py", line 606, in &lt;module&gt;
          url='https://arrow.apache.org/'
        File "c:\users\\appdata\local\programs\python\python37-32\lib\site-packages\setuptools\__init__.py", line 145, in setup
          return distutils.core.setup(**attrs)
        File "c:\users\\appdata\local\programs\python\python37-32\lib\distutils\core.py", line 148, in setup
          dist.run_commands()
        File "c:\users\\appdata\local\programs\python\python37-32\lib\distutils\dist.py", line 966, in run_commands
          self.run_command(cmd)
        File "c:\users\appdata\local\programs\python\python37-32\lib\distutils\dist.py", line 985, in run_command
          cmd_obj.run()
        File "c:\users\\appdata\local\programs\python\python37-32\lib\site-packages\setuptools\command\install.py", line 61, in run
          return orig.install.run(self)
        File "c:\users\\appdata\local\programs\python\python37-32\lib\distutils\command\install.py", line 545, in run
          self.run_command('build')
        File "c:\users\\appdata\local\programs\python\python37-32\lib\distutils\cmd.py", line 313, in run_command
          self.distribution.run_command(command)
        File "c:\users\\appdata\local\programs\python\python37-32\lib\distutils\dist.py", line 985, in run_command
          cmd_obj.run()
        File "c:\users\\appdata\local\programs\python\python37-32\lib\distutils\command\build.py", line 135, in run
          self.run_command(cmd_name)
        File "c:\users\alain\appdata\local\programs\python\python37-32\lib\distutils\cmd.py", line 313, in run_command
          self.distribution.run_command(command)
        File "c:\users\\appdata\local\programs\python\python37-32\lib\distutils\dist.py", line 985, in run_command
          cmd_obj.run()
        File "C:\Users\1\AppData\Local\Temp\pip-install-gfndyai5\pyarrow\setup.py", line 94, in run
          self._run_cmake()
        File "C:\Users\\AppData\Local\Temp\pip-install-gfndyai5\pyarrow\setup.py", line 273, in _run_cmake
          raise RuntimeError('Not supported on 32-bit Windows')
      RuntimeError: Not supported on 32-bit Windows
  
      ----------------------------------------
  Command ""c:\users\\appdata\local\programs\python\python37-32\python.exe" -u -c "import setuptools, tokenize;__file__='C:\\Users\\\\AppData\\Local\\Temp\\pip-install-gfndyai5\\pyarrow\\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record C:\Users\\AppData\Local\Temp\pip-record-xs9wfdwm\install-record.txt --single-version-externally-managed --compile" failed with error code 1 in C:\Users\\AppData\Local\Temp\pip-install-gfndyai5\pyarrow\
  
  </code></pre>
  
  <p>I've tried to read up this issue and it appears to me that either:</p>
  
  <ol>
  <li>pyarrow is not compatible with python3.7 (which is strange because I've tried installation on an OS machine)</li>
  <li><p>I'm doing the installation wrong.</p>
  
  <blockquote>
    <p>If 1) I'm more than happy to downgrade my python version. If you know what python version (more than 3) supports pyarrow I'll be happy to downgrade it.
    If 2) Please provide indications to how properly install it.</p>
  </blockquote></li>
  <li><p>(Unlikely) If there is a way to install xbbg without pyarrow, I'll be happy to know how. Remember the goal is to install xbbg.</p></li>
  </ol>
  
  <p>Many thanks.</p>