Uh oh!
There was an error while loading. Please reload this page.
ARROW-3834: [Doc] Merge C++ and Python documentation - #2856
Conversation
@wesm@pitrou Would love to get your feedback on this early as it involves some work. The C++ part works nice with the XML generated by @kou As you mentioned in the mail thread, GLib needs the XML for GObject introspection to work, so I'm not going to touch that. I would still add top-level sections for the languages based on it and link to the generated API docs. Would that be ok for you as a first shot? |
kou
commented
Oct 29, 2018
Yes! |
pitrou
commented
Oct 29, 2018
I almost never read the C++ docs (reading the .h files instead), so I'm not sure how people like to use it currently. I like this PR on the principle. |
wesm
commented
Oct 29, 2018
I will take a look when I can. We might go ahead and promote this to the top level of the repository to start having more documentation across languages |
I'm not sure about this. IMHO We should either move everything (including go, rust, java, ruby, etc.) to sphinx and make |
wesm
commented
Nov 1, 2018
I think there's two kinds of documentation:
In Python we are using Sphinx for both. Other projects only are doing the latter. I would be in favor of having a top level doc/ directory where we develop prose documentation for the entire Arrow project including some of its programming language implementations. How we deal with generated API documentation may be on a case by case basis, but the doc index page should have links to every API listing that exists (Java, GLib, Python, Ruby, JavaScript, etc.). Getting every project's API docs into a single Sphinx project is probably too much to ask |
pitrou
commented
Nov 12, 2018
I wanted to give this a try but it seems doc building currently fails. The Python API docs are not generated anymore. |
xhochy
commented
Nov 12, 2018
@pitrou I will have a look later but one thing I noticed is that it always helped to have the Python package build and installed using both: |
xhochy
commented
Nov 12, 2018
@pitrou rebased and also seeing a problem with the API docs. |
xhochy
commented
Nov 12, 2018
These were issues with |
pitrou
commented
Nov 12, 2018
The nice thing with this PR is that it would allow easy API cross-links from prose documentation, e.g.: .. cpp:namespace:: arrow
Call :cpp:func:`Array::IsNull` to query a :cpp:class:`Array`'s validity bitmap.One downside is that building docs becomes a bit more complicated (it also seems to make Sphinx building slower). |
f20e6d2 to
ea08befComparexhochy
commented
Nov 20, 2018
pitrou
commented
Nov 21, 2018
Apparently there's a failed Travis-CI entry. |
There was a problem hiding this comment.
Use a wildcard for the version number here?
There was a problem hiding this comment.
conda_env_cpp.yml and conda_env_python.yml files contain arrow-cpp's and pyarrow's dependencies and eventually will be used to spin up the development environment, see #2836
I suggest to create a ci/conda_env_sphinx.yml or conda_env_doc.yml with the sphinx dependencies, including doxygen and rsync too.
Of course this requires a minimal arrow/doc/Dockerfile too:
FROM arrow:python-3.6
# install python specific packagesADD ci/conda_env_sphinx.yml /arrow/ci/
RUN conda install -c conda-forge \
--file arrow/ci/conda_env_sphinx.yml && \
conda clean --all
# build and testCMD arrow/ci/docker_build_cpp.sh && \
arrow/ci/docker_build_python.sh && \
arrow/ci/docker_build_sphinx.shThere was a problem hiding this comment.
i'm -1 on including MarkDown docs in the Sphinx source tree. We should convert those documents to reST format. It's a bit of work, but it will be much nicer afterwards.
There was a problem hiding this comment.
@wesm@jacques-n I cannot exactly recall but I think there were some strong voices that wanted the format docs to be in Markdown? I'm happy with converting them to reST format but only when people are fine with this.
There was a problem hiding this comment.
I don't think anyone has ever proposed converting the format docs to another markup language. In principle I don't see an issue with using reST because people will mostly be consuming the documents via the generated webpage. These aren't documents that are going to be frequently edited, anyway
There was a problem hiding this comment.
Ok, then I'll proceed and convert them to reST.
There was a problem hiding this comment.
Please rename this file according to the Dockerfile example above: arrow/ci/docker_build_sphinx.sh and call these scripts from the docker CMD instead.
There was a problem hiding this comment.
There is an unused version variable in the conf.py which We should set to pyarrow.__version__ (suppose pyarrow is installed) and use here as html_title = u'Apache Arrow {}'.format(version)
There was a problem hiding this comment.
# Usage:# docker-compose build cpp# docker-compose build python# docker-compose build docs# docker-compose run docsimage: arrow:docsbuild:
context: .dockerfile: doc/Dockerfile147b354 to
5b6238bComparexhochy
commented
Nov 29, 2018
pitrou
commented
Nov 30, 2018
I'll take a look Monday. |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
wesm
commented
Dec 4, 2018
I'm sorry to equivocate -- I rolled back this commit. I think that moving the protocol definitions from |
xhochy
commented
Dec 4, 2018
@wesm sounds reasonable. I'll move them |
xhochy
commented
Dec 5, 2018
@wesm Fixed, so this is ready for re-review. |
wesm
commented
Dec 6, 2018
Looks good. I will add a simple README to format/ and then merge this |
Change-Id: I0be8ff87c6ffd352e9c26e01154dcf2da5743873
No description provided.