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

Fix failed daily-testing workflow, rename filesdataset.py into data.py, and update the docs #91

Merged
merged 3 commits into from
May 6, 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
8 changes: 3 additions & 5 deletions .github/workflows/testing_daily.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
name: Daily Testing

on:
push:
branches:
- fix_dependency_error_in_daily_testing
schedule:
# https://crontab.guru. Run everyday at 0:00AM UTC, i.e. 08:00AM Beijing, i.e. 08:00PM Montreal (summer time)
- cron: "0 0 * * *"
Expand Down Expand Up @@ -39,12 +36,13 @@ jobs:
which python
which pip
python -m pip install --upgrade pip
pip install torch==${{ matrix.torch-version }} --extra-index-url https://download.pytorch.org/whl/cpu
pip install torch==${{ matrix.torch-version }} -f https://download.pytorch.org/whl/cpu
python -c "import torch; print('PyTorch:', torch.__version__)"

- name: Install other dependencies
run: |
pip install -e ".[optional]" -f "https://data.pyg.org/whl/torch-${{ matrix.torch-version }}+cpu.html"
pip install pypots
pip install torch-geometric torch-scatter torch-sparse -f "https://data.pyg.org/whl/torch-${{ matrix.torch-version }}+cpu.html"
pip install -e ".[dev]"

- name: Fetch the test environment details
Expand Down
74 changes: 40 additions & 34 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,24 +72,29 @@ It now supports a total of 119 open-source datasets.
<br clear="left">

The rest of this readme file is organized as follows:
[**Installation**](#-installation),
[**Usage**](#-usage),
[**Available Algorithms**](#-available-algorithms),
[**Citing PyPOTS**](#-citing-pypots),
[**Community**](#-community),
[**Contribution**](#-contribution).
[**Installation**](#-installation),
[**Usage**](#-usage),
[**Available Algorithms**](#-available-algorithms),
[**Citing PyPOTS**](#-citing-pypots),
[**❖ Contribution**](#-contribution),
[**❖ Community**](#-community).


## ❖ Installation
PyPOTS now is available on <a href="https://anaconda.org/conda-forge/pypots"><img alt="on Anaconda" align="center"
src="https://img.shields.io/badge/Anaconda--lightgreen?style=social&logo=anaconda"></a>❗️
PyPOTS is available on both [PyPI](https://pypi.python.org/pypi/pypots) and [Anaconda](https://anaconda.org/conda-forge/pypots).
You can install PyPOTS as shown below:

Install it with `conda install pypots`, you may need to specify the channel with option `-c conda-forge`
``` bash
# by pip
pip install pypots # the first time installation
pip install pypots --upgrade # update pypots to the latest version

Install the latest release from PyPI:
> pip install pypots
# by conda
conda install -c conda-forge pypots # the first time installation
conda update -c conda-forge pypots # update pypots to the latest version
````

or install from the source code with the latest features not officially released in a version:
Alternatively, you can install from the latest source code with the latest features but may be not officially released yet:
> pip install https://github.com/WenjieDu/PyPOTS/archive/main.zip


Expand Down Expand Up @@ -166,45 +171,34 @@ We are pursuing to publish a short paper introducing PyPOTS in prestigious acade
for reference. If you use PyPOTS in your research, please cite it as below and 🌟star this repository to make others
notice this work. 🤗

```bibtex
@misc{du2022PyPOTS,
``` bibtex
@software{Du2022PyPOTS,
author = {Wenjie Du},
title = {{PyPOTS: A Python Toolbox for Data Mining on Partially-Observed Time Series}},
year = {2022},
howpublished = {\url{https://github.com/wenjiedu/pypots}},
url = {\url{https://github.com/wenjiedu/pypots}},
howpublished = {\url{https://github.com/WenjieDu/PyPOTS}},
url = {\url{https://github.com/WenjieDu/PyPOTS}},
doi = {10.5281/zenodo.6823221},
}
```

or

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


## ❖ 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
You're very welcome to contribute to this exciting project!

By committing your code, you'll

1. make your well-established model out-of-the-box for PyPOTS users to run. Take a look at our [inclusion criteria](https://docs.pypots.com/en/latest/faq.html#inclusion-criteria);
1. make your well-established model out-of-the-box for PyPOTS users to run,
and help your work obtain more exposure and impact.
Take a look at our [inclusion criteria](https://docs.pypots.com/en/latest/faq.html#inclusion-criteria);
2. be listed as one of [PyPOTS contributors](https://github.com/WenjieDu/PyPOTS/graphs/contributors):
<a href="https://github.com/wenjiedu/pypots/graphs/contributors">
<img align="center" src="https://contrib.rocks/image?repo=wenjiedu/pypots">
</a>;
<img align="center" src="https://contrib.rocks/image?repo=wenjiedu/pypots">;
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.
Expand All @@ -227,6 +221,18 @@ Your star is your recognition to PyPOTS, and it matters!
</details>


## ❖ 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 💪!


## ❖ Attention 👀
‼️ PyPOTS is currently under developing. If you like it and look forward to its growth, <ins>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</ins>.
Expand Down
48 changes: 26 additions & 22 deletions docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -88,11 +88,11 @@ Visit `TSDB <https://github.com/WenjieDu/TSDB>`_ right now to know more about th

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


❖ Installation
Expand Down Expand Up @@ -148,30 +148,20 @@ notice this work. 🤗
.. code-block:: bibtex
:linenos:

@misc{du2022PyPOTS,
@software{Du2022PyPOTS,
author = {Wenjie Du},
title = {{PyPOTS: A Python Toolbox for Data Mining on Partially-Observed Time Series}},
howpublished = {\url{https://github.com/wenjiedu/pypots}},
year = {2022},
howpublished = {\url{https://github.com/WenjieDu/PyPOTS}},
url = {\url{https://github.com/WenjieDu/PyPOTS}},
doi = {10.5281/zenodo.6823221},
}

or

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


❖ 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 💪!
Wenjie Du. (2022).
PyPOTS: A Python Toolbox for Data Mining on Partially-Observed Time Series.
Zenodo. https://doi.org/10.5281/zenodo.6823221


❖ Contribution
Expand All @@ -180,7 +170,9 @@ You're very welcome to contribute to this exciting project!

By committing your code, you'll

1. make your well-established model out-of-the-box for PyPOTS users to run. Take a look at our `inclusion criteria <https://docs.pypots.com/en/latest/faq.html#inclusion-criteria>`_;
1. make your well-established model out-of-the-box for PyPOTS users to run,
and help your work obtain more exposure and impact.
Take a look at our `inclusion criteria <https://docs.pypots.com/en/latest/faq.html#inclusion-criteria>`_;
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>`_;

Expand All @@ -197,6 +189,18 @@ The lists of PyPOTS stargazers and forkers are shown below, and we're so proud t
:target: https://github.com/WenjieDu/PyPOTS/network/members


❖ 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 💪!


❖ Attention 👀
^^^^^^^^^^^^^^^
Expand Down
4 changes: 2 additions & 2 deletions docs/install.rst
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,13 @@ It is recommended to use **pip** or **conda** for PyPOTS installation as shown b

# by pip
pip install pypots # the first time installation
pip install --upgrade pypots # update pypots to the latest version
pip install pypots --upgrade # update pypots to the latest version

.. code-block:: bash

# by conda
conda install -c conda-forge pypots # the first time installation
conda update -c conda-forge pypots # update pypots to the latest version
conda update -c conda-forge pypots # update pypots to the latest version

Alternatively, you can install from the latest source code which may be not officially released yet:

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

from typing import Union

from pypots.imputation.brits.dataset import (
from pypots.imputation.brits.data import (
DatasetForBRITS as DatasetForBRITS_Imputation,
)

Expand Down
2 changes: 1 addition & 1 deletion pypots/classification/brits/model.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
from torch.utils.data import DataLoader

from pypots.classification.base import BaseNNClassifier
from pypots.classification.brits.dataset import DatasetForBRITS
from pypots.classification.brits.data import DatasetForBRITS
from pypots.classification.brits.modules import RITS
from pypots.imputation.brits.model import (
_BRITS as imputation_BRITS,
Expand Down
2 changes: 1 addition & 1 deletion pypots/classification/grud/model.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
from torch.utils.data import DataLoader

from pypots.classification.base import BaseNNClassifier
from pypots.classification.grud.dataset import DatasetForGRUD
from pypots.classification.grud.data import DatasetForGRUD
from pypots.imputation.brits.modules import TemporalDecay


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

from typing import Union

from pypots.classification.grud.dataset import DatasetForGRUD
from pypots.classification.grud.data import DatasetForGRUD


class DatasetForRaindrop(DatasetForGRUD):
Expand Down
2 changes: 1 addition & 1 deletion pypots/classification/raindrop/model.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
from torch.utils.data import DataLoader

from pypots.classification.base import BaseNNClassifier
from pypots.classification.grud.dataset import DatasetForGRUD
from pypots.classification.grud.data import DatasetForGRUD
from pypots.classification.raindrop.modules import (
PositionalEncoding,
ObservationPropagation,
Expand Down
File renamed without changes.
2 changes: 1 addition & 1 deletion pypots/clustering/crli/model.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
from torch.utils.data import DataLoader

from pypots.clustering.base import BaseNNClusterer
from pypots.clustering.crli.dataset import DatasetForCRLI
from pypots.clustering.crli.data import DatasetForCRLI
from pypots.clustering.crli.modules import Generator, Decoder, Discriminator
from pypots.utils.logging import logger
from pypots.utils.metrics import cal_mse
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

from typing import Union

from pypots.clustering.crli.dataset import DatasetForCRLI
from pypots.clustering.crli.data import DatasetForCRLI


class DatasetForVaDER(DatasetForCRLI):
Expand Down
2 changes: 1 addition & 1 deletion pypots/clustering/vader/model.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
PeepholeLSTMCell,
ImplicitImputation,
)
from pypots.clustering.vader.dataset import DatasetForVaDER
from pypots.clustering.vader.data import DatasetForVaDER
from pypots.utils.logging import logger
from pypots.utils.metrics import cal_mse

Expand Down
File renamed without changes.
2 changes: 1 addition & 1 deletion pypots/imputation/brits/model.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
from torch.utils.data import DataLoader

from pypots.imputation.base import BaseNNImputer
from pypots.imputation.brits.dataset import DatasetForBRITS
from pypots.imputation.brits.data import DatasetForBRITS
from pypots.imputation.brits.modules import TemporalDecay, FeatureRegression
from pypots.utils.metrics import cal_mae

Expand Down
File renamed without changes.
2 changes: 1 addition & 1 deletion pypots/imputation/saits/model.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@

from pypots.data.base import BaseDataset
from pypots.imputation.base import BaseNNImputer
from pypots.imputation.saits.dataset import DatasetForSAITS
from pypots.imputation.saits.data import DatasetForSAITS
from pypots.imputation.transformer.modules import EncoderLayer, PositionalEncoding
from pypots.utils.metrics import cal_mae

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

from typing import Union

from pypots.imputation.saits.dataset import DatasetForSAITS
from pypots.imputation.saits.data import DatasetForSAITS


class DatasetForTransformer(DatasetForSAITS):
Expand Down
2 changes: 1 addition & 1 deletion pypots/imputation/transformer/model.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@

from pypots.data.base import BaseDataset
from pypots.imputation.base import BaseNNImputer
from pypots.imputation.transformer.dataset import DatasetForSAITS
from pypots.imputation.transformer.data import DatasetForSAITS
from pypots.imputation.transformer.modules import EncoderLayer, PositionalEncoding
from pypots.utils.metrics import cal_mae

Expand Down