summaryrefslogtreecommitdiffstats
path: root/src/arrow/docs/source/python/api
diff options
context:
space:
mode:
Diffstat (limited to 'src/arrow/docs/source/python/api')
-rw-r--r--src/arrow/docs/source/python/api/arrays.rst127
-rw-r--r--src/arrow/docs/source/python/api/compute.rst498
-rw-r--r--src/arrow/docs/source/python/api/cuda.rst62
-rw-r--r--src/arrow/docs/source/python/api/dataset.rst64
-rw-r--r--src/arrow/docs/source/python/api/datatypes.rst165
-rw-r--r--src/arrow/docs/source/python/api/files.rst65
-rw-r--r--src/arrow/docs/source/python/api/filesystems.rst53
-rw-r--r--src/arrow/docs/source/python/api/flight.rst91
-rw-r--r--src/arrow/docs/source/python/api/formats.rst101
-rw-r--r--src/arrow/docs/source/python/api/ipc.rst69
-rw-r--r--src/arrow/docs/source/python/api/memory.rst73
-rw-r--r--src/arrow/docs/source/python/api/misc.rst40
-rw-r--r--src/arrow/docs/source/python/api/plasma.rst33
-rw-r--r--src/arrow/docs/source/python/api/tables.rst55
14 files changed, 1496 insertions, 0 deletions
diff --git a/src/arrow/docs/source/python/api/arrays.rst b/src/arrow/docs/source/python/api/arrays.rst
new file mode 100644
index 000000000..dbc4c0bd1
--- /dev/null
+++ b/src/arrow/docs/source/python/api/arrays.rst
@@ -0,0 +1,127 @@
+.. Licensed to the Apache Software Foundation (ASF) under one
+.. or more contributor license agreements. See the NOTICE file
+.. distributed with this work for additional information
+.. regarding copyright ownership. The ASF licenses this file
+.. to you under the Apache License, Version 2.0 (the
+.. "License"); you may not use this file except in compliance
+.. with the License. You may obtain a copy of the License at
+
+.. http://www.apache.org/licenses/LICENSE-2.0
+
+.. Unless required by applicable law or agreed to in writing,
+.. software distributed under the License is distributed on an
+.. "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+.. KIND, either express or implied. See the License for the
+.. specific language governing permissions and limitations
+.. under the License.
+
+.. _api.array:
+.. currentmodule:: pyarrow
+
+Arrays and Scalars
+==================
+
+Factory Functions
+-----------------
+
+These functions create new Arrow arrays:
+
+.. autosummary::
+ :toctree: ../generated/
+
+ array
+ nulls
+
+Array Types
+-----------
+
+An array's Python class depends on its data type. Concrete array classes
+may expose data type-specific methods or properties.
+
+.. autosummary::
+ :toctree: ../generated/
+
+ Array
+ BooleanArray
+ FloatingPointArray
+ IntegerArray
+ Int8Array
+ Int16Array
+ Int32Array
+ Int64Array
+ NullArray
+ NumericArray
+ UInt8Array
+ UInt16Array
+ UInt32Array
+ UInt64Array
+ BinaryArray
+ StringArray
+ FixedSizeBinaryArray
+ LargeBinaryArray
+ LargeStringArray
+ Time32Array
+ Time64Array
+ Date32Array
+ Date64Array
+ TimestampArray
+ DurationArray
+ MonthDayNanoIntervalArray
+ Decimal128Array
+ DictionaryArray
+ ListArray
+ FixedSizeListArray
+ LargeListArray
+ StructArray
+ UnionArray
+ ExtensionArray
+
+.. _api.scalar:
+
+Scalars
+-------
+
+This function constructs a new Arrow scalar:
+
+.. autosummary::
+ :toctree: ../generated/
+
+ scalar
+
+A scalar's python class depends on its data type. Concrete scalar
+classes may expose data type-specific methods or properties.
+
+.. autosummary::
+ :toctree: ../generated/
+
+ NA
+ Scalar
+ BooleanScalar
+ Int8Scalar
+ Int16Scalar
+ Int32Scalar
+ Int64Scalar
+ UInt8Scalar
+ UInt16Scalar
+ UInt32Scalar
+ UInt64Scalar
+ FloatScalar
+ DoubleScalar
+ BinaryScalar
+ StringScalar
+ FixedSizeBinaryScalar
+ LargeBinaryScalar
+ LargeStringScalar
+ Time32Scalar
+ Time64Scalar
+ Date32Scalar
+ Date64Scalar
+ TimestampScalar
+ DurationScalar
+ MonthDayNanoIntervalScalar
+ Decimal128Scalar
+ DictionaryScalar
+ ListScalar
+ LargeListScalar
+ StructScalar
+ UnionScalar
diff --git a/src/arrow/docs/source/python/api/compute.rst b/src/arrow/docs/source/python/api/compute.rst
new file mode 100644
index 000000000..521182f8a
--- /dev/null
+++ b/src/arrow/docs/source/python/api/compute.rst
@@ -0,0 +1,498 @@
+.. Licensed to the Apache Software Foundation (ASF) under one
+.. or more contributor license agreements. See the NOTICE file
+.. distributed with this work for additional information
+.. regarding copyright ownership. The ASF licenses this file
+.. to you under the Apache License, Version 2.0 (the
+.. "License"); you may not use this file except in compliance
+.. with the License. You may obtain a copy of the License at
+
+.. http://www.apache.org/licenses/LICENSE-2.0
+
+.. Unless required by applicable law or agreed to in writing,
+.. software distributed under the License is distributed on an
+.. "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+.. KIND, either express or implied. See the License for the
+.. specific language governing permissions and limitations
+.. under the License.
+
+.. _api.compute:
+.. currentmodule:: pyarrow.compute
+
+Compute Functions
+=================
+
+Aggregations
+------------
+
+.. autosummary::
+ :toctree: ../generated/
+
+ all
+ any
+ approximate_median
+ count
+ count_distinct
+ index
+ max
+ mean
+ min
+ min_max
+ mode
+ product
+ quantile
+ stddev
+ sum
+ tdigest
+ variance
+
+Grouped Aggregations
+--------------------
+
+.. autosummary::
+ :toctree: ../generated/
+
+ hash_all
+ hash_any
+ hash_approximate_median
+ hash_count
+ hash_count_distinct
+ hash_distinct
+ hash_max
+ hash_mean
+ hash_min
+ hash_min_max
+ hash_product
+ hash_stddev
+ hash_sum
+ hash_tdigest
+ hash_variance
+
+Arithmetic Functions
+--------------------
+
+By default these functions do not detect overflow. Most functions are also
+available in an overflow-checking variant, suffixed ``_checked``, which
+throws an ``ArrowInvalid`` exception when overflow is detected.
+
+.. autosummary::
+ :toctree: ../generated/
+
+ abs
+ abs_checked
+ add
+ add_checked
+ divide
+ divide_checked
+ multiply
+ multiply_checked
+ negate
+ negate_checked
+ power
+ power_checked
+ sign
+ subtract
+ subtract_checked
+
+Bit-wise Functions
+------------------
+
+.. autosummary::
+ :toctree: ../generated/
+
+ bit_wise_and
+ bit_wise_not
+ bit_wise_or
+ bit_wise_xor
+ shift_left
+ shift_left_checked
+ shift_right
+ shift_right_checked
+
+Rounding Functions
+------------------
+
+Rounding functions displace numeric inputs to an approximate value with a simpler
+representation based on the rounding criterion.
+
+.. autosummary::
+ :toctree: ../generated/
+
+ ceil
+ floor
+ round
+ round_to_multiple
+ trunc
+
+Logarithmic Functions
+---------------------
+
+Logarithmic functions are also supported, and also offer ``_checked``
+variants which detect domain errors.
+
+.. autosummary::
+ :toctree: ../generated/
+
+ ln
+ ln_checked
+ log10
+ log10_checked
+ log1p
+ log1p_checked
+ log2
+ log2_checked
+ logb
+ logb_checked
+
+Trigonometric Functions
+-----------------------
+
+Trigonometric functions are also supported, and also offer ``_checked``
+variants which detect domain errors where appropriate.
+
+.. autosummary::
+ :toctree: ../generated/
+
+ acos
+ acos_checked
+ asin
+ asin_checked
+ atan
+ atan2
+ cos
+ cos_checked
+ sin
+ sin_checked
+ tan
+ tan_checked
+
+Comparisons
+-----------
+
+These functions expect two inputs of the same type. If one of the inputs is `null`
+they return ``null``.
+
+.. autosummary::
+ :toctree: ../generated/
+
+ equal
+ greater
+ greater_equal
+ less
+ less_equal
+ not_equal
+
+These functions take any number of arguments of a numeric or temporal type.
+
+.. autosummary::
+ :toctree: ../generated/
+
+ max_element_wise
+ min_element_wise
+
+Logical Functions
+-----------------
+
+These functions normally emit a null when one of the inputs is null. However, Kleene
+logic variants are provided (suffixed ``_kleene``). See User Guide for details.
+
+.. autosummary::
+ :toctree: ../generated/
+
+ and_
+ and_kleene
+ and_not
+ and_not_kleene
+ invert
+ or_
+ or_kleene
+ xor
+
+String Predicates
+-----------------
+
+In these functions an empty string emits false in the output. For ASCII
+variants (prefixed ``ascii_``) a string element with non-ASCII characters
+emits false in the output.
+
+The first set of functions emit true if the input contains only
+characters of a given class.
+
+.. autosummary::
+ :toctree: ../generated/
+
+ ascii_is_alnum
+ ascii_is_alpha
+ ascii_is_decimal
+ ascii_is_lower
+ ascii_is_printable
+ ascii_is_space
+ ascii_is_upper
+ utf8_is_alnum
+ utf8_is_alpha
+ utf8_is_decimal
+ utf8_is_digit
+ utf8_is_lower
+ utf8_is_numeric
+ utf8_is_printable
+ utf8_is_space
+ utf8_is_upper
+
+The second set of functions also consider the order of characters
+in the string element.
+
+.. autosummary::
+ :toctree: ../generated/
+
+ ascii_is_title
+ utf8_is_title
+
+The third set of functions examines string elements on
+a byte-by-byte basis.
+
+.. autosummary::
+ :toctree: ../generated/
+
+ string_is_ascii
+
+String Transforms
+-----------------
+
+.. autosummary::
+ :toctree: ../generated/
+
+ ascii_capitalize
+ ascii_lower
+ ascii_reverse
+ ascii_swapcase
+ ascii_title
+ ascii_upper
+ binary_length
+ binary_replace_slice
+ replace_substring
+ replace_substring_regex
+ utf8_capitalize
+ utf8_length
+ utf8_lower
+ utf8_replace_slice
+ utf8_reverse
+ utf8_swapcase
+ utf8_title
+ utf8_upper
+
+String Padding
+--------------
+
+.. autosummary::
+ :toctree: ../generated/
+
+ ascii_center
+ ascii_lpad
+ ascii_rpad
+ utf8_center
+ utf8_lpad
+ utf8_rpad
+
+String Trimming
+---------------
+
+.. autosummary::
+ :toctree: ../generated/
+
+ ascii_ltrim
+ ascii_ltrim_whitespace
+ ascii_rtrim
+ ascii_rtrim_whitespace
+ ascii_trim
+ ascii_trim_whitespace
+ utf8_ltrim
+ utf8_ltrim_whitespace
+ utf8_rtrim
+ utf8_rtrim_whitespace
+ utf8_trim
+ utf8_trim_whitespace
+
+String Splitting
+----------------
+
+.. autosummary::
+ :toctree: ../generated/
+
+ ascii_split_whitespace
+ split_pattern
+ split_pattern_regex
+ utf8_split_whitespace
+
+String Component Extraction
+---------------------------
+
+.. autosummary::
+ :toctree: ../generated/
+
+ extract_regex
+
+String Joining
+--------------
+
+.. autosummary::
+ :toctree: ../generated/
+
+ binary_join
+ binary_join_element_wise
+
+String Slicing
+--------------
+
+.. autosummary::
+ :toctree: ../generated/
+
+ utf8_slice_codeunits
+
+Containment Tests
+-----------------
+
+.. autosummary::
+ :toctree: ../generated/
+
+ count_substring
+ count_substring_regex
+ ends_with
+ find_substring
+ find_substring_regex
+ index_in
+ is_in
+ match_like
+ match_substring
+ match_substring_regex
+ starts_with
+
+Categorizations
+---------------
+
+.. autosummary::
+ :toctree: ../generated/
+
+ is_finite
+ is_inf
+ is_nan
+ is_null
+ is_valid
+
+Selecting / Multiplexing
+------------------------
+
+.. autosummary::
+ :toctree: ../generated/
+
+ case_when
+ choose
+ coalesce
+ if_else
+
+Conversions
+-----------
+
+.. autosummary::
+ :toctree: ../generated/
+
+ cast
+ strftime
+ strptime
+
+Temporal Component Extraction
+-----------------------------
+
+.. autosummary::
+ :toctree: ../generated/
+
+ day
+ day_of_week
+ day_of_year
+ hour
+ iso_week
+ iso_year
+ iso_calendar
+ microsecond
+ millisecond
+ minute
+ month
+ nanosecond
+ quarter
+ second
+ subsecond
+ us_week
+ week
+ year
+
+Temporal Difference
+-------------------
+
+.. autosummary::
+ :toctree: ../generated/
+
+ day_time_interval_between
+ days_between
+ hours_between
+ microseconds_between
+ milliseconds_between
+ minutes_between
+ month_day_nano_interval_between
+ month_interval_between
+ nanoseconds_between
+ quarters_between
+ seconds_between
+ weeks_between
+ years_between
+
+Timezone Handling
+-----------------
+
+.. autosummary::
+ :toctree: ../generated/
+
+ assume_timezone
+
+Associative Transforms
+----------------------
+
+.. autosummary::
+ :toctree: ../generated/
+
+ dictionary_encode
+ unique
+ value_counts
+
+Selections
+----------
+
+.. autosummary::
+ :toctree: ../generated/
+
+ array_filter
+ array_take
+ drop_null
+ filter
+ take
+
+Sorts and Partitions
+--------------------
+
+.. autosummary::
+ :toctree: ../generated/
+
+ array_sort_indices
+ partition_nth_indices
+ select_k_unstable
+ sort_indices
+
+Structural Transforms
+---------------------
+
+.. autosummary::
+ :toctree: ../generated/
+
+ list_element
+ list_flatten
+ list_parent_indices
+ list_value_length
+ make_struct
+ replace_with_mask
diff --git a/src/arrow/docs/source/python/api/cuda.rst b/src/arrow/docs/source/python/api/cuda.rst
new file mode 100644
index 000000000..364f03240
--- /dev/null
+++ b/src/arrow/docs/source/python/api/cuda.rst
@@ -0,0 +1,62 @@
+.. Licensed to the Apache Software Foundation (ASF) under one
+.. or more contributor license agreements. See the NOTICE file
+.. distributed with this work for additional information
+.. regarding copyright ownership. The ASF licenses this file
+.. to you under the Apache License, Version 2.0 (the
+.. "License"); you may not use this file except in compliance
+.. with the License. You may obtain a copy of the License at
+
+.. http://www.apache.org/licenses/LICENSE-2.0
+
+.. Unless required by applicable law or agreed to in writing,
+.. software distributed under the License is distributed on an
+.. "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+.. KIND, either express or implied. See the License for the
+.. specific language governing permissions and limitations
+.. under the License.
+
+.. currentmodule:: pyarrow.cuda
+
+CUDA Integration
+================
+
+.. ifconfig:: not cuda_enabled
+
+ .. error::
+ This documentation was built without CUDA enabled. The CUDA
+ API docs are not available.
+
+.. NOTE We still generate those API docs (with empty docstrings)
+.. when CUDA is disabled and `pyarrow.cuda` mocked (see conf.py).
+.. Otherwise we'd get autodoc warnings, see https://github.com/sphinx-doc/sphinx/issues/4770
+
+CUDA Contexts
+-------------
+
+.. autosummary::
+ :toctree: ../generated/
+
+ Context
+
+CUDA Buffers
+------------
+
+.. autosummary::
+ :toctree: ../generated/
+
+ CudaBuffer
+ new_host_buffer
+ HostBuffer
+ BufferReader
+ BufferWriter
+
+Serialization and IPC
+---------------------
+
+.. autosummary::
+ :toctree: ../generated/
+
+ serialize_record_batch
+ read_record_batch
+ read_message
+ IpcMemHandle
diff --git a/src/arrow/docs/source/python/api/dataset.rst b/src/arrow/docs/source/python/api/dataset.rst
new file mode 100644
index 000000000..9718006ab
--- /dev/null
+++ b/src/arrow/docs/source/python/api/dataset.rst
@@ -0,0 +1,64 @@
+.. Licensed to the Apache Software Foundation (ASF) under one
+.. or more contributor license agreements. See the NOTICE file
+.. distributed with this work for additional information
+.. regarding copyright ownership. The ASF licenses this file
+.. to you under the Apache License, Version 2.0 (the
+.. "License"); you may not use this file except in compliance
+.. with the License. You may obtain a copy of the License at
+
+.. http://www.apache.org/licenses/LICENSE-2.0
+
+.. Unless required by applicable law or agreed to in writing,
+.. software distributed under the License is distributed on an
+.. "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+.. KIND, either express or implied. See the License for the
+.. specific language governing permissions and limitations
+.. under the License.
+
+.. currentmodule:: pyarrow.dataset
+
+.. _api.dataset:
+
+Dataset
+=======
+
+.. warning::
+
+ The ``pyarrow.dataset`` module is experimental (specifically the classes),
+ and a stable API is not yet guaranteed.
+
+Factory functions
+-----------------
+
+.. autosummary::
+ :toctree: ../generated/
+
+ dataset
+ parquet_dataset
+ partitioning
+ field
+ scalar
+ write_dataset
+
+Classes
+-------
+
+.. autosummary::
+ :toctree: ../generated/
+
+ FileFormat
+ ParquetFileFormat
+ ORCFileFormat
+ IpcFileFormat
+ CsvFileFormat
+ Partitioning
+ PartitioningFactory
+ DirectoryPartitioning
+ HivePartitioning
+ Dataset
+ FileSystemDataset
+ FileSystemFactoryOptions
+ FileSystemDatasetFactory
+ UnionDataset
+ Scanner
+ Expression
diff --git a/src/arrow/docs/source/python/api/datatypes.rst b/src/arrow/docs/source/python/api/datatypes.rst
new file mode 100644
index 000000000..48a254a00
--- /dev/null
+++ b/src/arrow/docs/source/python/api/datatypes.rst
@@ -0,0 +1,165 @@
+.. Licensed to the Apache Software Foundation (ASF) under one
+.. or more contributor license agreements. See the NOTICE file
+.. distributed with this work for additional information
+.. regarding copyright ownership. The ASF licenses this file
+.. to you under the Apache License, Version 2.0 (the
+.. "License"); you may not use this file except in compliance
+.. with the License. You may obtain a copy of the License at
+
+.. http://www.apache.org/licenses/LICENSE-2.0
+
+.. Unless required by applicable law or agreed to in writing,
+.. software distributed under the License is distributed on an
+.. "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+.. KIND, either express or implied. See the License for the
+.. specific language governing permissions and limitations
+.. under the License.
+
+.. _api.types:
+.. currentmodule:: pyarrow
+
+Data Types and Schemas
+======================
+
+Factory Functions
+-----------------
+
+These should be used to create Arrow data types and schemas.
+
+.. autosummary::
+ :toctree: ../generated/
+
+ null
+ bool_
+ int8
+ int16
+ int32
+ int64
+ uint8
+ uint16
+ uint32
+ uint64
+ float16
+ float32
+ float64
+ time32
+ time64
+ timestamp
+ date32
+ date64
+ duration
+ month_day_nano_interval
+ binary
+ string
+ utf8
+ large_binary
+ large_string
+ large_utf8
+ decimal128
+ list_
+ large_list
+ map_
+ struct
+ dictionary
+ field
+ schema
+ from_numpy_dtype
+
+Utility Functions
+-----------------
+
+.. autosummary::
+ :toctree: ../generated/
+
+ unify_schemas
+
+.. _api.type_classes:
+.. currentmodule:: pyarrow
+
+Type Classes
+------------
+
+Do not instantiate these classes directly. Instead, call one of the factory
+functions above.
+
+.. autosummary::
+ :toctree: ../generated/
+
+ DataType
+ DictionaryType
+ ListType
+ MapType
+ StructType
+ UnionType
+ TimestampType
+ Time32Type
+ Time64Type
+ FixedSizeBinaryType
+ Decimal128Type
+ Field
+ Schema
+
+Specific classes and functions for extension types.
+
+.. autosummary::
+ :toctree: ../generated/
+
+ ExtensionType
+ PyExtensionType
+ register_extension_type
+ unregister_extension_type
+
+
+.. _api.types.checking:
+.. currentmodule:: pyarrow.types
+
+Type Checking
+-------------
+
+These functions are predicates to check whether a :class:`DataType` instance
+represents a given data type (such as ``int32``) or general category
+(such as "is a signed integer").
+
+.. autosummary::
+ :toctree: ../generated/
+
+ is_boolean
+ is_integer
+ is_signed_integer
+ is_unsigned_integer
+ is_int8
+ is_int16
+ is_int32
+ is_int64
+ is_uint8
+ is_uint16
+ is_uint32
+ is_uint64
+ is_floating
+ is_float16
+ is_float32
+ is_float64
+ is_decimal
+ is_list
+ is_large_list
+ is_struct
+ is_union
+ is_nested
+ is_temporal
+ is_timestamp
+ is_date
+ is_date32
+ is_date64
+ is_time
+ is_time32
+ is_time64
+ is_null
+ is_binary
+ is_unicode
+ is_string
+ is_large_binary
+ is_large_unicode
+ is_large_string
+ is_fixed_size_binary
+ is_map
+ is_dictionary
diff --git a/src/arrow/docs/source/python/api/files.rst b/src/arrow/docs/source/python/api/files.rst
new file mode 100644
index 000000000..106dfde8a
--- /dev/null
+++ b/src/arrow/docs/source/python/api/files.rst
@@ -0,0 +1,65 @@
+.. Licensed to the Apache Software Foundation (ASF) under one
+.. or more contributor license agreements. See the NOTICE file
+.. distributed with this work for additional information
+.. regarding copyright ownership. The ASF licenses this file
+.. to you under the Apache License, Version 2.0 (the
+.. "License"); you may not use this file except in compliance
+.. with the License. You may obtain a copy of the License at
+
+.. http://www.apache.org/licenses/LICENSE-2.0
+
+.. Unless required by applicable law or agreed to in writing,
+.. software distributed under the License is distributed on an
+.. "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+.. KIND, either express or implied. See the License for the
+.. specific language governing permissions and limitations
+.. under the License.
+
+.. currentmodule:: pyarrow
+
+Streams and File Access
+=======================
+
+.. _api.io:
+
+Factory Functions
+-----------------
+
+These factory functions are the recommended way to create a Arrow stream.
+They accept various kinds of sources, such as in-memory buffers or on-disk files.
+
+.. autosummary::
+ :toctree: ../generated/
+
+ input_stream
+ output_stream
+ memory_map
+ create_memory_map
+
+Stream Classes
+--------------
+
+.. autosummary::
+ :toctree: ../generated/
+
+ NativeFile
+ OSFile
+ PythonFile
+ BufferReader
+ BufferOutputStream
+ FixedSizeBufferWriter
+ MemoryMappedFile
+ CompressedInputStream
+ CompressedOutputStream
+
+File Systems
+------------
+
+.. autosummary::
+ :toctree: ../generated/
+
+ hdfs.connect
+ LocalFileSystem
+
+.. class:: HadoopFileSystem
+ :noindex:
diff --git a/src/arrow/docs/source/python/api/filesystems.rst b/src/arrow/docs/source/python/api/filesystems.rst
new file mode 100644
index 000000000..3e2ac29ee
--- /dev/null
+++ b/src/arrow/docs/source/python/api/filesystems.rst
@@ -0,0 +1,53 @@
+.. Licensed to the Apache Software Foundation (ASF) under one
+.. or more contributor license agreements. See the NOTICE file
+.. distributed with this work for additional information
+.. regarding copyright ownership. The ASF licenses this file
+.. to you under the Apache License, Version 2.0 (the
+.. "License"); you may not use this file except in compliance
+.. with the License. You may obtain a copy of the License at
+
+.. http://www.apache.org/licenses/LICENSE-2.0
+
+.. Unless required by applicable law or agreed to in writing,
+.. software distributed under the License is distributed on an
+.. "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+.. KIND, either express or implied. See the License for the
+.. specific language governing permissions and limitations
+.. under the License.
+
+.. currentmodule:: pyarrow.fs
+
+Filesystems
+===========
+
+.. _api.fs:
+
+Interface
+---------
+
+.. autosummary::
+ :toctree: ../generated/
+
+ FileInfo
+ FileSelector
+ FileSystem
+
+Concrete Subclasses
+-------------------
+
+.. autosummary::
+ :toctree: ../generated/
+
+ LocalFileSystem
+ S3FileSystem
+ HadoopFileSystem
+ SubTreeFileSystem
+
+To define filesystems with behavior implemented in Python:
+
+.. autosummary::
+ :toctree: ../generated/
+
+ PyFileSystem
+ FileSystemHandler
+ FSSpecHandler
diff --git a/src/arrow/docs/source/python/api/flight.rst b/src/arrow/docs/source/python/api/flight.rst
new file mode 100644
index 000000000..0cfbb6b4b
--- /dev/null
+++ b/src/arrow/docs/source/python/api/flight.rst
@@ -0,0 +1,91 @@
+.. Licensed to the Apache Software Foundation (ASF) under one
+.. or more contributor license agreements. See the NOTICE file
+.. distributed with this work for additional information
+.. regarding copyright ownership. The ASF licenses this file
+.. to you under the Apache License, Version 2.0 (the
+.. "License"); you may not use this file except in compliance
+.. with the License. You may obtain a copy of the License at
+
+.. http://www.apache.org/licenses/LICENSE-2.0
+
+.. Unless required by applicable law or agreed to in writing,
+.. software distributed under the License is distributed on an
+.. "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+.. KIND, either express or implied. See the License for the
+.. specific language governing permissions and limitations
+.. under the License.
+
+.. currentmodule:: pyarrow.flight
+
+Arrow Flight
+============
+
+.. ifconfig:: not flight_enabled
+
+ .. error::
+ This documentation was built without Flight enabled. The Flight
+ API docs are not available.
+
+.. NOTE We still generate those API docs (with empty docstrings)
+.. when Flight is disabled and `pyarrow.flight` mocked (see conf.py).
+.. Otherwise we'd get autodoc warnings, see https://github.com/sphinx-doc/sphinx/issues/4770
+
+.. warning:: Flight is currently unstable. APIs are subject to change,
+ though we don't expect drastic changes.
+
+Common Types
+------------
+
+.. autosummary::
+ :toctree: ../generated/
+
+ Action
+ ActionType
+ DescriptorType
+ FlightDescriptor
+ FlightEndpoint
+ FlightInfo
+ Location
+ Ticket
+ Result
+
+Flight Client
+-------------
+
+.. autosummary::
+ :toctree: ../generated/
+
+ FlightCallOptions
+ FlightClient
+ ClientMiddlewareFactory
+ ClientMiddleware
+
+Flight Server
+-------------
+
+.. autosummary::
+ :toctree: ../generated/
+
+ FlightServerBase
+ GeneratorStream
+ RecordBatchStream
+ ServerMiddlewareFactory
+ ServerMiddleware
+
+Authentication
+--------------
+
+.. autosummary::
+ :toctree: ../generated/
+
+ ClientAuthHandler
+ ServerAuthHandler
+
+Middleware
+----------
+
+.. autosummary::
+ :toctree: ../generated/
+
+ FlightMethod
+ CallInfo
diff --git a/src/arrow/docs/source/python/api/formats.rst b/src/arrow/docs/source/python/api/formats.rst
new file mode 100644
index 000000000..fdc28040a
--- /dev/null
+++ b/src/arrow/docs/source/python/api/formats.rst
@@ -0,0 +1,101 @@
+.. Licensed to the Apache Software Foundation (ASF) under one
+.. or more contributor license agreements. See the NOTICE file
+.. distributed with this work for additional information
+.. regarding copyright ownership. The ASF licenses this file
+.. to you under the Apache License, Version 2.0 (the
+.. "License"); you may not use this file except in compliance
+.. with the License. You may obtain a copy of the License at
+
+.. http://www.apache.org/licenses/LICENSE-2.0
+
+.. Unless required by applicable law or agreed to in writing,
+.. software distributed under the License is distributed on an
+.. "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+.. KIND, either express or implied. See the License for the
+.. specific language governing permissions and limitations
+.. under the License.
+
+Tabular File Formats
+====================
+
+.. _api.csv:
+
+CSV Files
+---------
+
+.. currentmodule:: pyarrow.csv
+
+.. autosummary::
+ :toctree: ../generated/
+
+ ConvertOptions
+ CSVStreamingReader
+ CSVWriter
+ ISO8601
+ ParseOptions
+ ReadOptions
+ WriteOptions
+ open_csv
+ read_csv
+ write_csv
+
+.. _api.feather:
+
+Feather Files
+-------------
+
+.. currentmodule:: pyarrow.feather
+
+.. autosummary::
+ :toctree: ../generated/
+
+ read_feather
+ read_table
+ write_feather
+
+.. _api.json:
+
+JSON Files
+----------
+
+.. currentmodule:: pyarrow.json
+
+.. autosummary::
+ :toctree: ../generated/
+
+ ReadOptions
+ ParseOptions
+ read_json
+
+.. _api.parquet:
+
+Parquet Files
+-------------
+
+.. currentmodule:: pyarrow.parquet
+
+.. autosummary::
+ :toctree: ../generated/
+
+ ParquetDataset
+ ParquetFile
+ ParquetWriter
+ read_table
+ read_metadata
+ read_pandas
+ read_schema
+ write_metadata
+ write_table
+ write_to_dataset
+
+.. _api.orc:
+
+ORC Files
+---------
+
+.. currentmodule:: pyarrow.orc
+
+.. autosummary::
+ :toctree: ../generated/
+
+ ORCFile
diff --git a/src/arrow/docs/source/python/api/ipc.rst b/src/arrow/docs/source/python/api/ipc.rst
new file mode 100644
index 000000000..83ff53de7
--- /dev/null
+++ b/src/arrow/docs/source/python/api/ipc.rst
@@ -0,0 +1,69 @@
+.. Licensed to the Apache Software Foundation (ASF) under one
+.. or more contributor license agreements. See the NOTICE file
+.. distributed with this work for additional information
+.. regarding copyright ownership. The ASF licenses this file
+.. to you under the Apache License, Version 2.0 (the
+.. "License"); you may not use this file except in compliance
+.. with the License. You may obtain a copy of the License at
+
+.. http://www.apache.org/licenses/LICENSE-2.0
+
+.. Unless required by applicable law or agreed to in writing,
+.. software distributed under the License is distributed on an
+.. "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+.. KIND, either express or implied. See the License for the
+.. specific language governing permissions and limitations
+.. under the License.
+
+.. currentmodule:: pyarrow
+
+.. _api.ipc:
+
+Serialization and IPC
+=====================
+
+Inter-Process Communication
+---------------------------
+
+.. autosummary::
+ :toctree: ../generated/
+
+ ipc.new_file
+ ipc.open_file
+ ipc.new_stream
+ ipc.open_stream
+ ipc.read_message
+ ipc.read_record_batch
+ ipc.get_record_batch_size
+ ipc.read_tensor
+ ipc.write_tensor
+ ipc.get_tensor_size
+ ipc.IpcWriteOptions
+ ipc.Message
+ ipc.MessageReader
+ ipc.RecordBatchFileReader
+ ipc.RecordBatchFileWriter
+ ipc.RecordBatchStreamReader
+ ipc.RecordBatchStreamWriter
+
+Serialization
+-------------
+
+.. warning::
+
+ The serialization functionality is deprecated in pyarrow 2.0, and will
+ be removed in a future version. Use the standard library ``pickle`` or
+ the IPC functionality of pyarrow (see :ref:`ipc`).
+
+
+.. autosummary::
+ :toctree: ../generated/
+
+ serialize
+ serialize_to
+ deserialize
+ deserialize_components
+ deserialize_from
+ read_serialized
+ SerializedPyObject
+ SerializationContext
diff --git a/src/arrow/docs/source/python/api/memory.rst b/src/arrow/docs/source/python/api/memory.rst
new file mode 100644
index 000000000..f4382ba23
--- /dev/null
+++ b/src/arrow/docs/source/python/api/memory.rst
@@ -0,0 +1,73 @@
+.. Licensed to the Apache Software Foundation (ASF) under one
+.. or more contributor license agreements. See the NOTICE file
+.. distributed with this work for additional information
+.. regarding copyright ownership. The ASF licenses this file
+.. to you under the Apache License, Version 2.0 (the
+.. "License"); you may not use this file except in compliance
+.. with the License. You may obtain a copy of the License at
+
+.. http://www.apache.org/licenses/LICENSE-2.0
+
+.. Unless required by applicable law or agreed to in writing,
+.. software distributed under the License is distributed on an
+.. "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+.. KIND, either express or implied. See the License for the
+.. specific language governing permissions and limitations
+.. under the License.
+
+.. currentmodule:: pyarrow
+
+.. _api.memory:
+
+Buffers and Memory
+==================
+
+In-Memory Buffers
+-----------------
+
+Factory Functions
+~~~~~~~~~~~~~~~~~
+
+.. autosummary::
+ :toctree: ../generated/
+
+ allocate_buffer
+ py_buffer
+ foreign_buffer
+
+Classes
+~~~~~~~
+
+.. autosummary::
+ :toctree: ../generated/
+
+ Buffer
+ ResizableBuffer
+
+Miscellaneous
+~~~~~~~~~~~~~
+
+.. autosummary::
+ :toctree: ../generated/
+
+ Codec
+ compress
+ decompress
+
+.. _api.memory_pool:
+
+Memory Pools
+------------
+
+.. autosummary::
+ :toctree: ../generated/
+
+ MemoryPool
+ default_memory_pool
+ jemalloc_memory_pool
+ mimalloc_memory_pool
+ system_memory_pool
+ jemalloc_set_decay_ms
+ set_memory_pool
+ log_memory_allocations
+ total_allocated_bytes
diff --git a/src/arrow/docs/source/python/api/misc.rst b/src/arrow/docs/source/python/api/misc.rst
new file mode 100644
index 000000000..c13b80620
--- /dev/null
+++ b/src/arrow/docs/source/python/api/misc.rst
@@ -0,0 +1,40 @@
+.. Licensed to the Apache Software Foundation (ASF) under one
+.. or more contributor license agreements. See the NOTICE file
+.. distributed with this work for additional information
+.. regarding copyright ownership. The ASF licenses this file
+.. to you under the Apache License, Version 2.0 (the
+.. "License"); you may not use this file except in compliance
+.. with the License. You may obtain a copy of the License at
+
+.. http://www.apache.org/licenses/LICENSE-2.0
+
+.. Unless required by applicable law or agreed to in writing,
+.. software distributed under the License is distributed on an
+.. "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+.. KIND, either express or implied. See the License for the
+.. specific language governing permissions and limitations
+.. under the License.
+
+.. currentmodule:: pyarrow
+
+Miscellaneous
+=============
+
+Multi-Threading
+---------------
+
+.. autosummary::
+ :toctree: ../generated/
+
+ cpu_count
+ set_cpu_count
+
+Using with C extensions
+-----------------------
+
+.. autosummary::
+ :toctree: ../generated/
+
+ get_include
+ get_libraries
+ get_library_dirs
diff --git a/src/arrow/docs/source/python/api/plasma.rst b/src/arrow/docs/source/python/api/plasma.rst
new file mode 100644
index 000000000..8df9e4e21
--- /dev/null
+++ b/src/arrow/docs/source/python/api/plasma.rst
@@ -0,0 +1,33 @@
+.. Licensed to the Apache Software Foundation (ASF) under one
+.. or more contributor license agreements. See the NOTICE file
+.. distributed with this work for additional information
+.. regarding copyright ownership. The ASF licenses this file
+.. to you under the Apache License, Version 2.0 (the
+.. "License"); you may not use this file except in compliance
+.. with the License. You may obtain a copy of the License at
+
+.. http://www.apache.org/licenses/LICENSE-2.0
+
+.. Unless required by applicable law or agreed to in writing,
+.. software distributed under the License is distributed on an
+.. "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+.. KIND, either express or implied. See the License for the
+.. specific language governing permissions and limitations
+.. under the License.
+
+.. currentmodule:: pyarrow.plasma
+
+.. _api.plasma:
+
+Plasma In-Memory Object Store
+=============================
+
+Classes
+-------
+
+.. autosummary::
+ :toctree: ../generated/
+
+ ObjectID
+ PlasmaClient
+ PlasmaBuffer
diff --git a/src/arrow/docs/source/python/api/tables.rst b/src/arrow/docs/source/python/api/tables.rst
new file mode 100644
index 000000000..6e7a3b6e1
--- /dev/null
+++ b/src/arrow/docs/source/python/api/tables.rst
@@ -0,0 +1,55 @@
+.. Licensed to the Apache Software Foundation (ASF) under one
+.. or more contributor license agreements. See the NOTICE file
+.. distributed with this work for additional information
+.. regarding copyright ownership. The ASF licenses this file
+.. to you under the Apache License, Version 2.0 (the
+.. "License"); you may not use this file except in compliance
+.. with the License. You may obtain a copy of the License at
+
+.. http://www.apache.org/licenses/LICENSE-2.0
+
+.. Unless required by applicable law or agreed to in writing,
+.. software distributed under the License is distributed on an
+.. "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+.. KIND, either express or implied. See the License for the
+.. specific language governing permissions and limitations
+.. under the License.
+
+.. currentmodule:: pyarrow
+
+.. _api.table:
+
+Tables and Tensors
+==================
+
+Factory Functions
+-----------------
+
+.. autosummary::
+ :toctree: ../generated/
+
+ chunked_array
+ concat_arrays
+ concat_tables
+ record_batch
+ table
+
+Classes
+-------
+
+.. autosummary::
+ :toctree: ../generated/
+
+ ChunkedArray
+ RecordBatch
+ Table
+
+.. _api.tensor:
+
+Tensors
+-------
+
+.. autosummary::
+ :toctree: ../generated/
+
+ Tensor