This is an automated email from the ASF dual-hosted git repository.
kou pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/arrow-swift.git
The following commit(s) were added to refs/heads/main by this push:
new 015c8e1 docs: enable SPI documentation rendering via DocC (#125)
015c8e1 is described below
commit 015c8e1369e8323558fd91af1fadeab1115e0ab9
Author: Christian Tietze <[email protected]>
AuthorDate: Wed Jan 21 01:05:01 2026 +0100
docs: enable SPI documentation rendering via DocC (#125)
## What's Changed
Swift Package Index automatically hosts rendered and browse-able
documentation when DocC is used.
This PR adds an overview of the API surface of this library (a Markdown
index file) that guides the documentation generator. It can be browsed
in Xcode, too, if you want a preview:
<img width="3608" height="2298" alt="2026-01-19 07-38-08 Xcode - Arrow
Documentation@2x"
src="https://github.com/user-attachments/assets/3c53a5df-67f1-4597-bad6-42c138af2a29"
/>
Enhancements would include more tutorialized content on how to use this,
but the project website exists for this for now.
Closes #128.
---------
Co-authored-by: Sutou Kouhei <[email protected]>
---
.spi.yml | 21 ++++++++++++
README.md | 2 +-
Sources/Arrow/Arrow.docc/Arrow.md | 68 +++++++++++++++++++++++++++++++++++++++
3 files changed, 90 insertions(+), 1 deletion(-)
diff --git a/.spi.yml b/.spi.yml
new file mode 100644
index 0000000..7ae6f47
--- /dev/null
+++ b/.spi.yml
@@ -0,0 +1,21 @@
+# 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.
+
+version: 1
+builder:
+ configs:
+ - documentation_targets: [Arrow]
diff --git a/README.md b/README.md
index a482be0..686b038 100644
--- a/README.md
+++ b/README.md
@@ -50,7 +50,7 @@ Then add `Arrow` to your target's dependencies:
## Getting Started
-TODO: We should refer auto generated documentation on Swift Package Index
after we register this package to Swift Package Index.
+For API documentation and usage examples, see the [documentation on Swift
Package Index](https://swiftpackageindex.com/apache/arrow-swift/documentation).
## Getting involved
diff --git a/Sources/Arrow/Arrow.docc/Arrow.md
b/Sources/Arrow/Arrow.docc/Arrow.md
new file mode 100644
index 0000000..8a7de84
--- /dev/null
+++ b/Sources/Arrow/Arrow.docc/Arrow.md
@@ -0,0 +1,68 @@
+<!--
+ 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.
+-->
+
+# ``Arrow``
+
+Apache Arrow: Columnar format for fast data interchange and in-memory
analytics.
+
+## Overview
+
+Arrow provides a universal columnar data format optimized for efficient
analytic operations. This Swift implementation enables you to:
+
+- Read and write Arrow IPC file and streaming formats
+- Build columnar data structures with typed arrays
+- Work with record batches and tables
+- Encode and decode Swift types to Arrow format
+- Interoperate with other Arrow implementations via the C Data Interface
+
+## Topics
+
+### Reading and Writing Data
+
+- ``ArrowReader``
+- ``ArrowWriter``
+
+### Core Data Structures
+
+- ``ArrowTable``
+- ``RecordBatch``
+- ``ArrowColumn``
+- ``ChunkedArray``
+
+### Arrays
+
+- ``ArrowArray``
+- ``ArrowArrayBuilder``
+- ``ArrowArrayHolder``
+
+### Schema and Types
+
+- ``ArrowSchema``
+- ``ArrowField``
+- ``ArrowType``
+
+### Encoding and Decoding
+
+- ``ArrowEncoder``
+- ``ArrowDecoder``
+
+### C Data Interface
+
+- ``ArrowCExporter``
+- ``ArrowCImporter``