Metadata-Version: 2.1
Name: networkx-temporal
Version: 1.0b17
Summary: Python package to build and manipulate dynamic NetworkX graphs.
Author-email: Nelson Aloysio Reis de Almeida Passos <nelson.reis@phd.unipi.it>
Project-URL: Homepage, https://pypi.org/p/networkx-temporal/
Project-URL: Documentation, https://networkx-temporal.readthedocs.io
Project-URL: Repository, https://github.com/nelsonaloysio/networkx-temporal
Project-URL: Issues, https://github.com/nelsonaloysio/networkx-temporal/issues
Project-URL: Changelog, https://github.com/nelsonaloysio/networkx-temporal/blob/main/CHANGELOG.md
Keywords: Network,Graph,Dynamic Graph,Temporal Network
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Information Technology
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Scientific/Engineering :: Information Analysis
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.7
Description-Content-Type: text/markdown
License-File: LICENSE.md
Requires-Dist: networkx>=2.1
Requires-Dist: pandas>=1.1.0
Provides-Extra: docs
Requires-Dist: sphinx-autodoc-typehints>=1.23.0; extra == "docs"
Requires-Dist: sphinx-rtd-theme>=2.0.0; extra == "docs"
Requires-Dist: sphinxemoji>=0.2.0; extra == "docs"
Provides-Extra: draw
Requires-Dist: matplotlib; extra == "draw"
Provides-Extra: ipynb
Requires-Dist: ipykernel; extra == "ipynb"
Requires-Dist: leidenalg; extra == "ipynb"
Requires-Dist: matplotlib; extra == "ipynb"
Requires-Dist: python-igraph; extra == "ipynb"
Provides-Extra: test
Requires-Dist: dgl; extra == "test"
Requires-Dist: dynetx; extra == "test"
Requires-Dist: leidenalg; extra == "test"
Requires-Dist: matplotlib; extra == "test"
Requires-Dist: networkit; extra == "test"
Requires-Dist: python-igraph; extra == "test"
Requires-Dist: teneto; extra == "test"
Requires-Dist: torch_geometric; extra == "test"

[![networkx-temporal](https://github.com/nelsonaloysio/networkx-temporal/raw/main/docs/figure/banner.png)]()

___

[![PyPI package](https://badge.fury.io/py/networkx-temporal.svg)](https://pypi.org/p/networkx-temporal/)
[![Documentation Status](https://readthedocs.org/projects/networkx-temporal/badge/?version=latest)](https://networkx-temporal.readthedocs.io/en/latest)
[![Downloads](https://static.pepy.tech/badge/networkx-temporal)](https://pepy.tech/project/networkx-temporal)
[![Downloads](https://static.pepy.tech/badge/networkx-temporal/month)](https://pepy.tech/project/networkx-temporal)
[![License](https://img.shields.io/pypi/l/networkx-temporal)](https://github.com/nelsonaloysio/networkx-temporal/blob/main/LICENSE.md)

Python package to build and manipulate temporal graphs using [NetworkX](https://pypi.org/project/networkx/) as backend.

## Requirements

* **Python>=3.7**
* networkx>=2.1
* pandas>=1.1.0

## Install

Package is available to install on [PyPI](https://pypi.org/project/networkx-temporal/):

```bash
$ pip install 'networkx-temporal[draw]'
```

> The `[draw]` extra includes `matplotlib`, required to plot graphs as in the example below.

## Quick example

For detailed information on using the package, please refer to its [official documentation](https://networkx-temporal.readthedocs.io/en/latest/).

> An interactive Jupyter notebook with more examples is also [available here](https://github.com/nelsonaloysio/networkx-temporal/blob/main/notebook/networkx-temporal.ipynb) ([open on Colab](https://colab.research.google.com/github/nelsonaloysio/networkx-temporal/blob/main/notebook/networkx-temporal.ipynb)).

```python
>>> import networkx_temporal as tx
>>>
>>> # Build directed temporal graph.
>>> TG = tx.TemporalDiGraph()
>>> TG.add_edge("a", "b", time=0)
>>> TG.add_edge("c", "b", time=1)
>>> TG.add_edge("d", "c", time=2)
>>> TG.add_edge("d", "e", time=2)
>>> TG.add_edge("a", "c", time=2)
>>> TG.add_edge("f", "e", time=3)
>>> TG.add_edge("f", "a", time=3)
>>> TG.add_edge("f", "b", time=3)
>>>
>>> # Slice it into snapshots.
>>> TG = TG.slice(attr="time")
>>>
>>> # Plot resulting object.
>>> tx.draw(TG, layout="kamada_kawai", figsize=(8,2))
```

![png](https://github.com/nelsonaloysio/networkx-temporal/raw/main/docs/figure/fig-0.png)

## Contributing

Contributions are welcome! If you find any bugs or have any suggestions, feel free to [open a ticket](issues/new), [fork the repository](fork) and create a [pull request](compare), or simply [send an e-mail](mailto:nelson.reis@phd.unipi.it).
Please keep in mind that any out-of-scope contributions (not regarding temporal networks) should instead be directed to the [NetworkX](https://github.com/networkx/networkx) repository.

## License

This package is released under the [MIT License](LICENSE.md).

## Cite

In case this package is useful for your research, please kindly consider [citing it](https://networkx-temporal.readthedocs.io/en/latest/cite.html).
