amoeba commented on issue #39990:
URL: https://github.com/apache/arrow/issues/39990#issuecomment-1933220718

   I did a bit of research and I think 
[sphinx-lint](https://pypi.org/project/sphinx-lint/) might work here.
   
   I first checked whether sphinx had anything in-built and I didn't find 
anything. There are reStructuredText linters but at least one of those doesn't 
understand Sphinx directives so I think we need something Sphinx-aware here. 
Another option would be to implement checks using one or more shell utilities 
but that's probably not a good route to go down.
   
   [sphinx-lint](https://pypi.org/project/sphinx-lint/) has a number of checks 
that can be disabled or enabled selectively, and it uses exit codes to indicate 
a clean run so it would be easy to adapt into CI. The full list of checks are:
   
   ```
   $ sphinx-lint --list
   22 checkers selected:
   - backtick-before-role: Search for roles preceded by a backtick.
   - bad-dedent: Check for mis-alignment in indentation in code blocks.
   - carriage-return: Check for carriage returns (\r) in lines.
   - dangling-hyphen: Check for lines ending in a hyphen.
   - directive-missing-colons: Search for directive wrongly typed as comments.
   - directive-with-three-dots: Search for directives with three dots instead 
of two.
   - horizontal-tab: Check for horizontal tabs (\t) in lines.
   - hyperlink-reference-missing-backtick: Search for missing backticks in 
front of hyperlink references.
   - missing-backtick-after-role: Search for roles missing their closing 
backticks.
   - missing-colon-in-role: Search for missing colons in roles.
   - missing-final-newline: Check that the last line of the file ends with a 
newline.
   - missing-space-after-literal: Search for inline literals immediately 
followed by a character.
   - missing-space-after-role: Search for roles immediately followed by a 
character.
   - missing-space-before-default-role: Search for missing spaces before 
default role.
   - missing-space-before-role: Search for missing spaces before roles.
   - missing-space-in-hyperlink: Search for hyperlinks missing a space.
   - missing-underscore-after-hyperlink: Search for hyperlinks missing 
underscore after their closing backtick.
   - python-syntax: Search invalid syntax in Python examples.
   - role-with-double-backticks: Search for roles with double backticks.
   - role-without-backticks: Search roles without backticks.
   - trailing-whitespace: Check for trailing whitespaces at end of lines.
   - unbalanced-inline-literals-delimiters: Search for unbalanced inline 
literals delimiters.
   ```
   
   And it finds quite a few errors in the 
   <details>
   <summary>sphinx-lint output against main</summary>
   
   ```
   $ sphinx-lint
   source/conf.py:508: OMG TABS!!!1 (horizontal-tab)
   source/python/json.rst:24: trailing whitespace (trailing-whitespace)
   source/python/orc.rst:115: trailing whitespace (trailing-whitespace)
   source/python/compute.rst:26: trailing whitespace (trailing-whitespace)
   source/python/compute.rst:94: trailing whitespace (trailing-whitespace)
   source/python/compute.rst:303: trailing whitespace (trailing-whitespace)
   source/python/compute.rst:328: trailing whitespace (trailing-whitespace)
   source/python/compute.rst:395: trailing whitespace (trailing-whitespace)
   source/python/compute.rst:444: trailing whitespace (trailing-whitespace)
   source/python/compute.rst:500: trailing whitespace (trailing-whitespace)
   source/python/compute.rst:502: trailing whitespace (trailing-whitespace)
   source/python/getstarted.rst:40: trailing whitespace (trailing-whitespace)
   source/python/getstarted.rst:66: trailing whitespace (trailing-whitespace)
   source/python/getstarted.rst:78: trailing whitespace (trailing-whitespace)
   source/python/getstarted.rst:95: trailing whitespace (trailing-whitespace)
   source/python/getstarted.rst:102: trailing whitespace (trailing-whitespace)
   source/python/getstarted.rst:125: trailing whitespace (trailing-whitespace)
   source/python/getstarted.rst:154: trailing whitespace (trailing-whitespace)
   source/python/getstarted.rst:155: trailing whitespace (trailing-whitespace)
   source/python/data.rst:243: trailing whitespace (trailing-whitespace)
   source/python/data.rst:285: trailing whitespace (trailing-whitespace)
   source/python/data.rst:287: trailing whitespace (trailing-whitespace)
   source/python/data.rst:288: trailing whitespace (trailing-whitespace)
   source/python/dataset.rst:578: trailing whitespace (trailing-whitespace)
   source/python/dataset.rst:579: trailing whitespace (trailing-whitespace)
   source/python/dataset.rst:581: trailing whitespace (trailing-whitespace)
   source/python/dataset.rst:582: trailing whitespace (trailing-whitespace)
   source/python/dataset.rst:583: trailing whitespace (trailing-whitespace)
   source/python/dataset.rst:585: trailing whitespace (trailing-whitespace)
   source/python/dataset.rst:586: trailing whitespace (trailing-whitespace)
   source/python/dataset.rst:587: trailing whitespace (trailing-whitespace)
   source/python/dataset.rst:591: trailing whitespace (trailing-whitespace)
   source/python/dataset.rst:595: trailing whitespace (trailing-whitespace)
   source/python/dataset.rst:599: trailing whitespace (trailing-whitespace)
   source/python/dataset.rst:614: trailing whitespace (trailing-whitespace)
   source/python/dataset.rst:621: trailing whitespace (trailing-whitespace)
   source/python/dataset.rst:628: trailing whitespace (trailing-whitespace)
   source/python/dataset.rst:629: trailing whitespace (trailing-whitespace)
   source/python/dataset.rst:635: trailing whitespace (trailing-whitespace)
   source/python/dataset.rst:637: trailing whitespace (trailing-whitespace)
   source/python/dataset.rst:642: trailing whitespace (trailing-whitespace)
   source/python/dataset.rst:656: trailing whitespace (trailing-whitespace)
   source/python/dataset.rst:660: trailing whitespace (trailing-whitespace)
   source/python/dataset.rst:661: trailing whitespace (trailing-whitespace)
   source/python/dataset.rst:662: trailing whitespace (trailing-whitespace)
   source/python/dataset.rst:663: trailing whitespace (trailing-whitespace)
   source/python/dataset.rst:669: trailing whitespace (trailing-whitespace)
   source/python/dataset.rst:670: trailing whitespace (trailing-whitespace)
   source/python/dataset.rst:671: trailing whitespace (trailing-whitespace)
   source/python/dataset.rst:722: trailing whitespace (trailing-whitespace)
   source/python/getting_involved.rst:57: trailing whitespace 
(trailing-whitespace)
   source/python/getting_involved.rst:76: No newline at end of file. 
(missing-final-newline)
   source/python/dlpack.rst:93: trailing whitespace (trailing-whitespace)
   source/python/timestamps.rst:54: trailing whitespace (trailing-whitespace)
   source/python/timestamps.rst:55: trailing whitespace (trailing-whitespace)
   source/python/timestamps.rst:65: trailing whitespace (trailing-whitespace)
   source/python/timestamps.rst:66: trailing whitespace (trailing-whitespace)
   source/python/timestamps.rst:80: trailing whitespace (trailing-whitespace)
   source/python/timestamps.rst:132: trailing whitespace (trailing-whitespace)
   source/python/timestamps.rst:144: trailing whitespace (trailing-whitespace)
   source/python/timestamps.rst:161: trailing whitespace (trailing-whitespace)
   source/python/timestamps.rst:162: trailing whitespace (trailing-whitespace)
   source/python/timestamps.rst:163: trailing whitespace (trailing-whitespace)
   source/python/timestamps.rst:182: trailing whitespace (trailing-whitespace)
   source/python/timestamps.rst:184: trailing whitespace (trailing-whitespace)
   source/python/timestamps.rst:192: trailing whitespace (trailing-whitespace)
   source/python/filesystems.rst:236: trailing whitespace (trailing-whitespace)
   source/python/filesystems.rst:317: trailing whitespace (trailing-whitespace)
   source/python/ipc.rst:79: trailing whitespace (trailing-whitespace)
   source/python/ipc.rst:84: trailing whitespace (trailing-whitespace)
   source/python/ipc.rst:105: trailing whitespace (trailing-whitespace)
   source/python/ipc.rst:129: trailing whitespace (trailing-whitespace)
   source/python/ipc.rst:167: trailing whitespace (trailing-whitespace)
   source/python/parquet.rst:35: trailing whitespace (trailing-whitespace)
   source/python/api/compute.rst:55: trailing whitespace (trailing-whitespace)
   source/python/api/compute.rst:56: trailing whitespace (trailing-whitespace)
   source/python/api/compute.rst:57: trailing whitespace (trailing-whitespace)
   source/python/api/compute.rst:58: trailing whitespace (trailing-whitespace)
   source/python/api/substrait.rst:53: No newline at end of file. 
(missing-final-newline)
   source/python/integration/python_r.rst:32: trailing whitespace 
(trailing-whitespace)
   source/python/integration/python_r.rst:55: trailing whitespace 
(trailing-whitespace)
   source/python/integration/python_r.rst:94: trailing whitespace 
(trailing-whitespace)
   source/python/integration/python_r.rst:99: trailing whitespace 
(trailing-whitespace)
   source/python/integration/python_r.rst:192: trailing whitespace 
(trailing-whitespace)
   source/python/integration/python_r.rst:222: trailing whitespace 
(trailing-whitespace)
   source/python/integration/python_r.rst:264: trailing whitespace 
(trailing-whitespace)
   source/python/integration/python_r.rst:277: trailing whitespace 
(trailing-whitespace)
   source/python/integration/python_r.rst:292: trailing whitespace 
(trailing-whitespace)
   source/python/integration/python_r.rst:296: trailing whitespace 
(trailing-whitespace)
   source/python/integration/python_r.rst:301: trailing whitespace 
(trailing-whitespace)
   source/python/integration/python_r.rst:307: No newline at end of file. 
(missing-final-newline)
   source/java/quickstartguide.rst:198: OMG TABS!!!1 (horizontal-tab)
   source/java/quickstartguide.rst:199: OMG TABS!!!1 (horizontal-tab)
   source/java/quickstartguide.rst:200: OMG TABS!!!1 (horizontal-tab)
   source/java/quickstartguide.rst:201: OMG TABS!!!1 (horizontal-tab)
   source/java/quickstartguide.rst:309: OMG TABS!!!1 (horizontal-tab)
   source/java/quickstartguide.rst:310: OMG TABS!!!1 (horizontal-tab)
   source/java/quickstartguide.rst:311: OMG TABS!!!1 (horizontal-tab)
   source/java/quickstartguide.rst:312: OMG TABS!!!1 (horizontal-tab)
   source/java/quickstartguide.rst:316: No newline at end of file. 
(missing-final-newline)
   source/java/install.rst:64: trailing whitespace (trailing-whitespace)
   source/java/install.rst:77: trailing whitespace (trailing-whitespace)
   source/java/install.rst:78: trailing whitespace (trailing-whitespace)
   source/java/install.rst:63: found an unbalanced inline literal markup. 
(unbalanced-inline-literals-delimiters)
   source/java/jdbc.rst:98: Line ends with dangling hyphen (dangling-hyphen)
   source/java/jdbc.rst:174: Line ends with dangling hyphen (dangling-hyphen)
   source/java/jdbc.rst:175: Line ends with dangling hyphen (dangling-hyphen)
   source/java/flight.rst:187: trailing whitespace (trailing-whitespace)
   source/java/algorithm.rst:23: trailing whitespace (trailing-whitespace)
   source/java/algorithm.rst:28: trailing whitespace (trailing-whitespace)
   source/java/algorithm.rst:39: trailing whitespace (trailing-whitespace)
   source/java/algorithm.rst:44: trailing whitespace (trailing-whitespace)
   source/java/algorithm.rst:47: trailing whitespace (trailing-whitespace)
   source/java/algorithm.rst:51: trailing whitespace (trailing-whitespace)
   source/java/algorithm.rst:57: trailing whitespace (trailing-whitespace)
   source/java/algorithm.rst:60: trailing whitespace (trailing-whitespace)
   source/java/algorithm.rst:62: trailing whitespace (trailing-whitespace)
   source/java/algorithm.rst:75: trailing whitespace (trailing-whitespace)
   source/java/algorithm.rst:79: trailing whitespace (trailing-whitespace)
   source/java/algorithm.rst:81: trailing whitespace (trailing-whitespace)
   source/java/algorithm.rst:86: trailing whitespace (trailing-whitespace)
   source/java/algorithm.rst:87: trailing whitespace (trailing-whitespace)
   source/java/algorithm.rst:85: inline literal missing (escaped) space after 
literal: '``k``t' (missing-space-after-literal)
   source/java/algorithm.rst:85: found an unbalanced inline literal markup. 
(unbalanced-inline-literals-delimiters)
   source/java/algorithm.rst:85: found an unbalanced inline literal markup. 
(unbalanced-inline-literals-delimiters)
   source/java/flight_sql_jdbc_driver.rst:172: trailing whitespace 
(trailing-whitespace)
   source/java/flight_sql_jdbc_driver.rst:173: trailing whitespace 
(trailing-whitespace)
   source/java/substrait.rst:103: OMG TABS!!!1 (horizontal-tab)
   source/java/substrait.rst:104: OMG TABS!!!1 (horizontal-tab)
   source/java/substrait.rst:105: OMG TABS!!!1 (horizontal-tab)
   source/java/substrait.rst:441: OMG TABS!!!1 (horizontal-tab)
   source/java/substrait.rst:442: OMG TABS!!!1 (horizontal-tab)
   source/java/substrait.rst:443: OMG TABS!!!1 (horizontal-tab)
   source/java/substrait.rst:444: OMG TABS!!!1 (horizontal-tab)
   source/java/substrait.rst:445: OMG TABS!!!1 (horizontal-tab)
   source/java/substrait.rst:446: OMG TABS!!!1 (horizontal-tab)
   source/java/substrait.rst:447: OMG TABS!!!1 (horizontal-tab)
   source/cpp/getting_started.rst:27: trailing whitespace (trailing-whitespace)
   source/cpp/getting_started.rst:28: trailing whitespace (trailing-whitespace)
   source/cpp/getting_started.rst:30: trailing whitespace (trailing-whitespace)
   source/cpp/getting_started.rst:36: trailing whitespace (trailing-whitespace)
   source/cpp/getting_started.rst:37: trailing whitespace (trailing-whitespace)
   source/cpp/getting_started.rst:47: trailing whitespace (trailing-whitespace)
   source/cpp/getting_started.rst:48: trailing whitespace (trailing-whitespace)
   source/java/vector.rst:229: trailing whitespace (trailing-whitespace)
   source/java/vector.rst:243: trailing whitespace (trailing-whitespace)
   source/cpp/threading.rst:102: No newline at end of file. 
(missing-final-newline)
   source/java/memory.rst:23: trailing whitespace (trailing-whitespace)
   source/java/memory.rst:42: trailing whitespace (trailing-whitespace)
   source/java/memory.rst:70: trailing whitespace (trailing-whitespace)
   source/java/memory.rst:71: trailing whitespace (trailing-whitespace)
   source/java/memory.rst:72: trailing whitespace (trailing-whitespace)
   source/java/memory.rst:103: trailing whitespace (trailing-whitespace)
   source/java/memory.rst:104: trailing whitespace (trailing-whitespace)
   source/java/memory.rst:110: trailing whitespace (trailing-whitespace)
   source/java/memory.rst:111: trailing whitespace (trailing-whitespace)
   source/java/memory.rst:116: trailing whitespace (trailing-whitespace)
   source/java/memory.rst:117: trailing whitespace (trailing-whitespace)
   source/java/memory.rst:292: trailing whitespace (trailing-whitespace)
   source/java/memory.rst:373: trailing whitespace (trailing-whitespace)
   source/java/memory.rst:387: trailing whitespace (trailing-whitespace)
   source/java/memory.rst:388: trailing whitespace (trailing-whitespace)
   source/java/memory.rst:392: trailing whitespace (trailing-whitespace)
   source/java/memory.rst:393: trailing whitespace (trailing-whitespace)
   source/java/memory.rst:396: trailing whitespace (trailing-whitespace)
   source/java/memory.rst:397: trailing whitespace (trailing-whitespace)
   source/java/memory.rst:414: trailing whitespace (trailing-whitespace)
   source/java/memory.rst:339: Line ends with dangling hyphen (dangling-hyphen)
   source/java/memory.rst:343: Line ends with dangling hyphen (dangling-hyphen)
   source/cpp/build_system.rst:170: OMG TABS!!!1 (horizontal-tab)
   source/cpp/build_system.rst:50: trailing whitespace (trailing-whitespace)
   source/cpp/gandiva.rst:32: trailing whitespace (trailing-whitespace)
   source/cpp/gandiva.rst:33: trailing whitespace (trailing-whitespace)
   source/cpp/gandiva.rst:45: trailing whitespace (trailing-whitespace)
   source/cpp/gandiva.rst:46: trailing whitespace (trailing-whitespace)
   source/cpp/gandiva.rst:48: trailing whitespace (trailing-whitespace)
   source/cpp/gandiva.rst:53: trailing whitespace (trailing-whitespace)
   source/cpp/gandiva.rst:54: trailing whitespace (trailing-whitespace)
   source/cpp/gandiva.rst:55: trailing whitespace (trailing-whitespace)
   source/cpp/gandiva.rst:56: trailing whitespace (trailing-whitespace)
   source/cpp/gandiva.rst:57: trailing whitespace (trailing-whitespace)
   source/cpp/gandiva.rst:58: trailing whitespace (trailing-whitespace)
   source/cpp/gandiva.rst:60: trailing whitespace (trailing-whitespace)
   source/cpp/gandiva.rst:66: No newline at end of file. (missing-final-newline)
   source/cpp/tables.rst:84: trailing whitespace (trailing-whitespace)
   source/cpp/tables.rst:86: trailing whitespace (trailing-whitespace)
   source/cpp/tables.rst:90: trailing whitespace (trailing-whitespace)
   source/cpp/io.rst:94: No newline at end of file. (missing-final-newline)
   source/cpp/datatypes.rst:75: trailing whitespace (trailing-whitespace)
   source/cpp/datatypes.rst:76: trailing whitespace (trailing-whitespace)
   source/cpp/datatypes.rst:99: trailing whitespace (trailing-whitespace)
   source/cpp/datatypes.rst:131: trailing whitespace (trailing-whitespace)
   source/cpp/datatypes.rst:179: trailing whitespace (trailing-whitespace)
   source/cpp/datatypes.rst:186: trailing whitespace (trailing-whitespace)
   source/cpp/datatypes.rst:192: trailing whitespace (trailing-whitespace)
   source/cpp/dataset.rst:381: trailing whitespace (trailing-whitespace)
   source/cpp/dataset.rst:382: trailing whitespace (trailing-whitespace)
   source/cpp/dataset.rst:384: trailing whitespace (trailing-whitespace)
   source/cpp/dataset.rst:385: trailing whitespace (trailing-whitespace)
   source/cpp/dataset.rst:386: trailing whitespace (trailing-whitespace)
   source/cpp/dataset.rst:388: trailing whitespace (trailing-whitespace)
   source/cpp/dataset.rst:389: trailing whitespace (trailing-whitespace)
   source/cpp/dataset.rst:390: trailing whitespace (trailing-whitespace)
   source/cpp/dataset.rst:394: trailing whitespace (trailing-whitespace)
   source/cpp/dataset.rst:398: trailing whitespace (trailing-whitespace)
   source/cpp/dataset.rst:402: trailing whitespace (trailing-whitespace)
   source/cpp/flight.rst:353: trailing whitespace (trailing-whitespace)
   source/cpp/flight.rst:356: trailing whitespace (trailing-whitespace)
   source/cpp/examples/compute_and_write_example.rst:24: trailing whitespace 
(trailing-whitespace)
   source/cpp/examples/compute_and_write_example.rst:25: trailing whitespace 
(trailing-whitespace)
   source/cpp/examples/compute_and_write_example.rst:26: trailing whitespace 
(trailing-whitespace)
   source/cpp/memory.rst:208: trailing whitespace (trailing-whitespace)
   source/cpp/memory.rst:237: trailing whitespace (trailing-whitespace)
   source/cpp/memory.rst:240: trailing whitespace (trailing-whitespace)
   source/cpp/memory.rst:241: trailing whitespace (trailing-whitespace)
   source/cpp/memory.rst:242: trailing whitespace (trailing-whitespace)
   source/cpp/memory.rst:243: trailing whitespace (trailing-whitespace)
   source/cpp/memory.rst:244: trailing whitespace (trailing-whitespace)
   source/cpp/memory.rst:252: trailing whitespace (trailing-whitespace)
   source/cpp/memory.rst:255: trailing whitespace (trailing-whitespace)
   source/cpp/memory.rst:256: trailing whitespace (trailing-whitespace)
   source/cpp/memory.rst:257: trailing whitespace (trailing-whitespace)
   source/cpp/memory.rst:258: trailing whitespace (trailing-whitespace)
   source/cpp/memory.rst:280: trailing whitespace (trailing-whitespace)
   source/cpp/memory.rst:282: trailing whitespace (trailing-whitespace)
   source/cpp/memory.rst:357: trailing whitespace (trailing-whitespace)
   source/cpp/parquet.rst:54: trailing whitespace (trailing-whitespace)
   source/cpp/parquet.rst:55: trailing whitespace (trailing-whitespace)
   source/cpp/parquet.rst:70: trailing whitespace (trailing-whitespace)
   source/cpp/parquet.rst:109: trailing whitespace (trailing-whitespace)
   source/cpp/parquet.rst:110: trailing whitespace (trailing-whitespace)
   source/cpp/parquet.rst:177: trailing whitespace (trailing-whitespace)
   source/cpp/parquet.rst:194: trailing whitespace (trailing-whitespace)
   source/cpp/parquet.rst:195: trailing whitespace (trailing-whitespace)
   source/cpp/parquet.rst:196: trailing whitespace (trailing-whitespace)
   source/cpp/parquet.rst:269: trailing whitespace (trailing-whitespace)
   source/cpp/parquet.rst:272: trailing whitespace (trailing-whitespace)
   source/cpp/parquet.rst:273: trailing whitespace (trailing-whitespace)
   source/cpp/parquet.rst:275: trailing whitespace (trailing-whitespace)
   source/cpp/parquet.rst:278: trailing whitespace (trailing-whitespace)
   source/cpp/parquet.rst:279: trailing whitespace (trailing-whitespace)
   source/cpp/parquet.rst:282: trailing whitespace (trailing-whitespace)
   source/cpp/parquet.rst:562: trailing whitespace (trailing-whitespace)
   source/cpp/acero/substrait.rst:114: trailing whitespace (trailing-whitespace)
   source/cpp/acero/substrait.rst:149: trailing whitespace (trailing-whitespace)
   source/cpp/acero/substrait.rst:152: trailing whitespace (trailing-whitespace)
   source/cpp/acero/substrait.rst:155: trailing whitespace (trailing-whitespace)
   source/cpp/acero/substrait.rst:158: trailing whitespace (trailing-whitespace)
   source/cpp/acero/substrait.rst:161: trailing whitespace (trailing-whitespace)
   source/cpp/acero/substrait.rst:164: trailing whitespace (trailing-whitespace)
   source/cpp/acero/substrait.rst:167: trailing whitespace (trailing-whitespace)
   source/cpp/acero/substrait.rst:170: trailing whitespace (trailing-whitespace)
   source/cpp/acero/substrait.rst:173: trailing whitespace (trailing-whitespace)
   source/cpp/acero/substrait.rst:176: trailing whitespace (trailing-whitespace)
   source/cpp/acero/substrait.rst:179: trailing whitespace (trailing-whitespace)
   source/cpp/acero/substrait.rst:182: trailing whitespace (trailing-whitespace)
   source/cpp/acero/substrait.rst:185: trailing whitespace (trailing-whitespace)
   source/cpp/acero/substrait.rst:187: trailing whitespace (trailing-whitespace)
   source/cpp/acero/substrait.rst:190: trailing whitespace (trailing-whitespace)
   source/cpp/acero/substrait.rst:193: trailing whitespace (trailing-whitespace)
   source/cpp/acero/substrait.rst:196: trailing whitespace (trailing-whitespace)
   source/cpp/acero/substrait.rst:199: trailing whitespace (trailing-whitespace)
   source/cpp/acero/substrait.rst:203: trailing whitespace (trailing-whitespace)
   source/cpp/acero/substrait.rst:206: trailing whitespace (trailing-whitespace)
   source/cpp/acero/substrait.rst:211: trailing whitespace (trailing-whitespace)
   source/cpp/acero/substrait.rst:215: trailing whitespace (trailing-whitespace)
   source/cpp/acero/overview.rst:209: trailing whitespace (trailing-whitespace)
   source/cpp/acero/overview.rst:220: trailing whitespace (trailing-whitespace)
   source/cpp/acero/overview.rst:269: trailing whitespace (trailing-whitespace)
   source/cpp/acero/overview.rst:270: No newline at end of file. 
(missing-final-newline)
   source/cpp/gandiva/expr_projector_filter.rst:33: trailing whitespace 
(trailing-whitespace)
   source/cpp/gandiva/expr_projector_filter.rst:42: trailing whitespace 
(trailing-whitespace)
   source/cpp/gandiva/expr_projector_filter.rst:87: trailing whitespace 
(trailing-whitespace)
   source/cpp/gandiva/expr_projector_filter.rst:102: trailing whitespace 
(trailing-whitespace)
   source/cpp/gandiva/expr_projector_filter.rst:103: trailing whitespace 
(trailing-whitespace)
   source/cpp/gandiva/expr_projector_filter.rst:104: trailing whitespace 
(trailing-whitespace)
   source/cpp/gandiva/expr_projector_filter.rst:106: trailing whitespace 
(trailing-whitespace)
   source/cpp/gandiva/expr_projector_filter.rst:107: trailing whitespace 
(trailing-whitespace)
   source/cpp/gandiva/expr_projector_filter.rst:108: trailing whitespace 
(trailing-whitespace)
   source/cpp/gandiva/expr_projector_filter.rst:109: trailing whitespace 
(trailing-whitespace)
   source/cpp/gandiva/expr_projector_filter.rst:126: trailing whitespace 
(trailing-whitespace)
   source/cpp/gandiva/expr_projector_filter.rst:129: trailing whitespace 
(trailing-whitespace)
   source/cpp/gandiva/expr_projector_filter.rst:137: No newline at end of file. 
(missing-final-newline)
   source/cpp/api/array.rst:89: No newline at end of file. 
(missing-final-newline)
   source/cpp/api/scalar.rst:47: No newline at end of file. 
(missing-final-newline)
   source/cpp/gandiva/external_func.rst:82: trailing whitespace 
(trailing-whitespace)
   source/cpp/gandiva/external_func.rst:156: trailing whitespace 
(trailing-whitespace)
   source/cpp/gandiva/external_func.rst:159: trailing whitespace 
(trailing-whitespace)
   source/cpp/gandiva/external_func.rst:182: trailing whitespace 
(trailing-whitespace)
   source/cpp/gandiva/external_func.rst:203: trailing whitespace 
(trailing-whitespace)
   source/cpp/gandiva/external_func.rst:205: trailing whitespace 
(trailing-whitespace)
   source/cpp/gandiva/external_func.rst:206: trailing whitespace 
(trailing-whitespace)
   source/cpp/acero/developer_guide.rst:190: trailing whitespace 
(trailing-whitespace)
   source/cpp/acero/developer_guide.rst:274: trailing whitespace 
(trailing-whitespace)
   source/cpp/acero/developer_guide.rst:475: trailing whitespace 
(trailing-whitespace)
   source/cpp/tutorials/compute_tutorial.rst:37: trailing whitespace 
(trailing-whitespace)
   source/cpp/tutorials/compute_tutorial.rst:52: trailing whitespace 
(trailing-whitespace)
   source/cpp/tutorials/compute_tutorial.rst:56: trailing whitespace 
(trailing-whitespace)
   source/cpp/tutorials/compute_tutorial.rst:60: trailing whitespace 
(trailing-whitespace)
   source/cpp/tutorials/compute_tutorial.rst:61: trailing whitespace 
(trailing-whitespace)
   source/cpp/tutorials/compute_tutorial.rst:343: No newline at end of file. 
(missing-final-newline)
   source/cpp/tutorials/io_tutorial.rst:36: trailing whitespace 
(trailing-whitespace)
   source/cpp/tutorials/io_tutorial.rst:53: trailing whitespace 
(trailing-whitespace)
   source/cpp/tutorials/io_tutorial.rst:61: trailing whitespace 
(trailing-whitespace)
   source/cpp/tutorials/io_tutorial.rst:62: trailing whitespace 
(trailing-whitespace)
   source/cpp/tutorials/io_tutorial.rst:159: trailing whitespace 
(trailing-whitespace)
   source/cpp/tutorials/io_tutorial.rst:160: trailing whitespace 
(trailing-whitespace)
   source/cpp/tutorials/io_tutorial.rst:297: trailing whitespace 
(trailing-whitespace)
   source/cpp/tutorials/io_tutorial.rst:298: trailing whitespace 
(trailing-whitespace)
   source/cpp/tutorials/io_tutorial.rst:361: trailing whitespace 
(trailing-whitespace)
   source/cpp/tutorials/io_tutorial.rst:404: No newline at end of file. 
(missing-final-newline)
   source/cpp/tutorials/datasets_tutorial.rst:36: trailing whitespace 
(trailing-whitespace)
   source/cpp/tutorials/datasets_tutorial.rst:53: trailing whitespace 
(trailing-whitespace)
   source/cpp/tutorials/datasets_tutorial.rst:61: trailing whitespace 
(trailing-whitespace)
   source/cpp/tutorials/datasets_tutorial.rst:62: trailing whitespace 
(trailing-whitespace)
   source/cpp/tutorials/datasets_tutorial.rst:209: trailing whitespace 
(trailing-whitespace)
   source/cpp/tutorials/datasets_tutorial.rst:231: trailing whitespace 
(trailing-whitespace)
   source/cpp/tutorials/datasets_tutorial.rst:232: trailing whitespace 
(trailing-whitespace)
   source/cpp/tutorials/datasets_tutorial.rst:233: trailing whitespace 
(trailing-whitespace)
   source/cpp/tutorials/datasets_tutorial.rst:237: trailing whitespace 
(trailing-whitespace)
   source/cpp/tutorials/datasets_tutorial.rst:238: trailing whitespace 
(trailing-whitespace)
   source/cpp/tutorials/datasets_tutorial.rst:308: trailing whitespace 
(trailing-whitespace)
   source/cpp/tutorials/datasets_tutorial.rst:346: trailing whitespace 
(trailing-whitespace)
   source/cpp/tutorials/datasets_tutorial.rst:438: trailing whitespace 
(trailing-whitespace)
   source/cpp/tutorials/datasets_tutorial.rst:442: trailing whitespace 
(trailing-whitespace)
   source/cpp/tutorials/datasets_tutorial.rst:453: No newline at end of file. 
(missing-final-newline)
   source/format/CDeviceDataInterface.rst:692: No newline at end of file. 
(missing-final-newline)
   source/format/Integration.rst:504: trailing whitespace (trailing-whitespace)
   source/format/Integration.rst:511: trailing whitespace (trailing-whitespace)
   source/format/Integration.rst:552: trailing whitespace (trailing-whitespace)
   source/format/Integration.rst:566: trailing whitespace (trailing-whitespace)
   source/format/Integration.rst:504: missing underscore after closing backtick 
in hyperlink (missing-underscore-after-hyperlink)
   source/format/Glossary.rst:214: trailing whitespace (trailing-whitespace)
   source/format/CDataInterface/PyCapsuleInterface.rst:67: trailing whitespace 
(trailing-whitespace)
   source/format/CDataInterface/PyCapsuleInterface.rst:136: trailing whitespace 
(trailing-whitespace)
   source/format/CDataInterface/PyCapsuleInterface.rst:137: trailing whitespace 
(trailing-whitespace)
   source/format/CDataInterface/PyCapsuleInterface.rst:155: trailing whitespace 
(trailing-whitespace)
   source/format/CDataInterface/PyCapsuleInterface.rst:156: trailing whitespace 
(trailing-whitespace)
   source/format/CDataInterface/PyCapsuleInterface.rst:195: trailing whitespace 
(trailing-whitespace)
   source/format/CDataInterface/PyCapsuleInterface.rst:251: trailing whitespace 
(trailing-whitespace)
   source/format/CDataInterface/PyCapsuleInterface.rst:273: trailing whitespace 
(trailing-whitespace)
   source/format/CDataInterface/PyCapsuleInterface.rst:275: trailing whitespace 
(trailing-whitespace)
   source/format/CDataInterface/PyCapsuleInterface.rst:308: trailing whitespace 
(trailing-whitespace)
   source/format/CDataInterface/PyCapsuleInterface.rst:319: trailing whitespace 
(trailing-whitespace)
   source/format/CDataInterface/PyCapsuleInterface.rst:432: trailing whitespace 
(trailing-whitespace)
   source/format/CDataInterface/PyCapsuleInterface.rst:435: No newline at end 
of file. (missing-final-newline)
   source/developers/overview.rst:78: trailing whitespace (trailing-whitespace)
   source/cpp/acero/user_guide.rst:35: trailing whitespace (trailing-whitespace)
   source/cpp/acero/user_guide.rst:42: trailing whitespace (trailing-whitespace)
   source/cpp/acero/user_guide.rst:318: trailing whitespace 
(trailing-whitespace)
   source/cpp/acero/user_guide.rst:329: trailing whitespace 
(trailing-whitespace)
   source/cpp/acero/user_guide.rst:371: trailing whitespace 
(trailing-whitespace)
   source/cpp/acero/user_guide.rst:374: trailing whitespace 
(trailing-whitespace)
   source/cpp/acero/user_guide.rst:390: trailing whitespace 
(trailing-whitespace)
   source/cpp/acero/user_guide.rst:418: trailing whitespace 
(trailing-whitespace)
   source/cpp/acero/user_guide.rst:459: trailing whitespace 
(trailing-whitespace)
   source/cpp/acero/user_guide.rst:484: trailing whitespace 
(trailing-whitespace)
   source/cpp/acero/user_guide.rst:485: trailing whitespace 
(trailing-whitespace)
   source/cpp/acero/user_guide.rst:491: trailing whitespace 
(trailing-whitespace)
   source/cpp/acero/user_guide.rst:529: trailing whitespace 
(trailing-whitespace)
   source/cpp/acero/user_guide.rst:534: trailing whitespace 
(trailing-whitespace)
   source/cpp/acero/user_guide.rst:544: trailing whitespace 
(trailing-whitespace)
   source/cpp/acero/user_guide.rst:546: trailing whitespace 
(trailing-whitespace)
   source/cpp/acero/user_guide.rst:570: trailing whitespace 
(trailing-whitespace)
   source/cpp/acero/user_guide.rst:571: trailing whitespace 
(trailing-whitespace)
   source/cpp/acero/user_guide.rst:572: trailing whitespace 
(trailing-whitespace)
   source/cpp/acero/user_guide.rst:573: trailing whitespace 
(trailing-whitespace)
   source/cpp/acero/user_guide.rst:577: trailing whitespace 
(trailing-whitespace)
   source/cpp/acero/user_guide.rst:596: trailing whitespace 
(trailing-whitespace)
   source/cpp/acero/user_guide.rst:597: trailing whitespace 
(trailing-whitespace)
   source/cpp/acero/user_guide.rst:598: trailing whitespace 
(trailing-whitespace)
   source/cpp/acero/user_guide.rst:599: trailing whitespace 
(trailing-whitespace)
   source/cpp/acero/user_guide.rst:603: trailing whitespace 
(trailing-whitespace)
   source/cpp/acero/user_guide.rst:620: trailing whitespace 
(trailing-whitespace)
   source/cpp/acero/user_guide.rst:640: trailing whitespace 
(trailing-whitespace)
   source/cpp/acero/user_guide.rst:686: trailing whitespace 
(trailing-whitespace)
   source/cpp/acero/user_guide.rst:689: trailing whitespace 
(trailing-whitespace)
   source/cpp/acero/user_guide.rst:707: trailing whitespace 
(trailing-whitespace)
   source/cpp/acero/user_guide.rst:708: trailing whitespace 
(trailing-whitespace)
   source/cpp/acero/user_guide.rst:710: trailing whitespace 
(trailing-whitespace)
   source/cpp/acero/user_guide.rst:712: trailing whitespace 
(trailing-whitespace)
   source/cpp/acero/user_guide.rst:713: trailing whitespace 
(trailing-whitespace)
   source/cpp/acero/user_guide.rst:715: trailing whitespace 
(trailing-whitespace)
   source/cpp/acero/user_guide.rst:729: trailing whitespace 
(trailing-whitespace)
   source/developers/continuous_integration/index.rst:30: No newline at end of 
file. (missing-final-newline)
   source/developers/reviewing.rst:263: trailing whitespace 
(trailing-whitespace)
   source/developers/reviewing.rst:270: trailing whitespace 
(trailing-whitespace)
   source/developers/reviewing.rst:278: trailing whitespace 
(trailing-whitespace)
   source/developers/release.rst:83: trailing whitespace (trailing-whitespace)
   source/developers/release.rst:86: trailing whitespace (trailing-whitespace)
   source/developers/release.rst:146: trailing whitespace (trailing-whitespace)
   source/developers/release.rst:154: trailing whitespace (trailing-whitespace)
   source/developers/release.rst:167: trailing whitespace (trailing-whitespace)
   source/developers/release.rst:170: trailing whitespace (trailing-whitespace)
   source/developers/release.rst:173: trailing whitespace (trailing-whitespace)
   source/developers/release.rst:177: trailing whitespace (trailing-whitespace)
   source/developers/release.rst:183: trailing whitespace (trailing-whitespace)
   source/developers/guide/tutorials/index.rst:28: No newline at end of file. 
(missing-final-newline)
   source/developers/guide/index.rst:86: trailing whitespace 
(trailing-whitespace)
   source/developers/guide/index.rst:90: trailing whitespace 
(trailing-whitespace)
   source/developers/guide/index.rst:94: trailing whitespace 
(trailing-whitespace)
   source/developers/guide/index.rst:96: trailing whitespace 
(trailing-whitespace)
   source/developers/guide/index.rst:158: trailing whitespace 
(trailing-whitespace)
   source/developers/guide/architectural_overview.rst:32: trailing whitespace 
(trailing-whitespace)
   source/developers/guide/architectural_overview.rst:33: trailing whitespace 
(trailing-whitespace)
   source/developers/guide/documentation.rst:52: trailing whitespace 
(trailing-whitespace)
   source/developers/guide/resources.rst:81: trailing whitespace 
(trailing-whitespace)
   source/developers/guide/communication.rst:30: trailing whitespace 
(trailing-whitespace)
   source/developers/guide/communication.rst:53: trailing whitespace 
(trailing-whitespace)
   source/developers/guide/step_by_step/finding_issues.rst:68: trailing 
whitespace (trailing-whitespace)
   source/developers/guide/step_by_step/styling.rst:62: No newline at end of 
file. (missing-final-newline)
   source/developers/guide/step_by_step/set_up.rst:121: OMG TABS!!!1 
(horizontal-tab)
   source/developers/guide/step_by_step/set_up.rst:122: OMG TABS!!!1 
(horizontal-tab)
   source/developers/guide/step_by_step/set_up.rst:123: OMG TABS!!!1 
(horizontal-tab)
   source/developers/guide/step_by_step/set_up.rst:124: OMG TABS!!!1 
(horizontal-tab)
   source/developers/guide/step_by_step/set_up.rst:63: trailing whitespace 
(trailing-whitespace)
   source/developers/guide/step_by_step/arrow_codebase.rst:102: OMG TABS!!!1 
(horizontal-tab)
   source/developers/guide/step_by_step/arrow_codebase.rst:103: OMG TABS!!!1 
(horizontal-tab)
   source/developers/guide/tutorials/python_tutorial.rst:140: trailing 
whitespace (trailing-whitespace)
   source/developers/guide/tutorials/python_tutorial.rst:150: trailing 
whitespace (trailing-whitespace)
   source/developers/guide/tutorials/python_tutorial.rst:153: trailing 
whitespace (trailing-whitespace)
   source/developers/guide/tutorials/python_tutorial.rst:281: trailing 
whitespace (trailing-whitespace)
   source/developers/guide/tutorials/python_tutorial.rst:306: trailing 
whitespace (trailing-whitespace)
   source/developers/guide/tutorials/python_tutorial.rst:311: trailing 
whitespace (trailing-whitespace)
   source/developers/guide/tutorials/python_tutorial.rst:316: trailing 
whitespace (trailing-whitespace)
   source/developers/guide/tutorials/python_tutorial.rst:318: trailing 
whitespace (trailing-whitespace)
   source/developers/guide/tutorials/python_tutorial.rst:323: trailing 
whitespace (trailing-whitespace)
   source/developers/guide/tutorials/python_tutorial.rst:342: trailing 
whitespace (trailing-whitespace)
   source/developers/guide/tutorials/python_tutorial.rst:433: trailing 
whitespace (trailing-whitespace)
   source/developers/guide/tutorials/python_tutorial.rst:451: trailing 
whitespace (trailing-whitespace)
   source/developers/guide/tutorials/python_tutorial.rst:454: trailing 
whitespace (trailing-whitespace)
   source/developers/guide/tutorials/python_tutorial.rst:456: trailing 
whitespace (trailing-whitespace)
   source/developers/guide/tutorials/python_tutorial.rst:481: trailing 
whitespace (trailing-whitespace)
   source/developers/guide/tutorials/python_tutorial.rst:484: trailing 
whitespace (trailing-whitespace)
   source/developers/guide/tutorials/python_tutorial.rst:493: trailing 
whitespace (trailing-whitespace)
   source/developers/guide/tutorials/python_tutorial.rst:530: trailing 
whitespace (trailing-whitespace)
   source/cpp/compute.rst:52: trailing whitespace (trailing-whitespace)
   source/cpp/compute.rst:53: trailing whitespace (trailing-whitespace)
   source/cpp/compute.rst:575: trailing whitespace (trailing-whitespace)
   source/cpp/compute.rst:576: trailing whitespace (trailing-whitespace)
   source/cpp/compute.rst:577: trailing whitespace (trailing-whitespace)
   source/cpp/compute.rst:584: trailing whitespace (trailing-whitespace)
   source/cpp/compute.rst:586: trailing whitespace (trailing-whitespace)
   source/cpp/compute.rst:590: trailing whitespace (trailing-whitespace)
   source/cpp/compute.rst:591: trailing whitespace (trailing-whitespace)
   source/cpp/compute.rst:592: trailing whitespace (trailing-whitespace)
   source/cpp/compute.rst:595: trailing whitespace (trailing-whitespace)
   source/cpp/compute.rst:596: trailing whitespace (trailing-whitespace)
   source/cpp/compute.rst:637: trailing whitespace (trailing-whitespace)
   source/cpp/compute.rst:638: trailing whitespace (trailing-whitespace)
   source/cpp/compute.rst:1624: trailing whitespace (trailing-whitespace)
   source/cpp/compute.rst:1625: trailing whitespace (trailing-whitespace)
   source/cpp/compute.rst:1626: trailing whitespace (trailing-whitespace)
   source/cpp/compute.rst:1627: trailing whitespace (trailing-whitespace)
   source/cpp/compute.rst:1628: trailing whitespace (trailing-whitespace)
   source/cpp/compute.rst:1629: trailing whitespace (trailing-whitespace)
   source/cpp/compute.rst:1652: trailing whitespace (trailing-whitespace)
   source/cpp/compute.rst:1653: trailing whitespace (trailing-whitespace)
   source/cpp/compute.rst:1864: trailing whitespace (trailing-whitespace)
   source/cpp/compute.rst:1866: trailing whitespace (trailing-whitespace)
   source/cpp/compute.rst:1880: trailing whitespace (trailing-whitespace)
   source/cpp/compute.rst:1881: trailing whitespace (trailing-whitespace)
   source/cpp/compute.rst:1882: trailing whitespace (trailing-whitespace)
   source/cpp/compute.rst:1883: trailing whitespace (trailing-whitespace)
   source/developers/cpp/windows.rst:382: trailing whitespace 
(trailing-whitespace)
   source/developers/cpp/windows.rst:384: trailing whitespace 
(trailing-whitespace)
   source/developers/cpp/building.rst:70: trailing whitespace 
(trailing-whitespace)
   source/developers/cpp/building.rst:102: trailing whitespace 
(trailing-whitespace)
   source/developers/cpp/building.rst:365: trailing whitespace 
(trailing-whitespace)
   source/developers/cpp/building.rst:378: trailing whitespace 
(trailing-whitespace)
   source/developers/cpp/building.rst:475: trailing whitespace 
(trailing-whitespace)
   ```
   </details>
   
   It mostly found trailing whitespace issues but I am going to look into the 
other ones they do what we want. After that I'll work up a PR that,
   
   1. Adds this to the docs CI
   2. Adds it to our arrow-docs conda env file so developers have access to it
   3. Make a note of it in the docs for building the docs so developers know to 
run it
   4. Look into whether it makes sense to run it locally automatically (i.e., 
when we call make html)


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to