You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The _pyspi_ team and community take security bugs in _pyspi_ seriously. We appreciate your efforts to responsibly disclose your findings, and will make every effort to acknowledge your contributions.
4
+
5
+
To report a security issue, please use the GitHub Security Advisory tab.
6
+
7
+
The _pyspi_ team will send a response indicating the next steps in handling your report. After the initial reply to your report, the security team will keep you informed of the progress towards a fix and full announcement, and may ask for additional information or guidance.
_pyspi_ is a comprehensive python library for computing statistics of pairwise interactions (SPIs) from multivariate time-series (MTS) data.
@@ -16,32 +19,153 @@ The code is licensed under the [GNU GPL v3 license](http://www.gnu.org/licenses/
16
19
**Feel free to reach out for help with real-world applications.**
17
20
Feedback is much appreciated through [issues](https://github.com/DynamicsAndNeuralSystems/pyspi/issues), or [pull requests](https://github.com/DynamicsAndNeuralSystems/pyspi/pulls).
18
21
19
-
## Acknowledgement :+1:
22
+
| Section | Description |
23
+
|:--------------|:----------------------|
24
+
|[Installation](#installation-)| Installing _pyspi_ and its dependencies |
25
+
|[Getting Started](#getting-started-)| A quick introduction on how to get started with _pyspi_|
26
+
|[SPI Descriptions](#spi-descriptions-)| A link to the full table of SPIs and detailed descriptions |
27
+
|[Documentation](#documentation)| A link to our API reference and full documentation on GitBooks |
28
+
|[Contributing to _pyspi_](#contributing-to-pyspi-)| A guide for community members willing to contribute to _pyspi_|
29
+
|[Acknowledgement](#acknowledgement-)| A citation for _pyspi_ for scholarly articles |
30
+
|[Our Contributors](#our-contributors-)| A summary of our primary contributors |
31
+
<hrstyle="border-top: 3pxsolid#bbb;">
20
32
21
-
If you use this software, please read and cite this article:
33
+
## Installation 📥
34
+
The simplest way to get the _pyspi_ package up and running is to install the package locally using `pip`.
35
+
For access to the full library of SPIs, the code requires GNU's [Octave](https://octave.org/download) to be installed on your system.
While you can safely install _pyspi_ without first installing `Octave`, you will not have access to the full library of SPIs
24
39
25
-
Note that [preprint](https://arxiv.org/abs/2201.11941) and [free-to-read](https://rdcu.be/dn3JB) versions of this article are available.
40
+
#### 2. Create a conda environment (Optional, Recommended)
41
+
While you can also install _pyspi_ outside of a conda environment, it depends on a lot of user packages that may make managing dependencies quite difficult.
42
+
So, we would also recommend installing pyspi in a conda environment. Firstly, create a fresh conda environment:
43
+
```
44
+
conda create -n pyspi python=3.9.0
45
+
```
46
+
Once you have created the environment, activate it using `conda activate pyspi`.
47
+
48
+
#### 3. Install with _pip_
49
+
To install _pyspi_ using a local pip install, download or clone the latest version from the repository:
Once you have navigated to the main folder (`pyspi`), you can install using:
55
+
```
56
+
pip install .
57
+
```
58
+
59
+
60
+
For a more detailed guide on how to install _pyspi_, as well as how you can use _pyspi_ without first installing Octave,
61
+
please see the [full documentation](https://time-series-features.gitbook.io/pyspi/installation/installing-pyspi).
62
+
Additionally, we provide a comprehensive [troubleshooting guide](https://time-series-features.gitbook.io/pyspi/installation/troubleshooting) for users who encounter issues installing _pyspi_ on their system,
63
+
as well as [alternative installation options](https://time-series-features.gitbook.io/pyspi/installation/alternative-installation-options).
64
+
65
+
## Getting Started 🚀
66
+
67
+
Once you have installed _pyspi_, you can learn how to apply the package by checking out the [walkthrough tutorials](https://time-series-features.gitbook.io/pyspi/usage/walkthrough-tutorials) in our documentation. Click any of the examples below to access the tutorials in our full documentation:
-[Finance: stock price time series](https://time-series-features.gitbook.io/pyspi/usage/walkthrough-tutorials/finance-stock-price-time-series)
72
+
73
+
74
+
-[Neuroimaging: fMRI time series)](https://time-series-features.gitbook.io/pyspi/usage/walkthrough-tutorials/neuroimaging-fmri-time-series)
26
75
27
-
## Getting Started
76
+
### Advanced Usage
77
+
For advanced users, we offer several additional guides in the [full documentation](https://time-series-features.gitbook.io/pyspi/usage/advanced-usage) on how you can distribute your _pyspi_ jobs across PBS clusters, as well as how you can construct your own subsets of SPIs.
78
+
Click one of the following dropdowns for more information:
28
79
29
-
See the [documentation](https://time-series-features.gitbook.io/pyspi/) for installing and setting up _pyspi_.
30
-
Once you're done, you can learn how to use the package by checking out the:
<p>If you have access to a PBS cluster and are processing MTS with many processes (or are analyzing many MTS), then you may find the <ahref="https://github.com/DynamicsAndNeuralSystems/pyspi-distribute"><em>pyspi distribute</em></a> repository helpful.
83
+
In the full <ahref="https://time-series-features.gitbook.io/pyspi/usage/advanced-usage/distributing-calculations-on-a-cluster">documentation </a>, we provide a comprehensive guide on how you can distribute <em>pyspi</em> calculations on a PBS cluster, along with the necessary scripts and commands to get started!</p>
-[Tutorial (finance: stock price time series)](https://time-series-features.gitbook.io/pyspi/usage/walkthrough-tutorials/finance-stock-price-time-series)
34
-
-[Tutorial (neuroimaging: fMRI time series)](https://time-series-features.gitbook.io/pyspi/usage/walkthrough-tutorials/neuroimaging-fmri-time-series).
86
+
<detailsclosed>
87
+
<summary>Reduced subsets</summary>
88
+
<p>If your dataset is large (containing many processes and/or observations), you can use a pre-configured set of reduced statistics or create your own subsets.
89
+
Follow the guide in the <ahref="https://time-series-features.gitbook.io/pyspi/usage/advanced-usage/using-a-reduced-spi-set">documentation </a> to learn how you can create your own reduced subsets.</p>
90
+
</details>
35
91
36
-
If you have access to a PBS cluster and are processing MTS with many processes (or are analyzing many MTS), then you may find the [_pyspi_ distribute](https://github.com/DynamicsAndNeuralSystems/pyspi-distribute) repository helpful.
37
92
38
-
If your dataset is large (containing many processes and/or observations), you can use a pre-configured set of reduced statistics or create your own subsets (cf. the [documentation guide](https://time-series-features.gitbook.io/pyspi/usage/advanced-usage/using-a-reduced-spi-set)).
39
93
40
-
## Other highly comparative toolboxes
94
+
## SPI Descriptions 📋
95
+
To access a table with a high-level overview of the _pyspi_ library of SPIs, including their associated identifiers, see the [table of SPIs](https://time-series-features.gitbook.io/pyspi/spis/table-of-spis) in the full documentation.
96
+
For detailed descriptions of each SPI, as well as its associated estimators, we provide a full breakdown in the [SPI descriptions](https://time-series-features.gitbook.io/pyspi/spis/spi-descriptions) page of our documentation.
97
+
98
+
## Documentation
99
+
The full documentation is hosted on [GitBooks](https://time-series-features.gitbook.io/pyspi/).
100
+
Use the following links to quickly access some of the key sections:
Contributions play a vital role in the continual development and enhancement of _pyspi_, a project built and enriched through community collaboration.
114
+
If you would like to contribute to _pyspi_, or explore the many ways in which you can participate in the project, please have a look at our
115
+
detailed [contribution guidelines](https://time-series-features.gitbook.io/pyspi/development/contributing-to-pyspi) about how to proceed.
116
+
In contributing to _pyspi_, all participants are expected to adhere to our [code of conduct](https://time-series-features.gitbook.io/pyspi/development/code-of-conduct).
117
+
118
+
### SPI Wishlist
119
+
We strive to provide the most comprehensive toolkit of SPIs. If you have ideas for new SPIs or suggestions for improvements to existing ones, we are eager to hear from and collaborate with you!
120
+
Any pairwise dependence measure, provided it is accompanied by a published research paper, typically falls within the scope for consideration in the
121
+
_pyspi_ library.
122
+
You can access our SPI wishlist via the [projects tab](https://github.com/DynamicsAndNeuralSystems/pyspi/projects) in this repo to open a request.
123
+
124
+
## Acknowledgement 👍
125
+
126
+
If you use this software, please read and cite this article:
author = {Cliff, Oliver M. and Bryant, Annie G. and Lizier, Joseph T. and Tsuchiya, Naotsugu and Fulcher, Ben D.},
145
+
month = oct,
146
+
year = {2023},
147
+
pages = {883--893},
148
+
}
149
+
```
150
+
151
+
</details>
152
+
153
+
## Other highly comparative toolboxes 🧰
154
+
If you are interested in trying other highly comparative toolboxes like _pyspi_, see the below list:
41
155
42
156
-[_hctsa_](https://github.com/benfulcher/hctsa), the _highly comparative time-series analysis_ toolkit, computes over 7000 time-series features from univariate time series.
43
157
-[_hcga_](https://github.com/barahona-research-group/hcga), a _highly comparative graph analysis_ toolkit, computes several thousands of graph features directly from any given network.
44
158
45
-
## SPI Wishlist
46
159
47
-
As _pyspi_ is under active development, we are always open to suggestions for new SPIs to be added via the [projects tab](https://github.com/DynamicsAndNeuralSystems/pyspi/projects) in this repo.
160
+
## Our Contributors 🌟
161
+
We are thankful for the contributions of each and everyone who has helped make this project better.
162
+
Whether you've added a line of code, improved our documentation, or reported an issue, your contributions are greatly appreciated!
163
+
Below are some of the leading contributors to _pyspi_:
0 commit comments