Skip to content

Commit

Permalink
FIX-#3624: Reformat modin readthedocs theme to look closer to pandas. (
Browse files Browse the repository at this point in the history
…#3726)

Signed-off-by: jeffreykennethli <jkli@ponder.io>
  • Loading branch information
jeffreykennethli committed Dec 1, 2021
1 parent b76dc57 commit cc96f5d
Show file tree
Hide file tree
Showing 31 changed files with 442 additions and 411 deletions.
Original file line number Diff line number Diff line change
@@ -1,6 +1,21 @@
Overview
========
Modin aims to not only optimize Pandas, but also provide a comprehensive,
Advanced Usage
==============

.. toctree::
:titlesonly:
:hidden:

spreadsheets_api
progress_bar
modin_sql
modin_xgboost
modin_in_the_cloud

.. meta::
:description lang=en:
Description of Modin's advanced features.

Modin aims to not only optimize pandas, but also provide a comprehensive,
integrated toolkit for data scientists. We are actively developing data science tools
such as DataFrame - spreadsheet integration, DataFrame algebra, progress bars, SQL queries
on DataFrames, and more. Join the `Discourse`_ for the latest updates!
Expand Down Expand Up @@ -42,7 +57,7 @@ Read about Modin Dataframe support for SQL queries in this recent `blog post`_.
Distributed XGBoost on Modin
----------------------------
Modin provides an implementation of distributed XGBoost machine learning algorithm on Modin DataFrames. See our
:doc:`Distributed XGBoost on Modin documentation </experimental_features/modin_xgboost>` for details about installation and usage, as well as
:doc:`Distributed XGBoost on Modin documentation <modin_xgboost>` for details about installation and usage, as well as
:doc:`Modin XGBoost architecture documentation </flow/modin/experimental/xgboost>` for information about implementation and
internal execution flow.

Expand Down
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ Install XGBoost on Modin

Modin comes with all the dependencies except ``xgboost`` package by default.
Currently, distributed XGBoost on Modin is only supported on the Ray execution engine, therefore, see
the :doc:`installation page </installation>` for more information on installing Modin with the Ray engine.
the :doc:`installation page </getting_started/index>` for more information on installing Modin with the Ray engine.
To install ``xgboost`` package you can use ``pip``:

.. code-block:: bash
Expand Down
File renamed without changes.
File renamed without changes.
4 changes: 0 additions & 4 deletions docs/comparisons/spark.rst

This file was deleted.

44 changes: 39 additions & 5 deletions docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,15 @@
import types

import ray

# stub ray.remote to be a no-op so it doesn't shadow docstrings
def noop_decorator(*args, **kwargs):
if len(args) == 1 and len(kwargs) == 0 and callable(args[0]):
# This is the case where the decorator is just @ray.remote without parameters.
return args[0]
return lambda cls_or_func: cls_or_func


ray.remote = noop_decorator

# fake modules if they're missing
Expand Down Expand Up @@ -107,13 +110,15 @@ def noop_decorator(*args, **kwargs):
# -- Options for HTML output -------------------------------------------------

# Maps git branches to Sphinx themes
default_html_theme = "sphinx_rtd_theme"
default_html_theme = "pydata_sphinx_theme"
current_branch = "nature"

# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
#
html_theme = "sphinx_rtd_theme"
html_theme = "pydata_sphinx_theme"

html_favicon = "img/MODIN_ver2.ico"

html_logo = "img/MODIN_ver2.png"

Expand All @@ -125,6 +130,35 @@ def noop_decorator(*args, **kwargs):
"sidebarwidth": 270,
"collapse_navigation": False,
"navigation_depth": 4,
"show_toc_level": 2,
"github_url": "https://github.com/modin-project/modin",
"icon_links": [
{
"name": "PyPI",
"url": "https://pypi.org/project/modin",
"icon": "fab fa-python",
},
{
"name": "conda-forge",
"url": "https://anaconda.org/conda-forge/modin",
"icon": "fas fa-circle-notch",
},
{
"name": "Join the Slack",
"url": "https://modin.org/slack.html",
"icon": "fab fa-slack",
},
{
"name": "Discourse",
"url": "https://discuss.modin.org/",
"icon": "fab fa-discourse",
},
{
"name": "Mailing List",
"url": "https://groups.google.com/forum/#!forum/modin-dev",
"icon": "fas fa-envelope-square",
},
],
}

# Custom sidebar templates, must be a dictionary that maps document names
Expand All @@ -135,8 +169,8 @@ def noop_decorator(*args, **kwargs):
# default: ``['localtoc.html', 'relations.html', 'sourcelink.html',
# 'searchbox.html']``.
#
html_sidebars = {
"**": ["globaltoc.html", "relations.html", "sourcelink.html", "searchbox.html"]
}
# The default pydata_sphinx_theme sidebar templates are
# sidebar-nav-bs.html and search-field.html.
html_sidebars = {}

issues_github_path = "modin-project/modin"
21 changes: 15 additions & 6 deletions docs/contact.rst
Original file line number Diff line number Diff line change
@@ -1,23 +1,32 @@
Contact
=======

Slack
-----

Join our `Slack`_ community to connect with Modin users and contributors,
discuss, and ask questions about all things Modin-related.

Discussion forum
----------------
Check out our `discussion forum`_ to discuss release announcements, general
questions, issues, use-cases, and tutorials.

Mailing List
------------

https://groups.google.com/forum/#!forum/modin-dev

General questions, potential contributors, and ideas should be directed to the
General questions, potential contributors, and ideas can be directed to the
`developer mailing list`_. It is an open Google Group, so feel free to join anytime! If
you are unsure about where to ask or post something, the mailing list is a good place to
ask as well.

Issues
------

https://github.com/modin-project/modin/issues

Bug reports and feature requests should be directed to the issues_ page of the Modin
Bug reports and feature requests can be directed to the issues_ page of the Modin
GitHub repo.

.. _Slack: https://modin.org/slack.html
.. _discussion forum: https://discuss.modin.org/
.. _developer mailing list: https://groups.google.com/forum/#!forum/modin-dev
.. _issues: https://github.com/modin-project/modin/issues
30 changes: 10 additions & 20 deletions docs/developer/architecture.rst
Original file line number Diff line number Diff line change
Expand Up @@ -47,16 +47,16 @@ architecture is implemented using several interacting components:
For the simplicity the other execution systems - Dask and MPI are omitted and only Ray execution is shown.

* Dataframe subsystem is the backbone of the dataframe holding and query compilation. It is responsible for
dispatching the ingress/egress to the appropriate module, getting the Pandas API and calling the query
dispatching the ingress/egress to the appropriate module, getting the pandas API and calling the query
compiler to convert calls to the internal intermediate Dataframe Algebra.
* Data Ingress/Egress Module is working in conjunction with Dataframe and Partitions subsystem to read data
split into partitions and send data into the appropriate node for storing.
* Query Planner is subsystem that translates the Pandas API to intermediate Dataframe Algebra representation
* Query Planner is subsystem that translates the pandas API to intermediate Dataframe Algebra representation
DAG and performs an initial set of optimizations.
* Query Executor is responsible for getting the Dataframe Algebra DAG, performing further optimizations based
on a selected storage format and mapping or compiling the Dataframe Algebra DAG to and actual
execution sequence.
* Storage formats module is responsible for mapping the abstract operation to an actual executor call, e.g. Pandas,
* Storage formats module is responsible for mapping the abstract operation to an actual executor call, e.g. pandas,
PyArrow, custom format.
* Orchestration subsystem is responsible for spawning and controlling the actual execution environment for the
selected execution. It spawns the actual nodes, fires up the execution environment, e.g. Ray, monitors the state
Expand Down Expand Up @@ -109,21 +109,11 @@ The API is the outer-most layer that faces users. The majority of our current ef
spent implementing the components of the pandas API. We have implemented a toy example
for a sqlite API as a proof of concept, but this isn't ready for usage/testing. There
are also plans to expose the Modin DataFrame API as a reduced API set that encompasses
the entire pandas/dataframe API. See `experimental features`_ for more information.
the entire pandas/dataframe API. See :doc:`advanced usage </advanced_usage/index>` for more information.

.. toctree::
:caption: Base Pandas Dataset API

/flow/modin/pandas/base

.. toctree::
:caption: modin.pandas.DataFrame API

/flow/modin/pandas/dataframe

.. toctree::
:caption: modin.pandas.Series API

/flow/modin/pandas/series

Query Compiler
Expand Down Expand Up @@ -254,18 +244,18 @@ Supported Execution Frameworks and Memory Formats

This is the list of execution frameworks and memory formats supported in Modin. If you
would like to contribute a new execution framework or memory format, please see the
documentation page on :doc:`contributing </contributing>`.
documentation page on :doc:`contributing </developer/contributing>`.

- :doc:`Pandas on Ray </UsingPandasonRay/index>`
- :doc:`pandas on Ray </developer/using_pandas_on_ray>`
- Uses the Ray_ execution framework.
- The compute kernel/in-memory format is a pandas DataFrame.
- :doc:`Pandas on Dask </UsingPandasonDask/index>`
- :doc:`pandas on Dask </developer/using_pandas_on_dask>`
- Uses the `Dask Futures`_ execution framework.
- The compute kernel/in-memory format is a pandas DataFrame.
- :doc:`Omnisci </UsingOmnisci/index>`
- :doc:`Omnisci </developer/using_omnisci>`
- Uses OmniSciDB as an engine.
- The compute kernel/in-memory format is a pyarrow Table or pandas DataFrame when defaulting to pandas.
- :doc:`Pyarrow on Ray </UsingPyarrowonRay/index>` (experimental)
- :doc:`Pyarrow on Ray </developer/using_pyarrow_on_ray>` (experimental)
- Uses the Ray_ execution framework.
- The compute kernel/in-memory format is a pyarrow Table.

Expand Down Expand Up @@ -348,4 +338,4 @@ by documentation for now, the rest is coming soon...).
.. _issue: https://github.com/modin-project/modin/issues
.. _Discourse: https://discuss.modin.org
.. _task parallel: https://en.wikipedia.org/wiki/Task_parallelism
.. _experimental features: /experimental_features/index.html
.. _experimental features: /advanced_usage/index.html
File renamed without changes.
19 changes: 19 additions & 0 deletions docs/developer/index.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
Developer
=========

.. toctree::
:maxdepth: 4

contributing
architecture
partition_api
using_pandas_on_ray
using_pandas_on_dask
using_omnisci
using_pyarrow_on_ray
using_sql_on_ray
troubleshooting

.. meta::
:description lang=en:
Developer-specific documentation.
2 changes: 1 addition & 1 deletion docs/developer/partition_api.rst
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ You can pass the partitions having needed IPs to your function. It can help with
Partition API implementations
-----------------------------
By default, a :py:class:`~modin.pandas.dataframe.DataFrame` stores underlying partitions as ``pandas.DataFrame`` objects.
You can find the specific implementation of Modin's Partition Interface in :doc:`Pandas Partition API </flow/modin/distributed/dataframe/pandas>`.
You can find the specific implementation of Modin's Partition Interface in :doc:`pandas Partition API </flow/modin/distributed/dataframe/pandas>`.

.. toctree::
:hidden:
Expand Down

0 comments on commit cc96f5d

Please sign in to comment.