tree: efad04828fa550e5ef01921dcc3608b65a91e489 [path history] [tgz]
  1. benchmarks/
  2. examples/
  3. manylinux1/
  4. pyarrow/
  5. scripts/
  6. .coveragerc
  7. .flake8.cython
  8. .gitignore
  9. asv-build.sh
  10. asv-install.sh
  11. asv-uninstall.sh
  12. asv.conf.json
  13. Brewfile
  14. CMakeLists.txt
  15. Dockerfile
  16. Dockerfile.alpine
  17. LICENSE.txt
  18. MANIFEST.in
  19. pyproject.toml
  20. README.md
  21. requirements-test.txt
  22. requirements-wheel.txt
  23. requirements.txt
  24. setup.cfg
  25. setup.py
python/README.md

Python library for Apache Arrow

This library provides a Python API for functionality provided by the Arrow C++ libraries, along with tools for Arrow integration and interoperability with pandas, NumPy, and other software in the Python ecosystem.

Installing

Across platforms, you can install a recent version of pyarrow with the conda package manager:

conda install pyarrow -c conda-forge

On Linux/macOS and Windows, you can also install binary wheels from PyPI with pip:

pip install pyarrow

Development

Coding Style

We follow a similar PEP8-like coding style to the pandas project.

The code must pass flake8 (available from pip or conda) or it will fail the build. Check for style errors before submitting your pull request with:

flake8 .
flake8 --config=.flake8.cython .

Building from Source

See the Development page in the documentation.

Running the unit tests

We are using pytest to develop our unit test suite. After building the project using setup.py build_ext --inplace, you can run its unit tests like so:

pytest pyarrow

The project has a number of custom command line options for its test suite. Some tests are disabled by default, for example. To see all the options, run

pytest pyarrow --help

and look for the “custom options” section.

For running the benchmarks, see the Sphinx documentation.

Building the documentation

pip install -r ../docs/requirements.txt
python setup.py build_sphinx -s ../docs/source