Skip to content

Commit

Permalink
docs: spruce up landing page
Browse files Browse the repository at this point in the history
  • Loading branch information
lidavidm committed Dec 18, 2023
1 parent 9544887 commit b0e3a2a
Show file tree
Hide file tree
Showing 5 changed files with 174 additions and 27 deletions.
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
182 changes: 158 additions & 24 deletions docs/source/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -15,23 +15,175 @@
.. 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.


.. 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

Work with 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.

.. 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 +194,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 +208,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 +217,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`

0 comments on commit b0e3a2a

Please sign in to comment.