Skip to content

Commit

Permalink
Merge pull request #81 from WenjieDu/dev
Browse files Browse the repository at this point in the history
Fix the footer issue on the docs home page, and update the docs
  • Loading branch information
WenjieDu committed May 4, 2023
2 parents f2ea816 + bacfb41 commit 33eec88
Show file tree
Hide file tree
Showing 7 changed files with 169 additions and 76 deletions.
5 changes: 2 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
<img alt="the latest release version" src="https://img.shields.io/github/v/release/wenjiedu/pypots?color=e0eee8&include_prereleases&label=Release">
</a>
<a href="https://github.com/WenjieDu/PyPOTS/blob/main/LICENSE">
<img alt="GPL3 license" src="https://img.shields.io/badge/License-GPL--v3-c0ebd7">
<img alt="GPL-v3 license" src="https://img.shields.io/badge/License-GPL--v3-c0ebd7">
</a>
<a href="https://github.com/WenjieDu/PyPOTS/blob/main/README.md#-community">
<img alt="Community" src="https://img.shields.io/badge/join_us-community!-7fecad">
Expand Down Expand Up @@ -102,7 +102,7 @@ PyPOTS tutorials have been released. Considering the future workload, I separate
and you can find them in [BrewedPOTS](https://github.com/WenjieDu/BrewedPOTS).
Take a look at it now, and brew your POTS dataset into a cup of coffee! 🤓

If you have further questions, please refer to PyPOTS documentation [📑https://docs.pypots.com](https://docs.pypots.com).
If you have further questions, please refer to PyPOTS documentation 📑[docs.pypots.com](https://docs.pypots.com).
Besides, you can also [raise an issue](https://github.com/WenjieDu/PyPOTS/issues) or [ask in our community](#-community).

We present you a usage example of imputing missing values in time series with PyPOTS below, you can click it to view.
Expand Down Expand Up @@ -194,7 +194,6 @@ We care about the feedback from our users, so we're building PyPOTS community on
If you have any suggestions or want to contribute ideas or share time-series related papers, join us and tell.
PyPOTS community is open, transparent, and surely friendly. Let's work together to build and improve PyPOTS 💪!


## ❖ Contribution
You're very welcome to contribute to this exciting project!

Expand Down
20 changes: 18 additions & 2 deletions docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,8 @@
# -- Project information -----------------------------------------------------
project = "PyPOTS"
author = "Wenjie Du"
copyright = f"{datetime.datetime.now().year}, {author}"
date_now = datetime.datetime.now()
copyright = f"{date_now.year}, {author}"

# The full version, including alpha/beta/rc tags
release = pypots.__version__
Expand Down Expand Up @@ -72,11 +73,26 @@
html_static_path = ["_static"]

html_context = {
"last_updated": True,
"last_updated": f"{date_now.year}/{date_now.month}/{date_now.day}",
}

# https://pradyunsg.me/furo/customisation/#top-of-page-button
# Controls which button is shown on the top of the page. The only supported values are "edit" (the default) and None.
html_theme_options = {
"top_of_page_button": None,
}

html_sidebars = {
"**": [
"sidebar/scroll-start.html",
"sidebar/brand.html",
"sidebar/search.html",
"sidebar/navigation.html",
"sidebar/scroll-end.html",
]
}

intersphinx_mapping = {
"python": ("https://docs.python.org/3", None),
"sphinx": ("https://www.sphinx-doc.org/en/master", None),
}
201 changes: 140 additions & 61 deletions docs/index.rst
Original file line number Diff line number Diff line change
@@ -1,74 +1,101 @@
.. PyPOTS documentation master file, created by
sphinx-quickstart on Wed Oct 19 17:20:43 2022.
You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive.
.. PyPOTS documentation master file
Created by Wenjie Du <[email protected]>
License: GPL-v3
Welcome to PyPOTS docs!
===============================
Welcome to PyPOTS doc!
===============================
.. image:: https://raw.githubusercontent.com/WenjieDu/PyPOTS/main/docs/figs/PyPOTS%20logo.svg?sanitize=true
:height: 180
.. image:: https://raw.githubusercontent.com/WenjieDu/PyPOTS/main/docs/_static/figs/PyPOTS_logo.svg?sanitize=true
:height: 168
:align: right
:target: https://github.com/WenjieDu/PyPOTS
:alt: PyPOTS logo

.. centered:: A Python Toolbox for Data Mining on Partially-Observed Time Series

.. image:: https://img.shields.io/badge/python-v3-yellow?color=a4e2c6
.. image:: https://img.shields.io/badge/Python-v3.7--3.10-88ada6?logo=python&logoColor=white
:alt: Python version
.. image:: https://img.shields.io/static/v1?label=PyTorch&message=%E2%9D%A4%EF%B8%8F&color=7bcfa6&logo=pytorch
:alt: PyTorch as backend
.. image:: https://img.shields.io/pypi/v/pypots?color=7fecad&label=PyPI&logo=pypi&logoColor=white
:alt: PyPI version

.. image:: https://img.shields.io/badge/PyTorch-❤️-bbcdc5?logo=pytorch&logoColor=white
:alt: powered by Pytorch

.. image:: https://img.shields.io/github/v/release/wenjiedu/pypots?color=e0eee8&include_prereleases&label=Release
:alt: the latest release version
:target: https://pypi.org/project/pypots
.. image:: https://img.shields.io/conda/pn/conda-forge/pypots?color=3de1ad&label=Conda&logo=anaconda
:alt: on Anaconda
:target: https://anaconda.org/conda-forge/pypots
.. image:: https://img.shields.io/badge/License-GPL--v3-00e09e
:alt: License

.. image:: https://img.shields.io/badge/License-GPL--v3-c0ebd7
:alt: GPL-v3 license
:target: https://github.com/WenjieDu/PyPOTS/blob/main/LICENSE
.. image:: https://img.shields.io/github/repo-size/WenjieDu/PyPOTS?color=48c0a3
:alt: Repo size
:target: https://github.com/WenjieDu/PyPOTS
.. image:: https://img.shields.io/badge/Contributor%20Covenant-v2.1-21a675.svg
:alt: Code of Conduct
:target: https://github.com/WenjieDu/PyPOTS/blob/main/CODE_OF_CONDUCT.md
.. image:: https://img.shields.io/badge/Slack-PyPOTS-grey?logo=slack&color=549688
:alt: Slack workspace
:target: https://join.slack.com/t/pypots-dev/shared_invite/zt-1gq6ufwsi-p0OZdW~e9UW_IA4_f1OfxA
.. image:: https://zenodo.org/badge/DOI/10.5281/zenodo.6823221.svg
:alt: Zenodo DOI
:target: https://doi.org/10.5281/zenodo.6823221
.. image:: https://static.pepy.tech/personalized-badge/pypots?period=total&units=international_system&left_color=grey&right_color=navy&left_text=Downloads
:alt: PyPI download number
:target: https://pepy.tech/project/pypots
.. image:: https://github.com/WenjieDu/PyPOTS/actions/workflows/testing.yml/badge.svg

.. image:: https://img.shields.io/badge/join_us-community!-7fecad
:alt: Community
:target: https://github.com/WenjieDu/PyPOTS/blob/main/README.md#-community

.. image:: https://img.shields.io/github/sponsors/wenjiedu?label=Sponsors&color=7bcfa6&logo=githubsponsors
:alt: GitHub Sponsors
:target: https://github.com/sponsors/WenjieDu

.. image:: https://img.shields.io/github/stars/wenjiedu/pypots?logo=Github&color=7bcfa6&label=Stars
:alt: GitHub Repo stars
:target: https://github.com/WenjieDu/PyPOTS/stargazers

.. image:: https://img.shields.io/github/forks/wenjiedu/pypots?logo=Github&color=2edfa3&label=Forks
:alt: GitHub Repo forks
:target: https://github.com/WenjieDu/PyPOTS/forks

.. image:: https://img.shields.io/codeclimate/maintainability-percentage/WenjieDu/PyPOTS?color=25f8cb&label=Maintainability&logo=codeclimate
:alt: Code Climate maintainability
:target: https://codeclimate.com/github/WenjieDu/PyPOTS

.. image:: https://img.shields.io/coverallsCoverage/github/WenjieDu/PyPOTS?branch=main&logo=coveralls&color=00e09e&label=Coverage
:alt: Coveralls coverage
:target: https://coveralls.io/github/WenjieDu/PyPOTS

.. image:: https://img.shields.io/github/actions/workflow/status/wenjiedu/pypots/testing.yml?logo=github&color=48c0a3&label=CI
:alt: GitHub Testing
:target: https://github.com/WenjieDu/PyPOTS/actions/workflows/testing.yml
.. image:: https://img.shields.io/coverallsCoverage/github/WenjieDu/PyPOTS?branch=main&logo=coveralls&labelColor=#0aa344
:alt: Coveralls report
:target: https://coveralls.io/github/WenjieDu/PyPOTS

.. image:: https://img.shields.io/badge/DOI-10.5281/zenodo.6823221-21a675
:alt: Zenodo DOI
:target: https://doi.org/10.5281/zenodo.6823221

.. image:: https://img.shields.io/conda/dn/conda-forge/pypots?label=Conda%20Downloads&color=057748&logo=anaconda&logoColor=white
:alt: Conda downloads
:target: https://anaconda.org/conda-forge/pypots

.. image:: https://static.pepy.tech/personalized-badge/pypots?period=total&units=international_system&left_color=grey&right_color=teal&left_text=PyPI%20Downloads&logo=github
:alt: PyPI downloads
:target: https://pypi.org/project/pypots

.. image:: https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2FPyPOTS%2FPyPOTS&count_bg=%23009A0A&title_bg=%23555555&icon=&icon_color=%23E7E7E7&title=Visits&edge_flat=false
:alt: Visiting number

-----------------

⦿ `Motivation`: Due to all kinds of reasons like failure of collection sensors, communication error, and unexpected malfunction, missing values are common to see in time series from the real-world environment. This makes partially-observed time series (POTS) a pervasive problem in open-world modeling and prevents advanced data analysis. Although this problem is important, the area of data mining on POTS still lacks a dedicated toolkit. PyPOTS is created to fill in this blank.

⦿ `Mission`: PyPOTS is born to become a handy toolbox that is going to make data mining on POTS easy rather than tedious, to help engineers and researchers focus more on the core problems in their hands rather than on how to deal with the missing parts in their data. PyPOTS will keep integrating classical and the latest state-of-the-art data mining algorithms for partially-observed multivariate time series. For sure, besides various algorithms, PyPOTS is going to have unified APIs together with detailed documentation and interactive examples across algorithms as tutorials.

.. image:: https://raw.githubusercontent.com/WenjieDu/TSDB/main/docs/figs/TSDB%20logo.svg?sanitize=true
:width: 190
.. image:: https://raw.githubusercontent.com/WenjieDu/TSDB/main/docs/_static/figs/TSDB_logo.svg?sanitize=true
:width: 170
:alt: TSDB
:align: left
:target: https://github.com/WenjieDu/TSDB

To make various open-source time-series datasets readily available to our users, PyPOTS gets supported by project `TSDB (Time-Series DataBase) <https://github.com/WenjieDu/TSDB>`_, a toolbox making loading time-series datasets super easy!
To make various open-source time-series datasets readily available to our users, PyPOTS gets supported by project `TSDB (Time-Series Data Base) <https://github.com/WenjieDu/TSDB>`_, a toolbox making loading time-series datasets super easy!

Visit `TSDB <https://github.com/WenjieDu/TSDB>`_ right now to know more about this handy tool 🛠! It now supports a total of 119 open-source datasets.

The rest of this readme file is organized as follows:
`❖ Installation <#id1>`_,
`❖ Usage <#id2>`_,
`❖ Available Algorithms <#id3>`_,
`❖ Citing PyPOTS <#id13>`_,
`❖ Community <#id14>`_,
`❖ Contribution <#id15>`_.


❖ Installation
^^^^^^^^^^^^^^^^
^^^^^^^^^^^^^^^
PyPOTS now is available on `Anaconda <https://anaconda.org/conda-forge/pypots>`_ ❗️

Install it with ``conda install pypots``, you may need to specify the channel with option ``-c conda-forge``
Expand All @@ -81,7 +108,22 @@ or install from the source code with the latest features not officially released

pip install https://github.com/WenjieDu/PyPOTS/archive/main.zip

Below is an example applying SAITS in PyPOTS to impute missing values in the dataset PhysioNet2012:
❖ Usage
^^^^^^^^
.. image:: https://raw.githubusercontent.com/WenjieDu/BrewedPOTS/main/figs/BrewedPOTS_logo.jpg
:width: 160
:alt: BrewedPOTS logo
:align: left
:target: https://github.com/WenjieDu/BrewedPOTS

PyPOTS tutorials have been released. Considering the future workload, I separate the tutorials into a single repo,
and you can find them in `BrewedPOTS <https://github.com/WenjieDu/BrewedPOTS>`_.
Take a look at it now, and brew your POTS dataset into a cup of coffee! 🤓

If you have further questions, please refer to PyPOTS documentation 📑 `docs.pypots.com <https://docs.pypots.com>`_.
Besides, you can also `raise an issue <https://github.com/WenjieDu/PyPOTS/issues>`_ or `ask in our community <#community>`_.

We present you a usage example of imputing missing values in time series with PyPOTS below.

.. code-block:: python
:linenos:
Expand Down Expand Up @@ -109,6 +151,8 @@ Below is an example applying SAITS in PyPOTS to impute missing values in the dat
❖ Available Algorithms
^^^^^^^^^^^^^^^^^^^^^^^
PyPOTS supports imputation, classification, clustering, and forecasting tasks on multivariate time series with missing values. The currently available algorithms of four tasks are cataloged in the following table with four partitions. The paper references are all listed at the bottom of this readme file. Please refer to them if you want more details.

============================== ================ ========================================================================= ====== =========
Task Type Algorithm Year Reference
============================== ================ ========================================================================= ====== =========
Expand All @@ -123,9 +167,14 @@ Clustering Neural Network VaDER (Variational Deep Embeddin
Forecasting Probabilistic BTTF (Bayesian Temporal Tensor Factorization) 2021 :cite:`chen2021BTMF`
============================== ================ ========================================================================= ====== =========

❖ Cite PyPOTS
^^^^^^^^^^^^^^
If you find PyPOTS is helpful to your research, please cite it as below and ⭐️star this repository to make others notice this work. 🤗

❖ Citing PyPOTS
^^^^^^^^^^^^^^^^
We are pursuing to publish a short paper introducing PyPOTS in prestigious academic venues, e.g. JMLR (track for
`Machine Learning Open Source Software <https://www.jmlr.org/mloss/>`_. Before that, PyPOTS is using its DOI from Zenodo
for reference. If you use PyPOTS in your research, please cite it as below and 🌟star this repository to make others
notice this work. 🤗


.. code-block:: bibtex
:linenos:
Expand All @@ -142,21 +191,57 @@ or

Wenjie Du. (2022). PyPOTS: A Python Toolbox for Data Mining on Partially-Observed Time Series. Zenodo. https://doi.org/10.5281/zenodo.6823221

❖ Attention 👀

❖ Community
^^^^^^^^^^^^
We care about the feedback from our users, so we're building PyPOTS community on

- `Slack <https://pypots-dev.slack.com>`_. General discussion, Q&A, and our development team are here;
- `LinkedIn <https://www.linkedin.com/company/pypots>`_. Official announcements and news are here;
- `WeChat (微信公众号) <https://mp.weixin.qq.com/s/m6j83SJNgz-xySSZd-DTBw>`_. We also run a group chat on WeChat,
and you can get the QR code from the official account after following it;

If you have any suggestions or want to contribute ideas or share time-series related papers, join us and tell.
PyPOTS community is open, transparent, and surely friendly. Let's work together to build and improve PyPOTS 💪!


❖ Contribution
^^^^^^^^^^^^^^^
The documentation and tutorials are under construction. And a short paper introducing PyPOTS is on the way! 🚀 Stay tuned please!
You're very welcome to contribute to this exciting project!

‼️ PyPOTS is currently under developing. If you like it and look forward to its growth, **please give PyPOTS a star and watch it to keep you posted on its progress and to let me know that its development is meaningful**. If you have any feedback, or want to contribute ideas/suggestions or share time-series related algorithms/papers, please join `our PyPOTS community <https://join.slack.com/t/pypots-dev/shared_invite/zt-1gq6ufwsi-p0OZdW~e9UW_IA4_f1OfxA>`_ or create an issue. If you have any additional questions or have interests in collaboration, please take a look at `my GitHub profile <https://github.com/WenjieDu>`_ and feel free to contact me 🤝.
By committing your code, you'll

Thank you all for your attention! 😃
1. make your well-established model out-of-the-box for PyPOTS users to run (Similar to
`Scikit-learn <https://scikit-learn.org/stable/faq.html#what-are-the-inclusion-criteria-for-new-algorithms>`_,
we set current inclusion criteria as: the paper should be published for at least 1 year, have 20+ citations,
and the usefulness to our users can be claimed);
2. be listed as one of `PyPOTS contributors <https://github.com/WenjieDu/PyPOTS/graphs/contributors>`_:
3. get mentioned in our `release notes <https://github.com/WenjieDu/PyPOTS/releases>`_;

You can also contribute to PyPOTS by simply staring🌟 this repo to help more people notice it.
Your star is your recognition to PyPOTS, and it matters!

.. toctree::
:maxdepth: 2
:caption: Getting Started
The lists of PyPOTS stargazers and forkers are shown below, and we're so proud to have more and more awesome users, as well as more bright ✨stars:

.. image:: https://reporoster.com/stars/dark/WenjieDu/PyPOTS
:alt: PyPOTS stargazers
:target: https://github.com/WenjieDu/PyPOTS/stargazers
.. image:: https://reporoster.com/forks/dark/WenjieDu/PyPOTS
:alt: PyPOTS forkers
:target: https://github.com/WenjieDu/PyPOTS/network/members

install
examples


❖ Attention 👀
^^^^^^^^^^^^^^^
PyPOTS is currently under developing. If you like it and look forward to its growth, **please give PyPOTS a star
and watch it to keep you posted on its progress and to let me know that its development is meaningful**.
If you have any additional questions or have interests in collaboration, please take a look at
`my GitHub profile <https://github.com/WenjieDu>`_ and feel free to contact me 🤝.

Thank you all for your attention! 😃

-----------------

.. toctree::
:maxdepth: 2
Expand All @@ -170,10 +255,4 @@ Thank you all for your attention! 😃
:hidden:
:caption: Additional Information

faq
about_us


References
""""""""""
.. bibliography::
references
8 changes: 0 additions & 8 deletions docs/pypots.utils.rst
Original file line number Diff line number Diff line change
@@ -1,14 +1,6 @@
pypots.utils package
====================

Subpackages
-----------

.. toctree::
:maxdepth: 4

pypots.utils.commands

Submodules
----------

Expand Down
5 changes: 5 additions & 0 deletions docs/references.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
References
==========

.. bibliography::
:style: unsrt
3 changes: 2 additions & 1 deletion environment-dev.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,8 @@ dependencies:
- conda-forge::pytest-xdist

# doc
- conda-forge::sphinx
- conda-forge::sphinx ==6.2.1
- conda-forge::docutils ==0.19
- conda-forge::sphinxcontrib-bibtex
- conda-forge::furo

Expand Down
3 changes: 2 additions & 1 deletion setup.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,8 @@ test =

# dependencies for documentation generating
doc =
sphinx
sphinx==6.2.1
docutils==0.19
sphinxcontrib-bibtex
furo

Expand Down

0 comments on commit 33eec88

Please sign in to comment.