Helping with documentation#

A great way to contribute to the project is to improve documentation.

If you are an Arrow user and you found some docs to be incomplete or inaccurate, share your hard-earned knowledge with the rest of the community.

If you didn’t come across something to improve in the documentation itself, you can search for an issue in GitHub.


When searching for an issue that deals with documentation, navigate to GitHub labels and select Component: Documentation or search for Documentation in the “Search all labels” window.

See Example search.

Documentation improvements are also a great way to gain some experience with our submission and review process without requiring a lot of local development environment setup.


Many documentation-only changes can be made directly in the GitHub web interface by clicking the Edit this page on the right top corner of the documentations page. This will handle making a fork and a pull request for you.

click on edit this page

On the right corner of the file in GitHub click on pen icon.#

edit file in GitHub.

Now you can edit the file in GitHub.#

You could also build the entire project, make the change locally on your branch and make the PR this way. But it is by no means superior to simply editing via GitHub.

If you wish to build the documentation locally, follow detailed instructions on Building the Documentation.

Where to find the correct file to change?#

Most of the documentation is located in the docs/source of the Arrow library. Source folder includes:

  • C++ documentation section: docs/source/cpp.

  • Development section: docs/source/developers.

  • Specifications and protocols section: docs/source/format.

  • Language documentation

    C (GLib), Java, JavaScript and Python documentation is located in folders named by the language, for example: docs/source/c_glib.

    Reference documentation

    To edit API reference documentation for Python, you will need to edit the docstrings of the functions and methods located in the pyarrow package itself. For example, to edit pyarrow.Array you will need to edit docstrings in arrow/pyarrow/array.pxi.

    It is similar for C++.

  • The documentation for the arrow R package (which is published on the pkgdown site at is located within the r/ subdirectory.

    See also

    To read more about documentation in R please visit:

Cookbooks have their own repository apache/arrow-cookbook and can be separately cloned and built.