Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: spruce up landing page #1360

Merged
merged 1 commit into from
Dec 19, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion ci/conda_env_docs.txt
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
breathe
doxygen
# XXX(https://github.com/apache/arrow-adbc/issues/987)
furo=2023.07.26
furo>=2023.09.10
make
# Needed to install mermaid
nodejs
Expand All @@ -28,4 +28,5 @@ sphinx>=5.0
sphinx-autobuild
sphinx-copybutton
sphinx-design
sphinxext-opengraph
r-pkgdown
Binary file added docs/source/_static/banner.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
14 changes: 13 additions & 1 deletion docs/source/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@
"sphinx.ext.intersphinx",
"sphinx_copybutton",
"sphinx_design",
"sphinxext.opengraph",
]
templates_path = ["_templates"]

Expand Down Expand Up @@ -90,7 +91,10 @@
# -- Options for HTML output -------------------------------------------------
# https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output

html_css_files = ["css/custom.css"]
html_css_files = [
"https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.1.1/css/all.min.css",
"css/custom.css",
]
html_static_path = ["_static"]
html_theme = "furo"
html_theme_options = {
Expand All @@ -110,3 +114,11 @@
# -- Options for numpydoc ----------------------------------------------------

numpydoc_class_members_toctree = False

# -- Options for sphinxext.opengraph -----------------------------------------

if "dev" in release:
ogp_site_url = "https://arrow.apache.org/adbc/main/"
else:
ogp_site_url = f"https://arrow.apache.org/adbc/{release}/"
ogp_image = "_static/banner.png"
2 changes: 1 addition & 1 deletion docs/source/driver/sqlite.rst
Original file line number Diff line number Diff line change
Expand Up @@ -211,7 +211,7 @@ Example

.. code-block:: go

# TODO
// TODO

.. tab-item:: Python
:sync: python
Expand Down
198 changes: 174 additions & 24 deletions docs/source/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -15,23 +15,191 @@
.. specific language governing permissions and limitations
.. under the License.

:sd_hide_title:

=================
Apache Arrow ADBC
=================

To get started, choose a language and follow the Quickstart page.
.. div::
:style: border-bottom: 1px solid var(--color-foreground-border);

.. grid::
:margin: 4 3 0 0

.. grid-item::
:columns: 12 12 12 12
:class: sd-fs-2

ADBC: Arrow Database Connectivity

.. grid-item::
:columns: 12 12 12 12
:class: sd-fs-4

**Cross-language**, **Arrow-native** database access.

ADBC is a set of APIs and libraries for Arrow-native access to databases.
Execute SQL and Substrait queries, query database catalogs, and more, all
using Arrow data to eliminate unnecessary data copies, speed up access, and
make it more convenient to build analytical applications.

.. div::

.. grid::
:margin: 4 4 0 0
:gutter: 1

.. grid-item-card::
:columns: 12 12 4 4

Quickstart
^^^

Get started with simple examples in your language of choice.

+++

.. button-ref:: cpp/quickstart
:ref-type: doc
:color: secondary
:expand:

C/C++

.. button-link:: https://pkg.go.dev/github.com/apache/arrow-adbc/go/adbc
:color: secondary
:expand:

Go

.. button-ref:: java/quickstart
:ref-type: doc
:color: secondary
:expand:

Java

.. button-ref:: python/quickstart
:ref-type: doc
:color: secondary
:expand:

Python

.. button-ref:: r/index
:ref-type: doc
:color: secondary
:expand:

R

.. grid-item-card::
:columns: 12 4 4 4

Specification
^^^

Learn about the underlying API specification.

+++

.. button-link:: https://arrow.apache.org/blog/2023/01/05/introducing-arrow-adbc/
:color: secondary
:expand:

To learn more about ADBC, see the `introductory blog post
<https://arrow.apache.org/blog/2023/01/05/introducing-arrow-adbc/>`_.
Introducing ADBC :octicon:`cross-reference`

.. button-ref:: format/specification
:ref-type: doc
:color: secondary
:expand:

Specification

.. button-ref:: faq
:ref-type: doc
:color: secondary
:expand:

FAQ

.. grid-item-card::
:columns: 12 4 4 4

Development
^^^

Report bugs, ask questions, and contribute to Apache Arrow.

+++

.. button-link:: https://github.com/apache/arrow-adbc/issues
:color: secondary
:expand:

:fab:`github` Issues/Questions

.. button-link:: https://arrow.apache.org/community/
:color: secondary
:expand:

Mailing List :octicon:`cross-reference`

.. button-link:: https://github.com/apache/arrow-adbc/blob/main/CONTRIBUTING.md
:color: secondary
:expand:

Contributing :octicon:`cross-reference`

Why ADBC?
=========

.. grid:: 1 2 2 2
:margin: 4 4 0 0
:gutter: 1

.. grid-item-card:: Arrow-native

Execute queries and get back results in Arrow format, eliminating extra
data copies for Arrow-native backends.

.. grid-item-card:: Backend-agnostic
:link: driver/status
:link-type: doc

Connect to all kinds of databases, even ones that aren't Arrow-native.
ADBC drivers optimize conversion to/from Arrow where required, saving
work for developers.

+++
See Supported Drivers

.. grid-item-card:: Cross-language

Work in C/C++, C#, Go, Java, Python, R, Ruby, and more.

.. grid-item-card:: Full-featured

Execute SQL and Substrait, query database catalogs, inspect table
schemas, and more. ADBC handles common tasks without having to pull in
another database client.

.. grid-item-card:: Language-native

Use language-native APIs that you're already familiar with, like DBAPI
in Python, ``database/sql`` in Go, or DBI in R.

.. toctree::
:maxdepth: 1
:hidden:

faq

.. toctree::
:maxdepth: 1
:caption: Supported Environments
:hidden:

C/C++ <cpp/index>
Go <https://pkg.go.dev/github.com/apache/arrow-adbc/go/adbc>
Expand All @@ -42,6 +210,7 @@ To learn more about ADBC, see the `introductory blog post
.. toctree::
:maxdepth: 1
:caption: Drivers
:hidden:

driver/installation
driver/status
Expand All @@ -55,6 +224,7 @@ To learn more about ADBC, see the `introductory blog post
.. toctree::
:maxdepth: 1
:caption: Specification
:hidden:

format/specification
format/versioning
Expand All @@ -63,28 +233,8 @@ To learn more about ADBC, see the `introductory blog post
.. toctree::
:maxdepth: 1
:caption: Development
:hidden:

development/contributing
development/nightly
development/releasing

ADBC (Arrow Database Connectivity) is an API specification for
Arrow-based database access. It provides a set of APIs in C, Go, and
Java that define how to interact with databases, including executing
queries and fetching metadata, that use Arrow data for result sets and
query parameters. These APIs are then implemented by drivers (or a
driver manager) that use some underlying protocol to work with
specific databases.

ADBC aims to provide applications with a single, Arrow-based API to
work with multiple databases, whether Arrow-native or not.
Application code should not need to juggle conversions from
non-Arrow-native datasources alongside bindings for multiple
Arrow-native database protocols.

Indices and tables
==================

* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`
Loading