From 2ebf6096b1cf025c343fcf12ed893e1e1e5ebcef Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Wed, 9 Aug 2023 08:21:39 -0700 Subject: [PATCH 01/72] Add breathe dep --- conda/environments/all_cuda-118_arch-x86_64.yaml | 1 + conda/environments/all_cuda-120_arch-x86_64.yaml | 1 + dependencies.yaml | 1 + 3 files changed, 3 insertions(+) diff --git a/conda/environments/all_cuda-118_arch-x86_64.yaml b/conda/environments/all_cuda-118_arch-x86_64.yaml index c42a4718aca..d2934c78512 100644 --- a/conda/environments/all_cuda-118_arch-x86_64.yaml +++ b/conda/environments/all_cuda-118_arch-x86_64.yaml @@ -12,6 +12,7 @@ dependencies: - benchmark==1.8.0 - boto3>=1.21.21 - botocore>=1.24.21 +- breathe - c-compiler - cachetools - clang-tools=16.0.6 diff --git a/conda/environments/all_cuda-120_arch-x86_64.yaml b/conda/environments/all_cuda-120_arch-x86_64.yaml index 6a134c9ace6..e7c455b6e43 100644 --- a/conda/environments/all_cuda-120_arch-x86_64.yaml +++ b/conda/environments/all_cuda-120_arch-x86_64.yaml @@ -12,6 +12,7 @@ dependencies: - benchmark==1.8.0 - boto3>=1.21.21 - botocore>=1.24.21 +- breathe - c-compiler - cachetools - clang-tools=16.0.6 diff --git a/dependencies.yaml b/dependencies.yaml index ebf454a9522..7f41149d6b0 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -432,6 +432,7 @@ dependencies: common: - output_types: [conda] packages: + - breathe - dask-cuda==24.2.* - *doxygen - make From efdd554217c58777327c4f2ad1ed6ea02e0f252f Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Wed, 9 Aug 2023 14:05:12 -0700 Subject: [PATCH 02/72] Add all libcudf doc pages --- docs/cudf/source/conf.py | 9 +- docs/cudf/source/index.rst | 2 + .../libcudf_docs/aggregation_factories.rst | 5 + .../libcudf_docs/aggregation_groupby.rst | 5 + .../libcudf_docs/aggregation_reduction.rst | 5 + .../libcudf_docs/aggregation_rolling.rst | 5 + .../libcudf_docs/column_aggregation.rst | 5 + docs/cudf/source/libcudf_docs/column_apis.rst | 5 + .../source/libcudf_docs/column_classes.rst | 5 + docs/cudf/source/libcudf_docs/column_copy.rst | 5 + .../source/libcudf_docs/column_factories.rst | 5 + docs/cudf/source/libcudf_docs/column_hash.rst | 5 + .../source/libcudf_docs/column_interop.rst | 5 + docs/cudf/source/libcudf_docs/column_join.rst | 5 + .../cudf/source/libcudf_docs/column_merge.rst | 5 + .../source/libcudf_docs/column_nullmask.rst | 5 + .../source/libcudf_docs/column_quantiles.rst | 5 + .../source/libcudf_docs/column_reorder.rst | 5 + .../source/libcudf_docs/column_reshape.rst | 5 + .../source/libcudf_docs/column_search.rst | 5 + docs/cudf/source/libcudf_docs/column_sort.rst | 5 + .../libcudf_docs/column_transformation.rst | 5 + .../source/libcudf_docs/copy_concatenate.rst | 5 + docs/cudf/source/libcudf_docs/copy_gather.rst | 5 + .../cudf/source/libcudf_docs/copy_scatter.rst | 5 + docs/cudf/source/libcudf_docs/copy_shift.rst | 5 + docs/cudf/source/libcudf_docs/copy_slice.rst | 5 + docs/cudf/source/libcudf_docs/copy_split.rst | 5 + .../cudf/source/libcudf_docs/cudf_classes.rst | 5 + .../source/libcudf_docs/cudf_namespace.rst | 5 + .../source/libcudf_docs/datetime_apis.rst | 5 + .../source/libcudf_docs/datetime_compute.rst | 5 + .../source/libcudf_docs/datetime_extract.rst | 5 + .../source/libcudf_docs/dictionary_apis.rst | 5 + .../libcudf_docs/dictionary_classes.rst | 5 + .../source/libcudf_docs/dictionary_encode.rst | 5 + .../source/libcudf_docs/dictionary_search.rst | 5 + .../source/libcudf_docs/dictionary_update.rst | 5 + .../libcudf_docs/fixed_point_classes.rst | 5 + docs/cudf/source/libcudf_docs/groups | 100 +++++++++++++++ docs/cudf/source/libcudf_docs/index.rst | 116 ++++++++++++++++++ .../source/libcudf_docs/interop_arrow.rst | 5 + .../source/libcudf_docs/interop_dlpack.rst | 5 + docs/cudf/source/libcudf_docs/io_apis.rst | 5 + .../cudf/source/libcudf_docs/io_datasinks.rst | 5 + .../source/libcudf_docs/io_datasources.rst | 5 + docs/cudf/source/libcudf_docs/io_readers.rst | 5 + docs/cudf/source/libcudf_docs/io_writers.rst | 5 + docs/cudf/source/libcudf_docs/label_bins.rst | 5 + .../source/libcudf_docs/labeling_apis.rst | 5 + docs/cudf/source/libcudf_docs/lists_apis.rst | 5 + .../source/libcudf_docs/lists_classes.rst | 5 + .../source/libcudf_docs/lists_combine.rst | 5 + .../source/libcudf_docs/lists_contains.rst | 5 + .../source/libcudf_docs/lists_elements.rst | 5 + .../source/libcudf_docs/lists_extract.rst | 5 + .../source/libcudf_docs/lists_filling.rst | 5 + .../source/libcudf_docs/lists_filtering.rst | 5 + .../cudf/source/libcudf_docs/lists_gather.rst | 5 + .../cudf/source/libcudf_docs/lists_modify.rst | 5 + docs/cudf/source/libcudf_docs/lists_sort.rst | 5 + docs/cudf/source/libcudf_docs/nvtext_apis.rst | 5 + .../libcudf_docs/nvtext_edit_distance.rst | 5 + .../source/libcudf_docs/nvtext_jaccard.rst | 5 + .../source/libcudf_docs/nvtext_minhash.rst | 5 + .../source/libcudf_docs/nvtext_ngrams.rst | 5 + .../source/libcudf_docs/nvtext_normalize.rst | 5 + .../source/libcudf_docs/nvtext_replace.rst | 5 + .../source/libcudf_docs/nvtext_stemmer.rst | 5 + .../source/libcudf_docs/nvtext_tokenize.rst | 5 + .../source/libcudf_docs/reorder_compact.rst | 5 + .../source/libcudf_docs/reorder_partition.rst | 5 + .../source/libcudf_docs/reshape_transpose.rst | 5 + .../source/libcudf_docs/scalar_classes.rst | 5 + .../source/libcudf_docs/scalar_factories.rst | 5 + .../source/libcudf_docs/set_operations.rst | 5 + .../cudf/source/libcudf_docs/strings_apis.rst | 5 + .../cudf/source/libcudf_docs/strings_case.rst | 5 + .../source/libcudf_docs/strings_classes.rst | 5 + .../source/libcudf_docs/strings_combine.rst | 5 + .../source/libcudf_docs/strings_contains.rst | 5 + .../source/libcudf_docs/strings_convert.rst | 5 + .../cudf/source/libcudf_docs/strings_copy.rst | 5 + .../source/libcudf_docs/strings_extract.rst | 5 + .../cudf/source/libcudf_docs/strings_find.rst | 5 + .../cudf/source/libcudf_docs/strings_json.rst | 5 + .../source/libcudf_docs/strings_modify.rst | 5 + .../source/libcudf_docs/strings_regex.rst | 5 + .../source/libcudf_docs/strings_replace.rst | 5 + .../source/libcudf_docs/strings_slice.rst | 5 + .../source/libcudf_docs/strings_split.rst | 5 + .../source/libcudf_docs/strings_types.rst | 5 + .../source/libcudf_docs/structs_classes.rst | 5 + .../source/libcudf_docs/table_classes.rst | 5 + .../source/libcudf_docs/timestamp_classes.rst | 5 + .../libcudf_docs/transformation_binaryops.rst | 5 + .../libcudf_docs/transformation_fill.rst | 5 + .../libcudf_docs/transformation_replace.rst | 5 + .../libcudf_docs/transformation_transform.rst | 5 + .../libcudf_docs/transformation_unaryops.rst | 5 + .../cudf/source/libcudf_docs/utility_apis.rst | 5 + .../source/libcudf_docs/utility_bitmask.rst | 5 + .../libcudf_docs/utility_dispatcher.rst | 5 + .../source/libcudf_docs/utility_error.rst | 5 + .../source/libcudf_docs/utility_types.rst | 5 + python/cudf/cudf/core/series.py | 3 + 106 files changed, 734 insertions(+), 1 deletion(-) create mode 100644 docs/cudf/source/libcudf_docs/aggregation_factories.rst create mode 100644 docs/cudf/source/libcudf_docs/aggregation_groupby.rst create mode 100644 docs/cudf/source/libcudf_docs/aggregation_reduction.rst create mode 100644 docs/cudf/source/libcudf_docs/aggregation_rolling.rst create mode 100644 docs/cudf/source/libcudf_docs/column_aggregation.rst create mode 100644 docs/cudf/source/libcudf_docs/column_apis.rst create mode 100644 docs/cudf/source/libcudf_docs/column_classes.rst create mode 100644 docs/cudf/source/libcudf_docs/column_copy.rst create mode 100644 docs/cudf/source/libcudf_docs/column_factories.rst create mode 100644 docs/cudf/source/libcudf_docs/column_hash.rst create mode 100644 docs/cudf/source/libcudf_docs/column_interop.rst create mode 100644 docs/cudf/source/libcudf_docs/column_join.rst create mode 100644 docs/cudf/source/libcudf_docs/column_merge.rst create mode 100644 docs/cudf/source/libcudf_docs/column_nullmask.rst create mode 100644 docs/cudf/source/libcudf_docs/column_quantiles.rst create mode 100644 docs/cudf/source/libcudf_docs/column_reorder.rst create mode 100644 docs/cudf/source/libcudf_docs/column_reshape.rst create mode 100644 docs/cudf/source/libcudf_docs/column_search.rst create mode 100644 docs/cudf/source/libcudf_docs/column_sort.rst create mode 100644 docs/cudf/source/libcudf_docs/column_transformation.rst create mode 100644 docs/cudf/source/libcudf_docs/copy_concatenate.rst create mode 100644 docs/cudf/source/libcudf_docs/copy_gather.rst create mode 100644 docs/cudf/source/libcudf_docs/copy_scatter.rst create mode 100644 docs/cudf/source/libcudf_docs/copy_shift.rst create mode 100644 docs/cudf/source/libcudf_docs/copy_slice.rst create mode 100644 docs/cudf/source/libcudf_docs/copy_split.rst create mode 100644 docs/cudf/source/libcudf_docs/cudf_classes.rst create mode 100644 docs/cudf/source/libcudf_docs/cudf_namespace.rst create mode 100644 docs/cudf/source/libcudf_docs/datetime_apis.rst create mode 100644 docs/cudf/source/libcudf_docs/datetime_compute.rst create mode 100644 docs/cudf/source/libcudf_docs/datetime_extract.rst create mode 100644 docs/cudf/source/libcudf_docs/dictionary_apis.rst create mode 100644 docs/cudf/source/libcudf_docs/dictionary_classes.rst create mode 100644 docs/cudf/source/libcudf_docs/dictionary_encode.rst create mode 100644 docs/cudf/source/libcudf_docs/dictionary_search.rst create mode 100644 docs/cudf/source/libcudf_docs/dictionary_update.rst create mode 100644 docs/cudf/source/libcudf_docs/fixed_point_classes.rst create mode 100644 docs/cudf/source/libcudf_docs/groups create mode 100644 docs/cudf/source/libcudf_docs/index.rst create mode 100644 docs/cudf/source/libcudf_docs/interop_arrow.rst create mode 100644 docs/cudf/source/libcudf_docs/interop_dlpack.rst create mode 100644 docs/cudf/source/libcudf_docs/io_apis.rst create mode 100644 docs/cudf/source/libcudf_docs/io_datasinks.rst create mode 100644 docs/cudf/source/libcudf_docs/io_datasources.rst create mode 100644 docs/cudf/source/libcudf_docs/io_readers.rst create mode 100644 docs/cudf/source/libcudf_docs/io_writers.rst create mode 100644 docs/cudf/source/libcudf_docs/label_bins.rst create mode 100644 docs/cudf/source/libcudf_docs/labeling_apis.rst create mode 100644 docs/cudf/source/libcudf_docs/lists_apis.rst create mode 100644 docs/cudf/source/libcudf_docs/lists_classes.rst create mode 100644 docs/cudf/source/libcudf_docs/lists_combine.rst create mode 100644 docs/cudf/source/libcudf_docs/lists_contains.rst create mode 100644 docs/cudf/source/libcudf_docs/lists_elements.rst create mode 100644 docs/cudf/source/libcudf_docs/lists_extract.rst create mode 100644 docs/cudf/source/libcudf_docs/lists_filling.rst create mode 100644 docs/cudf/source/libcudf_docs/lists_filtering.rst create mode 100644 docs/cudf/source/libcudf_docs/lists_gather.rst create mode 100644 docs/cudf/source/libcudf_docs/lists_modify.rst create mode 100644 docs/cudf/source/libcudf_docs/lists_sort.rst create mode 100644 docs/cudf/source/libcudf_docs/nvtext_apis.rst create mode 100644 docs/cudf/source/libcudf_docs/nvtext_edit_distance.rst create mode 100644 docs/cudf/source/libcudf_docs/nvtext_jaccard.rst create mode 100644 docs/cudf/source/libcudf_docs/nvtext_minhash.rst create mode 100644 docs/cudf/source/libcudf_docs/nvtext_ngrams.rst create mode 100644 docs/cudf/source/libcudf_docs/nvtext_normalize.rst create mode 100644 docs/cudf/source/libcudf_docs/nvtext_replace.rst create mode 100644 docs/cudf/source/libcudf_docs/nvtext_stemmer.rst create mode 100644 docs/cudf/source/libcudf_docs/nvtext_tokenize.rst create mode 100644 docs/cudf/source/libcudf_docs/reorder_compact.rst create mode 100644 docs/cudf/source/libcudf_docs/reorder_partition.rst create mode 100644 docs/cudf/source/libcudf_docs/reshape_transpose.rst create mode 100644 docs/cudf/source/libcudf_docs/scalar_classes.rst create mode 100644 docs/cudf/source/libcudf_docs/scalar_factories.rst create mode 100644 docs/cudf/source/libcudf_docs/set_operations.rst create mode 100644 docs/cudf/source/libcudf_docs/strings_apis.rst create mode 100644 docs/cudf/source/libcudf_docs/strings_case.rst create mode 100644 docs/cudf/source/libcudf_docs/strings_classes.rst create mode 100644 docs/cudf/source/libcudf_docs/strings_combine.rst create mode 100644 docs/cudf/source/libcudf_docs/strings_contains.rst create mode 100644 docs/cudf/source/libcudf_docs/strings_convert.rst create mode 100644 docs/cudf/source/libcudf_docs/strings_copy.rst create mode 100644 docs/cudf/source/libcudf_docs/strings_extract.rst create mode 100644 docs/cudf/source/libcudf_docs/strings_find.rst create mode 100644 docs/cudf/source/libcudf_docs/strings_json.rst create mode 100644 docs/cudf/source/libcudf_docs/strings_modify.rst create mode 100644 docs/cudf/source/libcudf_docs/strings_regex.rst create mode 100644 docs/cudf/source/libcudf_docs/strings_replace.rst create mode 100644 docs/cudf/source/libcudf_docs/strings_slice.rst create mode 100644 docs/cudf/source/libcudf_docs/strings_split.rst create mode 100644 docs/cudf/source/libcudf_docs/strings_types.rst create mode 100644 docs/cudf/source/libcudf_docs/structs_classes.rst create mode 100644 docs/cudf/source/libcudf_docs/table_classes.rst create mode 100644 docs/cudf/source/libcudf_docs/timestamp_classes.rst create mode 100644 docs/cudf/source/libcudf_docs/transformation_binaryops.rst create mode 100644 docs/cudf/source/libcudf_docs/transformation_fill.rst create mode 100644 docs/cudf/source/libcudf_docs/transformation_replace.rst create mode 100644 docs/cudf/source/libcudf_docs/transformation_transform.rst create mode 100644 docs/cudf/source/libcudf_docs/transformation_unaryops.rst create mode 100644 docs/cudf/source/libcudf_docs/utility_apis.rst create mode 100644 docs/cudf/source/libcudf_docs/utility_bitmask.rst create mode 100644 docs/cudf/source/libcudf_docs/utility_dispatcher.rst create mode 100644 docs/cudf/source/libcudf_docs/utility_error.rst create mode 100644 docs/cudf/source/libcudf_docs/utility_types.rst diff --git a/docs/cudf/source/conf.py b/docs/cudf/source/conf.py index d98d1fa5d81..f2b12f2e50d 100644 --- a/docs/cudf/source/conf.py +++ b/docs/cudf/source/conf.py @@ -35,6 +35,7 @@ # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom # ones. extensions = [ + "breathe", "sphinx.ext.intersphinx", "sphinx.ext.autodoc", "sphinx.ext.autosummary", @@ -46,9 +47,14 @@ "myst_nb", ] +# Breathe Configuration +breathe_projects = {"libcudf": "../../../cpp/doxygen/xml"} +breathe_default_project = "libcudf" + + nb_execution_excludepatterns = ['performance-comparisons.ipynb'] -nb_execution_mode = "force" +nb_execution_mode = "off" nb_execution_timeout = 300 copybutton_prompt_text = ">>> " @@ -201,6 +207,7 @@ "pyarrow": ("https://arrow.apache.org/docs/", None), "pandas": ("https://pandas.pydata.org/docs/", None), "typing_extensions": ("https://typing-extensions.readthedocs.io/en/stable/", None), + "rmm": ("../../../../../rmm/python/docs/_build/html/", "../../../../rmm/python/docs/_build/html/objects.inv"), } # Config numpydoc diff --git a/docs/cudf/source/index.rst b/docs/cudf/source/index.rst index 21badd683af..594b7ec72db 100644 --- a/docs/cudf/source/index.rst +++ b/docs/cudf/source/index.rst @@ -29,4 +29,6 @@ other operations. user_guide/index cudf_pandas/index + api_docs/index + libcudf_docs/index developer_guide/index diff --git a/docs/cudf/source/libcudf_docs/aggregation_factories.rst b/docs/cudf/source/libcudf_docs/aggregation_factories.rst new file mode 100644 index 00000000000..49677acc730 --- /dev/null +++ b/docs/cudf/source/libcudf_docs/aggregation_factories.rst @@ -0,0 +1,5 @@ +Aggregation Factories +===================== + +.. doxygengroup:: aggregation_factories + :members: diff --git a/docs/cudf/source/libcudf_docs/aggregation_groupby.rst b/docs/cudf/source/libcudf_docs/aggregation_groupby.rst new file mode 100644 index 00000000000..5af85e5d74a --- /dev/null +++ b/docs/cudf/source/libcudf_docs/aggregation_groupby.rst @@ -0,0 +1,5 @@ +Aggregation Groupby +=================== + +.. doxygengroup:: aggregation_groupby + :members: diff --git a/docs/cudf/source/libcudf_docs/aggregation_reduction.rst b/docs/cudf/source/libcudf_docs/aggregation_reduction.rst new file mode 100644 index 00000000000..e0f5046fe61 --- /dev/null +++ b/docs/cudf/source/libcudf_docs/aggregation_reduction.rst @@ -0,0 +1,5 @@ +Aggregation Reduction +===================== + +.. doxygengroup:: aggregation_reduction + :members: diff --git a/docs/cudf/source/libcudf_docs/aggregation_rolling.rst b/docs/cudf/source/libcudf_docs/aggregation_rolling.rst new file mode 100644 index 00000000000..962f332adc3 --- /dev/null +++ b/docs/cudf/source/libcudf_docs/aggregation_rolling.rst @@ -0,0 +1,5 @@ +Aggregation Rolling +=================== + +.. doxygengroup:: aggregation_rolling + :members: diff --git a/docs/cudf/source/libcudf_docs/column_aggregation.rst b/docs/cudf/source/libcudf_docs/column_aggregation.rst new file mode 100644 index 00000000000..97719cb06f0 --- /dev/null +++ b/docs/cudf/source/libcudf_docs/column_aggregation.rst @@ -0,0 +1,5 @@ +Column Aggregation +================== + +.. doxygengroup:: column_aggregation + :members: diff --git a/docs/cudf/source/libcudf_docs/column_apis.rst b/docs/cudf/source/libcudf_docs/column_apis.rst new file mode 100644 index 00000000000..0fc95470450 --- /dev/null +++ b/docs/cudf/source/libcudf_docs/column_apis.rst @@ -0,0 +1,5 @@ +Column Apis +=========== + +.. doxygengroup:: column_apis + :members: diff --git a/docs/cudf/source/libcudf_docs/column_classes.rst b/docs/cudf/source/libcudf_docs/column_classes.rst new file mode 100644 index 00000000000..317a7f5bec9 --- /dev/null +++ b/docs/cudf/source/libcudf_docs/column_classes.rst @@ -0,0 +1,5 @@ +Column Classes +============== + +.. doxygengroup:: column_classes + :members: diff --git a/docs/cudf/source/libcudf_docs/column_copy.rst b/docs/cudf/source/libcudf_docs/column_copy.rst new file mode 100644 index 00000000000..2802b5d3d43 --- /dev/null +++ b/docs/cudf/source/libcudf_docs/column_copy.rst @@ -0,0 +1,5 @@ +Column Copy +=========== + +.. doxygengroup:: column_copy + :members: diff --git a/docs/cudf/source/libcudf_docs/column_factories.rst b/docs/cudf/source/libcudf_docs/column_factories.rst new file mode 100644 index 00000000000..938db2a40a5 --- /dev/null +++ b/docs/cudf/source/libcudf_docs/column_factories.rst @@ -0,0 +1,5 @@ +Column Factories +================ + +.. doxygengroup:: column_factories + :members: diff --git a/docs/cudf/source/libcudf_docs/column_hash.rst b/docs/cudf/source/libcudf_docs/column_hash.rst new file mode 100644 index 00000000000..cd0c2838474 --- /dev/null +++ b/docs/cudf/source/libcudf_docs/column_hash.rst @@ -0,0 +1,5 @@ +Column Hash +=========== + +.. doxygengroup:: column_hash + :members: diff --git a/docs/cudf/source/libcudf_docs/column_interop.rst b/docs/cudf/source/libcudf_docs/column_interop.rst new file mode 100644 index 00000000000..e8b2ef27d5c --- /dev/null +++ b/docs/cudf/source/libcudf_docs/column_interop.rst @@ -0,0 +1,5 @@ +Column Interop +============== + +.. doxygengroup:: column_interop + :members: diff --git a/docs/cudf/source/libcudf_docs/column_join.rst b/docs/cudf/source/libcudf_docs/column_join.rst new file mode 100644 index 00000000000..903319f4881 --- /dev/null +++ b/docs/cudf/source/libcudf_docs/column_join.rst @@ -0,0 +1,5 @@ +Column Join +=========== + +.. doxygengroup:: column_join + :members: diff --git a/docs/cudf/source/libcudf_docs/column_merge.rst b/docs/cudf/source/libcudf_docs/column_merge.rst new file mode 100644 index 00000000000..0f12ad3d169 --- /dev/null +++ b/docs/cudf/source/libcudf_docs/column_merge.rst @@ -0,0 +1,5 @@ +Column Merge +============ + +.. doxygengroup:: column_merge + :members: diff --git a/docs/cudf/source/libcudf_docs/column_nullmask.rst b/docs/cudf/source/libcudf_docs/column_nullmask.rst new file mode 100644 index 00000000000..35c94e0b03e --- /dev/null +++ b/docs/cudf/source/libcudf_docs/column_nullmask.rst @@ -0,0 +1,5 @@ +Column Nullmask +=============== + +.. doxygengroup:: column_nullmask + :members: diff --git a/docs/cudf/source/libcudf_docs/column_quantiles.rst b/docs/cudf/source/libcudf_docs/column_quantiles.rst new file mode 100644 index 00000000000..f1e1b3f843e --- /dev/null +++ b/docs/cudf/source/libcudf_docs/column_quantiles.rst @@ -0,0 +1,5 @@ +Column Quantiles +================ + +.. doxygengroup:: column_quantiles + :members: diff --git a/docs/cudf/source/libcudf_docs/column_reorder.rst b/docs/cudf/source/libcudf_docs/column_reorder.rst new file mode 100644 index 00000000000..d529708d3b6 --- /dev/null +++ b/docs/cudf/source/libcudf_docs/column_reorder.rst @@ -0,0 +1,5 @@ +Column Reorder +============== + +.. doxygengroup:: column_reorder + :members: diff --git a/docs/cudf/source/libcudf_docs/column_reshape.rst b/docs/cudf/source/libcudf_docs/column_reshape.rst new file mode 100644 index 00000000000..d4f916b520c --- /dev/null +++ b/docs/cudf/source/libcudf_docs/column_reshape.rst @@ -0,0 +1,5 @@ +Column Reshape +============== + +.. doxygengroup:: column_reshape + :members: diff --git a/docs/cudf/source/libcudf_docs/column_search.rst b/docs/cudf/source/libcudf_docs/column_search.rst new file mode 100644 index 00000000000..1997c5618e3 --- /dev/null +++ b/docs/cudf/source/libcudf_docs/column_search.rst @@ -0,0 +1,5 @@ +Column Search +============= + +.. doxygengroup:: column_search + :members: diff --git a/docs/cudf/source/libcudf_docs/column_sort.rst b/docs/cudf/source/libcudf_docs/column_sort.rst new file mode 100644 index 00000000000..4d8fe895109 --- /dev/null +++ b/docs/cudf/source/libcudf_docs/column_sort.rst @@ -0,0 +1,5 @@ +Column Sort +=========== + +.. doxygengroup:: column_sort + :members: diff --git a/docs/cudf/source/libcudf_docs/column_transformation.rst b/docs/cudf/source/libcudf_docs/column_transformation.rst new file mode 100644 index 00000000000..9841fa32322 --- /dev/null +++ b/docs/cudf/source/libcudf_docs/column_transformation.rst @@ -0,0 +1,5 @@ +Column Transformation +===================== + +.. doxygengroup:: column_transformation + :members: diff --git a/docs/cudf/source/libcudf_docs/copy_concatenate.rst b/docs/cudf/source/libcudf_docs/copy_concatenate.rst new file mode 100644 index 00000000000..f9400bff9e8 --- /dev/null +++ b/docs/cudf/source/libcudf_docs/copy_concatenate.rst @@ -0,0 +1,5 @@ +Copy Concatenate +================ + +.. doxygengroup:: copy_concatenate + :members: diff --git a/docs/cudf/source/libcudf_docs/copy_gather.rst b/docs/cudf/source/libcudf_docs/copy_gather.rst new file mode 100644 index 00000000000..daf306caa6e --- /dev/null +++ b/docs/cudf/source/libcudf_docs/copy_gather.rst @@ -0,0 +1,5 @@ +Copy Gather +=========== + +.. doxygengroup:: copy_gather + :members: diff --git a/docs/cudf/source/libcudf_docs/copy_scatter.rst b/docs/cudf/source/libcudf_docs/copy_scatter.rst new file mode 100644 index 00000000000..d7b9a461901 --- /dev/null +++ b/docs/cudf/source/libcudf_docs/copy_scatter.rst @@ -0,0 +1,5 @@ +Copy Scatter +============ + +.. doxygengroup:: copy_scatter + :members: diff --git a/docs/cudf/source/libcudf_docs/copy_shift.rst b/docs/cudf/source/libcudf_docs/copy_shift.rst new file mode 100644 index 00000000000..5187100a8a6 --- /dev/null +++ b/docs/cudf/source/libcudf_docs/copy_shift.rst @@ -0,0 +1,5 @@ +Copy Shift +========== + +.. doxygengroup:: copy_shift + :members: diff --git a/docs/cudf/source/libcudf_docs/copy_slice.rst b/docs/cudf/source/libcudf_docs/copy_slice.rst new file mode 100644 index 00000000000..3fb2fbe49d0 --- /dev/null +++ b/docs/cudf/source/libcudf_docs/copy_slice.rst @@ -0,0 +1,5 @@ +Copy Slice +========== + +.. doxygengroup:: copy_slice + :members: diff --git a/docs/cudf/source/libcudf_docs/copy_split.rst b/docs/cudf/source/libcudf_docs/copy_split.rst new file mode 100644 index 00000000000..ddcdfd31cc4 --- /dev/null +++ b/docs/cudf/source/libcudf_docs/copy_split.rst @@ -0,0 +1,5 @@ +Copy Split +========== + +.. doxygengroup:: copy_split + :members: diff --git a/docs/cudf/source/libcudf_docs/cudf_classes.rst b/docs/cudf/source/libcudf_docs/cudf_classes.rst new file mode 100644 index 00000000000..322b1a8add1 --- /dev/null +++ b/docs/cudf/source/libcudf_docs/cudf_classes.rst @@ -0,0 +1,5 @@ +Cudf Classes +============ + +.. doxygengroup:: cudf_classes + :members: diff --git a/docs/cudf/source/libcudf_docs/cudf_namespace.rst b/docs/cudf/source/libcudf_docs/cudf_namespace.rst new file mode 100644 index 00000000000..544603efa6b --- /dev/null +++ b/docs/cudf/source/libcudf_docs/cudf_namespace.rst @@ -0,0 +1,5 @@ +libcudf +======= + +.. doxygennamespace:: cudf + :desc-only: diff --git a/docs/cudf/source/libcudf_docs/datetime_apis.rst b/docs/cudf/source/libcudf_docs/datetime_apis.rst new file mode 100644 index 00000000000..2e6e0033cc6 --- /dev/null +++ b/docs/cudf/source/libcudf_docs/datetime_apis.rst @@ -0,0 +1,5 @@ +Datetime Apis +============= + +.. doxygengroup:: datetime_apis + :members: diff --git a/docs/cudf/source/libcudf_docs/datetime_compute.rst b/docs/cudf/source/libcudf_docs/datetime_compute.rst new file mode 100644 index 00000000000..0c7ba0f522f --- /dev/null +++ b/docs/cudf/source/libcudf_docs/datetime_compute.rst @@ -0,0 +1,5 @@ +Datetime Compute +================ + +.. doxygengroup:: datetime_compute + :members: diff --git a/docs/cudf/source/libcudf_docs/datetime_extract.rst b/docs/cudf/source/libcudf_docs/datetime_extract.rst new file mode 100644 index 00000000000..da212480abc --- /dev/null +++ b/docs/cudf/source/libcudf_docs/datetime_extract.rst @@ -0,0 +1,5 @@ +Datetime Extract +================ + +.. doxygengroup:: datetime_extract + :members: diff --git a/docs/cudf/source/libcudf_docs/dictionary_apis.rst b/docs/cudf/source/libcudf_docs/dictionary_apis.rst new file mode 100644 index 00000000000..0ea5c99026b --- /dev/null +++ b/docs/cudf/source/libcudf_docs/dictionary_apis.rst @@ -0,0 +1,5 @@ +Dictionary Apis +=============== + +.. doxygengroup:: dictionary_apis + :members: diff --git a/docs/cudf/source/libcudf_docs/dictionary_classes.rst b/docs/cudf/source/libcudf_docs/dictionary_classes.rst new file mode 100644 index 00000000000..00dec78c5f5 --- /dev/null +++ b/docs/cudf/source/libcudf_docs/dictionary_classes.rst @@ -0,0 +1,5 @@ +Dictionary Classes +================== + +.. doxygengroup:: dictionary_classes + :members: diff --git a/docs/cudf/source/libcudf_docs/dictionary_encode.rst b/docs/cudf/source/libcudf_docs/dictionary_encode.rst new file mode 100644 index 00000000000..ed77380f281 --- /dev/null +++ b/docs/cudf/source/libcudf_docs/dictionary_encode.rst @@ -0,0 +1,5 @@ +Dictionary Encode +================= + +.. doxygengroup:: dictionary_encode + :members: diff --git a/docs/cudf/source/libcudf_docs/dictionary_search.rst b/docs/cudf/source/libcudf_docs/dictionary_search.rst new file mode 100644 index 00000000000..b187d29ca0b --- /dev/null +++ b/docs/cudf/source/libcudf_docs/dictionary_search.rst @@ -0,0 +1,5 @@ +Dictionary Search +================= + +.. doxygengroup:: dictionary_search + :members: diff --git a/docs/cudf/source/libcudf_docs/dictionary_update.rst b/docs/cudf/source/libcudf_docs/dictionary_update.rst new file mode 100644 index 00000000000..8b0c12c09d9 --- /dev/null +++ b/docs/cudf/source/libcudf_docs/dictionary_update.rst @@ -0,0 +1,5 @@ +Dictionary Update +================= + +.. doxygengroup:: dictionary_update + :members: diff --git a/docs/cudf/source/libcudf_docs/fixed_point_classes.rst b/docs/cudf/source/libcudf_docs/fixed_point_classes.rst new file mode 100644 index 00000000000..0920e96ae0a --- /dev/null +++ b/docs/cudf/source/libcudf_docs/fixed_point_classes.rst @@ -0,0 +1,5 @@ +Fixed Point Classes +=================== + +.. doxygengroup:: fixed_point_classes + :members: diff --git a/docs/cudf/source/libcudf_docs/groups b/docs/cudf/source/libcudf_docs/groups new file mode 100644 index 00000000000..b49e59eb562 --- /dev/null +++ b/docs/cudf/source/libcudf_docs/groups @@ -0,0 +1,100 @@ +cudf_classes +column_classes +column_factories +strings_classes +dictionary_classes +timestamp_classes +lists_classes +structs_classes +table_classes +scalar_classes +scalar_factories +fixed_point_classes +column_apis +column_copy +copy_concatenate +copy_gather +copy_scatter +copy_slice +copy_split +copy_shift +column_nullmask +column_sort +column_search +column_hash +column_merge +column_join +column_quantiles +column_aggregation +aggregation_factories +aggregation_reduction +aggregation_groupby +aggregation_rolling +column_transformation +transformation_unaryops +transformation_binaryops +transformation_transform +transformation_replace +transformation_fill +column_reshape +reshape_transpose +column_reorder +reorder_partition +reorder_compact +column_interop +interop_dlpack +interop_arrow +datetime_apis +datetime_extract +datetime_compute +strings_apis +strings_case +strings_types +strings_combine +strings_contains +strings_convert +strings_copy +strings_slice +strings_find +strings_modify +strings_replace +strings_split +strings_extract +strings_json +strings_regex +dictionary_apis +dictionary_encode +dictionary_search +dictionary_update +io_apis +io_readers +io_writers +io_datasources +io_datasinks +lists_apis +lists_combine +lists_modify +lists_extract +lists_filling +lists_contains +lists_gather +lists_elements +lists_filtering +lists_sort +set_operations +nvtext_apis +nvtext_ngrams +nvtext_normalize +nvtext_stemmer +nvtext_edit_distance +nvtext_tokenize +nvtext_replace +nvtext_minhash +nvtext_jaccard +utility_apis +utility_types +utility_dispatcher +utility_bitmask +utility_error +labeling_apis +label_bins diff --git a/docs/cudf/source/libcudf_docs/index.rst b/docs/cudf/source/libcudf_docs/index.rst new file mode 100644 index 00000000000..ac4e981fda7 --- /dev/null +++ b/docs/cudf/source/libcudf_docs/index.rst @@ -0,0 +1,116 @@ +libcudf documentation +===================== + +.. toctree:: + :maxdepth: 2 + :caption: Contents: + + + cudf_namespace + cudf_classes + column_classes + column_factories + strings_classes + dictionary_classes + timestamp_classes + lists_classes + structs_classes + table_classes + scalar_classes + scalar_factories + fixed_point_classes + column_apis + column_copy + copy_concatenate + copy_gather + copy_scatter + copy_slice + copy_split + copy_shift + column_nullmask + column_sort + column_search + column_hash + column_merge + column_join + column_quantiles + column_aggregation + aggregation_factories + aggregation_reduction + aggregation_groupby + aggregation_rolling + column_transformation + transformation_unaryops + transformation_binaryops + transformation_transform + transformation_replace + transformation_fill + column_reshape + reshape_transpose + column_reorder + reorder_partition + reorder_compact + column_interop + interop_dlpack + interop_arrow + datetime_apis + datetime_extract + datetime_compute + strings_apis + strings_case + strings_types + strings_combine + strings_contains + strings_convert + strings_copy + strings_slice + strings_find + strings_modify + strings_replace + strings_split + strings_extract + strings_json + strings_regex + dictionary_apis + dictionary_encode + dictionary_search + dictionary_update + io_apis + io_readers + io_writers + io_datasources + io_datasinks + lists_apis + lists_combine + lists_modify + lists_extract + lists_filling + lists_contains + lists_gather + lists_elements + lists_filtering + lists_sort + set_operations + nvtext_apis + nvtext_ngrams + nvtext_normalize + nvtext_stemmer + nvtext_edit_distance + nvtext_tokenize + nvtext_replace + nvtext_minhash + nvtext_jaccard + utility_apis + utility_types + utility_dispatcher + utility_bitmask + utility_error + labeling_apis + label_bins + + +Indices and tables +================== + +* :ref:`genindex` +* :ref:`search` diff --git a/docs/cudf/source/libcudf_docs/interop_arrow.rst b/docs/cudf/source/libcudf_docs/interop_arrow.rst new file mode 100644 index 00000000000..e0f0edfc9ae --- /dev/null +++ b/docs/cudf/source/libcudf_docs/interop_arrow.rst @@ -0,0 +1,5 @@ +Interop Arrow +============= + +.. doxygengroup:: interop_arrow + :members: diff --git a/docs/cudf/source/libcudf_docs/interop_dlpack.rst b/docs/cudf/source/libcudf_docs/interop_dlpack.rst new file mode 100644 index 00000000000..4be168c5132 --- /dev/null +++ b/docs/cudf/source/libcudf_docs/interop_dlpack.rst @@ -0,0 +1,5 @@ +Interop Dlpack +============== + +.. doxygengroup:: interop_dlpack + :members: diff --git a/docs/cudf/source/libcudf_docs/io_apis.rst b/docs/cudf/source/libcudf_docs/io_apis.rst new file mode 100644 index 00000000000..08e5fb0b92d --- /dev/null +++ b/docs/cudf/source/libcudf_docs/io_apis.rst @@ -0,0 +1,5 @@ +Io Apis +======= + +.. doxygengroup:: io_apis + :members: diff --git a/docs/cudf/source/libcudf_docs/io_datasinks.rst b/docs/cudf/source/libcudf_docs/io_datasinks.rst new file mode 100644 index 00000000000..15b0da5f7a7 --- /dev/null +++ b/docs/cudf/source/libcudf_docs/io_datasinks.rst @@ -0,0 +1,5 @@ +Io Datasinks +============ + +.. doxygengroup:: io_datasinks + :members: diff --git a/docs/cudf/source/libcudf_docs/io_datasources.rst b/docs/cudf/source/libcudf_docs/io_datasources.rst new file mode 100644 index 00000000000..3d5834892eb --- /dev/null +++ b/docs/cudf/source/libcudf_docs/io_datasources.rst @@ -0,0 +1,5 @@ +Io Datasources +============== + +.. doxygengroup:: io_datasources + :members: diff --git a/docs/cudf/source/libcudf_docs/io_readers.rst b/docs/cudf/source/libcudf_docs/io_readers.rst new file mode 100644 index 00000000000..f94a5ddb403 --- /dev/null +++ b/docs/cudf/source/libcudf_docs/io_readers.rst @@ -0,0 +1,5 @@ +Io Readers +========== + +.. doxygengroup:: io_readers + :members: diff --git a/docs/cudf/source/libcudf_docs/io_writers.rst b/docs/cudf/source/libcudf_docs/io_writers.rst new file mode 100644 index 00000000000..add57ecfed4 --- /dev/null +++ b/docs/cudf/source/libcudf_docs/io_writers.rst @@ -0,0 +1,5 @@ +Io Writers +========== + +.. doxygengroup:: io_writers + :members: diff --git a/docs/cudf/source/libcudf_docs/label_bins.rst b/docs/cudf/source/libcudf_docs/label_bins.rst new file mode 100644 index 00000000000..ca80912e527 --- /dev/null +++ b/docs/cudf/source/libcudf_docs/label_bins.rst @@ -0,0 +1,5 @@ +Label Bins +========== + +.. doxygengroup:: label_bins + :members: diff --git a/docs/cudf/source/libcudf_docs/labeling_apis.rst b/docs/cudf/source/libcudf_docs/labeling_apis.rst new file mode 100644 index 00000000000..dab3a4ca649 --- /dev/null +++ b/docs/cudf/source/libcudf_docs/labeling_apis.rst @@ -0,0 +1,5 @@ +Labeling Apis +============= + +.. doxygengroup:: labeling_apis + :members: diff --git a/docs/cudf/source/libcudf_docs/lists_apis.rst b/docs/cudf/source/libcudf_docs/lists_apis.rst new file mode 100644 index 00000000000..fe925a99812 --- /dev/null +++ b/docs/cudf/source/libcudf_docs/lists_apis.rst @@ -0,0 +1,5 @@ +Lists Apis +========== + +.. doxygengroup:: lists_apis + :members: diff --git a/docs/cudf/source/libcudf_docs/lists_classes.rst b/docs/cudf/source/libcudf_docs/lists_classes.rst new file mode 100644 index 00000000000..9b89c164746 --- /dev/null +++ b/docs/cudf/source/libcudf_docs/lists_classes.rst @@ -0,0 +1,5 @@ +Lists Classes +============= + +.. doxygengroup:: lists_classes + :members: diff --git a/docs/cudf/source/libcudf_docs/lists_combine.rst b/docs/cudf/source/libcudf_docs/lists_combine.rst new file mode 100644 index 00000000000..e26fd89a3c2 --- /dev/null +++ b/docs/cudf/source/libcudf_docs/lists_combine.rst @@ -0,0 +1,5 @@ +Lists Combine +============= + +.. doxygengroup:: lists_combine + :members: diff --git a/docs/cudf/source/libcudf_docs/lists_contains.rst b/docs/cudf/source/libcudf_docs/lists_contains.rst new file mode 100644 index 00000000000..ccb1366a6fb --- /dev/null +++ b/docs/cudf/source/libcudf_docs/lists_contains.rst @@ -0,0 +1,5 @@ +Lists Contains +============== + +.. doxygengroup:: lists_contains + :members: diff --git a/docs/cudf/source/libcudf_docs/lists_elements.rst b/docs/cudf/source/libcudf_docs/lists_elements.rst new file mode 100644 index 00000000000..fb7758a46d0 --- /dev/null +++ b/docs/cudf/source/libcudf_docs/lists_elements.rst @@ -0,0 +1,5 @@ +Lists Elements +============== + +.. doxygengroup:: lists_elements + :members: diff --git a/docs/cudf/source/libcudf_docs/lists_extract.rst b/docs/cudf/source/libcudf_docs/lists_extract.rst new file mode 100644 index 00000000000..f721d89684e --- /dev/null +++ b/docs/cudf/source/libcudf_docs/lists_extract.rst @@ -0,0 +1,5 @@ +Lists Extract +============= + +.. doxygengroup:: lists_extract + :members: diff --git a/docs/cudf/source/libcudf_docs/lists_filling.rst b/docs/cudf/source/libcudf_docs/lists_filling.rst new file mode 100644 index 00000000000..5ab3c491dbe --- /dev/null +++ b/docs/cudf/source/libcudf_docs/lists_filling.rst @@ -0,0 +1,5 @@ +Lists Filling +============= + +.. doxygengroup:: lists_filling + :members: diff --git a/docs/cudf/source/libcudf_docs/lists_filtering.rst b/docs/cudf/source/libcudf_docs/lists_filtering.rst new file mode 100644 index 00000000000..af9f1ebaa2b --- /dev/null +++ b/docs/cudf/source/libcudf_docs/lists_filtering.rst @@ -0,0 +1,5 @@ +Lists Filtering +=============== + +.. doxygengroup:: lists_filtering + :members: diff --git a/docs/cudf/source/libcudf_docs/lists_gather.rst b/docs/cudf/source/libcudf_docs/lists_gather.rst new file mode 100644 index 00000000000..4cb927b2672 --- /dev/null +++ b/docs/cudf/source/libcudf_docs/lists_gather.rst @@ -0,0 +1,5 @@ +Lists Gather +============ + +.. doxygengroup:: lists_gather + :members: diff --git a/docs/cudf/source/libcudf_docs/lists_modify.rst b/docs/cudf/source/libcudf_docs/lists_modify.rst new file mode 100644 index 00000000000..d41020b75cd --- /dev/null +++ b/docs/cudf/source/libcudf_docs/lists_modify.rst @@ -0,0 +1,5 @@ +Lists Modify +============ + +.. doxygengroup:: lists_modify + :members: diff --git a/docs/cudf/source/libcudf_docs/lists_sort.rst b/docs/cudf/source/libcudf_docs/lists_sort.rst new file mode 100644 index 00000000000..63de08d1622 --- /dev/null +++ b/docs/cudf/source/libcudf_docs/lists_sort.rst @@ -0,0 +1,5 @@ +Lists Sort +========== + +.. doxygengroup:: lists_sort + :members: diff --git a/docs/cudf/source/libcudf_docs/nvtext_apis.rst b/docs/cudf/source/libcudf_docs/nvtext_apis.rst new file mode 100644 index 00000000000..0f3c1a078c8 --- /dev/null +++ b/docs/cudf/source/libcudf_docs/nvtext_apis.rst @@ -0,0 +1,5 @@ +Nvtext Apis +=========== + +.. doxygengroup:: nvtext_apis + :members: diff --git a/docs/cudf/source/libcudf_docs/nvtext_edit_distance.rst b/docs/cudf/source/libcudf_docs/nvtext_edit_distance.rst new file mode 100644 index 00000000000..e5eb2dc8c95 --- /dev/null +++ b/docs/cudf/source/libcudf_docs/nvtext_edit_distance.rst @@ -0,0 +1,5 @@ +Nvtext Edit Distance +==================== + +.. doxygengroup:: nvtext_edit_distance + :members: diff --git a/docs/cudf/source/libcudf_docs/nvtext_jaccard.rst b/docs/cudf/source/libcudf_docs/nvtext_jaccard.rst new file mode 100644 index 00000000000..75124c5655a --- /dev/null +++ b/docs/cudf/source/libcudf_docs/nvtext_jaccard.rst @@ -0,0 +1,5 @@ +Nvtext Jaccard +============== + +.. doxygengroup:: nvtext_jaccard + :members: diff --git a/docs/cudf/source/libcudf_docs/nvtext_minhash.rst b/docs/cudf/source/libcudf_docs/nvtext_minhash.rst new file mode 100644 index 00000000000..57d8445a3eb --- /dev/null +++ b/docs/cudf/source/libcudf_docs/nvtext_minhash.rst @@ -0,0 +1,5 @@ +Nvtext Minhash +============== + +.. doxygengroup:: nvtext_minhash + :members: diff --git a/docs/cudf/source/libcudf_docs/nvtext_ngrams.rst b/docs/cudf/source/libcudf_docs/nvtext_ngrams.rst new file mode 100644 index 00000000000..27f93211f4c --- /dev/null +++ b/docs/cudf/source/libcudf_docs/nvtext_ngrams.rst @@ -0,0 +1,5 @@ +Nvtext Ngrams +============= + +.. doxygengroup:: nvtext_ngrams + :members: diff --git a/docs/cudf/source/libcudf_docs/nvtext_normalize.rst b/docs/cudf/source/libcudf_docs/nvtext_normalize.rst new file mode 100644 index 00000000000..7654f3c19f6 --- /dev/null +++ b/docs/cudf/source/libcudf_docs/nvtext_normalize.rst @@ -0,0 +1,5 @@ +Nvtext Normalize +================ + +.. doxygengroup:: nvtext_normalize + :members: diff --git a/docs/cudf/source/libcudf_docs/nvtext_replace.rst b/docs/cudf/source/libcudf_docs/nvtext_replace.rst new file mode 100644 index 00000000000..cdd2e45f48b --- /dev/null +++ b/docs/cudf/source/libcudf_docs/nvtext_replace.rst @@ -0,0 +1,5 @@ +Nvtext Replace +============== + +.. doxygengroup:: nvtext_replace + :members: diff --git a/docs/cudf/source/libcudf_docs/nvtext_stemmer.rst b/docs/cudf/source/libcudf_docs/nvtext_stemmer.rst new file mode 100644 index 00000000000..fbe5675fe2d --- /dev/null +++ b/docs/cudf/source/libcudf_docs/nvtext_stemmer.rst @@ -0,0 +1,5 @@ +Nvtext Stemmer +============== + +.. doxygengroup:: nvtext_stemmer + :members: diff --git a/docs/cudf/source/libcudf_docs/nvtext_tokenize.rst b/docs/cudf/source/libcudf_docs/nvtext_tokenize.rst new file mode 100644 index 00000000000..58fc422dc88 --- /dev/null +++ b/docs/cudf/source/libcudf_docs/nvtext_tokenize.rst @@ -0,0 +1,5 @@ +Nvtext Tokenize +=============== + +.. doxygengroup:: nvtext_tokenize + :members: diff --git a/docs/cudf/source/libcudf_docs/reorder_compact.rst b/docs/cudf/source/libcudf_docs/reorder_compact.rst new file mode 100644 index 00000000000..099d08f74ab --- /dev/null +++ b/docs/cudf/source/libcudf_docs/reorder_compact.rst @@ -0,0 +1,5 @@ +Reorder Compact +=============== + +.. doxygengroup:: reorder_compact + :members: diff --git a/docs/cudf/source/libcudf_docs/reorder_partition.rst b/docs/cudf/source/libcudf_docs/reorder_partition.rst new file mode 100644 index 00000000000..a8b88ab244f --- /dev/null +++ b/docs/cudf/source/libcudf_docs/reorder_partition.rst @@ -0,0 +1,5 @@ +Reorder Partition +================= + +.. doxygengroup:: reorder_partition + :members: diff --git a/docs/cudf/source/libcudf_docs/reshape_transpose.rst b/docs/cudf/source/libcudf_docs/reshape_transpose.rst new file mode 100644 index 00000000000..1ab29129c33 --- /dev/null +++ b/docs/cudf/source/libcudf_docs/reshape_transpose.rst @@ -0,0 +1,5 @@ +Reshape Transpose +================= + +.. doxygengroup:: reshape_transpose + :members: diff --git a/docs/cudf/source/libcudf_docs/scalar_classes.rst b/docs/cudf/source/libcudf_docs/scalar_classes.rst new file mode 100644 index 00000000000..dbd0b96eceb --- /dev/null +++ b/docs/cudf/source/libcudf_docs/scalar_classes.rst @@ -0,0 +1,5 @@ +Scalar Classes +============== + +.. doxygengroup:: scalar_classes + :members: diff --git a/docs/cudf/source/libcudf_docs/scalar_factories.rst b/docs/cudf/source/libcudf_docs/scalar_factories.rst new file mode 100644 index 00000000000..782ce6cb421 --- /dev/null +++ b/docs/cudf/source/libcudf_docs/scalar_factories.rst @@ -0,0 +1,5 @@ +Scalar Factories +================ + +.. doxygengroup:: scalar_factories + :members: diff --git a/docs/cudf/source/libcudf_docs/set_operations.rst b/docs/cudf/source/libcudf_docs/set_operations.rst new file mode 100644 index 00000000000..22118daec00 --- /dev/null +++ b/docs/cudf/source/libcudf_docs/set_operations.rst @@ -0,0 +1,5 @@ +Set Operations +============== + +.. doxygengroup:: set_operations + :members: diff --git a/docs/cudf/source/libcudf_docs/strings_apis.rst b/docs/cudf/source/libcudf_docs/strings_apis.rst new file mode 100644 index 00000000000..851c383f97e --- /dev/null +++ b/docs/cudf/source/libcudf_docs/strings_apis.rst @@ -0,0 +1,5 @@ +Strings Apis +============ + +.. doxygengroup:: strings_apis + :members: diff --git a/docs/cudf/source/libcudf_docs/strings_case.rst b/docs/cudf/source/libcudf_docs/strings_case.rst new file mode 100644 index 00000000000..ddec78a268e --- /dev/null +++ b/docs/cudf/source/libcudf_docs/strings_case.rst @@ -0,0 +1,5 @@ +Strings Case +============ + +.. doxygengroup:: strings_case + :members: diff --git a/docs/cudf/source/libcudf_docs/strings_classes.rst b/docs/cudf/source/libcudf_docs/strings_classes.rst new file mode 100644 index 00000000000..867b2ac242a --- /dev/null +++ b/docs/cudf/source/libcudf_docs/strings_classes.rst @@ -0,0 +1,5 @@ +Strings Classes +=============== + +.. doxygengroup:: strings_classes + :members: diff --git a/docs/cudf/source/libcudf_docs/strings_combine.rst b/docs/cudf/source/libcudf_docs/strings_combine.rst new file mode 100644 index 00000000000..4542308e0c7 --- /dev/null +++ b/docs/cudf/source/libcudf_docs/strings_combine.rst @@ -0,0 +1,5 @@ +Strings Combine +=============== + +.. doxygengroup:: strings_combine + :members: diff --git a/docs/cudf/source/libcudf_docs/strings_contains.rst b/docs/cudf/source/libcudf_docs/strings_contains.rst new file mode 100644 index 00000000000..250eb96e541 --- /dev/null +++ b/docs/cudf/source/libcudf_docs/strings_contains.rst @@ -0,0 +1,5 @@ +Strings Contains +================ + +.. doxygengroup:: strings_contains + :members: diff --git a/docs/cudf/source/libcudf_docs/strings_convert.rst b/docs/cudf/source/libcudf_docs/strings_convert.rst new file mode 100644 index 00000000000..f2f320bd0e4 --- /dev/null +++ b/docs/cudf/source/libcudf_docs/strings_convert.rst @@ -0,0 +1,5 @@ +Strings Convert +=============== + +.. doxygengroup:: strings_convert + :members: diff --git a/docs/cudf/source/libcudf_docs/strings_copy.rst b/docs/cudf/source/libcudf_docs/strings_copy.rst new file mode 100644 index 00000000000..0c2884361bf --- /dev/null +++ b/docs/cudf/source/libcudf_docs/strings_copy.rst @@ -0,0 +1,5 @@ +Strings Copy +============ + +.. doxygengroup:: strings_copy + :members: diff --git a/docs/cudf/source/libcudf_docs/strings_extract.rst b/docs/cudf/source/libcudf_docs/strings_extract.rst new file mode 100644 index 00000000000..8018bbc627a --- /dev/null +++ b/docs/cudf/source/libcudf_docs/strings_extract.rst @@ -0,0 +1,5 @@ +Strings Extract +=============== + +.. doxygengroup:: strings_extract + :members: diff --git a/docs/cudf/source/libcudf_docs/strings_find.rst b/docs/cudf/source/libcudf_docs/strings_find.rst new file mode 100644 index 00000000000..709bd138f54 --- /dev/null +++ b/docs/cudf/source/libcudf_docs/strings_find.rst @@ -0,0 +1,5 @@ +Strings Find +============ + +.. doxygengroup:: strings_find + :members: diff --git a/docs/cudf/source/libcudf_docs/strings_json.rst b/docs/cudf/source/libcudf_docs/strings_json.rst new file mode 100644 index 00000000000..f6c68e68dab --- /dev/null +++ b/docs/cudf/source/libcudf_docs/strings_json.rst @@ -0,0 +1,5 @@ +Strings Json +============ + +.. doxygengroup:: strings_json + :members: diff --git a/docs/cudf/source/libcudf_docs/strings_modify.rst b/docs/cudf/source/libcudf_docs/strings_modify.rst new file mode 100644 index 00000000000..4bf54e5e835 --- /dev/null +++ b/docs/cudf/source/libcudf_docs/strings_modify.rst @@ -0,0 +1,5 @@ +Strings Modify +============== + +.. doxygengroup:: strings_modify + :members: diff --git a/docs/cudf/source/libcudf_docs/strings_regex.rst b/docs/cudf/source/libcudf_docs/strings_regex.rst new file mode 100644 index 00000000000..719b09be24e --- /dev/null +++ b/docs/cudf/source/libcudf_docs/strings_regex.rst @@ -0,0 +1,5 @@ +Strings Regex +============= + +.. doxygengroup:: strings_regex + :members: diff --git a/docs/cudf/source/libcudf_docs/strings_replace.rst b/docs/cudf/source/libcudf_docs/strings_replace.rst new file mode 100644 index 00000000000..884295e6d78 --- /dev/null +++ b/docs/cudf/source/libcudf_docs/strings_replace.rst @@ -0,0 +1,5 @@ +Strings Replace +=============== + +.. doxygengroup:: strings_replace + :members: diff --git a/docs/cudf/source/libcudf_docs/strings_slice.rst b/docs/cudf/source/libcudf_docs/strings_slice.rst new file mode 100644 index 00000000000..bc1831a9dd4 --- /dev/null +++ b/docs/cudf/source/libcudf_docs/strings_slice.rst @@ -0,0 +1,5 @@ +Strings Slice +============= + +.. doxygengroup:: strings_slice + :members: diff --git a/docs/cudf/source/libcudf_docs/strings_split.rst b/docs/cudf/source/libcudf_docs/strings_split.rst new file mode 100644 index 00000000000..ddf7cf2f1d6 --- /dev/null +++ b/docs/cudf/source/libcudf_docs/strings_split.rst @@ -0,0 +1,5 @@ +Strings Split +============= + +.. doxygengroup:: strings_split + :members: diff --git a/docs/cudf/source/libcudf_docs/strings_types.rst b/docs/cudf/source/libcudf_docs/strings_types.rst new file mode 100644 index 00000000000..aff356efb71 --- /dev/null +++ b/docs/cudf/source/libcudf_docs/strings_types.rst @@ -0,0 +1,5 @@ +Strings Types +============= + +.. doxygengroup:: strings_types + :members: diff --git a/docs/cudf/source/libcudf_docs/structs_classes.rst b/docs/cudf/source/libcudf_docs/structs_classes.rst new file mode 100644 index 00000000000..2669c2884d6 --- /dev/null +++ b/docs/cudf/source/libcudf_docs/structs_classes.rst @@ -0,0 +1,5 @@ +Structs Classes +=============== + +.. doxygengroup:: structs_classes + :members: diff --git a/docs/cudf/source/libcudf_docs/table_classes.rst b/docs/cudf/source/libcudf_docs/table_classes.rst new file mode 100644 index 00000000000..f00e315e597 --- /dev/null +++ b/docs/cudf/source/libcudf_docs/table_classes.rst @@ -0,0 +1,5 @@ +Table Classes +============= + +.. doxygengroup:: table_classes + :members: diff --git a/docs/cudf/source/libcudf_docs/timestamp_classes.rst b/docs/cudf/source/libcudf_docs/timestamp_classes.rst new file mode 100644 index 00000000000..4651d8dbd32 --- /dev/null +++ b/docs/cudf/source/libcudf_docs/timestamp_classes.rst @@ -0,0 +1,5 @@ +Timestamp Classes +================= + +.. doxygengroup:: timestamp_classes + :members: diff --git a/docs/cudf/source/libcudf_docs/transformation_binaryops.rst b/docs/cudf/source/libcudf_docs/transformation_binaryops.rst new file mode 100644 index 00000000000..59be3a7b45e --- /dev/null +++ b/docs/cudf/source/libcudf_docs/transformation_binaryops.rst @@ -0,0 +1,5 @@ +Transformation Binaryops +======================== + +.. doxygengroup:: transformation_binaryops + :members: diff --git a/docs/cudf/source/libcudf_docs/transformation_fill.rst b/docs/cudf/source/libcudf_docs/transformation_fill.rst new file mode 100644 index 00000000000..939fba261df --- /dev/null +++ b/docs/cudf/source/libcudf_docs/transformation_fill.rst @@ -0,0 +1,5 @@ +Transformation Fill +=================== + +.. doxygengroup:: transformation_fill + :members: diff --git a/docs/cudf/source/libcudf_docs/transformation_replace.rst b/docs/cudf/source/libcudf_docs/transformation_replace.rst new file mode 100644 index 00000000000..6800b7bba76 --- /dev/null +++ b/docs/cudf/source/libcudf_docs/transformation_replace.rst @@ -0,0 +1,5 @@ +Transformation Replace +====================== + +.. doxygengroup:: transformation_replace + :members: diff --git a/docs/cudf/source/libcudf_docs/transformation_transform.rst b/docs/cudf/source/libcudf_docs/transformation_transform.rst new file mode 100644 index 00000000000..108a680f5a1 --- /dev/null +++ b/docs/cudf/source/libcudf_docs/transformation_transform.rst @@ -0,0 +1,5 @@ +Transformation Transform +======================== + +.. doxygengroup:: transformation_transform + :members: diff --git a/docs/cudf/source/libcudf_docs/transformation_unaryops.rst b/docs/cudf/source/libcudf_docs/transformation_unaryops.rst new file mode 100644 index 00000000000..07b5ba6388b --- /dev/null +++ b/docs/cudf/source/libcudf_docs/transformation_unaryops.rst @@ -0,0 +1,5 @@ +Transformation Unaryops +======================= + +.. doxygengroup:: transformation_unaryops + :members: diff --git a/docs/cudf/source/libcudf_docs/utility_apis.rst b/docs/cudf/source/libcudf_docs/utility_apis.rst new file mode 100644 index 00000000000..d5200b6efa6 --- /dev/null +++ b/docs/cudf/source/libcudf_docs/utility_apis.rst @@ -0,0 +1,5 @@ +Utility Apis +============ + +.. doxygengroup:: utility_apis + :members: diff --git a/docs/cudf/source/libcudf_docs/utility_bitmask.rst b/docs/cudf/source/libcudf_docs/utility_bitmask.rst new file mode 100644 index 00000000000..5dba1928baf --- /dev/null +++ b/docs/cudf/source/libcudf_docs/utility_bitmask.rst @@ -0,0 +1,5 @@ +Utility Bitmask +=============== + +.. doxygengroup:: utility_bitmask + :members: diff --git a/docs/cudf/source/libcudf_docs/utility_dispatcher.rst b/docs/cudf/source/libcudf_docs/utility_dispatcher.rst new file mode 100644 index 00000000000..539505e4551 --- /dev/null +++ b/docs/cudf/source/libcudf_docs/utility_dispatcher.rst @@ -0,0 +1,5 @@ +Utility Dispatcher +================== + +.. doxygengroup:: utility_dispatcher + :members: diff --git a/docs/cudf/source/libcudf_docs/utility_error.rst b/docs/cudf/source/libcudf_docs/utility_error.rst new file mode 100644 index 00000000000..acb575636c9 --- /dev/null +++ b/docs/cudf/source/libcudf_docs/utility_error.rst @@ -0,0 +1,5 @@ +Utility Error +============= + +.. doxygengroup:: utility_error + :members: diff --git a/docs/cudf/source/libcudf_docs/utility_types.rst b/docs/cudf/source/libcudf_docs/utility_types.rst new file mode 100644 index 00000000000..f021535d589 --- /dev/null +++ b/docs/cudf/source/libcudf_docs/utility_types.rst @@ -0,0 +1,5 @@ +Utility Types +============= + +.. doxygengroup:: utility_types + :members: diff --git a/python/cudf/cudf/core/series.py b/python/cudf/cudf/core/series.py index bb329619250..e46f40b1374 100644 --- a/python/cudf/cudf/core/series.py +++ b/python/cudf/cudf/core/series.py @@ -432,6 +432,9 @@ class Series(SingleColumnFrame, IndexedFrame, Serializable): not be the same length. The result index will be the sorted union of the two indexes. + View the underlying C++ data using :cpp:class:`cudf::column_view` + Also interesting, :class:`rmm.DeviceBuffer` + ``Series`` objects are used as columns of ``DataFrame``. Parameters From a2a5598b2d0a5ac9abd68fb267664dfe6378373c Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Wed, 9 Aug 2023 16:04:38 -0700 Subject: [PATCH 03/72] Remove extraneous file --- docs/cudf/source/libcudf_docs/groups | 100 --------------------------- 1 file changed, 100 deletions(-) delete mode 100644 docs/cudf/source/libcudf_docs/groups diff --git a/docs/cudf/source/libcudf_docs/groups b/docs/cudf/source/libcudf_docs/groups deleted file mode 100644 index b49e59eb562..00000000000 --- a/docs/cudf/source/libcudf_docs/groups +++ /dev/null @@ -1,100 +0,0 @@ -cudf_classes -column_classes -column_factories -strings_classes -dictionary_classes -timestamp_classes -lists_classes -structs_classes -table_classes -scalar_classes -scalar_factories -fixed_point_classes -column_apis -column_copy -copy_concatenate -copy_gather -copy_scatter -copy_slice -copy_split -copy_shift -column_nullmask -column_sort -column_search -column_hash -column_merge -column_join -column_quantiles -column_aggregation -aggregation_factories -aggregation_reduction -aggregation_groupby -aggregation_rolling -column_transformation -transformation_unaryops -transformation_binaryops -transformation_transform -transformation_replace -transformation_fill -column_reshape -reshape_transpose -column_reorder -reorder_partition -reorder_compact -column_interop -interop_dlpack -interop_arrow -datetime_apis -datetime_extract -datetime_compute -strings_apis -strings_case -strings_types -strings_combine -strings_contains -strings_convert -strings_copy -strings_slice -strings_find -strings_modify -strings_replace -strings_split -strings_extract -strings_json -strings_regex -dictionary_apis -dictionary_encode -dictionary_search -dictionary_update -io_apis -io_readers -io_writers -io_datasources -io_datasinks -lists_apis -lists_combine -lists_modify -lists_extract -lists_filling -lists_contains -lists_gather -lists_elements -lists_filtering -lists_sort -set_operations -nvtext_apis -nvtext_ngrams -nvtext_normalize -nvtext_stemmer -nvtext_edit_distance -nvtext_tokenize -nvtext_replace -nvtext_minhash -nvtext_jaccard -utility_apis -utility_types -utility_dispatcher -utility_bitmask -utility_error -labeling_apis -label_bins From 91db8c7430fdd7c2b803aae8ce992b290cfafcd4 Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Wed, 9 Aug 2023 17:42:47 -0700 Subject: [PATCH 04/72] Temporarily allow building with warnings so that CI can complete and generate previews --- docs/cudf/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/cudf/Makefile b/docs/cudf/Makefile index 0b3a6876a5a..e513c89a561 100644 --- a/docs/cudf/Makefile +++ b/docs/cudf/Makefile @@ -2,7 +2,7 @@ # # You can set these variables from the command line. -SPHINXOPTS = -n -v -W --keep-going +SPHINXOPTS = -n -v SPHINXBUILD = sphinx-build SPHINXPROJ = cudf SOURCEDIR = source From 0ec51ea5cd786f6f0d321c7163478e7051935c24 Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Wed, 9 Aug 2023 18:15:50 -0700 Subject: [PATCH 05/72] Temporarily disable CI doxygen check --- ci/checks/doxygen.sh | 3 +++ cpp/libcudf_kafka/tests/CMakeLists.txt | 6 +----- cpp/tests/CMakeLists.txt | 7 ++----- 3 files changed, 6 insertions(+), 10 deletions(-) diff --git a/ci/checks/doxygen.sh b/ci/checks/doxygen.sh index d932fa097e9..975e80943c7 100755 --- a/ci/checks/doxygen.sh +++ b/ci/checks/doxygen.sh @@ -10,6 +10,9 @@ if ! [ -x "$(command -v doxygen)" ]; then exit 0 fi +echo -e "Temporarily disabling check to allow CI to complete" +exit 0 + # Utility to return version as number for comparison function version { echo "$@" | awk -F. '{ printf("%d%03d%03d%03d\n", $1,$2,$3,$4); }'; } diff --git a/cpp/libcudf_kafka/tests/CMakeLists.txt b/cpp/libcudf_kafka/tests/CMakeLists.txt index b819cb6fc3b..e51f19f7e5b 100644 --- a/cpp/libcudf_kafka/tests/CMakeLists.txt +++ b/cpp/libcudf_kafka/tests/CMakeLists.txt @@ -33,11 +33,7 @@ function(ConfigureTest test_name) ${test_name} PRIVATE GTest::gmock GTest::gmock_main GTest::gtest_main cudf_kafka ) rapids_test_add( - NAME ${test_name} - COMMAND ${test_name} - GPUS 1 - PERCENT 25 - INSTALL_COMPONENT_SET testing + NAME ${test_name} COMMAND ${test_name} GPUS 1 PERCENT 25 INSTALL_COMPONENT_SET testing ) endfunction() diff --git a/cpp/tests/CMakeLists.txt b/cpp/tests/CMakeLists.txt index b35c72b9e9d..1f0880e7ca6 100644 --- a/cpp/tests/CMakeLists.txt +++ b/cpp/tests/CMakeLists.txt @@ -59,11 +59,8 @@ function(ConfigureTest CMAKE_TEST_NAME) $ ) rapids_test_add( - NAME ${CMAKE_TEST_NAME} - COMMAND ${CMAKE_TEST_NAME} - GPUS ${_CUDF_TEST_GPUS} - PERCENT ${_CUDF_TEST_PERCENT} - INSTALL_COMPONENT_SET testing + NAME ${CMAKE_TEST_NAME} COMMAND ${CMAKE_TEST_NAME} GPUS ${_CUDF_TEST_GPUS} PERCENT + ${_CUDF_TEST_PERCENT} INSTALL_COMPONENT_SET testing ) set_tests_properties( From 0aee3825a064c261621f202a728f6b7b8e6c5feb Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Wed, 9 Aug 2023 18:24:13 -0700 Subject: [PATCH 06/72] Fix cmake format --- cpp/libcudf_kafka/tests/CMakeLists.txt | 6 +++++- cpp/tests/CMakeLists.txt | 7 +++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/cpp/libcudf_kafka/tests/CMakeLists.txt b/cpp/libcudf_kafka/tests/CMakeLists.txt index e51f19f7e5b..b819cb6fc3b 100644 --- a/cpp/libcudf_kafka/tests/CMakeLists.txt +++ b/cpp/libcudf_kafka/tests/CMakeLists.txt @@ -33,7 +33,11 @@ function(ConfigureTest test_name) ${test_name} PRIVATE GTest::gmock GTest::gmock_main GTest::gtest_main cudf_kafka ) rapids_test_add( - NAME ${test_name} COMMAND ${test_name} GPUS 1 PERCENT 25 INSTALL_COMPONENT_SET testing + NAME ${test_name} + COMMAND ${test_name} + GPUS 1 + PERCENT 25 + INSTALL_COMPONENT_SET testing ) endfunction() diff --git a/cpp/tests/CMakeLists.txt b/cpp/tests/CMakeLists.txt index 1f0880e7ca6..b35c72b9e9d 100644 --- a/cpp/tests/CMakeLists.txt +++ b/cpp/tests/CMakeLists.txt @@ -59,8 +59,11 @@ function(ConfigureTest CMAKE_TEST_NAME) $ ) rapids_test_add( - NAME ${CMAKE_TEST_NAME} COMMAND ${CMAKE_TEST_NAME} GPUS ${_CUDF_TEST_GPUS} PERCENT - ${_CUDF_TEST_PERCENT} INSTALL_COMPONENT_SET testing + NAME ${CMAKE_TEST_NAME} + COMMAND ${CMAKE_TEST_NAME} + GPUS ${_CUDF_TEST_GPUS} + PERCENT ${_CUDF_TEST_PERCENT} + INSTALL_COMPONENT_SET testing ) set_tests_properties( From fd6f9e7fa9f8f2df3b931a097e7e051f9ea227ce Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Wed, 8 Nov 2023 14:37:23 -0800 Subject: [PATCH 07/72] Start handling more missing refs --- docs/cudf/source/conf.py | 64 ++++++++++++++++++++++++++++++++++++++-- 1 file changed, 62 insertions(+), 2 deletions(-) diff --git a/docs/cudf/source/conf.py b/docs/cudf/source/conf.py index f2b12f2e50d..c864ff09b90 100644 --- a/docs/cudf/source/conf.py +++ b/docs/cudf/source/conf.py @@ -17,6 +17,7 @@ # documentation root, use os.path.abspath to make it absolute, like shown here. # import os +import re import sys from docutils.nodes import Text @@ -245,7 +246,7 @@ def resolve_aliases(app, doctree): text_node.parent.replace(text_node, Text(text_to_render, "")) -def ignore_internal_references(app, env, node, contnode): +def on_missing_reference(app, env, node, contnode): name = node.get("reftarget", None) if name == "cudf.core.index.GenericIndex": # We don't exposed docs for `cudf.core.index.GenericIndex` @@ -253,6 +254,65 @@ def ignore_internal_references(app, env, node, contnode): # use `cudf.Index` node["reftarget"] = "cudf.Index" return contnode + + if (refid := node.get("refid")) is not None and "hpp" in refid: + # We don't want to link to C++ header files directly from the + # Sphinx docs, those are pages that doxygen automatically + # generates. Adding those would clutter the Sphinx output. + return contnode + + names_to_skip = [ + # External names + "thrust", + "cuda", + # # Unknown types + "int8_t", + "int16_t", + "int32_t", + "int64_t", + "size_t", + "uint8_t", + "uint16_t", + "uint32_t", + "uint64_t", + # # Internal objects + "CUDF_ENABLE_IF", + ] + if ( + node["refdomain"] == "cpp" + and (reftarget := node.get("reftarget")) is not None + ): + if any(toskip in reftarget for toskip in names_to_skip): + return contnode + + # Strip template parameters and just use the base type. + if match := re.search("(.*)<.*>", reftarget): + reftarget = match.group(1) + + # Try to find the target prefixed with e.g. namespaces in case that's + # all that's missing. Include the empty prefix in case we're searching + # for a stripped template. + # extra_prefixes = ["rmm::", "rmm::mr::", "mr::", ""] + extra_prefixes = ["cudf::", "rmm::", "rmm::mr::", "mr::", ""] + for (name, dispname, type, docname, anchor, priority) in env.domains[ + "cpp" + ].get_objects(): + + for prefix in extra_prefixes: + if ( + name == f"{prefix}{reftarget}" + or f"{prefix}{name}" == reftarget + ): + return env.domains["cpp"].resolve_xref( + env, + docname, + app.builder, + node["reftype"], + name, + node, + contnode, + ) + return None @@ -268,4 +328,4 @@ def setup(app): app.add_css_file("https://docs.rapids.ai/assets/css/custom.css") app.add_js_file("https://docs.rapids.ai/assets/js/custom.js", loading_method="defer") app.connect("doctree-read", resolve_aliases) - app.connect("missing-reference", ignore_internal_references) + app.connect("missing-reference", on_missing_reference) From 3229d528e0198909524d53772ba5c473d6d8a8c0 Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Wed, 8 Nov 2023 14:38:20 -0800 Subject: [PATCH 08/72] Add lexer for pseudocode --- docs/cudf/source/conf.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/docs/cudf/source/conf.py b/docs/cudf/source/conf.py index c864ff09b90..da2222d9684 100644 --- a/docs/cudf/source/conf.py +++ b/docs/cudf/source/conf.py @@ -22,6 +22,24 @@ from docutils.nodes import Text from sphinx.addnodes import pending_xref +from sphinx.highlighting import lexers +from pygments.lexer import RegexLexer +from pygments.token import Text as PText + + +class PseudoLexer(RegexLexer): + """Trivial lexer for pseudocode.""" + + name = 'pseudocode' + aliases = ['pseudo'] + tokens = { + 'root': [ + (r'.*\n', PText), + ] + } + + +lexers['pseudo'] = PseudoLexer() # -- Custom Extensions ---------------------------------------------------- sys.path.append(os.path.abspath("./_ext")) From ec0d1bac92658befff0605cd0fe86ea0192cf654 Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Wed, 8 Nov 2023 15:33:24 -0800 Subject: [PATCH 09/72] Add the default stream to a group and link it --- docs/cudf/source/libcudf_docs/default_stream.rst | 5 +++++ docs/cudf/source/libcudf_docs/index.rst | 1 + 2 files changed, 6 insertions(+) create mode 100644 docs/cudf/source/libcudf_docs/default_stream.rst diff --git a/docs/cudf/source/libcudf_docs/default_stream.rst b/docs/cudf/source/libcudf_docs/default_stream.rst new file mode 100644 index 00000000000..c50493a8f60 --- /dev/null +++ b/docs/cudf/source/libcudf_docs/default_stream.rst @@ -0,0 +1,5 @@ +Default Stream +============== + +.. doxygengroup:: default_stream + :members: diff --git a/docs/cudf/source/libcudf_docs/index.rst b/docs/cudf/source/libcudf_docs/index.rst index ac4e981fda7..6f410179c66 100644 --- a/docs/cudf/source/libcudf_docs/index.rst +++ b/docs/cudf/source/libcudf_docs/index.rst @@ -11,6 +11,7 @@ libcudf documentation column_classes column_factories strings_classes + default_stream dictionary_classes timestamp_classes lists_classes From fe34bf335749e2780e595991d3d62f834b5b616b Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Wed, 8 Nov 2023 16:24:44 -0800 Subject: [PATCH 10/72] Add a few more types to ignore --- docs/cudf/source/conf.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/docs/cudf/source/conf.py b/docs/cudf/source/conf.py index da2222d9684..5be2fb2336d 100644 --- a/docs/cudf/source/conf.py +++ b/docs/cudf/source/conf.py @@ -288,13 +288,19 @@ def on_missing_reference(app, env, node, contnode): "int16_t", "int32_t", "int64_t", + "__int128_t", "size_t", "uint8_t", "uint16_t", "uint32_t", "uint64_t", - # # Internal objects + # Internal objects "CUDF_ENABLE_IF", + "id_to_type_impl", + "type_to_scalar_type_impl", + "type_to_scalar_type_impl", + # Template types + "Radix" ] if ( node["refdomain"] == "cpp" From 86ca9d502fc7fc2576112e755fd57a3fdb9fad3a Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Wed, 8 Nov 2023 18:01:42 -0800 Subject: [PATCH 11/72] Add extra intersphinx lookup step --- docs/cudf/source/conf.py | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/docs/cudf/source/conf.py b/docs/cudf/source/conf.py index 5be2fb2336d..8d91ba72071 100644 --- a/docs/cudf/source/conf.py +++ b/docs/cudf/source/conf.py @@ -23,6 +23,7 @@ from docutils.nodes import Text from sphinx.addnodes import pending_xref from sphinx.highlighting import lexers +from sphinx.ext import intersphinx from pygments.lexer import RegexLexer from pygments.token import Text as PText @@ -317,8 +318,8 @@ def on_missing_reference(app, env, node, contnode): # all that's missing. Include the empty prefix in case we're searching # for a stripped template. # extra_prefixes = ["rmm::", "rmm::mr::", "mr::", ""] - extra_prefixes = ["cudf::", "rmm::", "rmm::mr::", "mr::", ""] - for (name, dispname, type, docname, anchor, priority) in env.domains[ + extra_prefixes = ["cudf::", ""] + for (name, _, _, docname, _, _) in env.domains[ "cpp" ].get_objects(): @@ -337,6 +338,20 @@ def on_missing_reference(app, env, node, contnode): contnode, ) + intersphinx_extra_prefixes = ["rmm::", "rmm::mr::", "mr::", ""] + original_reftarget = node["reftarget"] + + for prefix in intersphinx_extra_prefixes: + # First try adding the prefix. + node["reftarget"] = f"{prefix}{original_reftarget}" + if (ref := intersphinx.resolve_reference_detect_inventory(env, node, contnode)) is not None: + return ref + + # Then try removing the prefix. + node["reftarget"] = original_reftarget.replace(prefix, "") + if (ref := intersphinx.resolve_reference_detect_inventory(env, node, contnode)) is not None: + return ref + return None From 884c5b8d5bead0ca1c29713097b46bd06819c08f Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Thu, 9 Nov 2023 13:56:27 -0800 Subject: [PATCH 12/72] Add more types to ignore --- docs/cudf/source/conf.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/cudf/source/conf.py b/docs/cudf/source/conf.py index 8d91ba72071..86b39c757bf 100644 --- a/docs/cudf/source/conf.py +++ b/docs/cudf/source/conf.py @@ -284,6 +284,7 @@ def on_missing_reference(app, env, node, contnode): # External names "thrust", "cuda", + "arrow", # # Unknown types "int8_t", "int16_t", @@ -297,6 +298,7 @@ def on_missing_reference(app, env, node, contnode): "uint64_t", # Internal objects "CUDF_ENABLE_IF", + "CUDF_HOST_DEVICE", "id_to_type_impl", "type_to_scalar_type_impl", "type_to_scalar_type_impl", From 269f7baa8626792f77fccb0f4a9ef63af2c99b35 Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Thu, 9 Nov 2023 15:41:51 -0800 Subject: [PATCH 13/72] Add more robust logic for parsing namespaces --- docs/cudf/source/conf.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/docs/cudf/source/conf.py b/docs/cudf/source/conf.py index 86b39c757bf..af10ab86081 100644 --- a/docs/cudf/source/conf.py +++ b/docs/cudf/source/conf.py @@ -319,13 +319,20 @@ def on_missing_reference(app, env, node, contnode): # Try to find the target prefixed with e.g. namespaces in case that's # all that's missing. Include the empty prefix in case we're searching # for a stripped template. - # extra_prefixes = ["rmm::", "rmm::mr::", "mr::", ""] - extra_prefixes = ["cudf::", ""] + base_namespace = "cudf" + other_namespaces = {"io", "strings", "ast", "ast::expression"} + + def generate_namespaces(base_namespace, other_namespaces): + yield base_namespace + "::" + for other_namespace in other_namespaces: + yield f"{other_namespace}::" + yield f"{base_namespace}::{other_namespace}::" + for (name, _, _, docname, _, _) in env.domains[ "cpp" ].get_objects(): - for prefix in extra_prefixes: + for prefix in generate_namespaces(base_namespace, other_namespaces): if ( name == f"{prefix}{reftarget}" or f"{prefix}{name}" == reftarget From 4e25e15b36af5c7f597b7d0f50ada064b8948b59 Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Thu, 9 Nov 2023 16:21:14 -0800 Subject: [PATCH 14/72] Add expressions to Sphinx --- docs/cudf/source/libcudf_docs/expressions.rst | 5 +++++ docs/cudf/source/libcudf_docs/index.rst | 1 + 2 files changed, 6 insertions(+) create mode 100644 docs/cudf/source/libcudf_docs/expressions.rst diff --git a/docs/cudf/source/libcudf_docs/expressions.rst b/docs/cudf/source/libcudf_docs/expressions.rst new file mode 100644 index 00000000000..c65d8a29858 --- /dev/null +++ b/docs/cudf/source/libcudf_docs/expressions.rst @@ -0,0 +1,5 @@ +Expression Evaluation +===================== + +.. doxygengroup:: expressions + :members: diff --git a/docs/cudf/source/libcudf_docs/index.rst b/docs/cudf/source/libcudf_docs/index.rst index 6f410179c66..4c5f6b12581 100644 --- a/docs/cudf/source/libcudf_docs/index.rst +++ b/docs/cudf/source/libcudf_docs/index.rst @@ -108,6 +108,7 @@ libcudf documentation utility_error labeling_apis label_bins + expressions Indices and tables From 81eb6993fef0fbaba2fa96c6cc8c549615b48c03 Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Thu, 9 Nov 2023 16:26:55 -0800 Subject: [PATCH 15/72] Ignore detail APIs for now --- docs/cudf/source/conf.py | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/cudf/source/conf.py b/docs/cudf/source/conf.py index af10ab86081..b84543aae96 100644 --- a/docs/cudf/source/conf.py +++ b/docs/cudf/source/conf.py @@ -302,6 +302,7 @@ def on_missing_reference(app, env, node, contnode): "id_to_type_impl", "type_to_scalar_type_impl", "type_to_scalar_type_impl", + "detail", # TODO: Look into why so many public APIs link to things in detail # Template types "Radix" ] From 327ec954e3555ae030037766aeea99523933975f Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Thu, 9 Nov 2023 17:01:16 -0800 Subject: [PATCH 16/72] Add io_types to Sphinx docs --- docs/cudf/source/libcudf_docs/index.rst | 1 + docs/cudf/source/libcudf_docs/io_types.rst | 5 +++++ 2 files changed, 6 insertions(+) create mode 100644 docs/cudf/source/libcudf_docs/io_types.rst diff --git a/docs/cudf/source/libcudf_docs/index.rst b/docs/cudf/source/libcudf_docs/index.rst index 4c5f6b12581..c4de3bca3ef 100644 --- a/docs/cudf/source/libcudf_docs/index.rst +++ b/docs/cudf/source/libcudf_docs/index.rst @@ -77,6 +77,7 @@ libcudf documentation dictionary_search dictionary_update io_apis + io_types io_readers io_writers io_datasources diff --git a/docs/cudf/source/libcudf_docs/io_types.rst b/docs/cudf/source/libcudf_docs/io_types.rst new file mode 100644 index 00000000000..9e4525d421a --- /dev/null +++ b/docs/cudf/source/libcudf_docs/io_types.rst @@ -0,0 +1,5 @@ +Io Types +========== + +.. doxygengroup:: io_types + :members: From e100ee49bca213d7f62645f03b108547d5fee7a5 Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Tue, 21 Nov 2023 22:21:35 +0000 Subject: [PATCH 17/72] Also ignore md_regex --- docs/cudf/source/conf.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/cudf/source/conf.py b/docs/cudf/source/conf.py index b84543aae96..1d6aff4e7e6 100644 --- a/docs/cudf/source/conf.py +++ b/docs/cudf/source/conf.py @@ -304,7 +304,9 @@ def on_missing_reference(app, env, node, contnode): "type_to_scalar_type_impl", "detail", # TODO: Look into why so many public APIs link to things in detail # Template types - "Radix" + "Radix", + # Extra pages that don't exist in Sphinx (yet) + "md_regex", ] if ( node["refdomain"] == "cpp" From 740c4f7ac389ebf095fbd1ea1eabb691339d0f56 Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Tue, 21 Nov 2023 23:06:19 +0000 Subject: [PATCH 18/72] Breathe doesn't support deprecated tag. --- docs/cudf/source/conf.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/cudf/source/conf.py b/docs/cudf/source/conf.py index 1d6aff4e7e6..7a9cbfe4079 100644 --- a/docs/cudf/source/conf.py +++ b/docs/cudf/source/conf.py @@ -307,6 +307,9 @@ def on_missing_reference(app, env, node, contnode): "Radix", # Extra pages that don't exist in Sphinx (yet) "md_regex", + # Unsupported by Breathe + # https://github.com/breathe-doc/breathe/issues/355 + "deprecated", ] if ( node["refdomain"] == "cpp" From 3c610ed7e87ba8cf7803afa57a55711fe69848b7 Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Tue, 21 Nov 2023 23:06:57 +0000 Subject: [PATCH 19/72] Add anchors for namespaces --- docs/cudf/source/libcudf_docs/cudf_namespace.rst | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/docs/cudf/source/libcudf_docs/cudf_namespace.rst b/docs/cudf/source/libcudf_docs/cudf_namespace.rst index 544603efa6b..8d12e39cc15 100644 --- a/docs/cudf/source/libcudf_docs/cudf_namespace.rst +++ b/docs/cudf/source/libcudf_docs/cudf_namespace.rst @@ -1,5 +1,16 @@ libcudf ======= +.. TODO: This page really only exists right now for the purpose of resolving namespace links. We may want to just ignore these instead + .. doxygennamespace:: cudf :desc-only: + +.. doxygennamespace:: cudf::ast + :desc-only: + +.. doxygennamespace:: cudf::io + :desc-only: + +.. doxygennamespace:: cudf::hashing + :desc-only: From fbb13967c526ecd3d0b31a917d868b432b41f2d1 Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Thu, 30 Nov 2023 00:57:42 +0000 Subject: [PATCH 20/72] Add md_regex page --- docs/cudf/source/conf.py | 2 -- docs/cudf/source/libcudf_docs/index.rst | 1 + docs/cudf/source/libcudf_docs/md_regex.rst | 4 ++++ 3 files changed, 5 insertions(+), 2 deletions(-) create mode 100644 docs/cudf/source/libcudf_docs/md_regex.rst diff --git a/docs/cudf/source/conf.py b/docs/cudf/source/conf.py index 7a9cbfe4079..4c1bd065626 100644 --- a/docs/cudf/source/conf.py +++ b/docs/cudf/source/conf.py @@ -305,8 +305,6 @@ def on_missing_reference(app, env, node, contnode): "detail", # TODO: Look into why so many public APIs link to things in detail # Template types "Radix", - # Extra pages that don't exist in Sphinx (yet) - "md_regex", # Unsupported by Breathe # https://github.com/breathe-doc/breathe/issues/355 "deprecated", diff --git a/docs/cudf/source/libcudf_docs/index.rst b/docs/cudf/source/libcudf_docs/index.rst index c4de3bca3ef..1f98f5aa2d5 100644 --- a/docs/cudf/source/libcudf_docs/index.rst +++ b/docs/cudf/source/libcudf_docs/index.rst @@ -110,6 +110,7 @@ libcudf documentation labeling_apis label_bins expressions + md_regex Indices and tables diff --git a/docs/cudf/source/libcudf_docs/md_regex.rst b/docs/cudf/source/libcudf_docs/md_regex.rst new file mode 100644 index 00000000000..0eb0f464063 --- /dev/null +++ b/docs/cudf/source/libcudf_docs/md_regex.rst @@ -0,0 +1,4 @@ +.. _md_regex: + +.. include:: ../../../../cpp/doxygen/regex.md + :parser: myst_parser.sphinx_ From 2952b4b9c8bd36eb768bffee1cc1446b174b9aed Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Thu, 30 Nov 2023 01:06:09 +0000 Subject: [PATCH 21/72] Also search the numeric namespace --- docs/cudf/source/conf.py | 4 +++- docs/cudf/source/libcudf_docs/cudf_namespace.rst | 3 +++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/docs/cudf/source/conf.py b/docs/cudf/source/conf.py index 4c1bd065626..42c84431cd3 100644 --- a/docs/cudf/source/conf.py +++ b/docs/cudf/source/conf.py @@ -324,7 +324,9 @@ def on_missing_reference(app, env, node, contnode): # all that's missing. Include the empty prefix in case we're searching # for a stripped template. base_namespace = "cudf" - other_namespaces = {"io", "strings", "ast", "ast::expression"} + # Note that numeric will never actually be prefixed by cudf since it's + # its own namespace, but in this code we'll search the right one too. + other_namespaces = {"io", "strings", "ast", "ast::expression", "numeric"} def generate_namespaces(base_namespace, other_namespaces): yield base_namespace + "::" diff --git a/docs/cudf/source/libcudf_docs/cudf_namespace.rst b/docs/cudf/source/libcudf_docs/cudf_namespace.rst index 8d12e39cc15..13ccdad16e3 100644 --- a/docs/cudf/source/libcudf_docs/cudf_namespace.rst +++ b/docs/cudf/source/libcudf_docs/cudf_namespace.rst @@ -14,3 +14,6 @@ libcudf .. doxygennamespace:: cudf::hashing :desc-only: + +.. doxygennamespace:: numeric + :desc-only: From 7383e929d425c7566a5fb8eb0f47cf539b034fa9 Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Thu, 30 Nov 2023 15:25:46 +0000 Subject: [PATCH 22/72] Add range_window_bounds to group --- docs/cudf/source/libcudf_docs/fixed_point_classes.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/cudf/source/libcudf_docs/fixed_point_classes.rst b/docs/cudf/source/libcudf_docs/fixed_point_classes.rst index 0920e96ae0a..0a1ef1b4d63 100644 --- a/docs/cudf/source/libcudf_docs/fixed_point_classes.rst +++ b/docs/cudf/source/libcudf_docs/fixed_point_classes.rst @@ -1,3 +1,4 @@ + Fixed Point Classes =================== From 4ba01d36f56544d80a90193659e12f56b052b174 Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Thu, 30 Nov 2023 21:34:21 +0000 Subject: [PATCH 23/72] Add nvtext namespace and clean up namespace logic --- docs/cudf/source/conf.py | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/docs/cudf/source/conf.py b/docs/cudf/source/conf.py index 42c84431cd3..7848ba42d96 100644 --- a/docs/cudf/source/conf.py +++ b/docs/cudf/source/conf.py @@ -323,22 +323,24 @@ def on_missing_reference(app, env, node, contnode): # Try to find the target prefixed with e.g. namespaces in case that's # all that's missing. Include the empty prefix in case we're searching # for a stripped template. - base_namespace = "cudf" - # Note that numeric will never actually be prefixed by cudf since it's - # its own namespace, but in this code we'll search the right one too. - other_namespaces = {"io", "strings", "ast", "ast::expression", "numeric"} - - def generate_namespaces(base_namespace, other_namespaces): - yield base_namespace + "::" - for other_namespace in other_namespaces: - yield f"{other_namespace}::" - yield f"{base_namespace}::{other_namespace}::" + namespaces = { + "cudf": {"io", "strings", "ast", "ast::expression"}, + "numeric": {}, + "nvtext": {}, + } + + def generate_namespaces(namespaces): + for base_namespace, other_namespaces in namespaces.items(): + yield base_namespace + "::" + for other_namespace in other_namespaces: + yield f"{other_namespace}::" + yield f"{base_namespace}::{other_namespace}::" for (name, _, _, docname, _, _) in env.domains[ "cpp" ].get_objects(): - for prefix in generate_namespaces(base_namespace, other_namespaces): + for prefix in generate_namespaces(namespaces): if ( name == f"{prefix}{reftarget}" or f"{prefix}{name}" == reftarget From fcc9fc3f457294599fe91b7ac01dba8a42a60e1a Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Thu, 30 Nov 2023 21:59:36 +0000 Subject: [PATCH 24/72] Ignore kafka objects --- docs/cudf/source/conf.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/cudf/source/conf.py b/docs/cudf/source/conf.py index 7848ba42d96..cdbc331c169 100644 --- a/docs/cudf/source/conf.py +++ b/docs/cudf/source/conf.py @@ -303,6 +303,9 @@ def on_missing_reference(app, env, node, contnode): "type_to_scalar_type_impl", "type_to_scalar_type_impl", "detail", # TODO: Look into why so many public APIs link to things in detail + # kafka objects + "python_callable_type", + "kafka_oauth_callback_wrapper_type", # Template types "Radix", # Unsupported by Breathe From a182b49991cba4f1973e4fef2a14ca9a03f6ab3c Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Thu, 30 Nov 2023 22:18:46 +0000 Subject: [PATCH 25/72] Make sure to use the template-stripped reftarget when searching intersphinx inventories --- docs/cudf/source/conf.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/docs/cudf/source/conf.py b/docs/cudf/source/conf.py index cdbc331c169..20d7a854fe4 100644 --- a/docs/cudf/source/conf.py +++ b/docs/cudf/source/conf.py @@ -359,16 +359,15 @@ def generate_namespaces(namespaces): ) intersphinx_extra_prefixes = ["rmm::", "rmm::mr::", "mr::", ""] - original_reftarget = node["reftarget"] for prefix in intersphinx_extra_prefixes: # First try adding the prefix. - node["reftarget"] = f"{prefix}{original_reftarget}" + node["reftarget"] = f"{prefix}{reftarget}" if (ref := intersphinx.resolve_reference_detect_inventory(env, node, contnode)) is not None: return ref # Then try removing the prefix. - node["reftarget"] = original_reftarget.replace(prefix, "") + node["reftarget"] = reftarget.replace(prefix, "") if (ref := intersphinx.resolve_reference_detect_inventory(env, node, contnode)) is not None: return ref From 5ed9a0d49198c57df2fcc5ae3dc955479edb2e1c Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Thu, 30 Nov 2023 22:43:22 +0000 Subject: [PATCH 26/72] Add spans to Sphinx --- docs/cudf/source/libcudf_docs/index.rst | 1 + docs/cudf/source/libcudf_docs/utility_span.rst | 5 +++++ 2 files changed, 6 insertions(+) create mode 100644 docs/cudf/source/libcudf_docs/utility_span.rst diff --git a/docs/cudf/source/libcudf_docs/index.rst b/docs/cudf/source/libcudf_docs/index.rst index 1f98f5aa2d5..a4b2b1f9807 100644 --- a/docs/cudf/source/libcudf_docs/index.rst +++ b/docs/cudf/source/libcudf_docs/index.rst @@ -107,6 +107,7 @@ libcudf documentation utility_dispatcher utility_bitmask utility_error + utility_span labeling_apis label_bins expressions diff --git a/docs/cudf/source/libcudf_docs/utility_span.rst b/docs/cudf/source/libcudf_docs/utility_span.rst new file mode 100644 index 00000000000..fdb1d254c0e --- /dev/null +++ b/docs/cudf/source/libcudf_docs/utility_span.rst @@ -0,0 +1,5 @@ +Utility Span +============ + +.. doxygengroup:: utility_span + :members: From 0850b1c2376a5e955fce23ec0c89f1b2e50298d1 Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Thu, 30 Nov 2023 22:45:25 +0000 Subject: [PATCH 27/72] Ignore dlmanagedtensor for now --- docs/cudf/source/conf.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/docs/cudf/source/conf.py b/docs/cudf/source/conf.py index 20d7a854fe4..48451f9fcdd 100644 --- a/docs/cudf/source/conf.py +++ b/docs/cudf/source/conf.py @@ -285,7 +285,7 @@ def on_missing_reference(app, env, node, contnode): "thrust", "cuda", "arrow", - # # Unknown types + # Unknown types "int8_t", "int16_t", "int32_t", @@ -311,6 +311,9 @@ def on_missing_reference(app, env, node, contnode): # Unsupported by Breathe # https://github.com/breathe-doc/breathe/issues/355 "deprecated", + # TODO: This should be possible to crosslink by adding the dlpack + # Sphinx docs to the inventory. + "DLManagedTensor", ] if ( node["refdomain"] == "cpp" From 7dcf8f99b617b47d7dcfa5e243cac7906b527de1 Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Thu, 30 Nov 2023 22:54:24 +0000 Subject: [PATCH 28/72] Add tdigest to Sphinx --- docs/cudf/source/libcudf_docs/index.rst | 1 + docs/cudf/source/libcudf_docs/tdigest.rst | 5 +++++ 2 files changed, 6 insertions(+) create mode 100644 docs/cudf/source/libcudf_docs/tdigest.rst diff --git a/docs/cudf/source/libcudf_docs/index.rst b/docs/cudf/source/libcudf_docs/index.rst index a4b2b1f9807..6c95f2ad51b 100644 --- a/docs/cudf/source/libcudf_docs/index.rst +++ b/docs/cudf/source/libcudf_docs/index.rst @@ -112,6 +112,7 @@ libcudf documentation label_bins expressions md_regex + tdigest Indices and tables diff --git a/docs/cudf/source/libcudf_docs/tdigest.rst b/docs/cudf/source/libcudf_docs/tdigest.rst new file mode 100644 index 00000000000..9eb97df8337 --- /dev/null +++ b/docs/cudf/source/libcudf_docs/tdigest.rst @@ -0,0 +1,5 @@ +tdigest +======= + +.. doxygengroup:: tdigest + :members: From 2c111ebb017dcc8a8da1d0a88840056b270f301f Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Thu, 30 Nov 2023 23:47:24 +0000 Subject: [PATCH 29/72] Ignore char_utf8 --- docs/cudf/source/conf.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/cudf/source/conf.py b/docs/cudf/source/conf.py index 48451f9fcdd..a2f2faef84b 100644 --- a/docs/cudf/source/conf.py +++ b/docs/cudf/source/conf.py @@ -314,6 +314,10 @@ def on_missing_reference(app, env, node, contnode): # TODO: This should be possible to crosslink by adding the dlpack # Sphinx docs to the inventory. "DLManagedTensor", + # TODO: This type is currently defined in a detail header but it's in + # the public namespace. However, it's used in the detail header, so it + # needs to be put into a public header that can be shared. + "char_utf8", ] if ( node["refdomain"] == "cpp" From 7b690f83249ac5c0e196cd58e32c0989614831a1 Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Fri, 1 Dec 2023 18:17:29 +0000 Subject: [PATCH 30/72] Also account for std namespaced objects --- docs/cudf/source/conf.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/cudf/source/conf.py b/docs/cudf/source/conf.py index a2f2faef84b..3a4674d5ccd 100644 --- a/docs/cudf/source/conf.py +++ b/docs/cudf/source/conf.py @@ -319,8 +319,9 @@ def on_missing_reference(app, env, node, contnode): # needs to be put into a public header that can be shared. "char_utf8", ] + if ( - node["refdomain"] == "cpp" + node["refdomain"] in ("std", "cpp") and (reftarget := node.get("reftarget")) is not None ): if any(toskip in reftarget for toskip in names_to_skip): From de3e5de74074f82be3223786fe2d0fcaad3e5475 Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Fri, 1 Dec 2023 18:18:27 +0000 Subject: [PATCH 31/72] Add a couple more specific names to remap --- docs/cudf/source/conf.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/cudf/source/conf.py b/docs/cudf/source/conf.py index 3a4674d5ccd..aa6adcb2f77 100644 --- a/docs/cudf/source/conf.py +++ b/docs/cudf/source/conf.py @@ -273,6 +273,12 @@ def on_missing_reference(app, env, node, contnode): # use `cudf.Index` node["reftarget"] = "cudf.Index" return contnode + if "namespacecudf" in name: + node["reftarget"] = "cudf" + return contnode + if "classcudf_1_1column__device__view_" in name: + node["reftarget"] = "cudf::column_device_view" + return contnode if (refid := node.get("refid")) is not None and "hpp" in refid: # We don't want to link to C++ header files directly from the From f0e030e75529317d7fb336c50e26b2780c0a06bd Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Fri, 1 Dec 2023 18:59:15 +0000 Subject: [PATCH 32/72] Add io::datasource --- docs/cudf/source/conf.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/cudf/source/conf.py b/docs/cudf/source/conf.py index aa6adcb2f77..895b9dcba2c 100644 --- a/docs/cudf/source/conf.py +++ b/docs/cudf/source/conf.py @@ -341,7 +341,8 @@ def on_missing_reference(app, env, node, contnode): # all that's missing. Include the empty prefix in case we're searching # for a stripped template. namespaces = { - "cudf": {"io", "strings", "ast", "ast::expression"}, + # Note that io::datasource is actually a nested class + "cudf": {"io", "io::datasource", "strings", "ast", "ast::expression"}, "numeric": {}, "nvtext": {}, } From 153a6959a3d387e2b523b16b979ac93a555f6596 Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Fri, 1 Dec 2023 19:26:39 +0000 Subject: [PATCH 33/72] Repoint intersphinx to the online docs --- docs/cudf/source/conf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/cudf/source/conf.py b/docs/cudf/source/conf.py index 895b9dcba2c..844fc7ef4a6 100644 --- a/docs/cudf/source/conf.py +++ b/docs/cudf/source/conf.py @@ -227,7 +227,7 @@ class PseudoLexer(RegexLexer): "pyarrow": ("https://arrow.apache.org/docs/", None), "pandas": ("https://pandas.pydata.org/docs/", None), "typing_extensions": ("https://typing-extensions.readthedocs.io/en/stable/", None), - "rmm": ("../../../../../rmm/python/docs/_build/html/", "../../../../rmm/python/docs/_build/html/objects.inv"), + "rmm": ("https://docs.rapids.ai/api/rmm/nightly/", None), } # Config numpydoc From 6a72a57729bccdbb5466dac8271e23ddd5db9aaa Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Fri, 1 Dec 2023 20:44:41 +0000 Subject: [PATCH 34/72] Add missing orc types --- cpp/src/io/orc/orc.hpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/cpp/src/io/orc/orc.hpp b/cpp/src/io/orc/orc.hpp index 4f3e0a82768..fcb0c2e637d 100644 --- a/cpp/src/io/orc/orc.hpp +++ b/cpp/src/io/orc/orc.hpp @@ -144,6 +144,8 @@ struct StripeFooter { /** * @brief Contains per-column ORC statistics. * + * @ingroup io_types + * * At most one of the `***_statistics` members has a value. */ struct column_statistics { From b3c4157a489985ee0df66ab34391499972f7fef1 Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Fri, 1 Dec 2023 23:50:26 +0000 Subject: [PATCH 35/72] Ignore bpe pairs impl --- docs/cudf/source/conf.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/cudf/source/conf.py b/docs/cudf/source/conf.py index 844fc7ef4a6..02e0cf3ff3c 100644 --- a/docs/cudf/source/conf.py +++ b/docs/cudf/source/conf.py @@ -324,6 +324,8 @@ def on_missing_reference(app, env, node, contnode): # the public namespace. However, it's used in the detail header, so it # needs to be put into a public header that can be shared. "char_utf8", + # TODO: This type should probably be made private in C++ + "bpe_merge_pairs_impl", ] if ( From 6ddaa4ed06ce91528c6edd81914cc3db68ff5d09 Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Fri, 1 Dec 2023 23:52:28 +0000 Subject: [PATCH 36/72] Add newly added doxygen namespaces to Sphinx --- docs/cudf/source/libcudf_docs/cudf_namespace.rst | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/docs/cudf/source/libcudf_docs/cudf_namespace.rst b/docs/cudf/source/libcudf_docs/cudf_namespace.rst index 13ccdad16e3..fd4f3c9b6ab 100644 --- a/docs/cudf/source/libcudf_docs/cudf_namespace.rst +++ b/docs/cudf/source/libcudf_docs/cudf_namespace.rst @@ -12,8 +12,17 @@ libcudf .. doxygennamespace:: cudf::io :desc-only: +.. doxygennamespace:: cudf::io::orc + :desc-only: + +.. doxygennamespace:: cudf::io::parquet + :desc-only: + .. doxygennamespace:: cudf::hashing :desc-only: .. doxygennamespace:: numeric :desc-only: + +.. doxygennamespace:: cudf::tdigest + :desc-only: From 7ceb3028ca8a58618887e464aed949c79398e990 Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Sat, 2 Dec 2023 00:15:52 +0000 Subject: [PATCH 37/72] Remove unused ingroup from src file and ignore symbol instead --- cpp/src/io/orc/orc.hpp | 2 -- docs/cudf/source/conf.py | 2 ++ 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/cpp/src/io/orc/orc.hpp b/cpp/src/io/orc/orc.hpp index fcb0c2e637d..4f3e0a82768 100644 --- a/cpp/src/io/orc/orc.hpp +++ b/cpp/src/io/orc/orc.hpp @@ -144,8 +144,6 @@ struct StripeFooter { /** * @brief Contains per-column ORC statistics. * - * @ingroup io_types - * * At most one of the `***_statistics` members has a value. */ struct column_statistics { diff --git a/docs/cudf/source/conf.py b/docs/cudf/source/conf.py index 02e0cf3ff3c..f876251d4ec 100644 --- a/docs/cudf/source/conf.py +++ b/docs/cudf/source/conf.py @@ -326,6 +326,8 @@ def on_missing_reference(app, env, node, contnode): "char_utf8", # TODO: This type should probably be made private in C++ "bpe_merge_pairs_impl", + # TODO: This is currently in a src file but perhaps should be public + "orc::column_statistics", ] if ( From 4f19a291438acff5e4218b58a9aea916a3b654f5 Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Sat, 2 Dec 2023 00:16:07 +0000 Subject: [PATCH 38/72] Ignore TypeKind --- docs/cudf/source/conf.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/cudf/source/conf.py b/docs/cudf/source/conf.py index f876251d4ec..f954289c523 100644 --- a/docs/cudf/source/conf.py +++ b/docs/cudf/source/conf.py @@ -328,6 +328,9 @@ def on_missing_reference(app, env, node, contnode): "bpe_merge_pairs_impl", # TODO: This is currently in a src file but perhaps should be public "orc::column_statistics", + # Sphinx doesn't know how to distinguish between the ORC and Parquet + # definitions because Breathe doesn't to preserve namespaces for enums. + "TypeKind", ] if ( From b22464192e707a337aa8f3aded229be9451d1353 Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Sat, 2 Dec 2023 01:06:25 +0000 Subject: [PATCH 39/72] Fix header --- docs/cudf/source/libcudf_docs/io_types.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/cudf/source/libcudf_docs/io_types.rst b/docs/cudf/source/libcudf_docs/io_types.rst index 9e4525d421a..abdc43bc6fa 100644 --- a/docs/cudf/source/libcudf_docs/io_types.rst +++ b/docs/cudf/source/libcudf_docs/io_types.rst @@ -1,5 +1,5 @@ Io Types -========== +======== .. doxygengroup:: io_types :members: From 93a432dfe39defc30f3ba98ccbab9fa52c537807 Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Fri, 15 Dec 2023 00:03:55 +0000 Subject: [PATCH 40/72] Add script to parse xml and fix known issues --- cpp/doxygen/parse_xml.py | 45 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 cpp/doxygen/parse_xml.py diff --git a/cpp/doxygen/parse_xml.py b/cpp/doxygen/parse_xml.py new file mode 100644 index 00000000000..6b90f0d5be3 --- /dev/null +++ b/cpp/doxygen/parse_xml.py @@ -0,0 +1,45 @@ +# Copyright (c) 2023, NVIDIA CORPORATION. + +import xml.etree.ElementTree as ET +import glob + + +types_to_remove = ("CUDF_ENABLE_IF", "std::enable_if") +defvals_to_remove = ("nullptr") +def remove_param_with_cudf_enable_if(root): + for parent in root.findall(".//param/.."): + for param in parent.findall(".//param"): + for type_ in param.findall("./type"): + if any(r in ET.tostring(type_).decode() for r in types_to_remove): + parent.remove(param) + break + for param in parent.findall(".//param"): + for type_ in param.findall("./defval"): + if any(r in ET.tostring(type_).decode() for r in defvals_to_remove): + parent.remove(param) + break + + strings_to_remove = ("__forceinline__", "CUDF_HOST_DEVICE", "decltype(auto)") + for field in (".//type", ".//definition"): + for type_ in root.findall(field): + if type_.text is not None: + for string in strings_to_remove: + type_.text = type_.text.replace(string, "") + if field == ".//type": + # Due to https://github.com/breathe-doc/breathe/issues/916 + # friend is inserted twice, once in the type and once in the + # definition. We choose to remove from the definition. + type_.text = type_.text.replace("friend", "") + + + +# Parse the XML file using xml.etree.ElementTree +for fn in glob.glob("xml/*.xml"): + tree = ET.parse(fn) + root = tree.getroot() + + # Remove nodes with containing 'CUDF_ENABLE_IF' + remove_param_with_cudf_enable_if(root) + + # Save the modified XML to a new file + tree.write(fn) From 681721761b17e97f69affa8bd9874d5bf1484319 Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Fri, 15 Dec 2023 00:33:14 +0000 Subject: [PATCH 41/72] Parse more precisely and remove potential SFINAE duplicates --- cpp/doxygen/parse_xml.py | 42 +++++++++++++++++++++++++++------------- 1 file changed, 29 insertions(+), 13 deletions(-) diff --git a/cpp/doxygen/parse_xml.py b/cpp/doxygen/parse_xml.py index 6b90f0d5be3..b8a8b0336ae 100644 --- a/cpp/doxygen/parse_xml.py +++ b/cpp/doxygen/parse_xml.py @@ -4,20 +4,36 @@ import glob -types_to_remove = ("CUDF_ENABLE_IF", "std::enable_if") -defvals_to_remove = ("nullptr") def remove_param_with_cudf_enable_if(root): - for parent in root.findall(".//param/.."): - for param in parent.findall(".//param"): - for type_ in param.findall("./type"): - if any(r in ET.tostring(type_).decode() for r in types_to_remove): - parent.remove(param) - break - for param in parent.findall(".//param"): - for type_ in param.findall("./defval"): - if any(r in ET.tostring(type_).decode() for r in defvals_to_remove): - parent.remove(param) - break + types_to_remove = ("CUDF_ENABLE_IF", "std::enable_if") + defvals_to_remove = ("nullptr") + + + seen_ids = set() + for sectiondef in root.findall(".//sectiondef"): + for memberdef in sectiondef.findall("./memberdef"): + for parent in memberdef.findall("./templateparamlist"): + for param in parent.findall("./param"): + for type_ in param.findall("./type"): + if any(r in ET.tostring(type_).decode() for r in types_to_remove): + id_ = memberdef.get("id") + assert id_ is not None + # If this is the first time we're seeing this function, just + # remove the template parameter. Otherwise, remove the + # overload altogether and just rely on documenting one of + # the SFINAE overloads. + if id_ in seen_ids: + sectiondef.remove(memberdef) + else: + seen_ids.add(id_) + parent.remove(param) + break + for parent in memberdef.findall("./templateparamlist"): + for param in parent.findall("./param"): + for type_ in param.findall("./defval"): + if any(r in ET.tostring(type_).decode() for r in defvals_to_remove): + parent.remove(param) + break strings_to_remove = ("__forceinline__", "CUDF_HOST_DEVICE", "decltype(auto)") for field in (".//type", ".//definition"): From 9ea9c75cc4eded042b1141d1fc42860676a95f3c Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Fri, 15 Dec 2023 00:37:44 +0000 Subject: [PATCH 42/72] Remove nonexistent group from Sphinx --- docs/cudf/source/libcudf_docs/index.rst | 1 - docs/cudf/source/libcudf_docs/strings_json.rst | 5 ----- 2 files changed, 6 deletions(-) delete mode 100644 docs/cudf/source/libcudf_docs/strings_json.rst diff --git a/docs/cudf/source/libcudf_docs/index.rst b/docs/cudf/source/libcudf_docs/index.rst index 6c95f2ad51b..3c64ee32174 100644 --- a/docs/cudf/source/libcudf_docs/index.rst +++ b/docs/cudf/source/libcudf_docs/index.rst @@ -70,7 +70,6 @@ libcudf documentation strings_replace strings_split strings_extract - strings_json strings_regex dictionary_apis dictionary_encode diff --git a/docs/cudf/source/libcudf_docs/strings_json.rst b/docs/cudf/source/libcudf_docs/strings_json.rst deleted file mode 100644 index f6c68e68dab..00000000000 --- a/docs/cudf/source/libcudf_docs/strings_json.rst +++ /dev/null @@ -1,5 +0,0 @@ -Strings Json -============ - -.. doxygengroup:: strings_json - :members: From 3ed3a2f225662e46b321d198d68aaf2a289f74b6 Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Fri, 15 Dec 2023 01:04:25 +0000 Subject: [PATCH 43/72] Simplify script --- cpp/doxygen/parse_xml.py | 67 ++++++++++++++++++---------------------- 1 file changed, 30 insertions(+), 37 deletions(-) diff --git a/cpp/doxygen/parse_xml.py b/cpp/doxygen/parse_xml.py index b8a8b0336ae..060116b6fd9 100644 --- a/cpp/doxygen/parse_xml.py +++ b/cpp/doxygen/parse_xml.py @@ -4,58 +4,51 @@ import glob -def remove_param_with_cudf_enable_if(root): - types_to_remove = ("CUDF_ENABLE_IF", "std::enable_if") - defvals_to_remove = ("nullptr") - - +def clean_definitions(root): + # Breathe can't handle SFINAE properly: + # https://github.com/breathe-doc/breathe/issues/624 seen_ids = set() for sectiondef in root.findall(".//sectiondef"): for memberdef in sectiondef.findall("./memberdef"): - for parent in memberdef.findall("./templateparamlist"): - for param in parent.findall("./param"): + id_ = memberdef.get("id") + for tparamlist in memberdef.findall("./templateparamlist"): + for param in tparamlist.findall("./param"): for type_ in param.findall("./type"): - if any(r in ET.tostring(type_).decode() for r in types_to_remove): - id_ = memberdef.get("id") - assert id_ is not None - # If this is the first time we're seeing this function, just - # remove the template parameter. Otherwise, remove the - # overload altogether and just rely on documenting one of - # the SFINAE overloads. - if id_ in seen_ids: - sectiondef.remove(memberdef) - else: + if "enable_if" in ET.tostring(type_).decode().lower(): + if id_ not in seen_ids: + # If this is the first time we're seeing this function, + # just remove the template parameter. seen_ids.add(id_) - parent.remove(param) - break - for parent in memberdef.findall("./templateparamlist"): - for param in parent.findall("./param"): - for type_ in param.findall("./defval"): - if any(r in ET.tostring(type_).decode() for r in defvals_to_remove): - parent.remove(param) + tparamlist.remove(param) + else: + # Otherwise, remove the overload altogether and just + # rely on documenting one of the SFINAE overloads. + sectiondef.remove(memberdef) break - strings_to_remove = ("__forceinline__", "CUDF_HOST_DEVICE", "decltype(auto)") + # If the id is in seen_ids we've already either removed the param or + # the entire memberdef. + if id_ not in seen_ids: + # In addition to enable_if, check for overloads set up by + # ...*=nullptr. + for type_ in param.findall("./defval"): + if "nullptr" in ET.tostring(type_).decode(): + tparamlist.remove(param) + break + + + # All of these in type declarations cause Breathe to choke. + # For friend, see https://github.com/breathe-doc/breathe/issues/916 + strings_to_remove = ("__forceinline__", "CUDF_HOST_DEVICE", "decltype(auto)", "friend") for field in (".//type", ".//definition"): for type_ in root.findall(field): if type_.text is not None: for string in strings_to_remove: type_.text = type_.text.replace(string, "") - if field == ".//type": - # Due to https://github.com/breathe-doc/breathe/issues/916 - # friend is inserted twice, once in the type and once in the - # definition. We choose to remove from the definition. - type_.text = type_.text.replace("friend", "") -# Parse the XML file using xml.etree.ElementTree for fn in glob.glob("xml/*.xml"): tree = ET.parse(fn) - root = tree.getroot() - - # Remove nodes with containing 'CUDF_ENABLE_IF' - remove_param_with_cudf_enable_if(root) - - # Save the modified XML to a new file + clean_definitions(tree.getroot()) tree.write(fn) From 8151aad465efb27543e3c7c103f7f99b839d7f13 Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Fri, 15 Dec 2023 01:09:38 +0000 Subject: [PATCH 44/72] Make checks strict again --- ci/checks/doxygen.sh | 3 --- docs/cudf/Makefile | 2 +- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/ci/checks/doxygen.sh b/ci/checks/doxygen.sh index 975e80943c7..d932fa097e9 100755 --- a/ci/checks/doxygen.sh +++ b/ci/checks/doxygen.sh @@ -10,9 +10,6 @@ if ! [ -x "$(command -v doxygen)" ]; then exit 0 fi -echo -e "Temporarily disabling check to allow CI to complete" -exit 0 - # Utility to return version as number for comparison function version { echo "$@" | awk -F. '{ printf("%d%03d%03d%03d\n", $1,$2,$3,$4); }'; } diff --git a/docs/cudf/Makefile b/docs/cudf/Makefile index e513c89a561..0b3a6876a5a 100644 --- a/docs/cudf/Makefile +++ b/docs/cudf/Makefile @@ -2,7 +2,7 @@ # # You can set these variables from the command line. -SPHINXOPTS = -n -v +SPHINXOPTS = -n -v -W --keep-going SPHINXBUILD = sphinx-build SPHINXPROJ = cudf SOURCEDIR = source From da266dc16b96d250f951503f43ff2a382a673b91 Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Fri, 15 Dec 2023 01:14:59 +0000 Subject: [PATCH 45/72] Temporarily move parsing script --- {cpp/doxygen => docs/cudf}/parse_xml.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename {cpp/doxygen => docs/cudf}/parse_xml.py (100%) diff --git a/cpp/doxygen/parse_xml.py b/docs/cudf/parse_xml.py similarity index 100% rename from cpp/doxygen/parse_xml.py rename to docs/cudf/parse_xml.py From 06625bf03deeb80ffcb7050598e0d22ab9de4ff5 Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Fri, 15 Dec 2023 18:03:58 +0000 Subject: [PATCH 46/72] Moving parsing into conf.py --- docs/cudf/parse_xml.py | 54 ------------------------------------- docs/cudf/source/conf.py | 58 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 58 insertions(+), 54 deletions(-) delete mode 100644 docs/cudf/parse_xml.py diff --git a/docs/cudf/parse_xml.py b/docs/cudf/parse_xml.py deleted file mode 100644 index 060116b6fd9..00000000000 --- a/docs/cudf/parse_xml.py +++ /dev/null @@ -1,54 +0,0 @@ -# Copyright (c) 2023, NVIDIA CORPORATION. - -import xml.etree.ElementTree as ET -import glob - - -def clean_definitions(root): - # Breathe can't handle SFINAE properly: - # https://github.com/breathe-doc/breathe/issues/624 - seen_ids = set() - for sectiondef in root.findall(".//sectiondef"): - for memberdef in sectiondef.findall("./memberdef"): - id_ = memberdef.get("id") - for tparamlist in memberdef.findall("./templateparamlist"): - for param in tparamlist.findall("./param"): - for type_ in param.findall("./type"): - if "enable_if" in ET.tostring(type_).decode().lower(): - if id_ not in seen_ids: - # If this is the first time we're seeing this function, - # just remove the template parameter. - seen_ids.add(id_) - tparamlist.remove(param) - else: - # Otherwise, remove the overload altogether and just - # rely on documenting one of the SFINAE overloads. - sectiondef.remove(memberdef) - break - - # If the id is in seen_ids we've already either removed the param or - # the entire memberdef. - if id_ not in seen_ids: - # In addition to enable_if, check for overloads set up by - # ...*=nullptr. - for type_ in param.findall("./defval"): - if "nullptr" in ET.tostring(type_).decode(): - tparamlist.remove(param) - break - - - # All of these in type declarations cause Breathe to choke. - # For friend, see https://github.com/breathe-doc/breathe/issues/916 - strings_to_remove = ("__forceinline__", "CUDF_HOST_DEVICE", "decltype(auto)", "friend") - for field in (".//type", ".//definition"): - for type_ in root.findall(field): - if type_.text is not None: - for string in strings_to_remove: - type_.text = type_.text.replace(string, "") - - - -for fn in glob.glob("xml/*.xml"): - tree = ET.parse(fn) - clean_definitions(tree.getroot()) - tree.write(fn) diff --git a/docs/cudf/source/conf.py b/docs/cudf/source/conf.py index f954289c523..7a7b8b86315 100644 --- a/docs/cudf/source/conf.py +++ b/docs/cudf/source/conf.py @@ -16,9 +16,11 @@ # add these directories to sys.path here. If the directory is relative to the # documentation root, use os.path.abspath to make it absolute, like shown here. # +import glob import os import re import sys +import xml.etree.ElementTree as ET from docutils.nodes import Text from sphinx.addnodes import pending_xref @@ -67,8 +69,64 @@ class PseudoLexer(RegexLexer): "myst_nb", ] +# Preprocess doxygen xml for compatibility with latest Breathe +def clean_definitions(root): + # Breathe can't handle SFINAE properly: + # https://github.com/breathe-doc/breathe/issues/624 + seen_ids = set() + for sectiondef in root.findall(".//sectiondef"): + for memberdef in sectiondef.findall("./memberdef"): + id_ = memberdef.get("id") + for tparamlist in memberdef.findall("./templateparamlist"): + for param in tparamlist.findall("./param"): + for type_ in param.findall("./type"): + # CUDF_ENABLE_IF or std::enable_if + if "enable_if" in ET.tostring(type_).decode().lower(): + if id_ not in seen_ids: + # If this is the first time we're seeing this function, + # just remove the template parameter. + seen_ids.add(id_) + tparamlist.remove(param) + else: + # Otherwise, remove the overload altogether and just + # rely on documenting one of the SFINAE overloads. + sectiondef.remove(memberdef) + break + + # In addition to enable_if, check for overloads set up by + # ...*=nullptr. + for type_ in param.findall("./defval"): + if "nullptr" in ET.tostring(type_).decode(): + try: + tparamlist.remove(param) + except ValueError: + # May have already been removed in above, + # so skip. + pass + break + + + # All of these in type declarations cause Breathe to choke. + # For friend, see https://github.com/breathe-doc/breathe/issues/916 + strings_to_remove = ("__forceinline__", "CUDF_HOST_DEVICE", "decltype(auto)", "friend") + for field in (".//type", ".//definition"): + for type_ in root.findall(field): + if type_.text is not None: + for string in strings_to_remove: + type_.text = type_.text.replace(string, "") + + +def clean_all_xml_files(path): + for fn in glob.glob(os.path.join(path, "*.xml")): + tree = ET.parse(fn) + clean_definitions(tree.getroot()) + tree.write(fn) + + # Breathe Configuration breathe_projects = {"libcudf": "../../../cpp/doxygen/xml"} +for project_path in breathe_projects.values(): + clean_all_xml_files(project_path) breathe_default_project = "libcudf" From 527181f3699a54e64ff8cb0412d8bd77d917ec41 Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Fri, 15 Dec 2023 19:54:57 +0000 Subject: [PATCH 47/72] Remove outdated reference --- docs/cudf/source/index.rst | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/cudf/source/index.rst b/docs/cudf/source/index.rst index 594b7ec72db..3765b560a7f 100644 --- a/docs/cudf/source/index.rst +++ b/docs/cudf/source/index.rst @@ -29,6 +29,5 @@ other operations. user_guide/index cudf_pandas/index - api_docs/index libcudf_docs/index developer_guide/index From 59c58446815d1f5706885bc8809144007c201cdd Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Fri, 15 Dec 2023 20:06:31 +0000 Subject: [PATCH 48/72] Remove ignores that are no longer necessary --- docs/cudf/source/conf.py | 5 ----- 1 file changed, 5 deletions(-) diff --git a/docs/cudf/source/conf.py b/docs/cudf/source/conf.py index 7a7b8b86315..ec1f126ab8c 100644 --- a/docs/cudf/source/conf.py +++ b/docs/cudf/source/conf.py @@ -361,12 +361,9 @@ def on_missing_reference(app, env, node, contnode): "uint32_t", "uint64_t", # Internal objects - "CUDF_ENABLE_IF", - "CUDF_HOST_DEVICE", "id_to_type_impl", "type_to_scalar_type_impl", "type_to_scalar_type_impl", - "detail", # TODO: Look into why so many public APIs link to things in detail # kafka objects "python_callable_type", "kafka_oauth_callback_wrapper_type", @@ -382,8 +379,6 @@ def on_missing_reference(app, env, node, contnode): # the public namespace. However, it's used in the detail header, so it # needs to be put into a public header that can be shared. "char_utf8", - # TODO: This type should probably be made private in C++ - "bpe_merge_pairs_impl", # TODO: This is currently in a src file but perhaps should be public "orc::column_statistics", # Sphinx doesn't know how to distinguish between the ORC and Parquet From 90c63e589939fb12a2e8420cad2791f8bead8b07 Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Fri, 15 Dec 2023 20:13:08 +0000 Subject: [PATCH 49/72] Add links for dlpack --- docs/cudf/source/conf.py | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/docs/cudf/source/conf.py b/docs/cudf/source/conf.py index ec1f126ab8c..70f8b53e25c 100644 --- a/docs/cudf/source/conf.py +++ b/docs/cudf/source/conf.py @@ -279,13 +279,14 @@ def clean_all_xml_files(path): # Example configuration for intersphinx: refer to the Python standard library. intersphinx_mapping = { - "python": ("https://docs.python.org/3", None), "cupy": ("https://docs.cupy.dev/en/stable/", None), + "dlpack": ("https://dmlc.github.io/dlpack/latest/", None), "numpy": ("https://numpy.org/doc/stable", None), - "pyarrow": ("https://arrow.apache.org/docs/", None), "pandas": ("https://pandas.pydata.org/docs/", None), - "typing_extensions": ("https://typing-extensions.readthedocs.io/en/stable/", None), + "pyarrow": ("https://arrow.apache.org/docs/", None), + "python": ("https://docs.python.org/3", None), "rmm": ("https://docs.rapids.ai/api/rmm/nightly/", None), + "typing_extensions": ("https://typing-extensions.readthedocs.io/en/stable/", None), } # Config numpydoc @@ -372,9 +373,6 @@ def on_missing_reference(app, env, node, contnode): # Unsupported by Breathe # https://github.com/breathe-doc/breathe/issues/355 "deprecated", - # TODO: This should be possible to crosslink by adding the dlpack - # Sphinx docs to the inventory. - "DLManagedTensor", # TODO: This type is currently defined in a detail header but it's in # the public namespace. However, it's used in the detail header, so it # needs to be put into a public header that can be shared. From 238a553ac0de741e9b137ced1be4e257fa318231 Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Fri, 15 Dec 2023 20:15:13 +0000 Subject: [PATCH 50/72] Remove old test changes --- python/cudf/cudf/core/series.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/python/cudf/cudf/core/series.py b/python/cudf/cudf/core/series.py index e46f40b1374..bb329619250 100644 --- a/python/cudf/cudf/core/series.py +++ b/python/cudf/cudf/core/series.py @@ -432,9 +432,6 @@ class Series(SingleColumnFrame, IndexedFrame, Serializable): not be the same length. The result index will be the sorted union of the two indexes. - View the underlying C++ data using :cpp:class:`cudf::column_view` - Also interesting, :class:`rmm.DeviceBuffer` - ``Series`` objects are used as columns of ``DataFrame``. Parameters From 895caf8e05945f555d53d038dd1f97ddc4d4ad7a Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Fri, 15 Dec 2023 22:32:30 +0000 Subject: [PATCH 51/72] Put back detail ignore --- docs/cudf/source/conf.py | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/cudf/source/conf.py b/docs/cudf/source/conf.py index 70f8b53e25c..5a5fb47c557 100644 --- a/docs/cudf/source/conf.py +++ b/docs/cudf/source/conf.py @@ -365,6 +365,7 @@ def on_missing_reference(app, env, node, contnode): "id_to_type_impl", "type_to_scalar_type_impl", "type_to_scalar_type_impl", + "detail", # kafka objects "python_callable_type", "kafka_oauth_callback_wrapper_type", From 15942d4bb9b23aca4f70723c0228a66aea5af7df Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Fri, 15 Dec 2023 18:30:12 -0800 Subject: [PATCH 52/72] Temporarily disable text docs for cudf --- ci/build_docs.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ci/build_docs.sh b/ci/build_docs.sh index 67d611340c5..0af0d0cb80f 100755 --- a/ci/build_docs.sh +++ b/ci/build_docs.sh @@ -41,10 +41,10 @@ popd rapids-logger "Build Python docs" pushd docs/cudf make dirhtml -make text +#make text mkdir -p "${RAPIDS_DOCS_DIR}/cudf/"{html,txt} mv build/dirhtml/* "${RAPIDS_DOCS_DIR}/cudf/html" -mv build/text/* "${RAPIDS_DOCS_DIR}/cudf/txt" +#mv build/text/* "${RAPIDS_DOCS_DIR}/cudf/txt" popd rapids-logger "Build dask-cuDF Sphinx docs" From 0663d2ed14b5b9d363b667cc68deac0d2864b36c Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Sat, 16 Dec 2023 19:02:34 +0000 Subject: [PATCH 53/72] Make table compatible with text output --- cpp/include/cudf/io/json.hpp | 5 +- .../cudf/strings/convert/convert_datetime.hpp | 134 ++++++++++-------- .../strings/convert/convert_durations.hpp | 82 ++++++----- 3 files changed, 123 insertions(+), 98 deletions(-) diff --git a/cpp/include/cudf/io/json.hpp b/cpp/include/cudf/io/json.hpp index 472d42b1db5..8de744a62e0 100644 --- a/cpp/include/cudf/io/json.hpp +++ b/cpp/include/cudf/io/json.hpp @@ -72,8 +72,10 @@ enum class json_recovery_mode_t { * * Parameters in PANDAS that are unavailable or in cudf: * + * + * +----------------------+--------------------------------------------------+ * | Name | Description | - * | -------------------- | ------------------------------------------------ | + * +======================+==================================================+ * | `orient` | currently fixed-format | * | `typ` | data is always returned as a cudf::table | * | `convert_axes` | use column functions for axes operations instead | @@ -84,6 +86,7 @@ enum class json_recovery_mode_t { * | `date_unit` | only millisecond units are supported | * | `encoding` | only ASCII-encoded data is supported | * | `chunksize` | use `byte_range_xxx` for chunking instead | + * +----------------------+--------------------------------------------------+ */ class json_reader_options { source_info _source; diff --git a/cpp/include/cudf/strings/convert/convert_datetime.hpp b/cpp/include/cudf/strings/convert/convert_datetime.hpp index 81cce14b53b..5c6f8a0101e 100644 --- a/cpp/include/cudf/strings/convert/convert_datetime.hpp +++ b/cpp/include/cudf/strings/convert/convert_datetime.hpp @@ -31,30 +31,33 @@ namespace strings { * @file */ +// clang-format off /** * @brief Returns a new timestamp column converting a strings column into * timestamps using the provided format pattern. * * The format pattern can include the following specifiers: "%Y,%y,%m,%d,%H,%I,%p,%M,%S,%f,%z" * - * | Specifier | Description | - * | :-------: | ----------- | - * | \%d | Day of the month: 01-31 | - * | \%m | Month of the year: 01-12 | - * | \%y | Year without century: 00-99. [0,68] maps to [2000,2068] and [69,99] maps to [1969,1999] | - * | \%Y | Year with century: 0001-9999 | - * | \%H | 24-hour of the day: 00-23 | - * | \%I | 12-hour of the day: 01-12 | - * | \%M | Minute of the hour: 00-59 | - * | \%S | Second of the minute: 00-59. Leap second is not supported. | - * | \%f | 6-digit microsecond: 000000-999999 | - * | \%z | UTC offset with format ±HHMM Example +0500 | - * | \%j | Day of the year: 001-366 | - * | \%p | Only 'AM', 'PM' or 'am', 'pm' are recognized | - * | \%W | Week of the year with Monday as the first day of the week: 00-53 | - * | \%w | Day of week: 0-6 = Sunday-Saturday | - * | \%U | Week of the year with Sunday as the first day of the week: 00-53 | - * | \%u | Day of week: 1-7 = Monday-Sunday | + * +-----------+-----------------------------------------------------------------------------------------+ + * | Specifier | Description | + * +===========+=========================================================================================+ + * | ``%d`` | Day of the month: 01-31 | + * | ``%m`` | Month of the year: 01-12 | + * | ``%y`` | Year without century: 00-99. [0,68] maps to [2000,2068] and [69,99] maps to [1969,1999] | + * | ``%Y`` | Year with century: 0001-9999 | + * | ``%H`` | 24-hour of the day: 00-23 | + * | ``%I`` | 12-hour of the day: 01-12 | + * | ``%M`` | Minute of the hour: 00-59 | + * | ``%S`` | Second of the minute: 00-59. Leap second is not supported. | + * | ``%f`` | 6-digit microsecond: 000000-999999 | + * | ``%z`` | UTC offset with format ±HHMM Example +0500 | + * | ``%j`` | Day of the year: 001-366 | + * | ``%p`` | Only 'AM', 'PM' or 'am', 'pm' are recognized | + * | ``%W`` | Week of the year with Monday as the first day of the week: 00-53 | + * | ``%w`` | Day of week: 0-6 = Sunday-Saturday | + * | ``%U`` | Week of the year with Sunday as the first day of the week: 00-53 | + * | ``%u`` | Day of week: 1-7 = Monday-Sunday | + * +-----------+-----------------------------------------------------------------------------------------+ * * Other specifiers are not currently supported. * @@ -84,6 +87,7 @@ namespace strings { * @param mr Device memory resource used to allocate the returned column's device memory * @return New datetime column */ +// clang-format on std::unique_ptr to_timestamps( strings_column_view const& input, data_type timestamp_type, @@ -91,30 +95,33 @@ std::unique_ptr to_timestamps( rmm::cuda_stream_view stream = cudf::get_default_stream(), rmm::mr::device_memory_resource* mr = rmm::mr::get_current_device_resource()); +// clang-format off /** * @brief Verifies the given strings column can be parsed to timestamps using the provided format * pattern. * * The format pattern can include the following specifiers: "%Y,%y,%m,%d,%H,%I,%p,%M,%S,%f,%z" * - * | Specifier | Description | - * | :-------: | ----------- | - * | \%d | Day of the month: 01-31 | - * | \%m | Month of the year: 01-12 | - * | \%y | Year without century: 00-99. [0,68] maps to [2000,2068] and [69,99] maps to [1969,1999] | - * | \%Y | Year with century: 0001-9999 | - * | \%H | 24-hour of the day: 00-23 | - * | \%I | 12-hour of the day: 01-12 | - * | \%M | Minute of the hour: 00-59| - * | \%S | Second of the minute: 00-59. Leap second is not supported. | - * | \%f | 6-digit microsecond: 000000-999999 | - * | \%z | UTC offset with format ±HHMM Example +0500 | - * | \%j | Day of the year: 001-366 | - * | \%p | Only 'AM', 'PM' or 'am', 'pm' are recognized | - * | \%W | Week of the year with Monday as the first day of the week: 00-53 | - * | \%w | Day of week: 0-6 = Sunday-Saturday | - * | \%U | Week of the year with Sunday as the first day of the week: 00-53 | - * | \%u | Day of week: 1-7 = Monday-Sunday | + * +-----------+-----------------------------------------------------------------------------------------+ + * | Specifier | Description | + * +===========+=========================================================================================+ + * | ``%d`` | Day of the month: 01-31 | + * | ``%m`` | Month of the year: 01-12 | + * | ``%y`` | Year without century: 00-99. [0,68] maps to [2000,2068] and [69,99] maps to [1969,1999] | + * | ``%Y`` | Year with century: 0001-9999 | + * | ``%H`` | 24-hour of the day: 00-23 | + * | ``%I`` | 12-hour of the day: 01-12 | + * | ``%M`` | Minute of the hour: 00-59 | + * | ``%S`` | Second of the minute: 00-59. Leap second is not supported. | + * | ``%f`` | 6-digit microsecond: 000000-999999 | + * | ``%z`` | UTC offset with format ±HHMM Example +0500 | + * | ``%j`` | Day of the year: 001-366 | + * | ``%p`` | Only 'AM', 'PM' or 'am', 'pm' are recognized | + * | ``%W`` | Week of the year with Monday as the first day of the week: 00-53 | + * | ``%w`` | Day of week: 0-6 = Sunday-Saturday | + * | ``%U`` | Week of the year with Sunday as the first day of the week: 00-53 | + * | ``%u`` | Day of week: 1-7 = Monday-Sunday | + * +-----------+-----------------------------------------------------------------------------------------+ * * Other specifiers are not currently supported. * The "%f" supports a precision value to read the numeric digits. Specify the @@ -132,43 +139,47 @@ std::unique_ptr to_timestamps( * @param mr Device memory resource used to allocate the returned column's device memory * @return New BOOL8 column */ +// clang-format on std::unique_ptr is_timestamp( strings_column_view const& input, std::string_view format, rmm::cuda_stream_view stream = cudf::get_default_stream(), rmm::mr::device_memory_resource* mr = rmm::mr::get_current_device_resource()); +// clang-format off /** * @brief Returns a new strings column converting a timestamp column into * strings using the provided format pattern. * * The format pattern can include the following specifiers: "%Y,%y,%m,%d,%H,%I,%p,%M,%S,%f,%z,%Z" * - * | Specifier | Description | - * | :-------: | ----------- | - * | \%d | Day of the month: 01-31 | - * | \%m | Month of the year: 01-12 | - * | \%y | Year without century: 00-99 | - * | \%Y | Year with century: 0001-9999 | - * | \%H | 24-hour of the day: 00-23 | - * | \%I | 12-hour of the day: 01-12 | - * | \%M | Minute of the hour: 00-59| - * | \%S | Second of the minute: 00-59 | - * | \%f | 6-digit microsecond: 000000-999999 | - * | \%z | Always outputs "+0000" | - * | \%Z | Always outputs "UTC" | - * | \%j | Day of the year: 001-366 | - * | \%u | ISO weekday where Monday is 1 and Sunday is 7 | - * | \%w | Weekday where Sunday is 0 and Saturday is 6 | - * | \%U | Week of the year with Sunday as the first day: 00-53 | - * | \%W | Week of the year with Monday as the first day: 00-53 | - * | \%V | Week of the year per ISO-8601 format: 01-53 | - * | \%G | Year based on the ISO-8601 weeks: 0000-9999 | - * | \%p | AM/PM from `timestamp_names::am_str/pm_str` | - * | \%a | Weekday abbreviation from the `names` parameter | - * | \%A | Weekday from the `names` parameter | - * | \%b | Month name abbreviation from the `names` parameter | - * | \%B | Month name from the `names` parameter | + * +-----------+-----------------------------------------------------------------------------------------+ + * | Specifier | Description | + * +===========+=========================================================================================+ + * | ``%d`` | Day of the month: 01-31 | + * | ``%m`` | Month of the year: 01-12 | + * | ``%y`` | Year without century: 00-99. [0,68] maps to [2000,2068] and [69,99] maps to [1969,1999] | + * | ``%Y`` | Year with century: 0001-9999 | + * | ``%H`` | 24-hour of the day: 00-23 | + * | ``%I`` | 12-hour of the day: 01-12 | + * | ``%M`` | Minute of the hour: 00-59 | + * | ``%S`` | Second of the minute: 00-59. Leap second is not supported. | + * | ``%f`` | 6-digit microsecond: 000000-999999 | + * | ``%z`` | Always outputs "+0000" | + * | ``%Z`` | Always outputs "UTC" | + * | ``%j`` | Day of the year: 001-366 | + * | ``%u`` | ISO weekday where Monday is 1 and Sunday is 7 | + * | ``%w`` | Weekday where Sunday is 0 and Saturday is 6 | + * | ``%U`` | Week of the year with Sunday as the first day: 00-53 | + * | ``%W`` | Week of the year with Monday as the first day: 00-53 | + * | ``%V`` | Week of the year per ISO-8601 format: 01-53 | + * | ``%G`` | Year based on the ISO-8601 weeks: 0000-9999 | + * | ``%p`` | AM/PM from `timestamp_names::am_str/pm_str` | + * | ``%a`` | Weekday abbreviation from the `names` parameter | + * | ``%A`` | Weekday from the `names` parameter | + * | ``%b`` | Month name abbreviation from the `names` parameter | + * | ``%B`` | Month name from the `names` parameter | + * +-----------+-----------------------------------------------------------------------------------------+ * * Additional descriptions can be found here: * https://en.cppreference.com/w/cpp/chrono/system_clock/formatter @@ -244,6 +255,7 @@ std::unique_ptr is_timestamp( * @param mr Device memory resource used to allocate the returned column's device memory * @return New strings column with formatted timestamps */ +// clang-format on std::unique_ptr from_timestamps( column_view const& timestamps, std::string_view format = "%Y-%m-%dT%H:%M:%SZ", diff --git a/cpp/include/cudf/strings/convert/convert_durations.hpp b/cpp/include/cudf/strings/convert/convert_durations.hpp index a1f4e4ead1d..77d9d248c4a 100644 --- a/cpp/include/cudf/strings/convert/convert_durations.hpp +++ b/cpp/include/cudf/strings/convert/convert_durations.hpp @@ -28,6 +28,7 @@ namespace strings { * @file */ +// clang-format off /** * @brief Returns a new duration column converting a strings column into * durations using the provided format pattern. @@ -35,24 +36,26 @@ namespace strings { * The format pattern can include the following specifiers: * "%%,%n,%t,%D,%H,%I,%M,%S,%p,%R,%T,%r,%OH,%OI,%OM,%OS" * - * | Specifier | Description | Range | - * | :-------: | ----------- | ---------------- | - * | %% | A literal % character | % | - * | \%n | A newline character | \\n | - * | \%t | A horizontal tab character | \\t | - * | \%D | Days | -2,147,483,648 to 2,147,483,647 | - * | \%H | 24-hour of the day | 00 to 23 | - * | \%I | 12-hour of the day | 00 to 11 | - * | \%M | Minute of the hour | 00 to 59 | - * | \%S | Second of the minute | 00 to 59.999999999 | - * | \%OH | same as %H but without sign | 00 to 23 | - * | \%OI | same as %I but without sign | 00 to 11 | - * | \%OM | same as %M but without sign | 00 to 59 | - * | \%OS | same as %S but without sign | 00 to 59 | - * | \%p | AM/PM designations associated with a 12-hour clock | 'AM' or 'PM' | - * | \%R | Equivalent to "%H:%M" | | - * | \%T | Equivalent to "%H:%M:%S" | | - * | \%r | Equivalent to "%OI:%OM:%OS %p" | | + * +-----------+------------------------------------------------------+---------------------------------+ + * | Specifier | Description | Range | + * +===========+======================================================+=================================+ + * | %% | A literal % character | % | + * | \%n | A newline character | \\n | + * | \%t | A horizontal tab character | \\t | + * | \%D | Days | -2,147,483,648 to 2,147,483,647 | + * | \%H | 24-hour of the day | 00 to 23 | + * | \%I | 12-hour of the day | 00 to 11 | + * | \%M | Minute of the hour | 00 to 59 | + * | \%S | Second of the minute | 00 to 59.999999999 | + * | \%OH | same as %H but without sign | 00 to 23 | + * | \%OI | same as %I but without sign | 00 to 11 | + * | \%OM | same as %M but without sign | 00 to 59 | + * | \%OS | same as %S but without sign | 00 to 59 | + * | \%p | AM/PM designations associated with a 12-hour clock | 'AM' or 'PM' | + * | \%R | Equivalent to "%H:%M" | | + * | \%T | Equivalent to "%H:%M:%S" | | + * | \%r | Equivalent to "%OI:%OM:%OS %p" | | + * +-----------+------------------------------------------------------+---------------------------------+ * * Other specifiers are not currently supported. * @@ -72,6 +75,7 @@ namespace strings { * @param mr Device memory resource used to allocate the returned column's device memory * @return New duration column */ +// clang-format on std::unique_ptr to_durations( strings_column_view const& input, data_type duration_type, @@ -79,6 +83,7 @@ std::unique_ptr to_durations( rmm::cuda_stream_view stream = cudf::get_default_stream(), rmm::mr::device_memory_resource* mr = rmm::mr::get_current_device_resource()); +// clang-format off /** * @brief Returns a new strings column converting a duration column into * strings using the provided format pattern. @@ -86,24 +91,28 @@ std::unique_ptr to_durations( * The format pattern can include the following specifiers: * "%%,%n,%t,%D,%H,%I,%M,%S,%p,%R,%T,%r,%OH,%OI,%OM,%OS" * - * | Specifier | Description | Range | - * | :-------: | ----------- | ---------------- | - * | %% | A literal % character | % | - * | \%n | A newline character | \\n | - * | \%t | A horizontal tab character | \\t | - * | \%D | Days | -2,147,483,648 to 2,147,483,647 | - * | \%H | 24-hour of the day | 00 to 23 | - * | \%I | 12-hour of the day | 00 to 11 | - * | \%M | Minute of the hour | 00 to 59 | - * | \%S | Second of the minute | 00 to 59.999999999 | - * | \%OH | same as %H but without sign | 00 to 23 | - * | \%OI | same as %I but without sign | 00 to 11 | - * | \%OM | same as %M but without sign | 00 to 59 | - * | \%OS | same as %S but without sign | 00 to 59 | - * | \%p | AM/PM designations associated with a 12-hour clock | 'AM' or 'PM' | - * | \%R | Equivalent to "%H:%M" | | - * | \%T | Equivalent to "%H:%M:%S" | | - * | \%r | Equivalent to "%OI:%OM:%OS %p" | | + * +-----------+------------------------------------------------------+---------------------------------+ + * | Specifier | Description | Range | + * +===========+======================================================+=================================+ + * | %% | A literal % character | % | + * | \%n | A newline character | \\n | + * | \%t | A horizontal tab character | \\t | + * | \%D | Days | -2,147,483,648 to 2,147,483,647 | + * | \%H | 24-hour of the day | 00 to 23 | + * | \%I | 12-hour of the day | 00 to 11 | + * | \%M | Minute of the hour | 00 to 59 | + * | \%S | Second of the minute | 00 to 59.999999999 | + * | \%OH | same as %H but without sign | 00 to 23 | + * | \%OI | same as %I but without sign | 00 to 11 | + * | \%OM | same as %M but without sign | 00 to 59 | + * | \%OS | same as %S but without sign | 00 to 59 | + * | \%p | AM/PM designations associated with a 12-hour clock | 'AM' or 'PM' | + * | \%R | Equivalent to "%H:%M" | | + * | \%T | Equivalent to "%H:%M:%S" | | + * | \%r | Equivalent to "%OI:%OM:%OS %p" | | + * +-----------+------------------------------------------------------+---------------------------------+ + * + * # Rewrite the above table in reStructuredText * * No checking is done for invalid formats or invalid duration values. Formatting sticks to * specifications of `std::formatter` as much as possible. @@ -124,6 +133,7 @@ std::unique_ptr to_durations( * @param stream CUDA stream used for device memory operations and kernel launches * @return New strings column with formatted durations */ +// clang-format on std::unique_ptr from_durations( column_view const& durations, std::string_view format = "%D days %H:%M:%S", From 90c89c5082a9b1a165c9746867b97ddd6d1018a3 Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Sun, 17 Dec 2023 01:20:37 +0000 Subject: [PATCH 54/72] Optimize missing reference hook --- docs/cudf/source/conf.py | 181 ++++++++++++++++++++++----------------- 1 file changed, 104 insertions(+), 77 deletions(-) diff --git a/docs/cudf/source/conf.py b/docs/cudf/source/conf.py index 5a5fb47c557..cac9f49f04c 100644 --- a/docs/cudf/source/conf.py +++ b/docs/cudf/source/conf.py @@ -324,7 +324,82 @@ def resolve_aliases(app, doctree): text_node.parent.replace(text_node, Text(text_to_render, "")) +def _generate_namespaces(namespaces): + all_namespaces = [] + for base_namespace, other_namespaces in namespaces.items(): + all_namespaces.append(base_namespace + "::") + for other_namespace in other_namespaces: + all_namespaces.append(f"{other_namespace}::") + all_namespaces.append(f"{base_namespace}::{other_namespace}::") + return all_namespaces + +_all_namespaces = _generate_namespaces({ + # Note that io::datasource is actually a nested class + "cudf": {"io", "io::datasource", "strings", "ast", "ast::expression"}, + "numeric": {}, + "nvtext": {}, +}) + +_names_to_skip = { + # External names + "thrust", + "cuda", + "arrow", + # Unknown types + "int8_t", + "int16_t", + "int32_t", + "int64_t", + "__int128_t", + "size_t", + "uint8_t", + "uint16_t", + "uint32_t", + "uint64_t", + # Internal objects + "id_to_type_impl", + "type_to_scalar_type_impl", + "type_to_scalar_type_impl", + "detail", + # kafka objects + "python_callable_type", + "kafka_oauth_callback_wrapper_type", + # Template types + "Radix", + # Unsupported by Breathe + # https://github.com/breathe-doc/breathe/issues/355 + "deprecated", + # TODO: This type is currently defined in a detail header but it's in + # the public namespace. However, it's used in the detail header, so it + # needs to be put into a public header that can be shared. + "char_utf8", + # TODO: This is currently in a src file but perhaps should be public + "orc::column_statistics", + # Sphinx doesn't know how to distinguish between the ORC and Parquet + # definitions because Breathe doesn't to preserve namespaces for enums. + "TypeKind", +} + +_domain_objects = None +_prefixed_domain_objects = None +_intersphinx_cache = {} + +_intersphinx_extra_prefixes = ("rmm::", "rmm::mr::", "mr::", "") + + def on_missing_reference(app, env, node, contnode): + # These variables are defined outside the function to speed up the build. + global _all_namespaces, _names_to_skip, _domain_objects, _intersphinx_extra_prefixes, _prefixed_domain_objects, _intersphinx_cache + + # Precompute and cache domains for faster lookups + if _domain_objects is None: + _domain_objects = {} + _prefixed_domain_objects = {} + for (name, _, _, docname, _, _) in env.domains["cpp"].get_objects(): + _domain_objects[name] = docname + for prefix in _all_namespaces: + _prefixed_domain_objects[f"{prefix}{name}"] = name + name = node.get("reftarget", None) if name == "cudf.core.index.GenericIndex": # We don't exposed docs for `cudf.core.index.GenericIndex` @@ -345,51 +420,11 @@ def on_missing_reference(app, env, node, contnode): # generates. Adding those would clutter the Sphinx output. return contnode - names_to_skip = [ - # External names - "thrust", - "cuda", - "arrow", - # Unknown types - "int8_t", - "int16_t", - "int32_t", - "int64_t", - "__int128_t", - "size_t", - "uint8_t", - "uint16_t", - "uint32_t", - "uint64_t", - # Internal objects - "id_to_type_impl", - "type_to_scalar_type_impl", - "type_to_scalar_type_impl", - "detail", - # kafka objects - "python_callable_type", - "kafka_oauth_callback_wrapper_type", - # Template types - "Radix", - # Unsupported by Breathe - # https://github.com/breathe-doc/breathe/issues/355 - "deprecated", - # TODO: This type is currently defined in a detail header but it's in - # the public namespace. However, it's used in the detail header, so it - # needs to be put into a public header that can be shared. - "char_utf8", - # TODO: This is currently in a src file but perhaps should be public - "orc::column_statistics", - # Sphinx doesn't know how to distinguish between the ORC and Parquet - # definitions because Breathe doesn't to preserve namespaces for enums. - "TypeKind", - ] - if ( node["refdomain"] in ("std", "cpp") and (reftarget := node.get("reftarget")) is not None ): - if any(toskip in reftarget for toskip in names_to_skip): + if any(toskip in reftarget for toskip in _names_to_skip): return contnode # Strip template parameters and just use the base type. @@ -399,50 +434,42 @@ def on_missing_reference(app, env, node, contnode): # Try to find the target prefixed with e.g. namespaces in case that's # all that's missing. Include the empty prefix in case we're searching # for a stripped template. - namespaces = { - # Note that io::datasource is actually a nested class - "cudf": {"io", "io::datasource", "strings", "ast", "ast::expression"}, - "numeric": {}, - "nvtext": {}, - } - - def generate_namespaces(namespaces): - for base_namespace, other_namespaces in namespaces.items(): - yield base_namespace + "::" - for other_namespace in other_namespaces: - yield f"{other_namespace}::" - yield f"{base_namespace}::{other_namespace}::" - - for (name, _, _, docname, _, _) in env.domains[ - "cpp" - ].get_objects(): - - for prefix in generate_namespaces(namespaces): - if ( - name == f"{prefix}{reftarget}" - or f"{prefix}{name}" == reftarget - ): - return env.domains["cpp"].resolve_xref( - env, - docname, - app.builder, - node["reftype"], - name, - node, - contnode, - ) - - intersphinx_extra_prefixes = ["rmm::", "rmm::mr::", "mr::", ""] - - for prefix in intersphinx_extra_prefixes: + name = None + if reftarget in _prefixed_domain_objects: + name = _prefixed_domain_objects[reftarget] + else: + for prefix in _all_namespaces: + if f"{prefix}{reftarget}" in _domain_objects: + name = f"{prefix}{reftarget}" + break + if name is not None: + return env.domains["cpp"].resolve_xref( + env, + _domain_objects[name], + app.builder, + node["reftype"], + name, + node, + contnode, + ) + + # Have to manually manage the intersphinx cache because lru_cache + # doesn't handle the env object properly. + for prefix in _intersphinx_extra_prefixes: # First try adding the prefix. node["reftarget"] = f"{prefix}{reftarget}" + if (node, contnode) in _intersphinx_cache: + return _intersphinx_cache[(node, contnode)] if (ref := intersphinx.resolve_reference_detect_inventory(env, node, contnode)) is not None: + _intersphinx_cache[(node, contnode)] = ref return ref # Then try removing the prefix. node["reftarget"] = reftarget.replace(prefix, "") + if (node, contnode) in _intersphinx_cache: + return _intersphinx_cache[(node, contnode)] if (ref := intersphinx.resolve_reference_detect_inventory(env, node, contnode)) is not None: + _intersphinx_cache[(node, contnode)] = ref return ref return None From 5161a3a4706141e2eb158451ec9bce0f1bd2d7ce Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Sun, 17 Dec 2023 01:59:36 +0000 Subject: [PATCH 55/72] Reenable notebooks --- docs/cudf/source/conf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/cudf/source/conf.py b/docs/cudf/source/conf.py index cac9f49f04c..b61dea04467 100644 --- a/docs/cudf/source/conf.py +++ b/docs/cudf/source/conf.py @@ -132,7 +132,7 @@ def clean_all_xml_files(path): nb_execution_excludepatterns = ['performance-comparisons.ipynb'] -nb_execution_mode = "off" +nb_execution_mode = "force" nb_execution_timeout = 300 copybutton_prompt_text = ">>> " From b4ccc3bed2d9ed244604f5549c88d85886bfa693 Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Sun, 17 Dec 2023 02:00:01 +0000 Subject: [PATCH 56/72] Reenable text builds --- ci/build_docs.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ci/build_docs.sh b/ci/build_docs.sh index 0af0d0cb80f..67d611340c5 100755 --- a/ci/build_docs.sh +++ b/ci/build_docs.sh @@ -41,10 +41,10 @@ popd rapids-logger "Build Python docs" pushd docs/cudf make dirhtml -#make text +make text mkdir -p "${RAPIDS_DOCS_DIR}/cudf/"{html,txt} mv build/dirhtml/* "${RAPIDS_DOCS_DIR}/cudf/html" -#mv build/text/* "${RAPIDS_DOCS_DIR}/cudf/txt" +mv build/text/* "${RAPIDS_DOCS_DIR}/cudf/txt" popd rapids-logger "Build dask-cuDF Sphinx docs" From a90679bc3b9626a8b8ffbf21eac3a85779a7d09d Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Mon, 18 Dec 2023 17:27:42 +0000 Subject: [PATCH 57/72] Address PR feedback --- ci/build_docs.sh | 3 --- cpp/doxygen/Doxyfile | 2 +- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/ci/build_docs.sh b/ci/build_docs.sh index 67d611340c5..ec329a2b40b 100755 --- a/ci/build_docs.sh +++ b/ci/build_docs.sh @@ -32,10 +32,7 @@ export RAPIDS_DOCS_DIR="$(mktemp -d)" rapids-logger "Build CPP docs" pushd cpp/doxygen -aws s3 cp s3://rapidsai-docs/librmm/html/${RAPIDS_VERSION_NUMBER}/rmm.tag . || echo "Failed to download rmm Doxygen tag" doxygen Doxyfile -mkdir -p "${RAPIDS_DOCS_DIR}/libcudf/html" -mv html/* "${RAPIDS_DOCS_DIR}/libcudf/html" popd rapids-logger "Build Python docs" diff --git a/cpp/doxygen/Doxyfile b/cpp/doxygen/Doxyfile index 4333699d1f6..1e10530a14b 100644 --- a/cpp/doxygen/Doxyfile +++ b/cpp/doxygen/Doxyfile @@ -1145,7 +1145,7 @@ IGNORE_PREFIX = # If the GENERATE_HTML tag is set to YES, doxygen will generate HTML output # The default value is: YES. -GENERATE_HTML = YES +GENERATE_HTML = NO # The HTML_OUTPUT tag is used to specify where the HTML docs will be put. If a # relative path is entered the value of OUTPUT_DIRECTORY will be put in front of From 2edd7ad21826a5029c8725ad14567aedd672cf60 Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Mon, 18 Dec 2023 17:29:01 +0000 Subject: [PATCH 58/72] Add one more note --- docs/cudf/source/conf.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/cudf/source/conf.py b/docs/cudf/source/conf.py index b61dea04467..5bef8cca92f 100644 --- a/docs/cudf/source/conf.py +++ b/docs/cudf/source/conf.py @@ -434,6 +434,12 @@ def on_missing_reference(app, env, node, contnode): # Try to find the target prefixed with e.g. namespaces in case that's # all that's missing. Include the empty prefix in case we're searching # for a stripped template. + # We need to do this search because the call sites may not have used + # the namespaces and we don't want to force them to, and we have to + # consider both directions because of issues like + # https://github.com/breathe-doc/breathe/issues/860 + # (there may be other related issues, I haven't investigated all + # possible combinations of failures in depth). name = None if reftarget in _prefixed_domain_objects: name = _prefixed_domain_objects[reftarget] From 42604facaee18bed477d95c3fd4683f3e9599e3e Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Mon, 18 Dec 2023 19:37:54 +0000 Subject: [PATCH 59/72] Match group layout of modules from doxygen HTML --- .../libcudf_docs/column_aggregation.rst | 9 ++ docs/cudf/source/libcudf_docs/column_apis.rst | 20 +++- .../source/libcudf_docs/column_classes.rst | 11 +++ docs/cudf/source/libcudf_docs/column_copy.rst | 11 +++ .../source/libcudf_docs/column_interop.rst | 7 ++ .../source/libcudf_docs/column_reorder.rst | 7 ++ .../source/libcudf_docs/column_reshape.rst | 6 ++ .../libcudf_docs/column_transformation.rst | 10 ++ .../cudf/source/libcudf_docs/cudf_classes.rst | 9 ++ .../source/libcudf_docs/datetime_apis.rst | 9 +- .../source/libcudf_docs/dictionary_apis.rst | 6 +- docs/cudf/source/libcudf_docs/index.rst | 95 +------------------ docs/cudf/source/libcudf_docs/io_apis.rst | 12 ++- docs/cudf/source/libcudf_docs/json_apis.rst | 11 +++ docs/cudf/source/libcudf_docs/json_object.rst | 5 + .../source/libcudf_docs/labeling_apis.rst | 8 +- docs/cudf/source/libcudf_docs/lists_apis.rst | 17 +++- docs/cudf/source/libcudf_docs/nvtext_apis.rst | 15 ++- .../source/libcudf_docs/scalar_classes.rst | 6 ++ .../cudf/source/libcudf_docs/strings_apis.rst | 20 +++- .../cudf/source/libcudf_docs/utility_apis.rst | 12 ++- 21 files changed, 204 insertions(+), 102 deletions(-) create mode 100644 docs/cudf/source/libcudf_docs/json_apis.rst create mode 100644 docs/cudf/source/libcudf_docs/json_object.rst diff --git a/docs/cudf/source/libcudf_docs/column_aggregation.rst b/docs/cudf/source/libcudf_docs/column_aggregation.rst index 97719cb06f0..39c0fdd5d3c 100644 --- a/docs/cudf/source/libcudf_docs/column_aggregation.rst +++ b/docs/cudf/source/libcudf_docs/column_aggregation.rst @@ -3,3 +3,12 @@ Column Aggregation .. doxygengroup:: column_aggregation :members: + +.. toctree:: + :maxdepth: 2 + :caption: Contents: + + aggregation_factories + aggregation_reduction + aggregation_groupby + aggregation_rolling diff --git a/docs/cudf/source/libcudf_docs/column_apis.rst b/docs/cudf/source/libcudf_docs/column_apis.rst index 0fc95470450..23660576a37 100644 --- a/docs/cudf/source/libcudf_docs/column_apis.rst +++ b/docs/cudf/source/libcudf_docs/column_apis.rst @@ -1,5 +1,23 @@ -Column Apis +Column APIs =========== .. doxygengroup:: column_apis :members: + +.. toctree:: + :maxdepth: 2 + :caption: Contents: + + column_copy + column_nullmask + column_sort + column_search + column_hash + column_merge + column_join + column_quantiles + column_aggregation + column_transformation + column_reshape + column_reorder + column_interop diff --git a/docs/cudf/source/libcudf_docs/column_classes.rst b/docs/cudf/source/libcudf_docs/column_classes.rst index 317a7f5bec9..cc3ed8c6626 100644 --- a/docs/cudf/source/libcudf_docs/column_classes.rst +++ b/docs/cudf/source/libcudf_docs/column_classes.rst @@ -3,3 +3,14 @@ Column Classes .. doxygengroup:: column_classes :members: + +.. toctree:: + :maxdepth: 2 + :caption: Contents: + + column_factories + dictionary_classes + lists_classes + strings_classes + structs_classes + timestamp_classes diff --git a/docs/cudf/source/libcudf_docs/column_copy.rst b/docs/cudf/source/libcudf_docs/column_copy.rst index 2802b5d3d43..a8bc72fc505 100644 --- a/docs/cudf/source/libcudf_docs/column_copy.rst +++ b/docs/cudf/source/libcudf_docs/column_copy.rst @@ -3,3 +3,14 @@ Column Copy .. doxygengroup:: column_copy :members: + +.. toctree:: + :maxdepth: 2 + :caption: Contents: + + copy_concatenate + copy_gather + copy_scatter + copy_slice + copy_split + copy_shift diff --git a/docs/cudf/source/libcudf_docs/column_interop.rst b/docs/cudf/source/libcudf_docs/column_interop.rst index e8b2ef27d5c..dd6036b0339 100644 --- a/docs/cudf/source/libcudf_docs/column_interop.rst +++ b/docs/cudf/source/libcudf_docs/column_interop.rst @@ -3,3 +3,10 @@ Column Interop .. doxygengroup:: column_interop :members: + +.. toctree:: + :maxdepth: 2 + :caption: Contents: + + interop_dlpack + interop_arrow diff --git a/docs/cudf/source/libcudf_docs/column_reorder.rst b/docs/cudf/source/libcudf_docs/column_reorder.rst index d529708d3b6..ccc8a48f7df 100644 --- a/docs/cudf/source/libcudf_docs/column_reorder.rst +++ b/docs/cudf/source/libcudf_docs/column_reorder.rst @@ -3,3 +3,10 @@ Column Reorder .. doxygengroup:: column_reorder :members: + +.. toctree:: + :maxdepth: 2 + :caption: Contents: + + reorder_partition + reorder_compact diff --git a/docs/cudf/source/libcudf_docs/column_reshape.rst b/docs/cudf/source/libcudf_docs/column_reshape.rst index d4f916b520c..59df1eaa5b9 100644 --- a/docs/cudf/source/libcudf_docs/column_reshape.rst +++ b/docs/cudf/source/libcudf_docs/column_reshape.rst @@ -3,3 +3,9 @@ Column Reshape .. doxygengroup:: column_reshape :members: + +.. toctree:: + :maxdepth: 2 + :caption: Contents: + + reshape_transpose diff --git a/docs/cudf/source/libcudf_docs/column_transformation.rst b/docs/cudf/source/libcudf_docs/column_transformation.rst index 9841fa32322..e2da7e5ad28 100644 --- a/docs/cudf/source/libcudf_docs/column_transformation.rst +++ b/docs/cudf/source/libcudf_docs/column_transformation.rst @@ -3,3 +3,13 @@ Column Transformation .. doxygengroup:: column_transformation :members: + +.. toctree:: + :maxdepth: 2 + :caption: Contents: + + transformation_unaryops + transformation_binaryops + transformation_transform + transformation_replace + transformation_fill diff --git a/docs/cudf/source/libcudf_docs/cudf_classes.rst b/docs/cudf/source/libcudf_docs/cudf_classes.rst index 322b1a8add1..5473dd56ebb 100644 --- a/docs/cudf/source/libcudf_docs/cudf_classes.rst +++ b/docs/cudf/source/libcudf_docs/cudf_classes.rst @@ -3,3 +3,12 @@ Cudf Classes .. doxygengroup:: cudf_classes :members: + +.. toctree:: + :maxdepth: 2 + :caption: Contents: + + column_classes + table_classes + scalar_classes + fixed_point_classes diff --git a/docs/cudf/source/libcudf_docs/datetime_apis.rst b/docs/cudf/source/libcudf_docs/datetime_apis.rst index 2e6e0033cc6..8f7960444fc 100644 --- a/docs/cudf/source/libcudf_docs/datetime_apis.rst +++ b/docs/cudf/source/libcudf_docs/datetime_apis.rst @@ -1,5 +1,12 @@ -Datetime Apis +Datetime APIs ============= .. doxygengroup:: datetime_apis :members: + +.. toctree:: + :maxdepth: 2 + :caption: Contents: + + datetime_extract + datetime_compute diff --git a/docs/cudf/source/libcudf_docs/dictionary_apis.rst b/docs/cudf/source/libcudf_docs/dictionary_apis.rst index 0ea5c99026b..fc575959fab 100644 --- a/docs/cudf/source/libcudf_docs/dictionary_apis.rst +++ b/docs/cudf/source/libcudf_docs/dictionary_apis.rst @@ -1,5 +1,9 @@ -Dictionary Apis +Dictionary APIs =============== .. doxygengroup:: dictionary_apis :members: + + dictionary_encode + dictionary_search + dictionary_update diff --git a/docs/cudf/source/libcudf_docs/index.rst b/docs/cudf/source/libcudf_docs/index.rst index 3c64ee32174..a1e551cc96d 100644 --- a/docs/cudf/source/libcudf_docs/index.rst +++ b/docs/cudf/source/libcudf_docs/index.rst @@ -5,110 +5,19 @@ libcudf documentation :maxdepth: 2 :caption: Contents: - cudf_namespace - cudf_classes - column_classes - column_factories - strings_classes default_stream - dictionary_classes - timestamp_classes - lists_classes - structs_classes - table_classes - scalar_classes - scalar_factories - fixed_point_classes + cudf_classes column_apis - column_copy - copy_concatenate - copy_gather - copy_scatter - copy_slice - copy_split - copy_shift - column_nullmask - column_sort - column_search - column_hash - column_merge - column_join - column_quantiles - column_aggregation - aggregation_factories - aggregation_reduction - aggregation_groupby - aggregation_rolling - column_transformation - transformation_unaryops - transformation_binaryops - transformation_transform - transformation_replace - transformation_fill - column_reshape - reshape_transpose - column_reorder - reorder_partition - reorder_compact - column_interop - interop_dlpack - interop_arrow datetime_apis - datetime_extract - datetime_compute strings_apis - strings_case - strings_types - strings_combine - strings_contains - strings_convert - strings_copy - strings_slice - strings_find - strings_modify - strings_replace - strings_split - strings_extract - strings_regex dictionary_apis - dictionary_encode - dictionary_search - dictionary_update io_apis - io_types - io_readers - io_writers - io_datasources - io_datasinks + json_apis lists_apis - lists_combine - lists_modify - lists_extract - lists_filling - lists_contains - lists_gather - lists_elements - lists_filtering - lists_sort - set_operations nvtext_apis - nvtext_ngrams - nvtext_normalize - nvtext_stemmer - nvtext_edit_distance - nvtext_tokenize - nvtext_replace - nvtext_minhash - nvtext_jaccard utility_apis - utility_types - utility_dispatcher - utility_bitmask - utility_error - utility_span labeling_apis - label_bins expressions md_regex tdigest diff --git a/docs/cudf/source/libcudf_docs/io_apis.rst b/docs/cudf/source/libcudf_docs/io_apis.rst index 08e5fb0b92d..a23c0948584 100644 --- a/docs/cudf/source/libcudf_docs/io_apis.rst +++ b/docs/cudf/source/libcudf_docs/io_apis.rst @@ -1,5 +1,15 @@ -Io Apis +Io APIs ======= .. doxygengroup:: io_apis :members: + +.. toctree:: + :maxdepth: 2 + :caption: Contents: + + io_types + io_readers + io_writers + io_datasources + io_datasinks diff --git a/docs/cudf/source/libcudf_docs/json_apis.rst b/docs/cudf/source/libcudf_docs/json_apis.rst new file mode 100644 index 00000000000..119dbc36fa1 --- /dev/null +++ b/docs/cudf/source/libcudf_docs/json_apis.rst @@ -0,0 +1,11 @@ +JSON APIs +========= + +.. doxygengroup:: json_apis + :members: + +.. toctree:: + :maxdepth: 2 + :caption: Contents: + + json_object diff --git a/docs/cudf/source/libcudf_docs/json_object.rst b/docs/cudf/source/libcudf_docs/json_object.rst new file mode 100644 index 00000000000..510a2f9eb07 --- /dev/null +++ b/docs/cudf/source/libcudf_docs/json_object.rst @@ -0,0 +1,5 @@ +JSON Object +=========== + +.. doxygengroup:: json_object + :members: diff --git a/docs/cudf/source/libcudf_docs/labeling_apis.rst b/docs/cudf/source/libcudf_docs/labeling_apis.rst index dab3a4ca649..24726ce2e09 100644 --- a/docs/cudf/source/libcudf_docs/labeling_apis.rst +++ b/docs/cudf/source/libcudf_docs/labeling_apis.rst @@ -1,5 +1,11 @@ -Labeling Apis +Labeling APIs ============= .. doxygengroup:: labeling_apis :members: + +.. toctree:: + :maxdepth: 2 + :caption: Contents: + + label_bins diff --git a/docs/cudf/source/libcudf_docs/lists_apis.rst b/docs/cudf/source/libcudf_docs/lists_apis.rst index fe925a99812..d34253d909a 100644 --- a/docs/cudf/source/libcudf_docs/lists_apis.rst +++ b/docs/cudf/source/libcudf_docs/lists_apis.rst @@ -1,5 +1,20 @@ -Lists Apis +Lists APIs ========== .. doxygengroup:: lists_apis :members: + +.. toctree:: + :maxdepth: 2 + :caption: Contents: + + lists_combine + lists_modify + lists_extract + lists_filling + lists_contains + lists_gather + lists_elements + lists_filtering + lists_sort + set_operations diff --git a/docs/cudf/source/libcudf_docs/nvtext_apis.rst b/docs/cudf/source/libcudf_docs/nvtext_apis.rst index 0f3c1a078c8..f938f2914ed 100644 --- a/docs/cudf/source/libcudf_docs/nvtext_apis.rst +++ b/docs/cudf/source/libcudf_docs/nvtext_apis.rst @@ -1,5 +1,18 @@ -Nvtext Apis +Nvtext APIs =========== .. doxygengroup:: nvtext_apis :members: + +.. toctree:: + :maxdepth: 2 + :caption: Contents: + + nvtext_ngrams + nvtext_normalize + nvtext_stemmer + nvtext_edit_distance + nvtext_tokenize + nvtext_replace + nvtext_minhash + nvtext_jaccard diff --git a/docs/cudf/source/libcudf_docs/scalar_classes.rst b/docs/cudf/source/libcudf_docs/scalar_classes.rst index dbd0b96eceb..3022e5d2292 100644 --- a/docs/cudf/source/libcudf_docs/scalar_classes.rst +++ b/docs/cudf/source/libcudf_docs/scalar_classes.rst @@ -3,3 +3,9 @@ Scalar Classes .. doxygengroup:: scalar_classes :members: + +.. toctree:: + :maxdepth: 2 + :caption: Contents: + + scalar_factories diff --git a/docs/cudf/source/libcudf_docs/strings_apis.rst b/docs/cudf/source/libcudf_docs/strings_apis.rst index 851c383f97e..c42d5479954 100644 --- a/docs/cudf/source/libcudf_docs/strings_apis.rst +++ b/docs/cudf/source/libcudf_docs/strings_apis.rst @@ -1,5 +1,23 @@ -Strings Apis +Strings APIs ============ .. doxygengroup:: strings_apis :members: + +.. toctree:: + :maxdepth: 2 + :caption: Contents: + + strings_case + strings_types + strings_combine + strings_contains + strings_convert + strings_copy + strings_slice + strings_find + strings_modify + strings_replace + strings_split + strings_extract + strings_regex diff --git a/docs/cudf/source/libcudf_docs/utility_apis.rst b/docs/cudf/source/libcudf_docs/utility_apis.rst index d5200b6efa6..9f0cda74582 100644 --- a/docs/cudf/source/libcudf_docs/utility_apis.rst +++ b/docs/cudf/source/libcudf_docs/utility_apis.rst @@ -1,5 +1,15 @@ -Utility Apis +Utility APIs ============ .. doxygengroup:: utility_apis :members: + +.. toctree:: + :maxdepth: 2 + :caption: Contents: + + utility_types + utility_dispatcher + utility_bitmask + utility_error + utility_span From 5ece8245b0653c5276b7adce9fc046be14edbb69 Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Mon, 18 Dec 2023 19:47:59 +0000 Subject: [PATCH 60/72] Reorganize to add in non-API pages --- .../developer_guide/DEVELOPER_GUIDE.md | 7 +---- .../{ => api_docs}/aggregation_factories.rst | 0 .../{ => api_docs}/aggregation_groupby.rst | 0 .../{ => api_docs}/aggregation_reduction.rst | 0 .../{ => api_docs}/aggregation_rolling.rst | 0 .../{ => api_docs}/column_aggregation.rst | 0 .../{ => api_docs}/column_apis.rst | 0 .../{ => api_docs}/column_classes.rst | 0 .../{ => api_docs}/column_copy.rst | 0 .../{ => api_docs}/column_factories.rst | 0 .../{ => api_docs}/column_hash.rst | 0 .../{ => api_docs}/column_interop.rst | 0 .../{ => api_docs}/column_join.rst | 0 .../{ => api_docs}/column_merge.rst | 0 .../{ => api_docs}/column_nullmask.rst | 0 .../{ => api_docs}/column_quantiles.rst | 0 .../{ => api_docs}/column_reorder.rst | 0 .../{ => api_docs}/column_reshape.rst | 0 .../{ => api_docs}/column_search.rst | 0 .../{ => api_docs}/column_sort.rst | 0 .../{ => api_docs}/column_transformation.rst | 0 .../{ => api_docs}/copy_concatenate.rst | 0 .../{ => api_docs}/copy_gather.rst | 0 .../{ => api_docs}/copy_scatter.rst | 0 .../{ => api_docs}/copy_shift.rst | 0 .../{ => api_docs}/copy_slice.rst | 0 .../{ => api_docs}/copy_split.rst | 0 .../{ => api_docs}/cudf_classes.rst | 0 .../{ => api_docs}/cudf_namespace.rst | 0 .../{ => api_docs}/datetime_apis.rst | 0 .../{ => api_docs}/datetime_compute.rst | 0 .../{ => api_docs}/datetime_extract.rst | 0 .../{ => api_docs}/default_stream.rst | 0 .../{ => api_docs}/dictionary_apis.rst | 4 +++ .../{ => api_docs}/dictionary_classes.rst | 0 .../{ => api_docs}/dictionary_encode.rst | 0 .../{ => api_docs}/dictionary_search.rst | 0 .../{ => api_docs}/dictionary_update.rst | 0 .../{ => api_docs}/expressions.rst | 0 .../{ => api_docs}/fixed_point_classes.rst | 0 .../source/libcudf_docs/api_docs/index.rst | 29 +++++++++++++++++++ .../{ => api_docs}/interop_arrow.rst | 0 .../{ => api_docs}/interop_dlpack.rst | 0 .../libcudf_docs/{ => api_docs}/io_apis.rst | 0 .../{ => api_docs}/io_datasinks.rst | 0 .../{ => api_docs}/io_datasources.rst | 0 .../{ => api_docs}/io_readers.rst | 0 .../libcudf_docs/{ => api_docs}/io_types.rst | 0 .../{ => api_docs}/io_writers.rst | 0 .../libcudf_docs/{ => api_docs}/json_apis.rst | 0 .../{ => api_docs}/json_object.rst | 0 .../{ => api_docs}/label_bins.rst | 0 .../{ => api_docs}/labeling_apis.rst | 0 .../{ => api_docs}/lists_apis.rst | 0 .../{ => api_docs}/lists_classes.rst | 0 .../{ => api_docs}/lists_combine.rst | 0 .../{ => api_docs}/lists_contains.rst | 0 .../{ => api_docs}/lists_elements.rst | 0 .../{ => api_docs}/lists_extract.rst | 0 .../{ => api_docs}/lists_filling.rst | 0 .../{ => api_docs}/lists_filtering.rst | 0 .../{ => api_docs}/lists_gather.rst | 0 .../{ => api_docs}/lists_modify.rst | 0 .../{ => api_docs}/lists_sort.rst | 0 .../{ => api_docs}/nvtext_apis.rst | 0 .../{ => api_docs}/nvtext_edit_distance.rst | 0 .../{ => api_docs}/nvtext_jaccard.rst | 0 .../{ => api_docs}/nvtext_minhash.rst | 0 .../{ => api_docs}/nvtext_ngrams.rst | 0 .../{ => api_docs}/nvtext_normalize.rst | 0 .../{ => api_docs}/nvtext_replace.rst | 0 .../{ => api_docs}/nvtext_stemmer.rst | 0 .../{ => api_docs}/nvtext_tokenize.rst | 0 .../{ => api_docs}/reorder_compact.rst | 0 .../{ => api_docs}/reorder_partition.rst | 0 .../{ => api_docs}/reshape_transpose.rst | 0 .../{ => api_docs}/scalar_classes.rst | 0 .../{ => api_docs}/scalar_factories.rst | 0 .../{ => api_docs}/set_operations.rst | 0 .../{ => api_docs}/strings_apis.rst | 0 .../{ => api_docs}/strings_case.rst | 0 .../{ => api_docs}/strings_classes.rst | 0 .../{ => api_docs}/strings_combine.rst | 0 .../{ => api_docs}/strings_contains.rst | 0 .../{ => api_docs}/strings_convert.rst | 0 .../{ => api_docs}/strings_copy.rst | 0 .../{ => api_docs}/strings_extract.rst | 0 .../{ => api_docs}/strings_find.rst | 0 .../{ => api_docs}/strings_modify.rst | 0 .../{ => api_docs}/strings_regex.rst | 0 .../{ => api_docs}/strings_replace.rst | 0 .../{ => api_docs}/strings_slice.rst | 0 .../{ => api_docs}/strings_split.rst | 0 .../{ => api_docs}/strings_types.rst | 0 .../{ => api_docs}/structs_classes.rst | 0 .../{ => api_docs}/table_classes.rst | 0 .../libcudf_docs/{ => api_docs}/tdigest.rst | 0 .../{ => api_docs}/timestamp_classes.rst | 0 .../transformation_binaryops.rst | 0 .../{ => api_docs}/transformation_fill.rst | 0 .../{ => api_docs}/transformation_replace.rst | 0 .../transformation_transform.rst | 0 .../transformation_unaryops.rst | 0 .../{ => api_docs}/utility_apis.rst | 0 .../{ => api_docs}/utility_bitmask.rst | 0 .../{ => api_docs}/utility_dispatcher.rst | 0 .../{ => api_docs}/utility_error.rst | 0 .../{ => api_docs}/utility_span.rst | 0 .../{ => api_docs}/utility_types.rst | 0 .../developer_guide/benchmarking.rst | 4 +++ .../developer_guide/documentation.rst | 4 +++ .../libcudf_docs/developer_guide/index.rst | 23 +++++++++++++++ .../libcudf_docs/developer_guide/strings.png | 1 + .../libcudf_docs/developer_guide/testing.rst | 4 +++ docs/cudf/source/libcudf_docs/index.rst | 18 ++---------- .../libcudf_docs/unicode_limitations.rst | 4 +++ 116 files changed, 77 insertions(+), 21 deletions(-) rename docs/cudf/source/libcudf_docs/{ => api_docs}/aggregation_factories.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/aggregation_groupby.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/aggregation_reduction.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/aggregation_rolling.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/column_aggregation.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/column_apis.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/column_classes.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/column_copy.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/column_factories.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/column_hash.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/column_interop.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/column_join.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/column_merge.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/column_nullmask.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/column_quantiles.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/column_reorder.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/column_reshape.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/column_search.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/column_sort.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/column_transformation.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/copy_concatenate.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/copy_gather.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/copy_scatter.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/copy_shift.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/copy_slice.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/copy_split.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/cudf_classes.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/cudf_namespace.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/datetime_apis.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/datetime_compute.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/datetime_extract.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/default_stream.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/dictionary_apis.rst (73%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/dictionary_classes.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/dictionary_encode.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/dictionary_search.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/dictionary_update.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/expressions.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/fixed_point_classes.rst (100%) create mode 100644 docs/cudf/source/libcudf_docs/api_docs/index.rst rename docs/cudf/source/libcudf_docs/{ => api_docs}/interop_arrow.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/interop_dlpack.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/io_apis.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/io_datasinks.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/io_datasources.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/io_readers.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/io_types.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/io_writers.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/json_apis.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/json_object.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/label_bins.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/labeling_apis.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/lists_apis.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/lists_classes.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/lists_combine.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/lists_contains.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/lists_elements.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/lists_extract.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/lists_filling.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/lists_filtering.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/lists_gather.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/lists_modify.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/lists_sort.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/nvtext_apis.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/nvtext_edit_distance.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/nvtext_jaccard.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/nvtext_minhash.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/nvtext_ngrams.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/nvtext_normalize.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/nvtext_replace.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/nvtext_stemmer.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/nvtext_tokenize.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/reorder_compact.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/reorder_partition.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/reshape_transpose.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/scalar_classes.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/scalar_factories.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/set_operations.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/strings_apis.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/strings_case.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/strings_classes.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/strings_combine.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/strings_contains.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/strings_convert.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/strings_copy.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/strings_extract.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/strings_find.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/strings_modify.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/strings_regex.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/strings_replace.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/strings_slice.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/strings_split.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/strings_types.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/structs_classes.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/table_classes.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/tdigest.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/timestamp_classes.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/transformation_binaryops.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/transformation_fill.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/transformation_replace.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/transformation_transform.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/transformation_unaryops.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/utility_apis.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/utility_bitmask.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/utility_dispatcher.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/utility_error.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/utility_span.rst (100%) rename docs/cudf/source/libcudf_docs/{ => api_docs}/utility_types.rst (100%) create mode 100644 docs/cudf/source/libcudf_docs/developer_guide/benchmarking.rst create mode 100644 docs/cudf/source/libcudf_docs/developer_guide/documentation.rst create mode 100644 docs/cudf/source/libcudf_docs/developer_guide/index.rst create mode 120000 docs/cudf/source/libcudf_docs/developer_guide/strings.png create mode 100644 docs/cudf/source/libcudf_docs/developer_guide/testing.rst create mode 100644 docs/cudf/source/libcudf_docs/unicode_limitations.rst diff --git a/cpp/doxygen/developer_guide/DEVELOPER_GUIDE.md b/cpp/doxygen/developer_guide/DEVELOPER_GUIDE.md index fc2f72de33c..fb9a08163ee 100644 --- a/cpp/doxygen/developer_guide/DEVELOPER_GUIDE.md +++ b/cpp/doxygen/developer_guide/DEVELOPER_GUIDE.md @@ -1,11 +1,6 @@ # libcudf C++ Developer Guide {#DEVELOPER_GUIDE} -This document serves as a guide for contributors to libcudf C++ code. Developers should also refer -to these additional files for further documentation of libcudf best practices. - -* [Documentation Guide](DOCUMENTATION.md) for guidelines on documenting libcudf code. -* [Testing Guide](TESTING.md) for guidelines on writing unit tests. -* [Benchmarking Guide](BENCHMARKING.md) for guidelines on writing unit benchmarks. +This document serves as a guide for contributors to libcudf C++ code. # Overview diff --git a/docs/cudf/source/libcudf_docs/aggregation_factories.rst b/docs/cudf/source/libcudf_docs/api_docs/aggregation_factories.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/aggregation_factories.rst rename to docs/cudf/source/libcudf_docs/api_docs/aggregation_factories.rst diff --git a/docs/cudf/source/libcudf_docs/aggregation_groupby.rst b/docs/cudf/source/libcudf_docs/api_docs/aggregation_groupby.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/aggregation_groupby.rst rename to docs/cudf/source/libcudf_docs/api_docs/aggregation_groupby.rst diff --git a/docs/cudf/source/libcudf_docs/aggregation_reduction.rst b/docs/cudf/source/libcudf_docs/api_docs/aggregation_reduction.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/aggregation_reduction.rst rename to docs/cudf/source/libcudf_docs/api_docs/aggregation_reduction.rst diff --git a/docs/cudf/source/libcudf_docs/aggregation_rolling.rst b/docs/cudf/source/libcudf_docs/api_docs/aggregation_rolling.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/aggregation_rolling.rst rename to docs/cudf/source/libcudf_docs/api_docs/aggregation_rolling.rst diff --git a/docs/cudf/source/libcudf_docs/column_aggregation.rst b/docs/cudf/source/libcudf_docs/api_docs/column_aggregation.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/column_aggregation.rst rename to docs/cudf/source/libcudf_docs/api_docs/column_aggregation.rst diff --git a/docs/cudf/source/libcudf_docs/column_apis.rst b/docs/cudf/source/libcudf_docs/api_docs/column_apis.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/column_apis.rst rename to docs/cudf/source/libcudf_docs/api_docs/column_apis.rst diff --git a/docs/cudf/source/libcudf_docs/column_classes.rst b/docs/cudf/source/libcudf_docs/api_docs/column_classes.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/column_classes.rst rename to docs/cudf/source/libcudf_docs/api_docs/column_classes.rst diff --git a/docs/cudf/source/libcudf_docs/column_copy.rst b/docs/cudf/source/libcudf_docs/api_docs/column_copy.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/column_copy.rst rename to docs/cudf/source/libcudf_docs/api_docs/column_copy.rst diff --git a/docs/cudf/source/libcudf_docs/column_factories.rst b/docs/cudf/source/libcudf_docs/api_docs/column_factories.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/column_factories.rst rename to docs/cudf/source/libcudf_docs/api_docs/column_factories.rst diff --git a/docs/cudf/source/libcudf_docs/column_hash.rst b/docs/cudf/source/libcudf_docs/api_docs/column_hash.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/column_hash.rst rename to docs/cudf/source/libcudf_docs/api_docs/column_hash.rst diff --git a/docs/cudf/source/libcudf_docs/column_interop.rst b/docs/cudf/source/libcudf_docs/api_docs/column_interop.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/column_interop.rst rename to docs/cudf/source/libcudf_docs/api_docs/column_interop.rst diff --git a/docs/cudf/source/libcudf_docs/column_join.rst b/docs/cudf/source/libcudf_docs/api_docs/column_join.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/column_join.rst rename to docs/cudf/source/libcudf_docs/api_docs/column_join.rst diff --git a/docs/cudf/source/libcudf_docs/column_merge.rst b/docs/cudf/source/libcudf_docs/api_docs/column_merge.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/column_merge.rst rename to docs/cudf/source/libcudf_docs/api_docs/column_merge.rst diff --git a/docs/cudf/source/libcudf_docs/column_nullmask.rst b/docs/cudf/source/libcudf_docs/api_docs/column_nullmask.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/column_nullmask.rst rename to docs/cudf/source/libcudf_docs/api_docs/column_nullmask.rst diff --git a/docs/cudf/source/libcudf_docs/column_quantiles.rst b/docs/cudf/source/libcudf_docs/api_docs/column_quantiles.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/column_quantiles.rst rename to docs/cudf/source/libcudf_docs/api_docs/column_quantiles.rst diff --git a/docs/cudf/source/libcudf_docs/column_reorder.rst b/docs/cudf/source/libcudf_docs/api_docs/column_reorder.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/column_reorder.rst rename to docs/cudf/source/libcudf_docs/api_docs/column_reorder.rst diff --git a/docs/cudf/source/libcudf_docs/column_reshape.rst b/docs/cudf/source/libcudf_docs/api_docs/column_reshape.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/column_reshape.rst rename to docs/cudf/source/libcudf_docs/api_docs/column_reshape.rst diff --git a/docs/cudf/source/libcudf_docs/column_search.rst b/docs/cudf/source/libcudf_docs/api_docs/column_search.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/column_search.rst rename to docs/cudf/source/libcudf_docs/api_docs/column_search.rst diff --git a/docs/cudf/source/libcudf_docs/column_sort.rst b/docs/cudf/source/libcudf_docs/api_docs/column_sort.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/column_sort.rst rename to docs/cudf/source/libcudf_docs/api_docs/column_sort.rst diff --git a/docs/cudf/source/libcudf_docs/column_transformation.rst b/docs/cudf/source/libcudf_docs/api_docs/column_transformation.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/column_transformation.rst rename to docs/cudf/source/libcudf_docs/api_docs/column_transformation.rst diff --git a/docs/cudf/source/libcudf_docs/copy_concatenate.rst b/docs/cudf/source/libcudf_docs/api_docs/copy_concatenate.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/copy_concatenate.rst rename to docs/cudf/source/libcudf_docs/api_docs/copy_concatenate.rst diff --git a/docs/cudf/source/libcudf_docs/copy_gather.rst b/docs/cudf/source/libcudf_docs/api_docs/copy_gather.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/copy_gather.rst rename to docs/cudf/source/libcudf_docs/api_docs/copy_gather.rst diff --git a/docs/cudf/source/libcudf_docs/copy_scatter.rst b/docs/cudf/source/libcudf_docs/api_docs/copy_scatter.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/copy_scatter.rst rename to docs/cudf/source/libcudf_docs/api_docs/copy_scatter.rst diff --git a/docs/cudf/source/libcudf_docs/copy_shift.rst b/docs/cudf/source/libcudf_docs/api_docs/copy_shift.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/copy_shift.rst rename to docs/cudf/source/libcudf_docs/api_docs/copy_shift.rst diff --git a/docs/cudf/source/libcudf_docs/copy_slice.rst b/docs/cudf/source/libcudf_docs/api_docs/copy_slice.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/copy_slice.rst rename to docs/cudf/source/libcudf_docs/api_docs/copy_slice.rst diff --git a/docs/cudf/source/libcudf_docs/copy_split.rst b/docs/cudf/source/libcudf_docs/api_docs/copy_split.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/copy_split.rst rename to docs/cudf/source/libcudf_docs/api_docs/copy_split.rst diff --git a/docs/cudf/source/libcudf_docs/cudf_classes.rst b/docs/cudf/source/libcudf_docs/api_docs/cudf_classes.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/cudf_classes.rst rename to docs/cudf/source/libcudf_docs/api_docs/cudf_classes.rst diff --git a/docs/cudf/source/libcudf_docs/cudf_namespace.rst b/docs/cudf/source/libcudf_docs/api_docs/cudf_namespace.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/cudf_namespace.rst rename to docs/cudf/source/libcudf_docs/api_docs/cudf_namespace.rst diff --git a/docs/cudf/source/libcudf_docs/datetime_apis.rst b/docs/cudf/source/libcudf_docs/api_docs/datetime_apis.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/datetime_apis.rst rename to docs/cudf/source/libcudf_docs/api_docs/datetime_apis.rst diff --git a/docs/cudf/source/libcudf_docs/datetime_compute.rst b/docs/cudf/source/libcudf_docs/api_docs/datetime_compute.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/datetime_compute.rst rename to docs/cudf/source/libcudf_docs/api_docs/datetime_compute.rst diff --git a/docs/cudf/source/libcudf_docs/datetime_extract.rst b/docs/cudf/source/libcudf_docs/api_docs/datetime_extract.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/datetime_extract.rst rename to docs/cudf/source/libcudf_docs/api_docs/datetime_extract.rst diff --git a/docs/cudf/source/libcudf_docs/default_stream.rst b/docs/cudf/source/libcudf_docs/api_docs/default_stream.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/default_stream.rst rename to docs/cudf/source/libcudf_docs/api_docs/default_stream.rst diff --git a/docs/cudf/source/libcudf_docs/dictionary_apis.rst b/docs/cudf/source/libcudf_docs/api_docs/dictionary_apis.rst similarity index 73% rename from docs/cudf/source/libcudf_docs/dictionary_apis.rst rename to docs/cudf/source/libcudf_docs/api_docs/dictionary_apis.rst index fc575959fab..8d463b0a956 100644 --- a/docs/cudf/source/libcudf_docs/dictionary_apis.rst +++ b/docs/cudf/source/libcudf_docs/api_docs/dictionary_apis.rst @@ -4,6 +4,10 @@ Dictionary APIs .. doxygengroup:: dictionary_apis :members: +.. toctree:: + :maxdepth: 2 + :caption: Contents: + dictionary_encode dictionary_search dictionary_update diff --git a/docs/cudf/source/libcudf_docs/dictionary_classes.rst b/docs/cudf/source/libcudf_docs/api_docs/dictionary_classes.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/dictionary_classes.rst rename to docs/cudf/source/libcudf_docs/api_docs/dictionary_classes.rst diff --git a/docs/cudf/source/libcudf_docs/dictionary_encode.rst b/docs/cudf/source/libcudf_docs/api_docs/dictionary_encode.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/dictionary_encode.rst rename to docs/cudf/source/libcudf_docs/api_docs/dictionary_encode.rst diff --git a/docs/cudf/source/libcudf_docs/dictionary_search.rst b/docs/cudf/source/libcudf_docs/api_docs/dictionary_search.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/dictionary_search.rst rename to docs/cudf/source/libcudf_docs/api_docs/dictionary_search.rst diff --git a/docs/cudf/source/libcudf_docs/dictionary_update.rst b/docs/cudf/source/libcudf_docs/api_docs/dictionary_update.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/dictionary_update.rst rename to docs/cudf/source/libcudf_docs/api_docs/dictionary_update.rst diff --git a/docs/cudf/source/libcudf_docs/expressions.rst b/docs/cudf/source/libcudf_docs/api_docs/expressions.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/expressions.rst rename to docs/cudf/source/libcudf_docs/api_docs/expressions.rst diff --git a/docs/cudf/source/libcudf_docs/fixed_point_classes.rst b/docs/cudf/source/libcudf_docs/api_docs/fixed_point_classes.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/fixed_point_classes.rst rename to docs/cudf/source/libcudf_docs/api_docs/fixed_point_classes.rst diff --git a/docs/cudf/source/libcudf_docs/api_docs/index.rst b/docs/cudf/source/libcudf_docs/api_docs/index.rst new file mode 100644 index 00000000000..c077a7cd452 --- /dev/null +++ b/docs/cudf/source/libcudf_docs/api_docs/index.rst @@ -0,0 +1,29 @@ +libcudf documentation +===================== + +.. toctree:: + :maxdepth: 2 + :caption: Contents: + + cudf_namespace + default_stream + cudf_classes + column_apis + datetime_apis + strings_apis + dictionary_apis + io_apis + json_apis + lists_apis + nvtext_apis + utility_apis + labeling_apis + expressions + tdigest + + +Indices and tables +================== + +* :ref:`genindex` +* :ref:`search` diff --git a/docs/cudf/source/libcudf_docs/interop_arrow.rst b/docs/cudf/source/libcudf_docs/api_docs/interop_arrow.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/interop_arrow.rst rename to docs/cudf/source/libcudf_docs/api_docs/interop_arrow.rst diff --git a/docs/cudf/source/libcudf_docs/interop_dlpack.rst b/docs/cudf/source/libcudf_docs/api_docs/interop_dlpack.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/interop_dlpack.rst rename to docs/cudf/source/libcudf_docs/api_docs/interop_dlpack.rst diff --git a/docs/cudf/source/libcudf_docs/io_apis.rst b/docs/cudf/source/libcudf_docs/api_docs/io_apis.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/io_apis.rst rename to docs/cudf/source/libcudf_docs/api_docs/io_apis.rst diff --git a/docs/cudf/source/libcudf_docs/io_datasinks.rst b/docs/cudf/source/libcudf_docs/api_docs/io_datasinks.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/io_datasinks.rst rename to docs/cudf/source/libcudf_docs/api_docs/io_datasinks.rst diff --git a/docs/cudf/source/libcudf_docs/io_datasources.rst b/docs/cudf/source/libcudf_docs/api_docs/io_datasources.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/io_datasources.rst rename to docs/cudf/source/libcudf_docs/api_docs/io_datasources.rst diff --git a/docs/cudf/source/libcudf_docs/io_readers.rst b/docs/cudf/source/libcudf_docs/api_docs/io_readers.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/io_readers.rst rename to docs/cudf/source/libcudf_docs/api_docs/io_readers.rst diff --git a/docs/cudf/source/libcudf_docs/io_types.rst b/docs/cudf/source/libcudf_docs/api_docs/io_types.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/io_types.rst rename to docs/cudf/source/libcudf_docs/api_docs/io_types.rst diff --git a/docs/cudf/source/libcudf_docs/io_writers.rst b/docs/cudf/source/libcudf_docs/api_docs/io_writers.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/io_writers.rst rename to docs/cudf/source/libcudf_docs/api_docs/io_writers.rst diff --git a/docs/cudf/source/libcudf_docs/json_apis.rst b/docs/cudf/source/libcudf_docs/api_docs/json_apis.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/json_apis.rst rename to docs/cudf/source/libcudf_docs/api_docs/json_apis.rst diff --git a/docs/cudf/source/libcudf_docs/json_object.rst b/docs/cudf/source/libcudf_docs/api_docs/json_object.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/json_object.rst rename to docs/cudf/source/libcudf_docs/api_docs/json_object.rst diff --git a/docs/cudf/source/libcudf_docs/label_bins.rst b/docs/cudf/source/libcudf_docs/api_docs/label_bins.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/label_bins.rst rename to docs/cudf/source/libcudf_docs/api_docs/label_bins.rst diff --git a/docs/cudf/source/libcudf_docs/labeling_apis.rst b/docs/cudf/source/libcudf_docs/api_docs/labeling_apis.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/labeling_apis.rst rename to docs/cudf/source/libcudf_docs/api_docs/labeling_apis.rst diff --git a/docs/cudf/source/libcudf_docs/lists_apis.rst b/docs/cudf/source/libcudf_docs/api_docs/lists_apis.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/lists_apis.rst rename to docs/cudf/source/libcudf_docs/api_docs/lists_apis.rst diff --git a/docs/cudf/source/libcudf_docs/lists_classes.rst b/docs/cudf/source/libcudf_docs/api_docs/lists_classes.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/lists_classes.rst rename to docs/cudf/source/libcudf_docs/api_docs/lists_classes.rst diff --git a/docs/cudf/source/libcudf_docs/lists_combine.rst b/docs/cudf/source/libcudf_docs/api_docs/lists_combine.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/lists_combine.rst rename to docs/cudf/source/libcudf_docs/api_docs/lists_combine.rst diff --git a/docs/cudf/source/libcudf_docs/lists_contains.rst b/docs/cudf/source/libcudf_docs/api_docs/lists_contains.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/lists_contains.rst rename to docs/cudf/source/libcudf_docs/api_docs/lists_contains.rst diff --git a/docs/cudf/source/libcudf_docs/lists_elements.rst b/docs/cudf/source/libcudf_docs/api_docs/lists_elements.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/lists_elements.rst rename to docs/cudf/source/libcudf_docs/api_docs/lists_elements.rst diff --git a/docs/cudf/source/libcudf_docs/lists_extract.rst b/docs/cudf/source/libcudf_docs/api_docs/lists_extract.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/lists_extract.rst rename to docs/cudf/source/libcudf_docs/api_docs/lists_extract.rst diff --git a/docs/cudf/source/libcudf_docs/lists_filling.rst b/docs/cudf/source/libcudf_docs/api_docs/lists_filling.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/lists_filling.rst rename to docs/cudf/source/libcudf_docs/api_docs/lists_filling.rst diff --git a/docs/cudf/source/libcudf_docs/lists_filtering.rst b/docs/cudf/source/libcudf_docs/api_docs/lists_filtering.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/lists_filtering.rst rename to docs/cudf/source/libcudf_docs/api_docs/lists_filtering.rst diff --git a/docs/cudf/source/libcudf_docs/lists_gather.rst b/docs/cudf/source/libcudf_docs/api_docs/lists_gather.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/lists_gather.rst rename to docs/cudf/source/libcudf_docs/api_docs/lists_gather.rst diff --git a/docs/cudf/source/libcudf_docs/lists_modify.rst b/docs/cudf/source/libcudf_docs/api_docs/lists_modify.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/lists_modify.rst rename to docs/cudf/source/libcudf_docs/api_docs/lists_modify.rst diff --git a/docs/cudf/source/libcudf_docs/lists_sort.rst b/docs/cudf/source/libcudf_docs/api_docs/lists_sort.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/lists_sort.rst rename to docs/cudf/source/libcudf_docs/api_docs/lists_sort.rst diff --git a/docs/cudf/source/libcudf_docs/nvtext_apis.rst b/docs/cudf/source/libcudf_docs/api_docs/nvtext_apis.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/nvtext_apis.rst rename to docs/cudf/source/libcudf_docs/api_docs/nvtext_apis.rst diff --git a/docs/cudf/source/libcudf_docs/nvtext_edit_distance.rst b/docs/cudf/source/libcudf_docs/api_docs/nvtext_edit_distance.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/nvtext_edit_distance.rst rename to docs/cudf/source/libcudf_docs/api_docs/nvtext_edit_distance.rst diff --git a/docs/cudf/source/libcudf_docs/nvtext_jaccard.rst b/docs/cudf/source/libcudf_docs/api_docs/nvtext_jaccard.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/nvtext_jaccard.rst rename to docs/cudf/source/libcudf_docs/api_docs/nvtext_jaccard.rst diff --git a/docs/cudf/source/libcudf_docs/nvtext_minhash.rst b/docs/cudf/source/libcudf_docs/api_docs/nvtext_minhash.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/nvtext_minhash.rst rename to docs/cudf/source/libcudf_docs/api_docs/nvtext_minhash.rst diff --git a/docs/cudf/source/libcudf_docs/nvtext_ngrams.rst b/docs/cudf/source/libcudf_docs/api_docs/nvtext_ngrams.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/nvtext_ngrams.rst rename to docs/cudf/source/libcudf_docs/api_docs/nvtext_ngrams.rst diff --git a/docs/cudf/source/libcudf_docs/nvtext_normalize.rst b/docs/cudf/source/libcudf_docs/api_docs/nvtext_normalize.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/nvtext_normalize.rst rename to docs/cudf/source/libcudf_docs/api_docs/nvtext_normalize.rst diff --git a/docs/cudf/source/libcudf_docs/nvtext_replace.rst b/docs/cudf/source/libcudf_docs/api_docs/nvtext_replace.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/nvtext_replace.rst rename to docs/cudf/source/libcudf_docs/api_docs/nvtext_replace.rst diff --git a/docs/cudf/source/libcudf_docs/nvtext_stemmer.rst b/docs/cudf/source/libcudf_docs/api_docs/nvtext_stemmer.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/nvtext_stemmer.rst rename to docs/cudf/source/libcudf_docs/api_docs/nvtext_stemmer.rst diff --git a/docs/cudf/source/libcudf_docs/nvtext_tokenize.rst b/docs/cudf/source/libcudf_docs/api_docs/nvtext_tokenize.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/nvtext_tokenize.rst rename to docs/cudf/source/libcudf_docs/api_docs/nvtext_tokenize.rst diff --git a/docs/cudf/source/libcudf_docs/reorder_compact.rst b/docs/cudf/source/libcudf_docs/api_docs/reorder_compact.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/reorder_compact.rst rename to docs/cudf/source/libcudf_docs/api_docs/reorder_compact.rst diff --git a/docs/cudf/source/libcudf_docs/reorder_partition.rst b/docs/cudf/source/libcudf_docs/api_docs/reorder_partition.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/reorder_partition.rst rename to docs/cudf/source/libcudf_docs/api_docs/reorder_partition.rst diff --git a/docs/cudf/source/libcudf_docs/reshape_transpose.rst b/docs/cudf/source/libcudf_docs/api_docs/reshape_transpose.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/reshape_transpose.rst rename to docs/cudf/source/libcudf_docs/api_docs/reshape_transpose.rst diff --git a/docs/cudf/source/libcudf_docs/scalar_classes.rst b/docs/cudf/source/libcudf_docs/api_docs/scalar_classes.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/scalar_classes.rst rename to docs/cudf/source/libcudf_docs/api_docs/scalar_classes.rst diff --git a/docs/cudf/source/libcudf_docs/scalar_factories.rst b/docs/cudf/source/libcudf_docs/api_docs/scalar_factories.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/scalar_factories.rst rename to docs/cudf/source/libcudf_docs/api_docs/scalar_factories.rst diff --git a/docs/cudf/source/libcudf_docs/set_operations.rst b/docs/cudf/source/libcudf_docs/api_docs/set_operations.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/set_operations.rst rename to docs/cudf/source/libcudf_docs/api_docs/set_operations.rst diff --git a/docs/cudf/source/libcudf_docs/strings_apis.rst b/docs/cudf/source/libcudf_docs/api_docs/strings_apis.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/strings_apis.rst rename to docs/cudf/source/libcudf_docs/api_docs/strings_apis.rst diff --git a/docs/cudf/source/libcudf_docs/strings_case.rst b/docs/cudf/source/libcudf_docs/api_docs/strings_case.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/strings_case.rst rename to docs/cudf/source/libcudf_docs/api_docs/strings_case.rst diff --git a/docs/cudf/source/libcudf_docs/strings_classes.rst b/docs/cudf/source/libcudf_docs/api_docs/strings_classes.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/strings_classes.rst rename to docs/cudf/source/libcudf_docs/api_docs/strings_classes.rst diff --git a/docs/cudf/source/libcudf_docs/strings_combine.rst b/docs/cudf/source/libcudf_docs/api_docs/strings_combine.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/strings_combine.rst rename to docs/cudf/source/libcudf_docs/api_docs/strings_combine.rst diff --git a/docs/cudf/source/libcudf_docs/strings_contains.rst b/docs/cudf/source/libcudf_docs/api_docs/strings_contains.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/strings_contains.rst rename to docs/cudf/source/libcudf_docs/api_docs/strings_contains.rst diff --git a/docs/cudf/source/libcudf_docs/strings_convert.rst b/docs/cudf/source/libcudf_docs/api_docs/strings_convert.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/strings_convert.rst rename to docs/cudf/source/libcudf_docs/api_docs/strings_convert.rst diff --git a/docs/cudf/source/libcudf_docs/strings_copy.rst b/docs/cudf/source/libcudf_docs/api_docs/strings_copy.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/strings_copy.rst rename to docs/cudf/source/libcudf_docs/api_docs/strings_copy.rst diff --git a/docs/cudf/source/libcudf_docs/strings_extract.rst b/docs/cudf/source/libcudf_docs/api_docs/strings_extract.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/strings_extract.rst rename to docs/cudf/source/libcudf_docs/api_docs/strings_extract.rst diff --git a/docs/cudf/source/libcudf_docs/strings_find.rst b/docs/cudf/source/libcudf_docs/api_docs/strings_find.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/strings_find.rst rename to docs/cudf/source/libcudf_docs/api_docs/strings_find.rst diff --git a/docs/cudf/source/libcudf_docs/strings_modify.rst b/docs/cudf/source/libcudf_docs/api_docs/strings_modify.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/strings_modify.rst rename to docs/cudf/source/libcudf_docs/api_docs/strings_modify.rst diff --git a/docs/cudf/source/libcudf_docs/strings_regex.rst b/docs/cudf/source/libcudf_docs/api_docs/strings_regex.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/strings_regex.rst rename to docs/cudf/source/libcudf_docs/api_docs/strings_regex.rst diff --git a/docs/cudf/source/libcudf_docs/strings_replace.rst b/docs/cudf/source/libcudf_docs/api_docs/strings_replace.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/strings_replace.rst rename to docs/cudf/source/libcudf_docs/api_docs/strings_replace.rst diff --git a/docs/cudf/source/libcudf_docs/strings_slice.rst b/docs/cudf/source/libcudf_docs/api_docs/strings_slice.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/strings_slice.rst rename to docs/cudf/source/libcudf_docs/api_docs/strings_slice.rst diff --git a/docs/cudf/source/libcudf_docs/strings_split.rst b/docs/cudf/source/libcudf_docs/api_docs/strings_split.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/strings_split.rst rename to docs/cudf/source/libcudf_docs/api_docs/strings_split.rst diff --git a/docs/cudf/source/libcudf_docs/strings_types.rst b/docs/cudf/source/libcudf_docs/api_docs/strings_types.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/strings_types.rst rename to docs/cudf/source/libcudf_docs/api_docs/strings_types.rst diff --git a/docs/cudf/source/libcudf_docs/structs_classes.rst b/docs/cudf/source/libcudf_docs/api_docs/structs_classes.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/structs_classes.rst rename to docs/cudf/source/libcudf_docs/api_docs/structs_classes.rst diff --git a/docs/cudf/source/libcudf_docs/table_classes.rst b/docs/cudf/source/libcudf_docs/api_docs/table_classes.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/table_classes.rst rename to docs/cudf/source/libcudf_docs/api_docs/table_classes.rst diff --git a/docs/cudf/source/libcudf_docs/tdigest.rst b/docs/cudf/source/libcudf_docs/api_docs/tdigest.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/tdigest.rst rename to docs/cudf/source/libcudf_docs/api_docs/tdigest.rst diff --git a/docs/cudf/source/libcudf_docs/timestamp_classes.rst b/docs/cudf/source/libcudf_docs/api_docs/timestamp_classes.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/timestamp_classes.rst rename to docs/cudf/source/libcudf_docs/api_docs/timestamp_classes.rst diff --git a/docs/cudf/source/libcudf_docs/transformation_binaryops.rst b/docs/cudf/source/libcudf_docs/api_docs/transformation_binaryops.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/transformation_binaryops.rst rename to docs/cudf/source/libcudf_docs/api_docs/transformation_binaryops.rst diff --git a/docs/cudf/source/libcudf_docs/transformation_fill.rst b/docs/cudf/source/libcudf_docs/api_docs/transformation_fill.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/transformation_fill.rst rename to docs/cudf/source/libcudf_docs/api_docs/transformation_fill.rst diff --git a/docs/cudf/source/libcudf_docs/transformation_replace.rst b/docs/cudf/source/libcudf_docs/api_docs/transformation_replace.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/transformation_replace.rst rename to docs/cudf/source/libcudf_docs/api_docs/transformation_replace.rst diff --git a/docs/cudf/source/libcudf_docs/transformation_transform.rst b/docs/cudf/source/libcudf_docs/api_docs/transformation_transform.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/transformation_transform.rst rename to docs/cudf/source/libcudf_docs/api_docs/transformation_transform.rst diff --git a/docs/cudf/source/libcudf_docs/transformation_unaryops.rst b/docs/cudf/source/libcudf_docs/api_docs/transformation_unaryops.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/transformation_unaryops.rst rename to docs/cudf/source/libcudf_docs/api_docs/transformation_unaryops.rst diff --git a/docs/cudf/source/libcudf_docs/utility_apis.rst b/docs/cudf/source/libcudf_docs/api_docs/utility_apis.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/utility_apis.rst rename to docs/cudf/source/libcudf_docs/api_docs/utility_apis.rst diff --git a/docs/cudf/source/libcudf_docs/utility_bitmask.rst b/docs/cudf/source/libcudf_docs/api_docs/utility_bitmask.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/utility_bitmask.rst rename to docs/cudf/source/libcudf_docs/api_docs/utility_bitmask.rst diff --git a/docs/cudf/source/libcudf_docs/utility_dispatcher.rst b/docs/cudf/source/libcudf_docs/api_docs/utility_dispatcher.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/utility_dispatcher.rst rename to docs/cudf/source/libcudf_docs/api_docs/utility_dispatcher.rst diff --git a/docs/cudf/source/libcudf_docs/utility_error.rst b/docs/cudf/source/libcudf_docs/api_docs/utility_error.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/utility_error.rst rename to docs/cudf/source/libcudf_docs/api_docs/utility_error.rst diff --git a/docs/cudf/source/libcudf_docs/utility_span.rst b/docs/cudf/source/libcudf_docs/api_docs/utility_span.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/utility_span.rst rename to docs/cudf/source/libcudf_docs/api_docs/utility_span.rst diff --git a/docs/cudf/source/libcudf_docs/utility_types.rst b/docs/cudf/source/libcudf_docs/api_docs/utility_types.rst similarity index 100% rename from docs/cudf/source/libcudf_docs/utility_types.rst rename to docs/cudf/source/libcudf_docs/api_docs/utility_types.rst diff --git a/docs/cudf/source/libcudf_docs/developer_guide/benchmarking.rst b/docs/cudf/source/libcudf_docs/developer_guide/benchmarking.rst new file mode 100644 index 00000000000..317522de2a6 --- /dev/null +++ b/docs/cudf/source/libcudf_docs/developer_guide/benchmarking.rst @@ -0,0 +1,4 @@ +.. _libcudf_benchmarking_guide: + +.. include:: ../../../../../cpp/doxygen/developer_guide/BENCHMARKING.md + :parser: myst_parser.sphinx_ diff --git a/docs/cudf/source/libcudf_docs/developer_guide/documentation.rst b/docs/cudf/source/libcudf_docs/developer_guide/documentation.rst new file mode 100644 index 00000000000..87db6f9845b --- /dev/null +++ b/docs/cudf/source/libcudf_docs/developer_guide/documentation.rst @@ -0,0 +1,4 @@ +.. _libcudf_documentation_guide: + +.. include:: ../../../../../cpp/doxygen/developer_guide/DOCUMENTATION.md + :parser: myst_parser.sphinx_ diff --git a/docs/cudf/source/libcudf_docs/developer_guide/index.rst b/docs/cudf/source/libcudf_docs/developer_guide/index.rst new file mode 100644 index 00000000000..3a4f6061407 --- /dev/null +++ b/docs/cudf/source/libcudf_docs/developer_guide/index.rst @@ -0,0 +1,23 @@ +libcudf developer documentation +=============================== + +.. _libcudf_developer_guide: + +Developers may wish to refer to more specific pages for documentation of libcudf best practices. + +.. toctree:: + :maxdepth: 2 + :caption: Contents: + + documentation + testing + benchmarking + +.. include:: ../../../../../cpp/doxygen/developer_guide/DEVELOPER_GUIDE.md + :parser: myst_parser.sphinx_ + +Indices and tables +================== + +* :ref:`genindex` +* :ref:`search` diff --git a/docs/cudf/source/libcudf_docs/developer_guide/strings.png b/docs/cudf/source/libcudf_docs/developer_guide/strings.png new file mode 120000 index 00000000000..acde8bb2dc6 --- /dev/null +++ b/docs/cudf/source/libcudf_docs/developer_guide/strings.png @@ -0,0 +1 @@ +../../../../../cpp/doxygen/developer_guide/strings.png \ No newline at end of file diff --git a/docs/cudf/source/libcudf_docs/developer_guide/testing.rst b/docs/cudf/source/libcudf_docs/developer_guide/testing.rst new file mode 100644 index 00000000000..0ce9ccb8da7 --- /dev/null +++ b/docs/cudf/source/libcudf_docs/developer_guide/testing.rst @@ -0,0 +1,4 @@ +.. _libcudf_testing_guide: + +.. include:: ../../../../../cpp/doxygen/developer_guide/TESTING.md + :parser: myst_parser.sphinx_ diff --git a/docs/cudf/source/libcudf_docs/index.rst b/docs/cudf/source/libcudf_docs/index.rst index a1e551cc96d..cc2907d55f8 100644 --- a/docs/cudf/source/libcudf_docs/index.rst +++ b/docs/cudf/source/libcudf_docs/index.rst @@ -5,22 +5,10 @@ libcudf documentation :maxdepth: 2 :caption: Contents: - cudf_namespace - default_stream - cudf_classes - column_apis - datetime_apis - strings_apis - dictionary_apis - io_apis - json_apis - lists_apis - nvtext_apis - utility_apis - labeling_apis - expressions + api_docs/index.rst md_regex - tdigest + unicode_limitations + developer_guide/index.rst Indices and tables diff --git a/docs/cudf/source/libcudf_docs/unicode_limitations.rst b/docs/cudf/source/libcudf_docs/unicode_limitations.rst new file mode 100644 index 00000000000..1f069088160 --- /dev/null +++ b/docs/cudf/source/libcudf_docs/unicode_limitations.rst @@ -0,0 +1,4 @@ +.. _unicode_limitations: + +.. include:: ../../../../cpp/doxygen/unicode.md + :parser: myst_parser.sphinx_ From 0ede73e337672fc7b2ffd87106fd678464440a56 Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Mon, 18 Dec 2023 21:42:08 +0000 Subject: [PATCH 61/72] Require new Breathe --- conda/environments/all_cuda-118_arch-x86_64.yaml | 2 +- conda/environments/all_cuda-120_arch-x86_64.yaml | 2 +- dependencies.yaml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/conda/environments/all_cuda-118_arch-x86_64.yaml b/conda/environments/all_cuda-118_arch-x86_64.yaml index 49479753976..b45b56ed65a 100644 --- a/conda/environments/all_cuda-118_arch-x86_64.yaml +++ b/conda/environments/all_cuda-118_arch-x86_64.yaml @@ -12,7 +12,7 @@ dependencies: - benchmark==1.8.0 - boto3>=1.21.21 - botocore>=1.24.21 -- breathe +- breathe>=4.35.0 - c-compiler - cachetools - clang-tools=16.0.6 diff --git a/conda/environments/all_cuda-120_arch-x86_64.yaml b/conda/environments/all_cuda-120_arch-x86_64.yaml index 4a3c9863f7c..a162c1ca1a1 100644 --- a/conda/environments/all_cuda-120_arch-x86_64.yaml +++ b/conda/environments/all_cuda-120_arch-x86_64.yaml @@ -12,7 +12,7 @@ dependencies: - benchmark==1.8.0 - boto3>=1.21.21 - botocore>=1.24.21 -- breathe +- breathe>=4.35.0 - c-compiler - cachetools - clang-tools=16.0.6 diff --git a/dependencies.yaml b/dependencies.yaml index fb35f457011..1c955ee6bda 100644 --- a/dependencies.yaml +++ b/dependencies.yaml @@ -432,7 +432,7 @@ dependencies: common: - output_types: [conda] packages: - - breathe + - breathe>=4.35.0 - dask-cuda==24.2.* - *doxygen - make From beaceaf533dfbd84ff281446c10b97f46ac9de37 Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Mon, 18 Dec 2023 23:05:07 +0000 Subject: [PATCH 62/72] Fix issues with developer guide links --- cpp/doxygen/developer_guide/BENCHMARKING.md | 4 ++-- .../developer_guide/DEVELOPER_GUIDE.md | 7 +++++-- cpp/doxygen/developer_guide/DOCUMENTATION.md | 20 ++++++++++--------- 3 files changed, 18 insertions(+), 13 deletions(-) diff --git a/cpp/doxygen/developer_guide/BENCHMARKING.md b/cpp/doxygen/developer_guide/BENCHMARKING.md index 98e2f428cc3..5ee7be918d1 100644 --- a/cpp/doxygen/developer_guide/BENCHMARKING.md +++ b/cpp/doxygen/developer_guide/BENCHMARKING.md @@ -23,7 +23,7 @@ benchmarks in `cpp/benchmarks/copying/scatter.cu`. In the interest of improving compile time, whenever possible, test source files should be `.cpp` files because `nvcc` is slower than `gcc` in compiling host code. Note that `thrust::device_vector` includes device code, and so must only be used in `.cu` files. `rmm::device_uvector`, -`rmm::device_buffer` and the various `column_wrapper` types described in [Testing](TESTING.md) +`rmm::device_buffer` and the various `column_wrapper` types described in [Testing](testing) can be used in `.cpp` files, and are therefore preferred in test code over `thrust::device_vector`. ## CUDA Asynchrony and benchmark accuracy @@ -37,7 +37,7 @@ performance in repeated iterations. ## Data generation -For generating benchmark input data, helper functions are available at [cpp/benchmarks/common/generate_input.hpp](/cpp/benchmarks/common/generate_input.hpp). The input data generation happens on device, in contrast to any `column_wrapper` where data generation happens on the host. +For generating benchmark input data, helper functions are available at ``cpp/benchmarks/common/generate_input.hpp``. The input data generation happens on device, in contrast to any `column_wrapper` where data generation happens on the host. * `create_sequence_table` can generate sequence columns starting with value 0 in first row and increasing by 1 in subsequent rows. * `create_random_column` can generate a column filled with random data. The random data parameters are configurable. * `create_random_table` can generate a table of columns filled with random data. The random data parameters are configurable. diff --git a/cpp/doxygen/developer_guide/DEVELOPER_GUIDE.md b/cpp/doxygen/developer_guide/DEVELOPER_GUIDE.md index fb9a08163ee..c17587edce7 100644 --- a/cpp/doxygen/developer_guide/DEVELOPER_GUIDE.md +++ b/cpp/doxygen/developer_guide/DEVELOPER_GUIDE.md @@ -130,7 +130,7 @@ Additional style guidelines for libcudf code include: `1'234'567`. Hexadecimal values should use separators every 4 characters, like `0x0123'ABCD`. -Documentation is discussed in the [Documentation Guide](DOCUMENTATION.md). +Documentation is discussed in the [Documentation Guide](documentation). ### Includes @@ -429,7 +429,7 @@ inputs. The types of those exceptions (e.g. `cudf::logic_error`) are part of the However, the explanatory string returned by the `what` method of those exceptions is not part of the API and is subject to change. Calling code should not rely on the contents of libcudf error messages to determine the nature of the error. For information on the types of exceptions that -libcudf throws under different circumstances, see the [section on error handling](#errors). +libcudf throws under different circumstances, see the [section on error handling](#error-handling). # libcudf API and Implementation @@ -889,6 +889,7 @@ the "breaking" tag. This ensures that the "Breaking" section of the release note description of what has broken from the past release. Label pull requests that contain deprecations with the "non-breaking" tag. +(error-handling)= # Error Handling {#errors} @@ -1337,6 +1338,8 @@ within the string. `cudf::type_dispatcher` dispatches to the `string_view` data type when invoked on a `STRING` column. +(utf-8)= + #### UTF-8 The libcudf strings column only supports UTF-8 encoding for strings data. diff --git a/cpp/doxygen/developer_guide/DOCUMENTATION.md b/cpp/doxygen/developer_guide/DOCUMENTATION.md index b86f7db82b0..93145798927 100644 --- a/cpp/doxygen/developer_guide/DOCUMENTATION.md +++ b/cpp/doxygen/developer_guide/DOCUMENTATION.md @@ -40,7 +40,7 @@ Doxygen recognizes and parses block comments and performs specialized output for There are almost 200 commands (also called tags in this document) that doxygen recognizes in comment blocks. This document provides guidance on which commands/tags to use and how to use them in the libcudf C++ source code. -The doxygen process can be customized using options in the [Doxyfile](../doxygen/Doxyfile). +The doxygen process can be customized using options in the Doxyfile. Here are some of the custom options in the Doxyfile for libcudf. | Option | Setting | Description | @@ -234,10 +234,10 @@ The following tags should appear near the end of function comment block in the o | Command | Description | | ------- | ----------- | -| [\@throw](#throw) | Specify the conditions in which the function may throw an exception | -| [\@tparam](#tparam) | Description for each template parameter | -| [\@param](#param) | Description for each function parameter | -| [\@return](#return) | Short description of object or value returned | +| \@throw | Specify the conditions in which the function may throw an exception | +| \@tparam | Description for each template parameter | +| \@param | Description for each function parameter | +| \@return | Short description of object or value returned | #### \@throw @@ -293,6 +293,8 @@ Include a brief description of what is returned. Do not include the type of the object returned with the `@return` comment. +(inline-examples)= + ### Inline Examples It is usually helpful to include a source code example inside your comment block when documenting a function or other declaration. @@ -378,12 +380,12 @@ The doxygen output includes a _Modules_ page that organizes items into groups sp These commands can group common functions across header files, source files, and even namespaces. Groups can also be nested by defining new groups within existing groups. -For libcudf, all the group hierarchy is defined in the [doxygen_groups.h](../include/doxygen_groups.h) header file. -The [doxygen_groups.h](../include/doxygen_groups.h) file does not need to be included in any other source file, because the definitions in this file are used only by the doxygen tool to generate groups in the _Modules_ page. +For libcudf, all the group hierarchy is defined in the ``cpp/include/doxygen_groups.h`` header file. +The doxygen_groups.h file does not need to be included in any other source file, because the definitions in this file are used only by the doxygen tool to generate groups in the _Modules_ page. Modify this file only to add or update groups. The existing groups have been carefully structured and named, so new groups should be added thoughtfully. -When creating a new API, specify its group using the [\@ingroup](https://www.doxygen.nl/manual/commands.html#cmdingroup) tag and the group reference id from the [doxygen_groups.h](../include/doxygen_groups.h) file. +When creating a new API, specify its group using the [\@ingroup](https://www.doxygen.nl/manual/commands.html#cmdingroup) tag and the group reference id from the doxygen_groups.h file. namespace cudf { @@ -426,7 +428,7 @@ So include the `@addtogroup` and `@{ ... @}` between the namespace declaration b Summary of groups tags | Tag/Command | Where to use | | ----------- | ------------ | -| `@defgroup` | For use only in [doxygen_groups.h](../include/doxygen_groups.h) and should include the group's title. | +| `@defgroup` | For use only in doxygen_groups.h and should include the group's title. | | `@ingroup` | Use inside individual doxygen block comments for declaration statements in a header file. | | `@addtogroup` | Use instead of `@ingroup` for multiple declarations in the same file within a namespace declaration. Do not specify a group title. | | `@{ ... @}` | Use only with `@addtogroup`. | From 89ce4dc40d2d3a282297ec65209eaac36f3d4baa Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Tue, 19 Dec 2023 00:45:11 +0000 Subject: [PATCH 63/72] Test parallel builds --- docs/cudf/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/cudf/Makefile b/docs/cudf/Makefile index 0b3a6876a5a..58994066e49 100644 --- a/docs/cudf/Makefile +++ b/docs/cudf/Makefile @@ -2,7 +2,7 @@ # # You can set these variables from the command line. -SPHINXOPTS = -n -v -W --keep-going +SPHINXOPTS = -n -v -W --keep-going -j 4 SPHINXBUILD = sphinx-build SPHINXPROJ = cudf SOURCEDIR = source From 08797fba0f775c662725064c12fb44b644cd3898 Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Tue, 19 Dec 2023 06:35:31 +0000 Subject: [PATCH 64/72] Move parallelism flag to build script so that it's not hardcoded in Makefile --- ci/build_docs.sh | 4 ++-- docs/cudf/Makefile | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ci/build_docs.sh b/ci/build_docs.sh index ec329a2b40b..216552e5d72 100755 --- a/ci/build_docs.sh +++ b/ci/build_docs.sh @@ -37,8 +37,8 @@ popd rapids-logger "Build Python docs" pushd docs/cudf -make dirhtml -make text +make dirhtml O="-j 4" +make text O="-j 4" mkdir -p "${RAPIDS_DOCS_DIR}/cudf/"{html,txt} mv build/dirhtml/* "${RAPIDS_DOCS_DIR}/cudf/html" mv build/text/* "${RAPIDS_DOCS_DIR}/cudf/txt" diff --git a/docs/cudf/Makefile b/docs/cudf/Makefile index 58994066e49..0b3a6876a5a 100644 --- a/docs/cudf/Makefile +++ b/docs/cudf/Makefile @@ -2,7 +2,7 @@ # # You can set these variables from the command line. -SPHINXOPTS = -n -v -W --keep-going -j 4 +SPHINXOPTS = -n -v -W --keep-going SPHINXBUILD = sphinx-build SPHINXPROJ = cudf SOURCEDIR = source From cf407776b8e62fbb7e91adf78c2f7d77c39b6381 Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Tue, 19 Dec 2023 16:10:03 +0000 Subject: [PATCH 65/72] More optimizations --- docs/cudf/source/conf.py | 74 +++++++++++++++++++++++----------------- 1 file changed, 42 insertions(+), 32 deletions(-) diff --git a/docs/cudf/source/conf.py b/docs/cudf/source/conf.py index 5bef8cca92f..2c2ab9dbeef 100644 --- a/docs/cudf/source/conf.py +++ b/docs/cudf/source/conf.py @@ -384,12 +384,27 @@ def _generate_namespaces(namespaces): _prefixed_domain_objects = None _intersphinx_cache = {} -_intersphinx_extra_prefixes = ("rmm::", "rmm::mr::", "mr::", "") +_intersphinx_extra_prefixes = ("rmm", "rmm::mr", "mr") + + +def _cached_intersphinx_lookup(env, node, contnode): + """Perform an intersphinx lookup and cache the result. + + Have to manually manage the intersphinx cache because lru_cache doesn't + handle the env object properly. + """ + key = (node, contnode) + if key in _intersphinx_cache: + return _intersphinx_cache[key] + if (ref := intersphinx.resolve_reference_detect_inventory(env, node, contnode)) is not None: + _intersphinx_cache[key] = ref + return ref def on_missing_reference(app, env, node, contnode): # These variables are defined outside the function to speed up the build. - global _all_namespaces, _names_to_skip, _domain_objects, _intersphinx_extra_prefixes, _prefixed_domain_objects, _intersphinx_cache + global _all_namespaces, _names_to_skip, _intersphinx_extra_prefixes, \ + _domain_objects, _prefixed_domain_objects, _intersphinx_cache # Precompute and cache domains for faster lookups if _domain_objects is None: @@ -400,17 +415,17 @@ def on_missing_reference(app, env, node, contnode): for prefix in _all_namespaces: _prefixed_domain_objects[f"{prefix}{name}"] = name - name = node.get("reftarget", None) - if name == "cudf.core.index.GenericIndex": + reftarget = node.get("reftarget") + if reftarget == "cudf.core.index.GenericIndex": # We don't exposed docs for `cudf.core.index.GenericIndex` # hence we would want the docstring & mypy references to # use `cudf.Index` node["reftarget"] = "cudf.Index" return contnode - if "namespacecudf" in name: + if "namespacecudf" in reftarget: node["reftarget"] = "cudf" return contnode - if "classcudf_1_1column__device__view_" in name: + if "classcudf_1_1column__device__view_" in reftarget: node["reftarget"] = "cudf::column_device_view" return contnode @@ -420,10 +435,7 @@ def on_missing_reference(app, env, node, contnode): # generates. Adding those would clutter the Sphinx output. return contnode - if ( - node["refdomain"] in ("std", "cpp") - and (reftarget := node.get("reftarget")) is not None - ): + if node["refdomain"] in ("std", "cpp") and reftarget is not None: if any(toskip in reftarget for toskip in _names_to_skip): return contnode @@ -432,18 +444,14 @@ def on_missing_reference(app, env, node, contnode): reftarget = match.group(1) # Try to find the target prefixed with e.g. namespaces in case that's - # all that's missing. Include the empty prefix in case we're searching - # for a stripped template. + # all that's missing. # We need to do this search because the call sites may not have used # the namespaces and we don't want to force them to, and we have to # consider both directions because of issues like # https://github.com/breathe-doc/breathe/issues/860 # (there may be other related issues, I haven't investigated all # possible combinations of failures in depth). - name = None - if reftarget in _prefixed_domain_objects: - name = _prefixed_domain_objects[reftarget] - else: + if (name := _prefixed_domain_objects.get(reftarget)) is None: for prefix in _all_namespaces: if f"{prefix}{reftarget}" in _domain_objects: name = f"{prefix}{reftarget}" @@ -459,24 +467,26 @@ def on_missing_reference(app, env, node, contnode): contnode, ) - # Have to manually manage the intersphinx cache because lru_cache - # doesn't handle the env object properly. - for prefix in _intersphinx_extra_prefixes: - # First try adding the prefix. - node["reftarget"] = f"{prefix}{reftarget}" - if (node, contnode) in _intersphinx_cache: - return _intersphinx_cache[(node, contnode)] - if (ref := intersphinx.resolve_reference_detect_inventory(env, node, contnode)) is not None: - _intersphinx_cache[(node, contnode)] = ref + # Final possibility is an intersphinx lookup to see if the symbol + # exists in one of the other inventories. First we check the symbol + # itself in case it was originally templated and that caused the lookup + # to fail. + if reftarget != node["reftarget"]: + node["reftarget"] = reftarget + if (ref := _cached_intersphinx_lookup(env, node, contnode)) is not None: return ref - # Then try removing the prefix. - node["reftarget"] = reftarget.replace(prefix, "") - if (node, contnode) in _intersphinx_cache: - return _intersphinx_cache[(node, contnode)] - if (ref := intersphinx.resolve_reference_detect_inventory(env, node, contnode)) is not None: - _intersphinx_cache[(node, contnode)] = ref - return ref + # If the template wasn't the (only) issue, we check the various + # namespace prefixes that may need to be added or removed. + for prefix in _intersphinx_extra_prefixes: + if prefix not in reftarget: + node["reftarget"] = f"{prefix}::{reftarget}" + if (ref := _cached_intersphinx_lookup(env, node, contnode)) is not None: + return ref + else: + node["reftarget"] = reftarget.replace(f"{prefix}::", "") + if (ref := _cached_intersphinx_lookup(env, node, contnode)) is not None: + return ref return None From aab3e865d042ec00aef9a697927659894bd7b30b Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Tue, 9 Jan 2024 23:54:36 +0000 Subject: [PATCH 66/72] Fix style --- ci/build_docs.sh | 2 +- cpp/include/cudf/io/json.hpp | 2 +- cpp/include/cudf/strings/convert/convert_datetime.hpp | 2 +- cpp/include/cudf/strings/convert/convert_durations.hpp | 2 +- docs/cudf/source/conf.py | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/ci/build_docs.sh b/ci/build_docs.sh index 216552e5d72..b1f28f8087a 100755 --- a/ci/build_docs.sh +++ b/ci/build_docs.sh @@ -1,5 +1,5 @@ #!/bin/bash -# Copyright (c) 2023, NVIDIA CORPORATION. +# Copyright (c) 2023-2024, NVIDIA CORPORATION. set -euo pipefail diff --git a/cpp/include/cudf/io/json.hpp b/cpp/include/cudf/io/json.hpp index 8de744a62e0..4bd80a76a30 100644 --- a/cpp/include/cudf/io/json.hpp +++ b/cpp/include/cudf/io/json.hpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020-2023, NVIDIA CORPORATION. + * Copyright (c) 2020-2024, NVIDIA CORPORATION. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/cpp/include/cudf/strings/convert/convert_datetime.hpp b/cpp/include/cudf/strings/convert/convert_datetime.hpp index 5c6f8a0101e..ea06495f3a7 100644 --- a/cpp/include/cudf/strings/convert/convert_datetime.hpp +++ b/cpp/include/cudf/strings/convert/convert_datetime.hpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2023, NVIDIA CORPORATION. + * Copyright (c) 2019-2024, NVIDIA CORPORATION. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/cpp/include/cudf/strings/convert/convert_durations.hpp b/cpp/include/cudf/strings/convert/convert_durations.hpp index 77d9d248c4a..b8d9fae285f 100644 --- a/cpp/include/cudf/strings/convert/convert_durations.hpp +++ b/cpp/include/cudf/strings/convert/convert_durations.hpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020-2023, NVIDIA CORPORATION. + * Copyright (c) 2020-2024, NVIDIA CORPORATION. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/docs/cudf/source/conf.py b/docs/cudf/source/conf.py index 2c2ab9dbeef..b997c78fba8 100644 --- a/docs/cudf/source/conf.py +++ b/docs/cudf/source/conf.py @@ -1,4 +1,4 @@ -# Copyright (c) 2018-2023, NVIDIA CORPORATION. +# Copyright (c) 2018-2024, NVIDIA CORPORATION. # # cudf documentation build configuration file, created by # sphinx-quickstart on Wed May 3 10:59:22 2017. From 0efd3bc98871c1bbb38eb24efa3f6ea27ae1f662 Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Thu, 11 Jan 2024 19:05:58 +0000 Subject: [PATCH 67/72] Put back doxygen HTML generation for now. --- ci/build_docs.sh | 3 +++ cpp/doxygen/Doxyfile | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/ci/build_docs.sh b/ci/build_docs.sh index b1f28f8087a..a28de659c72 100755 --- a/ci/build_docs.sh +++ b/ci/build_docs.sh @@ -32,7 +32,10 @@ export RAPIDS_DOCS_DIR="$(mktemp -d)" rapids-logger "Build CPP docs" pushd cpp/doxygen +aws s3 cp s3://rapidsai-docs/librmm/html/${RAPIDS_VERSION_NUMBER}/rmm.tag . || echo "Failed to download rmm Doxygen tag" doxygen Doxyfile +mv html/* +"${RAPIDS_DOCS_DIR}/libcudf/html" popd rapids-logger "Build Python docs" diff --git a/cpp/doxygen/Doxyfile b/cpp/doxygen/Doxyfile index 1e10530a14b..4333699d1f6 100644 --- a/cpp/doxygen/Doxyfile +++ b/cpp/doxygen/Doxyfile @@ -1145,7 +1145,7 @@ IGNORE_PREFIX = # If the GENERATE_HTML tag is set to YES, doxygen will generate HTML output # The default value is: YES. -GENERATE_HTML = NO +GENERATE_HTML = YES # The HTML_OUTPUT tag is used to specify where the HTML docs will be put. If a # relative path is entered the value of OUTPUT_DIRECTORY will be put in front of From 3f598a79c125686a176884cf7009979f204c963e Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Fri, 12 Jan 2024 02:12:07 +0000 Subject: [PATCH 68/72] Fix typo --- ci/build_docs.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ci/build_docs.sh b/ci/build_docs.sh index a28de659c72..ceab29c2473 100755 --- a/ci/build_docs.sh +++ b/ci/build_docs.sh @@ -34,8 +34,8 @@ rapids-logger "Build CPP docs" pushd cpp/doxygen aws s3 cp s3://rapidsai-docs/librmm/html/${RAPIDS_VERSION_NUMBER}/rmm.tag . || echo "Failed to download rmm Doxygen tag" doxygen Doxyfile -mv html/* -"${RAPIDS_DOCS_DIR}/libcudf/html" +mkdir -p "${RAPIDS_DOCS_DIR}/libcudf/html" +mv html/* "${RAPIDS_DOCS_DIR}/libcudf/html" popd rapids-logger "Build Python docs" From a5bc91a4972da72530f18c5018217152618ad655 Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Wed, 17 Jan 2024 14:36:50 +0000 Subject: [PATCH 69/72] Fix one more doxygen error --- cpp/include/cudf/strings/strings_column_view.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cpp/include/cudf/strings/strings_column_view.hpp b/cpp/include/cudf/strings/strings_column_view.hpp index 36054f7c229..e6546777f3f 100644 --- a/cpp/include/cudf/strings/strings_column_view.hpp +++ b/cpp/include/cudf/strings/strings_column_view.hpp @@ -106,7 +106,7 @@ class strings_column_view : private column_view { /** * @brief Returns the internal column of chars * - * @throw cudf::logic error if this is an empty column + * @throw cudf::logic_error if this is an empty column * @param stream CUDA stream used for device memory operations and kernel launches * @return The chars column */ From b2dae66314829ed6c75d10a8dddaea47321dc68c Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Wed, 17 Jan 2024 14:58:26 +0000 Subject: [PATCH 70/72] Revert all changes that break the doxygen build --- cpp/doxygen/developer_guide/BENCHMARKING.md | 4 +- .../developer_guide/DEVELOPER_GUIDE.md | 14 +- cpp/doxygen/developer_guide/DOCUMENTATION.md | 20 ++- cpp/include/cudf/io/json.hpp | 7 +- .../cudf/strings/convert/convert_datetime.hpp | 136 ++++++++---------- .../strings/convert/convert_durations.hpp | 84 +++++------ .../developer_guide/benchmarking.rst | 4 - .../developer_guide/documentation.rst | 4 - .../libcudf_docs/developer_guide/index.rst | 23 --- .../libcudf_docs/developer_guide/strings.png | 1 - .../libcudf_docs/developer_guide/testing.rst | 4 - docs/cudf/source/libcudf_docs/index.rst | 1 - 12 files changed, 120 insertions(+), 182 deletions(-) delete mode 100644 docs/cudf/source/libcudf_docs/developer_guide/benchmarking.rst delete mode 100644 docs/cudf/source/libcudf_docs/developer_guide/documentation.rst delete mode 100644 docs/cudf/source/libcudf_docs/developer_guide/index.rst delete mode 120000 docs/cudf/source/libcudf_docs/developer_guide/strings.png delete mode 100644 docs/cudf/source/libcudf_docs/developer_guide/testing.rst diff --git a/cpp/doxygen/developer_guide/BENCHMARKING.md b/cpp/doxygen/developer_guide/BENCHMARKING.md index 5ee7be918d1..98e2f428cc3 100644 --- a/cpp/doxygen/developer_guide/BENCHMARKING.md +++ b/cpp/doxygen/developer_guide/BENCHMARKING.md @@ -23,7 +23,7 @@ benchmarks in `cpp/benchmarks/copying/scatter.cu`. In the interest of improving compile time, whenever possible, test source files should be `.cpp` files because `nvcc` is slower than `gcc` in compiling host code. Note that `thrust::device_vector` includes device code, and so must only be used in `.cu` files. `rmm::device_uvector`, -`rmm::device_buffer` and the various `column_wrapper` types described in [Testing](testing) +`rmm::device_buffer` and the various `column_wrapper` types described in [Testing](TESTING.md) can be used in `.cpp` files, and are therefore preferred in test code over `thrust::device_vector`. ## CUDA Asynchrony and benchmark accuracy @@ -37,7 +37,7 @@ performance in repeated iterations. ## Data generation -For generating benchmark input data, helper functions are available at ``cpp/benchmarks/common/generate_input.hpp``. The input data generation happens on device, in contrast to any `column_wrapper` where data generation happens on the host. +For generating benchmark input data, helper functions are available at [cpp/benchmarks/common/generate_input.hpp](/cpp/benchmarks/common/generate_input.hpp). The input data generation happens on device, in contrast to any `column_wrapper` where data generation happens on the host. * `create_sequence_table` can generate sequence columns starting with value 0 in first row and increasing by 1 in subsequent rows. * `create_random_column` can generate a column filled with random data. The random data parameters are configurable. * `create_random_table` can generate a table of columns filled with random data. The random data parameters are configurable. diff --git a/cpp/doxygen/developer_guide/DEVELOPER_GUIDE.md b/cpp/doxygen/developer_guide/DEVELOPER_GUIDE.md index 74a19fd7d96..c38151d7518 100644 --- a/cpp/doxygen/developer_guide/DEVELOPER_GUIDE.md +++ b/cpp/doxygen/developer_guide/DEVELOPER_GUIDE.md @@ -1,6 +1,11 @@ # libcudf C++ Developer Guide {#DEVELOPER_GUIDE} -This document serves as a guide for contributors to libcudf C++ code. +This document serves as a guide for contributors to libcudf C++ code. Developers should also refer +to these additional files for further documentation of libcudf best practices. + +* [Documentation Guide](DOCUMENTATION.md) for guidelines on documenting libcudf code. +* [Testing Guide](TESTING.md) for guidelines on writing unit tests. +* [Benchmarking Guide](BENCHMARKING.md) for guidelines on writing unit benchmarks. # Overview @@ -130,7 +135,7 @@ Additional style guidelines for libcudf code include: `1'234'567`. Hexadecimal values should use separators every 4 characters, like `0x0123'ABCD`. -Documentation is discussed in the [Documentation Guide](documentation). +Documentation is discussed in the [Documentation Guide](DOCUMENTATION.md). ### Includes @@ -429,7 +434,7 @@ inputs. The types of those exceptions (e.g. `cudf::logic_error`) are part of the However, the explanatory string returned by the `what` method of those exceptions is not part of the API and is subject to change. Calling code should not rely on the contents of libcudf error messages to determine the nature of the error. For information on the types of exceptions that -libcudf throws under different circumstances, see the [section on error handling](#error-handling). +libcudf throws under different circumstances, see the [section on error handling](#errors). # libcudf API and Implementation @@ -889,7 +894,6 @@ the "breaking" tag. This ensures that the "Breaking" section of the release note description of what has broken from the past release. Label pull requests that contain deprecations with the "non-breaking" tag. -(error-handling)= # Error Handling {#errors} @@ -1336,8 +1340,6 @@ within the string. `cudf::type_dispatcher` dispatches to the `string_view` data type when invoked on a `STRING` column. -(utf-8)= - #### UTF-8 The libcudf strings column only supports UTF-8 encoding for strings data. diff --git a/cpp/doxygen/developer_guide/DOCUMENTATION.md b/cpp/doxygen/developer_guide/DOCUMENTATION.md index 93145798927..b86f7db82b0 100644 --- a/cpp/doxygen/developer_guide/DOCUMENTATION.md +++ b/cpp/doxygen/developer_guide/DOCUMENTATION.md @@ -40,7 +40,7 @@ Doxygen recognizes and parses block comments and performs specialized output for There are almost 200 commands (also called tags in this document) that doxygen recognizes in comment blocks. This document provides guidance on which commands/tags to use and how to use them in the libcudf C++ source code. -The doxygen process can be customized using options in the Doxyfile. +The doxygen process can be customized using options in the [Doxyfile](../doxygen/Doxyfile). Here are some of the custom options in the Doxyfile for libcudf. | Option | Setting | Description | @@ -234,10 +234,10 @@ The following tags should appear near the end of function comment block in the o | Command | Description | | ------- | ----------- | -| \@throw | Specify the conditions in which the function may throw an exception | -| \@tparam | Description for each template parameter | -| \@param | Description for each function parameter | -| \@return | Short description of object or value returned | +| [\@throw](#throw) | Specify the conditions in which the function may throw an exception | +| [\@tparam](#tparam) | Description for each template parameter | +| [\@param](#param) | Description for each function parameter | +| [\@return](#return) | Short description of object or value returned | #### \@throw @@ -293,8 +293,6 @@ Include a brief description of what is returned. Do not include the type of the object returned with the `@return` comment. -(inline-examples)= - ### Inline Examples It is usually helpful to include a source code example inside your comment block when documenting a function or other declaration. @@ -380,12 +378,12 @@ The doxygen output includes a _Modules_ page that organizes items into groups sp These commands can group common functions across header files, source files, and even namespaces. Groups can also be nested by defining new groups within existing groups. -For libcudf, all the group hierarchy is defined in the ``cpp/include/doxygen_groups.h`` header file. -The doxygen_groups.h file does not need to be included in any other source file, because the definitions in this file are used only by the doxygen tool to generate groups in the _Modules_ page. +For libcudf, all the group hierarchy is defined in the [doxygen_groups.h](../include/doxygen_groups.h) header file. +The [doxygen_groups.h](../include/doxygen_groups.h) file does not need to be included in any other source file, because the definitions in this file are used only by the doxygen tool to generate groups in the _Modules_ page. Modify this file only to add or update groups. The existing groups have been carefully structured and named, so new groups should be added thoughtfully. -When creating a new API, specify its group using the [\@ingroup](https://www.doxygen.nl/manual/commands.html#cmdingroup) tag and the group reference id from the doxygen_groups.h file. +When creating a new API, specify its group using the [\@ingroup](https://www.doxygen.nl/manual/commands.html#cmdingroup) tag and the group reference id from the [doxygen_groups.h](../include/doxygen_groups.h) file. namespace cudf { @@ -428,7 +426,7 @@ So include the `@addtogroup` and `@{ ... @}` between the namespace declaration b Summary of groups tags | Tag/Command | Where to use | | ----------- | ------------ | -| `@defgroup` | For use only in doxygen_groups.h and should include the group's title. | +| `@defgroup` | For use only in [doxygen_groups.h](../include/doxygen_groups.h) and should include the group's title. | | `@ingroup` | Use inside individual doxygen block comments for declaration statements in a header file. | | `@addtogroup` | Use instead of `@ingroup` for multiple declarations in the same file within a namespace declaration. Do not specify a group title. | | `@{ ... @}` | Use only with `@addtogroup`. | diff --git a/cpp/include/cudf/io/json.hpp b/cpp/include/cudf/io/json.hpp index 4bd80a76a30..472d42b1db5 100644 --- a/cpp/include/cudf/io/json.hpp +++ b/cpp/include/cudf/io/json.hpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020-2024, NVIDIA CORPORATION. + * Copyright (c) 2020-2023, NVIDIA CORPORATION. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -72,10 +72,8 @@ enum class json_recovery_mode_t { * * Parameters in PANDAS that are unavailable or in cudf: * - * - * +----------------------+--------------------------------------------------+ * | Name | Description | - * +======================+==================================================+ + * | -------------------- | ------------------------------------------------ | * | `orient` | currently fixed-format | * | `typ` | data is always returned as a cudf::table | * | `convert_axes` | use column functions for axes operations instead | @@ -86,7 +84,6 @@ enum class json_recovery_mode_t { * | `date_unit` | only millisecond units are supported | * | `encoding` | only ASCII-encoded data is supported | * | `chunksize` | use `byte_range_xxx` for chunking instead | - * +----------------------+--------------------------------------------------+ */ class json_reader_options { source_info _source; diff --git a/cpp/include/cudf/strings/convert/convert_datetime.hpp b/cpp/include/cudf/strings/convert/convert_datetime.hpp index ea06495f3a7..81cce14b53b 100644 --- a/cpp/include/cudf/strings/convert/convert_datetime.hpp +++ b/cpp/include/cudf/strings/convert/convert_datetime.hpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019-2024, NVIDIA CORPORATION. + * Copyright (c) 2019-2023, NVIDIA CORPORATION. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -31,33 +31,30 @@ namespace strings { * @file */ -// clang-format off /** * @brief Returns a new timestamp column converting a strings column into * timestamps using the provided format pattern. * * The format pattern can include the following specifiers: "%Y,%y,%m,%d,%H,%I,%p,%M,%S,%f,%z" * - * +-----------+-----------------------------------------------------------------------------------------+ - * | Specifier | Description | - * +===========+=========================================================================================+ - * | ``%d`` | Day of the month: 01-31 | - * | ``%m`` | Month of the year: 01-12 | - * | ``%y`` | Year without century: 00-99. [0,68] maps to [2000,2068] and [69,99] maps to [1969,1999] | - * | ``%Y`` | Year with century: 0001-9999 | - * | ``%H`` | 24-hour of the day: 00-23 | - * | ``%I`` | 12-hour of the day: 01-12 | - * | ``%M`` | Minute of the hour: 00-59 | - * | ``%S`` | Second of the minute: 00-59. Leap second is not supported. | - * | ``%f`` | 6-digit microsecond: 000000-999999 | - * | ``%z`` | UTC offset with format ±HHMM Example +0500 | - * | ``%j`` | Day of the year: 001-366 | - * | ``%p`` | Only 'AM', 'PM' or 'am', 'pm' are recognized | - * | ``%W`` | Week of the year with Monday as the first day of the week: 00-53 | - * | ``%w`` | Day of week: 0-6 = Sunday-Saturday | - * | ``%U`` | Week of the year with Sunday as the first day of the week: 00-53 | - * | ``%u`` | Day of week: 1-7 = Monday-Sunday | - * +-----------+-----------------------------------------------------------------------------------------+ + * | Specifier | Description | + * | :-------: | ----------- | + * | \%d | Day of the month: 01-31 | + * | \%m | Month of the year: 01-12 | + * | \%y | Year without century: 00-99. [0,68] maps to [2000,2068] and [69,99] maps to [1969,1999] | + * | \%Y | Year with century: 0001-9999 | + * | \%H | 24-hour of the day: 00-23 | + * | \%I | 12-hour of the day: 01-12 | + * | \%M | Minute of the hour: 00-59 | + * | \%S | Second of the minute: 00-59. Leap second is not supported. | + * | \%f | 6-digit microsecond: 000000-999999 | + * | \%z | UTC offset with format ±HHMM Example +0500 | + * | \%j | Day of the year: 001-366 | + * | \%p | Only 'AM', 'PM' or 'am', 'pm' are recognized | + * | \%W | Week of the year with Monday as the first day of the week: 00-53 | + * | \%w | Day of week: 0-6 = Sunday-Saturday | + * | \%U | Week of the year with Sunday as the first day of the week: 00-53 | + * | \%u | Day of week: 1-7 = Monday-Sunday | * * Other specifiers are not currently supported. * @@ -87,7 +84,6 @@ namespace strings { * @param mr Device memory resource used to allocate the returned column's device memory * @return New datetime column */ -// clang-format on std::unique_ptr to_timestamps( strings_column_view const& input, data_type timestamp_type, @@ -95,33 +91,30 @@ std::unique_ptr to_timestamps( rmm::cuda_stream_view stream = cudf::get_default_stream(), rmm::mr::device_memory_resource* mr = rmm::mr::get_current_device_resource()); -// clang-format off /** * @brief Verifies the given strings column can be parsed to timestamps using the provided format * pattern. * * The format pattern can include the following specifiers: "%Y,%y,%m,%d,%H,%I,%p,%M,%S,%f,%z" * - * +-----------+-----------------------------------------------------------------------------------------+ - * | Specifier | Description | - * +===========+=========================================================================================+ - * | ``%d`` | Day of the month: 01-31 | - * | ``%m`` | Month of the year: 01-12 | - * | ``%y`` | Year without century: 00-99. [0,68] maps to [2000,2068] and [69,99] maps to [1969,1999] | - * | ``%Y`` | Year with century: 0001-9999 | - * | ``%H`` | 24-hour of the day: 00-23 | - * | ``%I`` | 12-hour of the day: 01-12 | - * | ``%M`` | Minute of the hour: 00-59 | - * | ``%S`` | Second of the minute: 00-59. Leap second is not supported. | - * | ``%f`` | 6-digit microsecond: 000000-999999 | - * | ``%z`` | UTC offset with format ±HHMM Example +0500 | - * | ``%j`` | Day of the year: 001-366 | - * | ``%p`` | Only 'AM', 'PM' or 'am', 'pm' are recognized | - * | ``%W`` | Week of the year with Monday as the first day of the week: 00-53 | - * | ``%w`` | Day of week: 0-6 = Sunday-Saturday | - * | ``%U`` | Week of the year with Sunday as the first day of the week: 00-53 | - * | ``%u`` | Day of week: 1-7 = Monday-Sunday | - * +-----------+-----------------------------------------------------------------------------------------+ + * | Specifier | Description | + * | :-------: | ----------- | + * | \%d | Day of the month: 01-31 | + * | \%m | Month of the year: 01-12 | + * | \%y | Year without century: 00-99. [0,68] maps to [2000,2068] and [69,99] maps to [1969,1999] | + * | \%Y | Year with century: 0001-9999 | + * | \%H | 24-hour of the day: 00-23 | + * | \%I | 12-hour of the day: 01-12 | + * | \%M | Minute of the hour: 00-59| + * | \%S | Second of the minute: 00-59. Leap second is not supported. | + * | \%f | 6-digit microsecond: 000000-999999 | + * | \%z | UTC offset with format ±HHMM Example +0500 | + * | \%j | Day of the year: 001-366 | + * | \%p | Only 'AM', 'PM' or 'am', 'pm' are recognized | + * | \%W | Week of the year with Monday as the first day of the week: 00-53 | + * | \%w | Day of week: 0-6 = Sunday-Saturday | + * | \%U | Week of the year with Sunday as the first day of the week: 00-53 | + * | \%u | Day of week: 1-7 = Monday-Sunday | * * Other specifiers are not currently supported. * The "%f" supports a precision value to read the numeric digits. Specify the @@ -139,47 +132,43 @@ std::unique_ptr to_timestamps( * @param mr Device memory resource used to allocate the returned column's device memory * @return New BOOL8 column */ -// clang-format on std::unique_ptr is_timestamp( strings_column_view const& input, std::string_view format, rmm::cuda_stream_view stream = cudf::get_default_stream(), rmm::mr::device_memory_resource* mr = rmm::mr::get_current_device_resource()); -// clang-format off /** * @brief Returns a new strings column converting a timestamp column into * strings using the provided format pattern. * * The format pattern can include the following specifiers: "%Y,%y,%m,%d,%H,%I,%p,%M,%S,%f,%z,%Z" * - * +-----------+-----------------------------------------------------------------------------------------+ - * | Specifier | Description | - * +===========+=========================================================================================+ - * | ``%d`` | Day of the month: 01-31 | - * | ``%m`` | Month of the year: 01-12 | - * | ``%y`` | Year without century: 00-99. [0,68] maps to [2000,2068] and [69,99] maps to [1969,1999] | - * | ``%Y`` | Year with century: 0001-9999 | - * | ``%H`` | 24-hour of the day: 00-23 | - * | ``%I`` | 12-hour of the day: 01-12 | - * | ``%M`` | Minute of the hour: 00-59 | - * | ``%S`` | Second of the minute: 00-59. Leap second is not supported. | - * | ``%f`` | 6-digit microsecond: 000000-999999 | - * | ``%z`` | Always outputs "+0000" | - * | ``%Z`` | Always outputs "UTC" | - * | ``%j`` | Day of the year: 001-366 | - * | ``%u`` | ISO weekday where Monday is 1 and Sunday is 7 | - * | ``%w`` | Weekday where Sunday is 0 and Saturday is 6 | - * | ``%U`` | Week of the year with Sunday as the first day: 00-53 | - * | ``%W`` | Week of the year with Monday as the first day: 00-53 | - * | ``%V`` | Week of the year per ISO-8601 format: 01-53 | - * | ``%G`` | Year based on the ISO-8601 weeks: 0000-9999 | - * | ``%p`` | AM/PM from `timestamp_names::am_str/pm_str` | - * | ``%a`` | Weekday abbreviation from the `names` parameter | - * | ``%A`` | Weekday from the `names` parameter | - * | ``%b`` | Month name abbreviation from the `names` parameter | - * | ``%B`` | Month name from the `names` parameter | - * +-----------+-----------------------------------------------------------------------------------------+ + * | Specifier | Description | + * | :-------: | ----------- | + * | \%d | Day of the month: 01-31 | + * | \%m | Month of the year: 01-12 | + * | \%y | Year without century: 00-99 | + * | \%Y | Year with century: 0001-9999 | + * | \%H | 24-hour of the day: 00-23 | + * | \%I | 12-hour of the day: 01-12 | + * | \%M | Minute of the hour: 00-59| + * | \%S | Second of the minute: 00-59 | + * | \%f | 6-digit microsecond: 000000-999999 | + * | \%z | Always outputs "+0000" | + * | \%Z | Always outputs "UTC" | + * | \%j | Day of the year: 001-366 | + * | \%u | ISO weekday where Monday is 1 and Sunday is 7 | + * | \%w | Weekday where Sunday is 0 and Saturday is 6 | + * | \%U | Week of the year with Sunday as the first day: 00-53 | + * | \%W | Week of the year with Monday as the first day: 00-53 | + * | \%V | Week of the year per ISO-8601 format: 01-53 | + * | \%G | Year based on the ISO-8601 weeks: 0000-9999 | + * | \%p | AM/PM from `timestamp_names::am_str/pm_str` | + * | \%a | Weekday abbreviation from the `names` parameter | + * | \%A | Weekday from the `names` parameter | + * | \%b | Month name abbreviation from the `names` parameter | + * | \%B | Month name from the `names` parameter | * * Additional descriptions can be found here: * https://en.cppreference.com/w/cpp/chrono/system_clock/formatter @@ -255,7 +244,6 @@ std::unique_ptr is_timestamp( * @param mr Device memory resource used to allocate the returned column's device memory * @return New strings column with formatted timestamps */ -// clang-format on std::unique_ptr from_timestamps( column_view const& timestamps, std::string_view format = "%Y-%m-%dT%H:%M:%SZ", diff --git a/cpp/include/cudf/strings/convert/convert_durations.hpp b/cpp/include/cudf/strings/convert/convert_durations.hpp index b8d9fae285f..a1f4e4ead1d 100644 --- a/cpp/include/cudf/strings/convert/convert_durations.hpp +++ b/cpp/include/cudf/strings/convert/convert_durations.hpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020-2024, NVIDIA CORPORATION. + * Copyright (c) 2020-2023, NVIDIA CORPORATION. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -28,7 +28,6 @@ namespace strings { * @file */ -// clang-format off /** * @brief Returns a new duration column converting a strings column into * durations using the provided format pattern. @@ -36,26 +35,24 @@ namespace strings { * The format pattern can include the following specifiers: * "%%,%n,%t,%D,%H,%I,%M,%S,%p,%R,%T,%r,%OH,%OI,%OM,%OS" * - * +-----------+------------------------------------------------------+---------------------------------+ - * | Specifier | Description | Range | - * +===========+======================================================+=================================+ - * | %% | A literal % character | % | - * | \%n | A newline character | \\n | - * | \%t | A horizontal tab character | \\t | - * | \%D | Days | -2,147,483,648 to 2,147,483,647 | - * | \%H | 24-hour of the day | 00 to 23 | - * | \%I | 12-hour of the day | 00 to 11 | - * | \%M | Minute of the hour | 00 to 59 | - * | \%S | Second of the minute | 00 to 59.999999999 | - * | \%OH | same as %H but without sign | 00 to 23 | - * | \%OI | same as %I but without sign | 00 to 11 | - * | \%OM | same as %M but without sign | 00 to 59 | - * | \%OS | same as %S but without sign | 00 to 59 | - * | \%p | AM/PM designations associated with a 12-hour clock | 'AM' or 'PM' | - * | \%R | Equivalent to "%H:%M" | | - * | \%T | Equivalent to "%H:%M:%S" | | - * | \%r | Equivalent to "%OI:%OM:%OS %p" | | - * +-----------+------------------------------------------------------+---------------------------------+ + * | Specifier | Description | Range | + * | :-------: | ----------- | ---------------- | + * | %% | A literal % character | % | + * | \%n | A newline character | \\n | + * | \%t | A horizontal tab character | \\t | + * | \%D | Days | -2,147,483,648 to 2,147,483,647 | + * | \%H | 24-hour of the day | 00 to 23 | + * | \%I | 12-hour of the day | 00 to 11 | + * | \%M | Minute of the hour | 00 to 59 | + * | \%S | Second of the minute | 00 to 59.999999999 | + * | \%OH | same as %H but without sign | 00 to 23 | + * | \%OI | same as %I but without sign | 00 to 11 | + * | \%OM | same as %M but without sign | 00 to 59 | + * | \%OS | same as %S but without sign | 00 to 59 | + * | \%p | AM/PM designations associated with a 12-hour clock | 'AM' or 'PM' | + * | \%R | Equivalent to "%H:%M" | | + * | \%T | Equivalent to "%H:%M:%S" | | + * | \%r | Equivalent to "%OI:%OM:%OS %p" | | * * Other specifiers are not currently supported. * @@ -75,7 +72,6 @@ namespace strings { * @param mr Device memory resource used to allocate the returned column's device memory * @return New duration column */ -// clang-format on std::unique_ptr to_durations( strings_column_view const& input, data_type duration_type, @@ -83,7 +79,6 @@ std::unique_ptr to_durations( rmm::cuda_stream_view stream = cudf::get_default_stream(), rmm::mr::device_memory_resource* mr = rmm::mr::get_current_device_resource()); -// clang-format off /** * @brief Returns a new strings column converting a duration column into * strings using the provided format pattern. @@ -91,28 +86,24 @@ std::unique_ptr to_durations( * The format pattern can include the following specifiers: * "%%,%n,%t,%D,%H,%I,%M,%S,%p,%R,%T,%r,%OH,%OI,%OM,%OS" * - * +-----------+------------------------------------------------------+---------------------------------+ - * | Specifier | Description | Range | - * +===========+======================================================+=================================+ - * | %% | A literal % character | % | - * | \%n | A newline character | \\n | - * | \%t | A horizontal tab character | \\t | - * | \%D | Days | -2,147,483,648 to 2,147,483,647 | - * | \%H | 24-hour of the day | 00 to 23 | - * | \%I | 12-hour of the day | 00 to 11 | - * | \%M | Minute of the hour | 00 to 59 | - * | \%S | Second of the minute | 00 to 59.999999999 | - * | \%OH | same as %H but without sign | 00 to 23 | - * | \%OI | same as %I but without sign | 00 to 11 | - * | \%OM | same as %M but without sign | 00 to 59 | - * | \%OS | same as %S but without sign | 00 to 59 | - * | \%p | AM/PM designations associated with a 12-hour clock | 'AM' or 'PM' | - * | \%R | Equivalent to "%H:%M" | | - * | \%T | Equivalent to "%H:%M:%S" | | - * | \%r | Equivalent to "%OI:%OM:%OS %p" | | - * +-----------+------------------------------------------------------+---------------------------------+ - * - * # Rewrite the above table in reStructuredText + * | Specifier | Description | Range | + * | :-------: | ----------- | ---------------- | + * | %% | A literal % character | % | + * | \%n | A newline character | \\n | + * | \%t | A horizontal tab character | \\t | + * | \%D | Days | -2,147,483,648 to 2,147,483,647 | + * | \%H | 24-hour of the day | 00 to 23 | + * | \%I | 12-hour of the day | 00 to 11 | + * | \%M | Minute of the hour | 00 to 59 | + * | \%S | Second of the minute | 00 to 59.999999999 | + * | \%OH | same as %H but without sign | 00 to 23 | + * | \%OI | same as %I but without sign | 00 to 11 | + * | \%OM | same as %M but without sign | 00 to 59 | + * | \%OS | same as %S but without sign | 00 to 59 | + * | \%p | AM/PM designations associated with a 12-hour clock | 'AM' or 'PM' | + * | \%R | Equivalent to "%H:%M" | | + * | \%T | Equivalent to "%H:%M:%S" | | + * | \%r | Equivalent to "%OI:%OM:%OS %p" | | * * No checking is done for invalid formats or invalid duration values. Formatting sticks to * specifications of `std::formatter` as much as possible. @@ -133,7 +124,6 @@ std::unique_ptr to_durations( * @param stream CUDA stream used for device memory operations and kernel launches * @return New strings column with formatted durations */ -// clang-format on std::unique_ptr from_durations( column_view const& durations, std::string_view format = "%D days %H:%M:%S", diff --git a/docs/cudf/source/libcudf_docs/developer_guide/benchmarking.rst b/docs/cudf/source/libcudf_docs/developer_guide/benchmarking.rst deleted file mode 100644 index 317522de2a6..00000000000 --- a/docs/cudf/source/libcudf_docs/developer_guide/benchmarking.rst +++ /dev/null @@ -1,4 +0,0 @@ -.. _libcudf_benchmarking_guide: - -.. include:: ../../../../../cpp/doxygen/developer_guide/BENCHMARKING.md - :parser: myst_parser.sphinx_ diff --git a/docs/cudf/source/libcudf_docs/developer_guide/documentation.rst b/docs/cudf/source/libcudf_docs/developer_guide/documentation.rst deleted file mode 100644 index 87db6f9845b..00000000000 --- a/docs/cudf/source/libcudf_docs/developer_guide/documentation.rst +++ /dev/null @@ -1,4 +0,0 @@ -.. _libcudf_documentation_guide: - -.. include:: ../../../../../cpp/doxygen/developer_guide/DOCUMENTATION.md - :parser: myst_parser.sphinx_ diff --git a/docs/cudf/source/libcudf_docs/developer_guide/index.rst b/docs/cudf/source/libcudf_docs/developer_guide/index.rst deleted file mode 100644 index 3a4f6061407..00000000000 --- a/docs/cudf/source/libcudf_docs/developer_guide/index.rst +++ /dev/null @@ -1,23 +0,0 @@ -libcudf developer documentation -=============================== - -.. _libcudf_developer_guide: - -Developers may wish to refer to more specific pages for documentation of libcudf best practices. - -.. toctree:: - :maxdepth: 2 - :caption: Contents: - - documentation - testing - benchmarking - -.. include:: ../../../../../cpp/doxygen/developer_guide/DEVELOPER_GUIDE.md - :parser: myst_parser.sphinx_ - -Indices and tables -================== - -* :ref:`genindex` -* :ref:`search` diff --git a/docs/cudf/source/libcudf_docs/developer_guide/strings.png b/docs/cudf/source/libcudf_docs/developer_guide/strings.png deleted file mode 120000 index acde8bb2dc6..00000000000 --- a/docs/cudf/source/libcudf_docs/developer_guide/strings.png +++ /dev/null @@ -1 +0,0 @@ -../../../../../cpp/doxygen/developer_guide/strings.png \ No newline at end of file diff --git a/docs/cudf/source/libcudf_docs/developer_guide/testing.rst b/docs/cudf/source/libcudf_docs/developer_guide/testing.rst deleted file mode 100644 index 0ce9ccb8da7..00000000000 --- a/docs/cudf/source/libcudf_docs/developer_guide/testing.rst +++ /dev/null @@ -1,4 +0,0 @@ -.. _libcudf_testing_guide: - -.. include:: ../../../../../cpp/doxygen/developer_guide/TESTING.md - :parser: myst_parser.sphinx_ diff --git a/docs/cudf/source/libcudf_docs/index.rst b/docs/cudf/source/libcudf_docs/index.rst index cc2907d55f8..39ed46d8578 100644 --- a/docs/cudf/source/libcudf_docs/index.rst +++ b/docs/cudf/source/libcudf_docs/index.rst @@ -8,7 +8,6 @@ libcudf documentation api_docs/index.rst md_regex unicode_limitations - developer_guide/index.rst Indices and tables From 7f8a50ddf2930d526f8bdfe312372c7e67e1c5c0 Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Wed, 17 Jan 2024 15:03:08 +0000 Subject: [PATCH 71/72] Fix a typo --- cpp/doxygen/developer_guide/TESTING.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/cpp/doxygen/developer_guide/TESTING.md b/cpp/doxygen/developer_guide/TESTING.md index c19976a956b..a4ffe0f575b 100644 --- a/cpp/doxygen/developer_guide/TESTING.md +++ b/cpp/doxygen/developer_guide/TESTING.md @@ -464,9 +464,9 @@ the host (`to_host`). ### Background -libcudf employs a custom-built [preload library -docs](https://man7.org/linux/man-pages/man8/ld.so.8.html) to validate its internal stream usage (the -code may be found +libcudf employs a custom-built [preload +library](https://man7.org/linux/man-pages/man8/ld.so.8.html) to validate its internal stream usage +(the code may be found [`here`](https://github.com/rapidsai/cudf/blob/main/cpp/tests/utilities/identify_stream_usage.cpp)). This library wraps every asynchronous CUDA runtime API call that accepts a stream with a check to ensure that the passed CUDA stream is a valid one, immediately throwing an exception if an invalid From 13cd4c055f2c21de7dc62e5f7aa12609628691f2 Mon Sep 17 00:00:00 2001 From: Vyas Ramasubramani Date: Wed, 17 Jan 2024 19:04:49 +0000 Subject: [PATCH 72/72] Disable APIs containing tables for now due to failing text builds --- docs/cudf/source/libcudf_docs/api_docs/io_readers.rst | 2 +- docs/cudf/source/libcudf_docs/api_docs/strings_convert.rst | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/cudf/source/libcudf_docs/api_docs/io_readers.rst b/docs/cudf/source/libcudf_docs/api_docs/io_readers.rst index f94a5ddb403..a835673dee4 100644 --- a/docs/cudf/source/libcudf_docs/api_docs/io_readers.rst +++ b/docs/cudf/source/libcudf_docs/api_docs/io_readers.rst @@ -2,4 +2,4 @@ Io Readers ========== .. doxygengroup:: io_readers - :members: + :desc-only: diff --git a/docs/cudf/source/libcudf_docs/api_docs/strings_convert.rst b/docs/cudf/source/libcudf_docs/api_docs/strings_convert.rst index f2f320bd0e4..ae5d78fb1a1 100644 --- a/docs/cudf/source/libcudf_docs/api_docs/strings_convert.rst +++ b/docs/cudf/source/libcudf_docs/api_docs/strings_convert.rst @@ -2,4 +2,4 @@ Strings Convert =============== .. doxygengroup:: strings_convert - :members: + :desc-only: